/* Original palettes: C98 Claude Design theme_snippet.js + parts.css. */
:root{--c-primary:#F2B705;--c-on-primary:#1E2433;--c-primary-weak:#FFF4CC;--c-primary-line:#E0A800;--c-ink:#1E2433;--c-ink-2:#4F5668;--c-ground:#F7F6F2;--c-surface:#FFFFFF;--c-line:#DEDCD4;--c-line-2:#C9C6BB;--c-focus:#1E2433;--c-ok:#1F7A4D;--c-ok-weak:#E3F3EA;--c-warn:#9A5B00;--c-warn-weak:#FFF0D9;--c-ng:#B3261E;--c-ng-weak:#FBE6E4;--c-info:#2B5BA8;--c-info-weak:#E6EEFA;--c-sun:#B3261E;--c-sat:#2B5BA8;--c-soft:#EFEDE6;--c-soft-2:#E9E7E0;--c-band:#1E2433;--c-on-band:#FFFFFF;--c-toast:#23262E;--c-on-toast:#FFFFFF;--c-switch-on:#1E2433;--c-ink-3:#6E7280;--c-on-mark:#FFFFFF;--s1:#2F72B8;--s2:#2E8A6E;--s3:#8257C2;--s4:#C24F78;--s5:#A8661A;--s6:#56657A;--c-paper:#FFFFFF;--c-shadow:#1E243318;--c-backdrop:#12161D66;color-scheme:light;--chart-sales:var(--c-primary);--chart-expenses:var(--c-ink-2);--chart-grid:var(--c-line);--chart-label:var(--c-ink-2)}
:root[data-theme="sunflower"]{--c-primary:#F2B01E; --c-on-primary:#1E2433; --c-primary-weak:#FFF2CC; --c-primary-line:#D99A00; --c-ink:#1E2433; --c-ink-2:#4F5668; --c-ground:#F7F5EF; --c-band:#1E2433; --c-switch-on:#1E2433; --c-focus:#1E2433;color-scheme:light}
:root[data-theme="verdigris"]{--c-primary:#237A6A; --c-on-primary:#FFFFFF; --c-primary-weak:#E2F3EE; --c-primary-line:#4DB6A0; --c-ink:#1B2B28; --c-ink-2:#4A5A57; --c-ground:#F4F7F6; --c-line:#D5DEDB; --c-line-2:#BCC9C5; --c-soft:#E8EFED; --c-soft-2:#DCE6E3; --c-band:#1B2B28; --c-switch-on:#237A6A; --c-focus:#1B2B28;color-scheme:light}
:root[data-theme="gold-black"]{--c-primary:#D4AF6A; --c-on-primary:#12161D; --c-primary-weak:#3A3123; --c-primary-line:#C9A45C; --c-ink:#EFEBE3; --c-ink-2:#B5AFA4; --c-ink-3:#9C978F; --c-on-mark:#12161D; --c-ground:#12161D; --c-surface:#1B2029; --c-line:#2D333E; --c-line-2:#434B59; --c-soft:#262C36; --c-soft-2:#303743; --c-band:#D4AF6A; --c-on-band:#12161D; --c-toast:#EFEBE3; --c-on-toast:#12161D; --c-switch-on:#D4AF6A; --c-focus:#D4AF6A; --c-sun:#F08A80; --c-sat:#8FB2EE; --c-ok:#7FD1A6; --c-ok-weak:#173326; --c-warn:#F0C27A; --c-warn-weak:#3A2D16; --c-ng:#F19A92; --c-ng-weak:#3B1C1A; --c-info:#9DBCEB; --c-info-weak:#1C2A40; --s1:#4B8DD6; --s2:#3FA585; --s3:#9A78D8; --s4:#D6668E; --s5:#C98A2E; --s6:#7D8CA3;color-scheme:dark}
@font-face{font-family:Plex;src:url('/fonts/IBMPlexSans.ttf');font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:Noto;src:url('/fonts/NotoSansJP.ttf');font-weight:100 900;font-style:normal;font-display:swap}*{box-sizing:border-box}body{margin:0;background:var(--c-ground);color:var(--c-ink);font:15px/1.65 Plex,Noto,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:var(--c-info);text-decoration:none}a:hover{text-decoration:underline}button{border:1px solid var(--c-line);background:var(--c-surface);border-radius:7px;padding:10px 16px;color:var(--c-ink);display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px}button:hover{background:var(--c-soft);border-color:var(--c-line-2)}button.primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary);font-weight:650}button.primary:hover{background:var(--c-primary-line)}.danger{color:var(--c-ng)!important}.quiet{background:none;border-color:transparent;color:var(--c-ink-2)}.textbutton{padding:5px 8px;color:var(--c-primary);background:none;border-color:transparent}.small{padding:6px 10px;min-height:36px;font-size:13px}.icon-only{width:42px;padding:9px}.icon{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.6px;font-weight:750}h2{font-size:19px;font-weight:700}h3{font-size:16px}p+p{margin-top:10px}.muted,.meta{color:var(--c-ink-2)}.meta{font-size:13px}.caption{font-size:12px;color:var(--c-ink-2)}.number{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap{display:grid;gap:20px}.stack{display:grid;gap:12px}.spacer{flex:1}.sidebar{position:fixed;left:0;top:0;bottom:0;width:208px;background:var(--c-surface);border-right:1px solid var(--c-line);display:flex;flex-direction:column;padding:30px 16px;z-index:20}.brand{font-size:21px;font-weight:800;letter-spacing:-.5px;padding:0 8px 32px;display:flex;align-items:center;gap:9px}.demo{font-size:10px;background:var(--c-primary-weak);color:var(--c-info);font-weight:600;border-radius:4px;padding:2px 6px;letter-spacing:0}.nav{display:grid;gap:7px}.nav a{display:flex;align-items:center;gap:13px;color:var(--c-ink-2);padding:13px 15px;border-radius:6px;font-size:14px;font-weight:550}.nav a:hover{background:var(--c-soft);text-decoration:none}.nav a.active{background:var(--c-primary-weak);color:var(--c-primary);font-weight:700}.side-bottom{margin-top:auto;border-top:1px solid var(--c-line);padding:16px 8px 0;font-size:11px;color:var(--c-ink-2)}.shell{margin-left:208px;min-height:100vh}.topbar{height:62px;background:var(--c-surface);border-bottom:1px solid var(--c-line);display:flex;align-items:center;justify-content:flex-end;padding:0 36px;gap:16px;font-size:12px;color:var(--c-ink-2)}.topbar .brand{display:none}.content{max-width:1440px;margin:auto;padding:32px 38px 70px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.page-tools{display:flex;gap:12px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.segmented{display:inline-flex;padding:3px;background:var(--c-soft);border-radius:7px;gap:3px}.segmented button{min-height:34px;border:0;padding:5px 20px;background:transparent;color:var(--c-ink-2)}.segmented .selected{background:var(--c-surface);color:var(--c-info);box-shadow:0 1px 3px var(--c-shadow)}.period{display:flex;gap:8px;align-items:center}.period strong{font-size:18px;min-width:130px;text-align:center}.panel{border:1px solid var(--c-line);background:var(--c-surface);border-radius:10px;padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.kpis{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin-bottom:24px}.kpi{border:1px solid var(--c-line);border-radius:10px;background:var(--c-surface);padding:25px 26px;min-height:142px}.kpi.hero{background:var(--c-band);color:var(--c-on-band);border-color:var(--c-band)}.kpi-label{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--c-ink-2)}.hero .kpi-label{color:var(--c-on-band)}.kpi-value{font-size:36px;font-weight:650;letter-spacing:-1px;margin-top:8px;line-height:1.2}.kpi-value small{font-size:18px;font-weight:400;margin-right:2px}.kpi .caption{font-size:10px}.hero .caption{color:var(--c-on-band)}.chart{width:100%;height:250px;display:block}.legend{display:flex;justify-content:center;gap:24px;font-size:12px;color:var(--c-ink-2);margin-top:8px}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.dashboard-columns{display:grid;grid-template-columns:1fr;gap:24px}.action-strip{display:flex;align-items:center;justify-content:space-between;background:var(--c-surface);border:1px solid var(--c-line);padding:17px 22px;border-radius:9px;margin-top:20px;gap:15px}.action-strip b{font-size:18px;color:var(--c-info)}.action-strip a{color:var(--c-ink);display:flex;gap:10px;align-items:center}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:12px;font-weight:600;color:var(--c-ink-2);background:var(--c-soft);padding:12px 14px;white-space:nowrap}td{padding:19px 14px;border-bottom:1px solid var(--c-line);vertical-align:middle}tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.project-link{font-weight:650;color:var(--c-ink);display:block}.subline{font-size:12px;color:var(--c-ink-2);margin-top:3px}.tag{display:inline-block;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:650;white-space:nowrap}.tag.blue{background:var(--c-info-weak);color:var(--c-info)}.tag.green{background:var(--c-ok-weak);color:var(--c-ok)}.tag.amber{background:var(--c-warn-weak);color:var(--c-warn)}.tag.gray{background:var(--c-line);color:var(--c-ink-2)}.tag.red{background:var(--c-ng-weak);color:var(--c-ng)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--c-line);margin-bottom:24px;overflow:auto}.tabs button{padding:13px 5px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;white-space:nowrap;color:var(--c-ink-2)}.tabs button.active{border-color:var(--c-primary);color:var(--c-primary);font-weight:700}.search{flex:1;max-width:550px;position:relative}.search input{padding-left:38px}.search .icon{position:absolute;left:12px;top:13px;color:var(--c-ink-2)}input,select,textarea{border:1px solid var(--c-line-2);border-radius:6px;padding:10px 12px;color:var(--c-ink);background:var(--c-surface);min-height:44px;width:100%;max-width:100%}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--c-primary);margin:0;vertical-align:middle}input[type=file]{font-size:12px}textarea{min-height:94px;resize:vertical}input:invalid:not(:placeholder-shown){box-shadow:none}label.field{display:grid;gap:7px;font-size:13px;font-weight:550;align-content:start}.field small{color:var(--c-ink-2);font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}.form-section{background:var(--c-surface);border:1px solid var(--c-line);border-radius:9px;padding:24px;display:grid;gap:20px}.form-section h2{font-size:17px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.form-aside{padding:24px;background:var(--c-soft);border:1px solid var(--c-line);border-radius:9px;align-self:start;position:sticky;top:0}.form-aside dl{display:grid;grid-template-columns:70px 1fr;gap:14px;font-size:13px}.form-aside dt{color:var(--c-ink-2)}.form-aside dd{margin:0}.form-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--c-line)}.error{color:var(--c-ng);background:var(--c-ng-weak);border:1px solid var(--c-ng-weak);padding:12px 16px;border-radius:7px;font-size:13px;margin:12px 0}.empty{padding:55px 24px;text-align:center;color:var(--c-ink-2)}.empty h2{color:var(--c-ink);margin-bottom:9px}.empty button{margin-top:20px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--c-line)}.list-row:last-child{border-bottom:0}.list-row .title{font-weight:600}.checkrow{display:flex;align-items:center;gap:10px;font-size:14px}.checkrow label{display:flex;align-items:center;gap:10px;flex:1}.breadcrumb{font-size:13px;color:var(--c-ink-2);margin-bottom:17px}.project-meta{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:28px;font-size:13px;color:var(--c-ink-2)}.project-meta b{font-weight:500;color:var(--c-ink);margin-left:7px}.metrics-inline{display:flex;gap:30px;align-items:center;margin:24px 0}.metrics-inline>div{padding-right:30px;border-right:1px solid var(--c-line)}.metrics-inline>div:last-child{border:0}.metrics-inline span{font-size:12px;color:var(--c-ink-2)}.metrics-inline strong{display:block;font-size:26px;font-weight:650;line-height:1.4;margin-top:4px}.invoice-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;padding:18px 22px;margin-bottom:24px}.invoice-strip strong{font-size:24px}.invoice-strip button{margin-left:auto}.notes{border-left:3px solid var(--c-line-2);padding:2px 15px;color:var(--c-ink-2);font-size:13px;white-space:pre-wrap;margin:20px 0}.note-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--c-ink-2);margin-bottom:7px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}.calendar{background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;overflow:hidden}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--c-soft);border-bottom:1px solid var(--c-line);text-align:center;font-size:12px;padding:12px 0}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day{display:block;min-width:0;min-height:116px;border:0;border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line);border-radius:0;padding:8px;text-align:left;align-content:start;background:var(--c-surface)}.day:nth-child(7n){border-right:0}.day .date{display:block;font-size:12px;margin-bottom:7px}.day .event{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;border-left:2px solid var(--c-info);background:var(--c-soft);padding:3px 4px;margin:3px 0;color:var(--c-info);line-height:1.5}.day .event.alt{border-color:var(--c-warn);background:var(--c-warn-weak);color:var(--c-warn)}.day .event em{font-style:normal;color:var(--c-ink-2);margin-left:4px;font-size:10px}.day.out{background:var(--c-soft);color:var(--c-line-2)}.day.today .date{font-weight:800;color:var(--c-primary)}.day.selected{box-shadow:inset 0 0 0 2px var(--c-primary);background:var(--c-primary-weak)}.sun{color:var(--c-sun)}.sat{color:var(--c-sat)}.more{font-size:10px;color:var(--c-ink-2)}.agenda{padding:22px}.agenda-item{padding:18px 0;border-bottom:1px solid var(--c-line)}.agenda-item:last-child{border-bottom:0}.agenda-item h3{font-size:17px}.agenda-item p{font-size:13px;color:var(--c-ink-2);margin-top:4px}.agenda-actions{display:flex;gap:7px;margin-top:10px}.date-picker .days{gap:5px}.date-picker .day{border:0;min-height:36px;text-align:center;padding:5px;border-radius:5px}.date-picker .day.selected{background:var(--c-primary);color:var(--c-on-primary);box-shadow:none}.date-picker .day .date{margin:0}.date-picker .weekdays{border:0;background:none}.date-picker .calendar{border:0}.selected-count{background:var(--c-primary-weak);color:var(--c-info);padding:9px 13px;font-size:13px;border-radius:5px;margin-top:10px}.date-picker .period{justify-content:space-between}.picker-month{font-size:15px!important}details{border:1px solid var(--c-ink-2);border-radius:7px;background:var(--c-surface)}details summary{padding:13px 16px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:550}details summary:after{content:'＋';color:var(--c-ink-2)}details[open] summary:after{content:'−'}details>div{padding:4px 16px 18px}.people-picks{display:flex;gap:14px;flex-wrap:wrap}.info{display:inline-flex;position:relative;border:0;vertical-align:middle;background:none}.info summary{width:20px;height:20px;min-height:20px;padding:0;border:1.3px solid var(--c-line-2);border-radius:50%;justify-content:center;color:var(--c-ink-2);font:12px/1 Georgia,serif}.info summary:after{content:none!important}.info>div{position:absolute;z-index:55;right:0;top:27px;width:245px;background:var(--c-band);color:var(--c-on-band);box-shadow:0 5px 18px var(--c-shadow);border-radius:7px;padding:13px;font-size:12px;line-height:1.7;font-weight:400}.menu{position:relative;border:0;background:none}.menu summary{padding:8px;min-width:40px;font-size:20px;justify-content:center}.menu summary:after{content:none}.menu>div{position:absolute;right:0;top:40px;width:180px;z-index:40;background:var(--c-surface);border:1px solid var(--c-line);box-shadow:0 8px 25px var(--c-shadow);border-radius:8px;padding:6px;display:grid;gap:2px}.menu button{background:none;border:0;justify-content:flex-start;border-radius:5px;text-align:left;font-size:13px}.menu button:hover{background:var(--c-soft)}.mobile-cards{display:none}.settings-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:26px}.settings-nav{display:grid;gap:4px;align-content:start}.settings-nav button{border:0;background:transparent;justify-content:flex-start;font-size:13px}.settings-nav button.active{background:var(--c-primary-weak);color:var(--c-primary);font-weight:600}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:24px;align-items:start}.paper-preview{position:sticky;top:16px;background:var(--c-soft);padding:18px;border:1px solid var(--c-line);border-radius:9px}.paper-preview iframe{display:block;background:var(--c-paper);width:100%;height:780px;border:0;box-shadow:0 2px 12px var(--c-shadow)}.invoice-block{border:1px solid var(--c-line);border-radius:7px;overflow:hidden;margin:14px 0}.invoice-block h3{padding:12px 14px;font-size:13px;background:var(--c-soft)}.invoice-line{padding:14px;border-bottom:1px solid var(--c-line)}.invoice-line:last-child{border:0}.line-grid{display:grid;grid-template-columns:1fr 60px 65px 90px;gap:8px;margin-top:9px}.line-grid input,.line-grid select{font-size:13px;min-height:38px;padding:6px 8px}.totals{margin:20px 0 0 auto;max-width:300px}.totals>div{display:flex;justify-content:space-between;padding:8px;font-size:13px}.totals .grand{background:var(--c-primary-weak);padding:12px;font-weight:700;font-size:20px}.preview-mobile{display:none}dialog{border:1px solid var(--c-line);border-radius:12px;background:var(--c-ground);color:var(--c-ink);padding:0;width:min(1000px,94vw);max-height:90vh;box-shadow:0 20px 80px var(--c-shadow)}dialog::backdrop{background:var(--c-backdrop);backdrop-filter:blur(2px)}.dialog-head{position:sticky;top:0;background:var(--c-surface);border-bottom:1px solid var(--c-line);z-index:5;padding:18px 24px;display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:20px}.dialog-body{padding:24px}.dialog-narrow{width:min(620px,94vw)}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:var(--c-toast);color:var(--c-on-toast);max-width:90vw;padding:0;border-radius:7px;box-shadow:0 5px 20px var(--c-shadow);font-size:14px}#notice:not(:empty){padding:13px 22px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px;padding:38px;box-shadow:0 10px 45px var(--c-shadow)}.login-card h1{margin-bottom:8px}.login-card form{display:grid;gap:20px;margin-top:32px}.login-card p{font-size:12px;color:var(--c-ink-2);margin-top:26px}.boot{padding:20vh 30px;text-align:center;color:var(--c-ink-2)}.file-chip{display:inline-flex;gap:8px;font-size:12px;align-items:center;border:1px solid var(--c-line);border-radius:5px;padding:6px 10px}.brand-mobile{display:none}.memo-count{font-size:12px;color:var(--c-ink-2)}.responsive-total{font-size:18px;font-weight:650}.divider{border:0;border-top:1px solid var(--c-line);margin:18px 0}.overdue{color:var(--c-ng)}.form-note{font-size:12px;color:var(--c-ink-2)}.receipt-list{display:flex;gap:8px;flex-wrap:wrap}.source-link{font-size:11px;color:var(--c-ink-2)}.login .primary{width:100%}.invoice-candidate{padding:17px 20px;border-bottom:1px solid var(--c-line)}.candidate-head{background:var(--c-primary-weak);padding:15px 20px;display:flex;align-items:center;gap:10px}.candidate-total{padding:15px 20px;background:var(--c-soft);display:flex;justify-content:space-between;align-items:center}.simple-table td{padding:12px 10px}.calendar-note{font-size:12px;white-space:pre-wrap;background:var(--c-soft);padding:10px;border-radius:6px;margin-top:10px}.hidden{display:none!important}
@media(min-width:1600px){.content{padding-top:42px}.chart{height:280px}}
@media(max-width:1100px){.content{padding:28px 24px}.sidebar{width:185px}.shell{margin-left:185px}.calendar-layout{grid-template-columns:minmax(0,1fr) 240px}.kpi{padding:22px 20px}.kpi-value{font-size:30px}.editor-layout{grid-template-columns:1fr}.paper-preview{position:static;display:none}.paper-preview.visible{display:block}.preview-mobile{display:inline-flex}.form-layout{grid-template-columns:1fr 230px}}
@media(max-width:760px){body{font-size:14px}.sidebar{top:auto;bottom:0;left:0;right:0;width:100%;height:calc(67px + env(safe-area-inset-bottom));padding:0 3px env(safe-area-inset-bottom);border-right:0;border-top:1px solid var(--c-line);background:var(--c-surface);backdrop-filter:blur(12px)}.sidebar .brand,.side-bottom{display:none}.nav{display:flex;gap:0;justify-content:space-around;height:67px}.nav a{padding:8px 2px;display:flex;flex-direction:column;justify-content:center;gap:4px;width:20%;font-size:9px;border-radius:0}.nav a .icon{width:21px;height:21px}.nav a.active{background:none;color:var(--c-primary)}.shell{margin-left:0}.topbar{height:57px;padding:0 18px;justify-content:space-between}.topbar .brand{display:flex;padding:0;font-size:18px;gap:7px}.topbar .save-text{font-size:10px}.topbar>button{padding:7px;min-height:32px}.content{padding:24px 16px 105px}.page-head{gap:10px;margin-bottom:20px;align-items:center}.page-head h1{font-size:23px}.page-head .primary{padding:8px 12px;font-size:12px;min-height:40px;white-space:nowrap}.page-head .primary .icon{width:16px}.page-tools{gap:10px;margin-bottom:18px}.period{gap:3px}.period strong{font-size:16px;min-width:106px}.period .icon-only{width:32px;min-height:36px;padding:6px}.segmented button{padding:4px 15px;font-size:12px;min-height:30px}.kpis{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.kpi.hero{grid-column:1/-1;min-height:132px;padding:23px}.kpi{padding:18px;min-height:105px;border-radius:9px}.kpi-value{font-size:29px;margin-top:8px}.hero .kpi-value{font-size:40px}.kpi-label{font-size:12px}.kpi .caption{font-size:9px}.kpi-value small{font-size:17px}.panel{padding:18px;border-radius:9px}.panel-head{margin-bottom:14px}h2{font-size:17px}.chart{height:190px}.dashboard-columns{gap:18px}.legend{font-size:10px}.action-strip{padding:13px;gap:10px;font-size:11px}.action-strip .icon{display:none}.action-strip b{font-size:16px}.desktop-table{display:none}.mobile-cards{display:block}.project-card{padding:17px 0;border-bottom:1px solid var(--c-line)}.project-card:last-child{border:0}.project-card h3{font-size:16px}.project-card p{font-size:12px;color:var(--c-ink-2);margin-top:4px}.project-card .card-tail{margin-top:12px;display:flex;gap:10px;justify-content:flex-end;align-items:center}.card-tail strong{font-size:17px}.mobile-finance{display:flex;justify-content:space-between;margin-top:13px;gap:6px}.mobile-finance span{color:var(--c-ink-2);font-size:10px}.mobile-finance strong{display:block;font-size:14px;font-weight:550;color:var(--c-ink)}.tabs{gap:24px;margin-bottom:18px}.tabs button{font-size:13px;padding:10px 2px}.search{max-width:none;flex-basis:100%}.filter-select{max-width:180px}.project-meta{gap:7px 20px;margin:12px 0 18px;display:grid;font-size:12px}.metrics-inline{gap:0;justify-content:space-between;margin:22px 0}.metrics-inline>div{padding-right:13px}.metrics-inline strong{font-size:22px}.metrics-inline span{font-size:11px}.invoice-strip{padding:14px;gap:8px;margin-bottom:20px;font-size:12px}.invoice-strip strong{font-size:22px}.invoice-strip button{width:100%;margin:6px 0 0;min-height:40px}.breadcrumb{font-size:12px;margin-bottom:12px}.calendar-layout{grid-template-columns:1fr;gap:17px}.calendar-tools select{max-width:135px;font-size:11px;padding:8px;min-height:36px}.calendar-tools{justify-content:space-between;flex-wrap:nowrap;gap:4px}.calendar .weekdays{font-size:10px;padding:9px 0}.day{min-height:72px;padding:5px 3px}.day .date{font-size:11px;margin-bottom:4px}.day .event{font-size:9px;padding:2px 2px;line-height:1.5;border-left-width:2px;margin:2px 0}.day .event em{display:none}.day .more{font-size:8px}.agenda{padding:17px}.agenda-item{padding:15px 0}.agenda-item h3{font-size:16px}.agenda-item p{font-size:12px}.form-grid{gap:16px;grid-template-columns:1fr 1fr}.form-section{padding:18px;gap:16px}.form-layout{grid-template-columns:1fr}.form-aside{display:none}.form-footer{position:sticky;bottom:-24px;background:var(--c-ground);padding:16px 0 10px;z-index:4}.form-footer .primary{flex:1}.dialog-body{padding:17px}.dialog-head{padding:15px 17px}.dialog-head h2{font-size:18px}dialog,dialog.dialog-narrow{max-height:96dvh;width:100%;max-width:100%;margin:auto 0 0;border-radius:14px 14px 0 0;border-bottom:0}.date-picker .day{min-height:39px}.date-picker .days{gap:3px}input,select,textarea{font-size:16px;padding:10px;min-height:45px}.field{font-size:12px!important}.form-section .wide-mobile{grid-column:1/-1}.settings-layout{grid-template-columns:1fr;gap:15px}.settings-nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:8px}.settings-nav button{white-space:nowrap;font-size:12px;min-height:37px;padding:7px 12px}.line-grid{grid-template-columns:1fr 1fr;gap:10px}.invoice-line{padding:14px}.line-grid input,.line-grid select{font-size:16px}.editor-layout{gap:20px}.paper-preview{padding:8px;overflow:auto}.paper-preview iframe{min-width:0;height:clamp(480px,140vw,820px)}.editor-footer{position:sticky;bottom:68px;background:var(--c-ground);z-index:4;padding:10px 0}.login-card{padding:30px}.candidate-head{padding:13px 15px;font-size:12px}.invoice-candidate{padding:15px}.candidate-total{padding:15px;gap:12px;flex-wrap:wrap}.candidate-total button{width:100%}.menu>div{min-width:165px}.info>div{position:fixed;left:16px;right:16px;top:auto;margin-top:10px;width:auto}.simple-table th,.simple-table td{padding:10px 5px;font-size:12px}.list-row{gap:8px}.receipt-list{margin-top:8px}#notice{bottom:86px;width:max-content;max-width:90vw;font-size:12px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s}dialog[open]{animation:appear .16s ease}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}

.metrics-inline strong{white-space:nowrap}.metrics-inline strong small{font-size:.55em;margin-right:2px}.page-head button{white-space:nowrap;flex-shrink:0}.page-head>.row:last-child{flex-shrink:0}@media(max-width:360px){.metrics-inline strong{font-size:19px}.metrics-inline>div{padding-right:7px}.metrics-inline span{font-size:10px}.page-head h1{font-size:21px}.nav a span{white-space:nowrap}}

/* Quiet typography and generous spacing keep the ledger readable in every palette. */
body{font-size:15px;line-height:1.7;letter-spacing:.01em}
button{border-radius:10px;font-weight:550}button:hover{border-color:var(--c-line-2)}button.primary{font-weight:700}button.primary:hover{background:var(--c-primary);filter:brightness(.96)}
a,.textbutton,.action-strip b,.day.today .date{color:var(--c-ink)}
h1{font-size:30px;letter-spacing:-.035em}h2{letter-spacing:-.015em}.meta,.caption,.subline,.form-note{font-size:13px}.muted,.meta,.caption{color:var(--c-ink-2)}
.sidebar{width:224px;padding:34px 18px;border-color:var(--c-line)}.shell{margin-left:224px}.brand{font-size:22px;letter-spacing:-.035em;padding:0 10px 36px}.brand>.icon{color:var(--c-primary-line)}.demo{background:var(--c-primary-weak);color:var(--c-ink);font-size:11px;padding:2px 7px}
.nav{gap:9px}.nav a{min-height:50px;border-radius:11px;padding:13px 16px;color:var(--c-ink-2);font-size:14px}.nav a.active{background:var(--c-primary-weak);color:var(--c-ink);box-shadow:inset 3px 0 0 var(--c-primary)}.nav a.active .icon{stroke-width:2}.side-bottom{font-size:12px;line-height:1.8;padding-top:20px}.topbar{height:68px;padding:0 42px;background:var(--c-ground);border-bottom:0}.content{padding:28px 42px 76px;max-width:1500px}.page-head{margin-bottom:28px}.page-tools{margin-bottom:26px}
.panel,.kpi,.form-section,.calendar,.form-aside,.invoice-strip,.action-strip,.login-card{border-radius:16px;border-color:var(--c-line)}.panel{padding:28px}.panel-head{margin-bottom:24px}.kpis{gap:20px;margin-bottom:20px}.kpi{padding:26px 28px;min-height:155px}.kpi.hero{position:relative;background:var(--c-band);color:var(--c-on-band);border-color:var(--c-band);overflow:hidden}.kpi.hero:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--c-primary)}.hero .kpi-label,.hero .caption{color:var(--c-on-band)}.kpi-label{color:var(--c-ink-2);font-size:14px}.kpi-value{font-size:39px;letter-spacing:-.04em;margin-top:12px;font-weight:650}.kpi .caption{font-size:12px;margin-top:8px}.action-strip{padding:18px 24px;margin:0 0 26px;background:var(--c-primary-weak);border-color:var(--c-primary-line)}.action-strip b{font-size:20px}.action-strip a{font-weight:600;color:var(--c-ink)}
th{font-size:13px;font-weight:650;padding:13px 16px;background:var(--c-soft);color:var(--c-ink-2)}td{padding:20px 16px;border-color:var(--c-line)}.project-link{font-size:15px;color:var(--c-ink)}.subline{line-height:1.6}.tag{padding:4px 9px;border-radius:6px;font-size:12px}.tabs{gap:28px}.tabs button{font-size:14px;color:var(--c-ink-2)}.tabs button.active{border-color:var(--c-primary);color:var(--c-ink)}
.segmented{background:var(--c-soft);padding:4px;border-radius:10px}.segmented button{min-height:36px}.segmented .selected{color:var(--c-ink);border-radius:7px;background:var(--c-surface)}
input,select,textarea{border-radius:9px;border-color:var(--c-line-2);color:var(--c-ink);background:var(--c-surface);min-height:48px}input[type=checkbox],input[type=radio]{accent-color:var(--c-switch-on)}label.field{font-size:14px;gap:8px}.field small{font-size:13px;color:var(--c-ink-2)}.form-section{padding:26px;gap:22px}.form-section h2{font-size:18px}.form-grid{gap:22px}.form-aside{padding:24px;background:var(--c-soft)}.form-aside dt{color:var(--c-ink-2)}.settings-nav button{font-size:14px;border-radius:9px}.settings-nav button.active{background:var(--c-primary-weak);color:var(--c-ink)}.settings-layout{grid-template-columns:190px minmax(0,1fr);gap:30px}.form-footer{padding-top:24px}.error{background:var(--c-ng-weak);color:var(--c-ng);border-color:var(--c-ng)}
.theme-fieldset{margin:0;padding:0;border:0;min-width:0}.theme-fieldset legend{font-size:14px;font-weight:600;margin-bottom:12px}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.theme-option{display:flex;align-items:center;gap:10px;padding:16px 12px;border:1px solid var(--c-line-2);border-radius:12px;cursor:pointer;background:var(--c-surface);min-width:0}.theme-option:has(input:checked){border-color:var(--c-primary-line);background:var(--c-primary-weak);box-shadow:inset 0 0 0 1px var(--c-primary-line)}.theme-option input{flex-shrink:0}.theme-option strong{display:block;font-size:15px}.theme-option small{display:block;font-size:12px;color:var(--c-ink-2);margin-top:4px}.theme-swatch{width:20px;height:20px;border-radius:50%;background:var(--theme-swatch);border:1px solid var(--c-line-2);flex-shrink:0}.theme-sunflower{--theme-swatch:#F2B01E}.theme-verdigris{--theme-swatch:#237A6A}.theme-gold-black{--theme-swatch:#D4AF6A}.theme-feedback{font-size:13px;color:var(--c-ink-2);min-height:1.7em}
.calendar{border-radius:14px}.weekdays{background:var(--c-soft);font-size:13px;font-weight:600;border-color:var(--c-line)}.day{min-height:126px;padding:9px 7px;background:var(--c-surface);border-color:var(--c-line)}.day .date{font-size:13px}.day.selected{background:var(--c-primary-weak);box-shadow:inset 0 0 0 2px var(--c-primary-line)}.day .event{white-space:normal;overflow:hidden;border-left:3px solid var(--c-primary-line);border-radius:3px;background:var(--c-soft);padding:5px 6px;margin-top:5px;color:var(--c-ink);font-size:12px;line-height:1.45}.day .event.alt{background:var(--c-primary-weak);border-color:var(--c-primary-line);color:var(--c-ink)}.event-site{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-weight:600}.event-work{display:block;color:var(--c-ink-2);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.day .event em{color:var(--c-ink-2)}.agenda-item p{color:var(--c-ink-2)}.day.out{background:var(--c-ground);color:var(--c-ink-2)}.day.out .event{opacity:.75}.sun{color:var(--c-sun)}.sat{color:var(--c-sat)}
.paper-preview{padding:18px;background:var(--c-soft);border-color:var(--c-line);border-radius:14px}.paper-preview iframe{width:100%;min-width:0;height:clamp(560px,70vw,960px);background:var(--c-paper);color-scheme:light}.preview-caption{font-size:13px;line-height:1.7;color:var(--c-ink-2);margin-bottom:12px}.subject-tokens{display:flex;flex-wrap:wrap;gap:8px}.subject-tokens button{font-size:12px;min-height:34px;padding:5px 10px;background:var(--c-soft)}.subject-example{padding:14px 16px;border-radius:9px;background:var(--c-soft);color:var(--c-ink);font-size:13px;overflow-wrap:anywhere}.registration-charge{padding:18px;border:1px solid var(--c-line);border-radius:12px;background:var(--c-ground)}.registration-charge .form-grid{gap:16px}.charge-quantity{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-block h3{background:var(--c-soft)}.totals .grand{background:var(--c-primary-weak)}.info>div{background:var(--c-band);color:var(--c-on-band)}
@media(max-width:1200px){.theme-options{grid-template-columns:1fr}.theme-option{padding:14px 16px}.theme-option small{margin-top:0}.content{padding-left:28px;padding-right:28px}.sidebar{width:208px}.shell{margin-left:208px}}
@media(max-width:760px){body{font-size:14px}.sidebar{width:100%;padding:0 3px env(safe-area-inset-bottom);background:var(--c-surface);border-radius:0}.shell{margin-left:0}.nav{gap:0}.nav a{min-height:0;padding:8px 2px;font-size:10px;border-radius:0;box-shadow:none}.nav a.active{box-shadow:inset 0 3px 0 var(--c-primary);color:var(--c-ink);background:var(--c-primary-weak)}.topbar{height:60px;padding:0 18px;background:var(--c-surface);border-bottom:1px solid var(--c-line)}.topbar .brand{font-size:18px}.content{padding:25px 16px 110px}.page-head{margin-bottom:22px;gap:8px}.page-head h1{font-size:24px;letter-spacing:-.04em}.page-head .primary{padding:9px 12px}.kpis{gap:12px;margin-bottom:16px}.kpi{padding:18px 16px;min-height:118px;border-radius:13px}.kpi.hero{padding:24px;min-height:154px}.kpi-label{font-size:12px}.kpi-value{font-size:28px;letter-spacing:-.05em}.hero .kpi-value{font-size:42px}.kpi .caption{font-size:11px}.action-strip{padding:14px 16px;gap:10px;margin:0 0 22px;font-size:12px;border-radius:12px}.action-strip b{font-size:19px}.panel{padding:19px 16px;border-radius:14px}.panel-head{margin-bottom:20px}.panel h2{font-size:17px}.legend{font-size:12px;gap:18px}.project-card p,.mobile-finance span{font-size:12px;color:var(--c-ink-2)}.mobile-finance strong{color:var(--c-ink);font-size:15px}.project-card{padding:19px 0;border-color:var(--c-line)}.tag{font-size:11px}.form-grid{gap:18px 14px}.form-section{padding:20px 16px;gap:20px}.form-section h2{font-size:17px}.field small{font-size:12px}input,select,textarea{font-size:16px}.settings-layout{grid-template-columns:1fr;gap:18px}.settings-nav button{font-size:13px;padding:8px 13px}.theme-options{grid-template-columns:1fr}.theme-option{padding:16px}.theme-option small{font-size:13px}.theme-swatch{width:22px;height:22px}.day{min-height:86px;padding:6px 3px}.day .date{font-size:12px}.day .event{font-size:10px;padding:4px 3px;border-left-width:2px;line-height:1.4}.day .event em{display:none}.event-work{font-size:9px}.event-site{font-weight:550}.calendar .weekdays{font-size:12px}.calendar-tools select{font-size:12px;max-width:125px}.agenda{padding:18px}.paper-preview{padding:8px;overflow:hidden}.paper-preview iframe{min-width:0;width:100%;height:clamp(440px,145vw,800px)}.preview-caption{font-size:12px;padding:4px}.registration-charge{padding:14px 12px}.registration-charge .form-grid{gap:16px 12px}.charge-quantity{grid-template-columns:1fr 1fr}.form-footer,.editor-footer{background:var(--c-ground)}.dialog-head{padding:18px}.dialog-body{padding:18px 14px}.subject-example{font-size:13px}.theme-feedback{font-size:12px}.topbar .save-text{font-size:11px}}
@media(max-width:360px){.content{padding-left:12px;padding-right:12px}.page-head h1{font-size:21px}.page-head .primary{font-size:11px;padding:8px 9px}.kpi{padding:16px 12px}.kpi-value{font-size:25px}.kpi-label{font-size:11px}.hero .kpi-value{font-size:38px}.action-strip{padding:13px 12px;font-size:11px}.action-strip b{font-size:17px}.calendar-tools select{max-width:104px;font-size:11px}.period strong{min-width:94px;font-size:15px}.day .event{font-size:9px;padding:3px 2px}.event-work{font-size:8px}.form-grid{grid-template-columns:1fr}.charge-quantity{grid-template-columns:1fr 1fr}.theme-option{padding:14px 12px}}
/* Native button contents otherwise center vertically despite block align-content. */
.calendar .day{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
.calendar .day .date{flex-shrink:0}
.date-picker .calendar .day{justify-content:center;align-items:center}

.paper-preview iframe{height:auto;aspect-ratio:595.28 / 841.89}
@media(max-width:760px){.project-heading{display:grid;grid-template-columns:1fr;gap:12px}.project-heading>.row:last-child{justify-content:flex-end}.project-heading h1{overflow-wrap:anywhere}.project-heading>.row:first-child{min-width:0}.day .event em{margin-left:0}}

.line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
