@font-face{font-family:Inter;src:local('Inter')}*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#182b3e;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #5e9eff;outline-offset:3px}a{color:#185cce;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,4vw,36px);line-height:1.15;letter-spacing:-1.1px;margin-bottom:10px}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:16px;margin-bottom:8px}.muted,small{color:#5b6f83}.muted{font-size:14px}small{font-size:12px}.brand{font-size:27px;font-weight:800;letter-spacing:-1.1px;color:#185cce}.brand span{color:#7490b3}.topbar{background:#fff;border-bottom:1px solid #e2e9f1;display:flex;align-items:center;justify-content:space-between;padding:15px 22px;gap:12px}.local-label{font-size:12px;background:#eff4fa;color:#526b85;border-radius:7px;padding:5px 9px}.workspace{max-width:1100px;margin:auto;padding:28px 20px 115px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#5e7895;font-weight:700;margin-bottom:9px}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d4deea;border-radius:11px;background:#fff;color:#233c55;padding:10px 16px;font-weight:600;font-size:14px}.btn.primary{background:#185cce;color:#fff;border-color:#185cce}.btn.danger{color:#a32039;background:#fff1f2;border-color:#f1c9d0}.btn.quiet{background:transparent}.btn.full{width:100%}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.actions>*{flex-shrink:0}.panel{padding:20px;background:#fff;border:1px solid #e0e7f0;border-radius:17px;margin-bottom:16px;box-shadow:0 3px 12px #18385803}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.metric{background:#fff;border:1px solid #e1e8f1;border-radius:15px;padding:16px}.metric label{font-size:13px;color:#536b83;display:block}.metric strong{font-size:28px;font-weight:700;letter-spacing:-1px;display:block;margin-top:8px}.metric.urgent{border-top:3px solid #de7180}.section-head{display:flex;align-items:center;justify-content:space-between;margin:25px 0 14px;gap:12px}.section-head h2{margin:0}.badge{display:inline-block;font-size:12px;font-weight:650;line-height:1.5;padding:4px 8px;border-radius:6px;background:#eef3fb;color:#3e628c}.badge.red{background:#ffedf0;color:#a0263e}.badge.amber{background:#fff3d8;color:#885707}.badge.green{background:#e7f6ee;color:#216e4c}.badge.blue{background:#edf3ff;color:#195bc4}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.row.top{align-items:flex-start}.amount{font-size:23px;font-weight:700;letter-spacing:-.5px}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0}.meta-grid dt{font-size:12px;color:#5b6f83}.meta-grid dd{margin:3px 0 0;font-size:14px;font-weight:550}.attention{border-left:4px solid #e57d8c}.empty{text-align:center;padding:42px 20px}.empty .empty-icon{width:58px;height:58px;border-radius:18px;background:#edf3ff;color:#185cce;font-size:27px;margin:0 auto 18px;display:grid;place-items:center}.empty p{max-width:400px;margin:0 auto 22px;color:#5b6f83}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid #dce5f0;padding:6px 5px max(8px,env(safe-area-inset-bottom))}.bottom-nav a{flex:1;text-align:center;font-size:11px;padding:6px 0;color:#6b7d91;min-height:49px}.bottom-nav b{display:block;font-size:20px;line-height:1.3;font-weight:500;margin-bottom:3px}.bottom-nav a.active{color:#185cce}.sidebar{display:none}.form-grid{display:grid;gap:0 18px;grid-template-columns:1fr}label.field{display:block;margin-bottom:15px;font-size:14px;font-weight:550}input,select,textarea{display:block;width:100%;border:1px solid #cfdbe7;border-radius:9px;background:#fff;color:#1c334a;padding:11px 12px;min-height:46px;margin-top:6px;max-width:100%}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:0;flex-shrink:0}input[type=file]{font-size:14px}.check{display:flex;align-items:center;gap:10px;font-size:14px;margin:13px 0;min-height:32px}fieldset{border:1px solid #e0e7f0;border-radius:12px;padding:16px;margin:10px 0 20px}legend{font-size:14px;font-weight:650;padding:0 7px}details{margin:14px 0}summary{cursor:pointer;font-weight:600;min-height:36px}.notice{background:#edf3ff;color:#35577e;border:1px solid #dce7f9;padding:13px 16px;border-radius:10px;font-size:14px;margin:16px 0}.notice.warn{background:#fff7e7;color:#775422;border-color:#efe1c5}.notice.error{background:#fff0f1;color:#982138;border-color:#f1ced4}.menu{display:grid;gap:10px}.menu a,.menu button{display:flex;justify-content:space-between;align-items:center;text-align:left;background:#fff;border:1px solid #e0e7f0;border-radius:12px;padding:15px 17px;color:#213d58;min-height:52px}.menu a span:last-child{color:#7a8ea5}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters label{flex:1;min-width:130px}.filters input,.filters select{margin:0}.list-item{padding:16px 0;border-bottom:1px solid #edf1f6}.list-item:last-child{border:0}.click-card{display:block;color:inherit}.click-card:hover{border-color:#9bbceb}.line-item{padding:14px;background:#f5f8fc;border-radius:12px;margin:12px 0}.line-item .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.line-item label:first-child{grid-column:1/-1}dialog{border:0;border-radius:18px;padding:0;max-width:680px;width:calc(100% - 28px);max-height:90dvh;box-shadow:0 20px 70px #001b3440}dialog::backdrop{background:#11273e80;backdrop-filter:blur(3px)}.dialog-body{padding:24px}.dialog-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px}.dialog-head h2{margin:0}.dialog-head button{border:0;background:#f1f5fa;border-radius:50%;width:34px;height:34px;font-size:20px;cursor:pointer}.dialog-footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:#173653;color:#fff;padding:12px 20px;border-radius:12px;z-index:20;max-width:90%;box-shadow:0 8px 30px #12283b33;display:none}#toast.show{display:block}.wizard{max-width:620px;margin:0 auto}.steps{display:flex;gap:5px;margin:0 0 24px}.steps span{height:4px;background:#dce5f0;flex:1;border-radius:4px}.steps span.done{background:#185cce}.setup-brand{text-align:center;margin:30px 0}.setup-brand .brand{font-size:40px}.split{display:grid;gap:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:12px 10px;text-align:left;border-bottom:1px solid #e1e8f0}th{color:#567088;font-size:12px}.invoice-paper{background:#fff;color:#192d40;padding:28px;font-size:14px;border:1px solid #dbe4ed;border-radius:8px}.invoice-paper h2{font-size:25px}.invoice-paper table{table-layout:fixed}.invoice-paper td,.invoice-paper th{overflow-wrap:anywhere;padding:9px 5px}.invoice-paper img{max-height:64px;max-width:180px}.invoice-paper .total{text-align:right;font-size:20px;font-weight:700;margin:20px 0}.invoice-paper p{white-space:pre-line}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day{border:1px solid #e0e7f0;background:#fff;border-radius:8px;padding:7px 3px;min-height:70px;text-align:center;font-size:13px}.day.today{border-color:#185cce}.day .count{display:block;font-size:11px;color:#185cce}.day-name{text-align:center;font-size:11px;color:#667e95}.footer-note{margin-top:28px;text-align:center;font-size:12px;color:#71869b}.hidden,[hidden]{display:none!important}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nowrap{white-space:nowrap}.profile-logo{max-height:50px;max-width:160px}.print-only{display:none}
@media(min-width:850px){.sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:215px;background:#fff;border-right:1px solid #e1e8f0;padding:30px 18px;flex-direction:column}.sidebar .brand{margin:0 15px 35px}.sidebar a{display:block;color:#526980;padding:12px 15px;border-radius:10px;margin:3px 0;font-size:14px}.sidebar a.active{color:#185cce;background:#edf3ff;font-weight:650}.sidebar footer{margin-top:auto;padding:15px;font-size:12px;color:#768a9d}.topbar{margin-left:215px;padding:18px 35px}.topbar .brand{display:none}.shell-content{margin-left:215px}.workspace{padding:38px 35px 70px}.bottom-nav{display:none}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}.split{grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr)}#toast{bottom:30px}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card-grid .panel{margin-bottom:0}}
@media(max-width:849px){.desktop-label{display:none}.invoice-paper{padding:17px}.invoice-paper table{font-size:12px}.actions>*{max-width:100%;white-space:normal}.meta-grid dd{overflow-wrap:anywhere}}
@media print{body{background:#fff}.sidebar,.topbar,.bottom-nav,.page-head,.no-print,#toast,dialog{display:none!important}.shell-content{margin:0}.workspace{padding:0;max-width:none}.invoice-paper{border:0;padding:0;border-radius:0}.print-only{display:block}@page{size:A4;margin:15mm}.panel{break-inside:avoid;box-shadow:none}}

.brand{display:flex;align-items:center;gap:6px}.brand-mark{width:36px;height:36px}.brand-word{height:36px;width:135px;object-fit:contain}.setup-brand .brand,.empty>.brand{justify-content:center}.setup-brand .brand-mark,.empty>.brand .brand-mark{width:52px;height:52px}.setup-brand .brand-word,.empty>.brand .brand-word{height:52px;width:195px}.btn svg{width:18px;height:18px;flex-shrink:0}.bottom-nav b{display:flex;justify-content:center}.bottom-nav svg{width:24px;height:24px}.sidebar>a:not(.brand){display:flex;align-items:center;gap:12px}.sidebar svg{width:22px;height:22px}.sidebar .brand{padding:0;margin-left:0;margin-right:0}.menu-title{display:flex;align-items:center;gap:12px}.menu-title svg{width:23px;height:23px;flex-shrink:0}.menu-title{color:#213d58!important}

.empty-icon svg{width:28px;height:28px}.invoice-paper td,.invoice-paper th{word-break:normal}.btn{transition:background .15s,border-color .15s}.btn:hover{border-color:#90afd4}.btn.primary:hover{background:#124eaf}.brand-word{display:block}

/* Phone layouts: retain readable controls without iOS focus zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.shell-content,.workspace,.panel,.wizard,.split>*,.form-grid>*,.two>*,.meta-grid>*,.page-head>*,.row>*,.metric{min-width:0}
fieldset{min-inline-size:0}
input,select,textarea{min-width:0;font-size:16px}
@media screen and (max-width:849px){
 .workspace{width:100%;padding:22px max(16px,env(safe-area-inset-right)) calc(100px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 .topbar{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));flex-wrap:wrap}
 .topbar .brand{flex-shrink:0}.local-label{font-size:11px}
 .panel{padding:16px}.page-head{gap:12px}.page-head h1{overflow-wrap:anywhere}
 .actions{min-width:0;max-width:100%}.actions>*{flex-shrink:1;overflow-wrap:anywhere}
 .section-head{flex-wrap:wrap}.row>*{max-width:100%;overflow-wrap:anywhere}
 .metric{padding:14px}.metric strong{font-size:25px;overflow-wrap:anywhere}
 .meta-grid,.two{grid-template-columns:repeat(2,minmax(0,1fr))}
 .menu a,.menu button{gap:10px;min-width:0;overflow-wrap:anywhere}.menu-title{min-width:0}
 .filters label{min-width:min(130px,100%)}
 .table-wrap{max-width:100%;overscroll-behavior-x:contain}
 .dialog-body{padding:18px}.dialog-head button{flex-shrink:0}
 dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px)}
 .bottom-nav{padding-left:max(5px,env(safe-area-inset-left));padding-right:max(5px,env(safe-area-inset-right))}.bottom-nav a{min-width:0}
 input[type=file]{font-size:16px}input[type=date],input[type=month]{appearance:none;-webkit-appearance:none;min-height:46px}
 .invoice-paper{min-width:0;overflow-wrap:anywhere}.invoice-paper .row{gap:10px}
}
@media screen and (max-width:420px){
 .topbar .brand-word{width:110px;height:30px}.topbar .brand-mark{width:30px;height:30px}
 .two{grid-template-columns:minmax(0,1fr)}
 .page-head>.actions{width:100%}.page-head>.actions>*{flex:1 1 auto}
 .dialog-footer>.btn{flex:1 1 auto}
}

/* Invoice document: A4 hierarchy shared by screen and browser print. */
.invoice-paper{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans JP',sans-serif;padding:36px;color:#192b3c;line-height:1.6;font-size:13px;overflow-wrap:anywhere}
.invoice-paper p{margin:0 0 4px;white-space:pre-line}
.invoice-paper h1,.invoice-paper h2,.invoice-paper h3{letter-spacing:0;line-height:1.4}
.invoice-paper .inv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:1px solid #bdc9d3;padding-bottom:23px;margin-bottom:25px;break-inside:avoid}
.invoice-paper .inv-brand{min-width:0;max-width:65%}.invoice-paper .inv-brand img{display:block;max-width:140px;max-height:56px;object-fit:contain;margin-bottom:10px}
.invoice-paper .inv-brand h2{font-size:22px;margin:0}.invoice-paper .inv-header h1{font-size:28px;margin:0;text-align:right;flex-shrink:0}
.invoice-paper .inv-en{display:block;font-size:.74em;font-weight:400;color:#586b7b;letter-spacing:.02em;margin-top:2px}
.invoice-paper .inv-header .inv-en{font-size:12px;letter-spacing:.1em}
.invoice-paper h3{font-size:13px;margin:0 0 10px;font-weight:600}.invoice-paper h3 .inv-en{display:inline;margin-left:7px}
.invoice-paper .inv-parties{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px;margin-bottom:25px}.invoice-paper .inv-parties section{min-width:0}
.invoice-paper .inv-recipient{font-size:17px;font-weight:600;margin-bottom:9px}
.invoice-paper .inv-meta{margin:0 0 22px}.invoice-paper .inv-meta>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:9px}.invoice-paper .inv-meta dt{font-size:11px;color:#536574}.invoice-paper .inv-meta dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.invoice-paper .inv-subject{margin:0 0 20px}.invoice-paper .inv-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f1f5f8;padding:17px 18px;margin:20px 0;break-inside:avoid}
.invoice-paper .inv-summary strong{font-size:28px;font-variant-numeric:tabular-nums;line-height:1.3;text-align:right}.invoice-paper .inv-context{font-size:11px;color:#536574;margin-bottom:20px}
.invoice-paper .inv-items{table-layout:fixed;width:100%;font-size:12px}.invoice-paper .inv-items thead{display:table-header-group}.invoice-paper .inv-items th{background:#f1f5f8;color:#243c4f;font-size:11px;font-weight:600;vertical-align:top;padding:10px 5px;border-bottom:1px solid #bdc9d3}
.invoice-paper .inv-items td{padding:11px 5px;vertical-align:top;border-bottom:1px solid #dbe2e8;white-space:pre-line;overflow-wrap:anywhere}.invoice-paper .inv-items td:nth-child(3),.invoice-paper .inv-items td:nth-child(4){text-align:center}
.invoice-paper .inv-items .inv-money,.invoice-paper .inv-items th:nth-child(n+5){text-align:right;font-variant-numeric:tabular-nums}.invoice-paper .inv-items tr{break-inside:avoid}
.invoice-paper .inv-totals{margin:20px 0 30px auto;max-width:330px;break-inside:avoid}.invoice-paper .inv-totals table{table-layout:auto;font-size:12px}.invoice-paper .inv-totals th{font-size:12px;font-weight:400;color:inherit}.invoice-paper .inv-totals td,.invoice-paper .inv-totals th{padding:6px 8px;border:0}.invoice-paper .inv-totals td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-paper .inv-grand-total{background:#f1f5f8;border-top:1px solid #bdc9d3}.invoice-paper .inv-grand-total th,.invoice-paper .inv-grand-total td{font-size:15px;font-weight:600;padding-top:10px;padding-bottom:10px}
.invoice-paper .inv-payment,.invoice-paper .inv-notes{border-top:1px solid #bdc9d3;padding-top:16px;margin-top:22px}.invoice-paper .inv-bank{margin-bottom:14px;break-inside:avoid}.invoice-paper h3{break-after:avoid}.invoice-paper .inv-footer{border-top:1px solid #dbe2e8;margin-top:25px;padding-top:14px;font-size:10px;color:#536574}.invoice-paper .inv-footer p{orphans:3;widows:3}.invoice-paper .inv-cancelled{font-weight:700;border-bottom:1px solid #bdc9d3;padding-bottom:10px;margin-bottom:20px}
@media screen and (max-width:600px){.invoice-paper{padding:16px;font-size:12px}.invoice-paper .inv-parties{grid-template-columns:minmax(0,1fr);gap:18px}.invoice-paper .inv-header{gap:12px}.invoice-paper .inv-brand h2{font-size:18px}.invoice-paper .inv-header h1{font-size:23px}.invoice-paper .inv-summary{flex-wrap:wrap;padding:12px}.invoice-paper .inv-summary strong{font-size:24px;margin-left:auto}.invoice-paper .inv-items{font-size:10px}.invoice-paper .inv-items th{font-size:9px}.invoice-paper .inv-items td,.invoice-paper .inv-items th{padding:8px 3px}.invoice-paper .inv-totals{max-width:100%}}
@media print{
 @page{size:A4 portrait;margin:16mm}
 .invoice-paper{width:100%;max-width:none;padding:0;border:0;border-radius:0;font-size:9pt;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact;overflow:visible}
 .invoice-paper .inv-brand h2{font-size:17pt}.invoice-paper .inv-header h1{font-size:22pt}.invoice-paper .inv-parties{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
 .invoice-paper .inv-items{font-size:8pt}.invoice-paper .inv-items th{font-size:8pt}.invoice-paper .inv-items td,.invoice-paper .inv-items th{padding:7pt 4pt}
 .invoice-paper .inv-summary strong{font-size:22pt}.invoice-paper .inv-payment{break-inside:avoid}.invoice-paper .inv-notes p{orphans:3;widows:3}.invoice-paper .inv-footer{break-inside:avoid}
}

.invoice-paper .inv-settlement{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:24px;align-items:start}.invoice-paper .inv-settlement .inv-totals{grid-column:2;grid-row:1;width:100%;margin:0}.invoice-paper .inv-settlement .inv-payment{grid-column:1;grid-row:1;margin:0;padding:0;border:0}
@media screen and (max-width:600px){.invoice-paper .inv-settlement{grid-template-columns:minmax(0,1fr)}.invoice-paper .inv-settlement .inv-totals,.invoice-paper .inv-settlement .inv-payment{grid-column:1;grid-row:auto}}
@media print{.invoice-paper .inv-settlement{break-inside:avoid}}

@media print{
 .invoice-paper{font-size:8.5pt;line-height:1.45}.invoice-paper p{margin-bottom:2pt}.invoice-paper .inv-header{padding-bottom:12pt;margin-bottom:14pt}.invoice-paper .inv-parties{margin-bottom:14pt;gap:20pt}.invoice-paper .inv-meta{margin-bottom:12pt}.invoice-paper .inv-meta>div{margin-bottom:5pt;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.invoice-paper .inv-meta dt{font-size:7pt}.invoice-paper .inv-meta .inv-en{display:inline;margin-left:3pt;font-size:6pt}.invoice-paper .inv-parties h3{margin-bottom:5pt}.invoice-paper .inv-subject{margin-bottom:10pt}.invoice-paper .inv-summary{padding:10pt 12pt;margin:12pt 0}.invoice-paper .inv-context{font-size:7pt;margin-bottom:12pt}.invoice-paper .inv-settlement{margin-top:14pt;gap:20pt}.invoice-paper .inv-totals td,.invoice-paper .inv-totals th{padding:3pt 5pt;font-size:8pt}.invoice-paper .inv-totals .inv-grand-total td,.invoice-paper .inv-totals .inv-grand-total th{font-size:10pt;padding:5pt}.invoice-paper .inv-payment,.invoice-paper .inv-notes{margin-top:12pt;padding-top:9pt}.invoice-paper .inv-footer{margin-top:12pt;padding-top:8pt;font-size:7pt}
}

.invoice-paper .inv-print-reference{display:none}@media print{.invoice-paper .inv-print-reference{display:table-row}.invoice-paper .inv-print-reference th{background:white;font-size:7pt;font-weight:400;text-align:left;border:0;padding:0 0 5pt;color:#536574}}
