:root{--ink:#172336;--muted:#667281;--line:#dce2e8;--blue:#285b9f;--paper:#fff;--bg:#f3f5f7;--red:#aa3f32;--green:#2b725b}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8db4e4;outline-offset:3px}h1,h2,h3,p{margin:0}button{border:0;background:none;color:inherit}input,select,textarea{border:1px solid #cbd3dd;border-radius:4px;background:white;color:var(--ink);padding:9px 10px;min-width:0}input[type=number]{font-variant-numeric:tabular-nums}textarea{resize:vertical;min-height:75px}[hidden]{display:none!important}.skip{position:absolute;top:-50px;background:var(--ink);color:white;padding:12px;z-index:99}.skip:focus{top:0}.app-header{display:flex;align-items:center;gap:25px;height:74px;padding:0 5vw;background:white;border-bottom:1px solid var(--line)}.brand{font-size:22px;letter-spacing:-.6px;font-weight:750}.brand span{font-weight:400}.brand small{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400;margin-left:20px}.workspace-name{margin-left:auto;font-size:13px}.sample{font-size:11px;border:1px solid var(--line);border-radius:3px;padding:2px 5px;margin-left:5px;color:var(--muted)}.gallery-link{font-size:12px;color:var(--muted)}.noticebar{text-align:center;font-size:12px;color:#667281;background:#edf1f5;padding:9px 16px;border-bottom:1px solid var(--line)}#main{max-width:1440px;margin:0 auto;padding:32px 4vw 60px}.page-head{display:flex;align-items:center;gap:20px;margin-bottom:25px}.page-head h1{font-size:26px;letter-spacing:-.8px;font-weight:650}.page-head p{font-size:13px;color:var(--muted);margin-top:4px}.actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.button{padding:9px 14px;border:1px solid #cbd3dd;border-radius:4px;background:white;font-weight:550;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:7px}.button:hover{background:#f4f6f8}.button.primary{background:var(--blue);border-color:var(--blue);color:white}.button.primary:hover{background:#214f8c}.button.danger{color:var(--red)}.button.small{padding:5px 9px;font-size:12px}.summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:28px;background:white;border:1px solid var(--line);border-radius:5px}.summary>div{padding:18px 22px;border-right:1px solid var(--line)}.summary>div:last-child{border:0}.summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.summary strong{font-size:23px;letter-spacing:-.5px;font-weight:600;font-variant-numeric:tabular-nums}.summary strong small{font-size:12px;font-weight:400;margin-left:4px}.summary p{font-size:11px;color:var(--muted);margin-top:2px}.summary .late{color:var(--red)}.workspace{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(480px,1.6fr);gap:28px;align-items:start}.list-panel{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden}.filters{padding:16px;border-bottom:1px solid var(--line);display:grid;gap:10px}.filters input{width:100%}.filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.filter-tabs button{font-size:12px;padding:4px 8px;border-radius:3px;color:var(--muted)}.filter-tabs button[aria-pressed=true]{background:#e8eff8;color:var(--blue);font-weight:600}.invoice-list{list-style:none;padding:0;margin:0}.invoice-list>li{border-bottom:1px solid #e9edf1}.invoice-list>li:last-child{border:0}.invoice-item{width:100%;text-align:left;padding:18px 18px 16px;border-left:3px solid transparent}.invoice-item:hover{background:#f8fafc}.invoice-item.active{background:#eef3f9;border-left-color:var(--blue)}.invoice-item>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.invoice-item strong{font-size:15px;font-weight:600}.invoice-item small{font-size:11px;color:var(--muted)}.invoice-item .amount{font-size:17px;letter-spacing:-.3px;font-weight:650;font-variant-numeric:tabular-nums}.invoice-item p{margin-top:12px;font-size:12px;color:var(--muted)}.status{font-size:11px;line-height:1.5;padding:2px 6px;white-space:nowrap;border-radius:3px;display:inline-block;background:#eef0f3;color:#596675}.status.paid{background:#e7f1ec;color:var(--green)}.status.overdue{background:#faeae6;color:var(--red)}.status.partial{background:#fff0d8;color:#946211}.status.issued{background:#e9effa;color:var(--blue)}.status.cancelled{text-decoration:line-through}.empty{padding:38px 20px;color:var(--muted);text-align:center;font-size:13px}.detail-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;color:var(--muted)}.detail-top .actions{gap:6px}.paper{background:white;padding:36px 40px;border:1px solid #d4dbe3;box-shadow:0 3px 7px #20304706;min-height:490px}.paper-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:30px;border-bottom:2px solid var(--ink)}.paper h2{font-size:30px;font-weight:500;letter-spacing:3px;line-height:1.4}.paper-head .issuer{text-align:right;font-size:12px;color:var(--muted);line-height:1.8}.issuer strong{color:var(--ink);font-size:14px}.paper-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:26px 0}.paper-meta label{font-size:11px;color:var(--muted);display:block;margin-bottom:4px}.paper-meta strong{font-size:18px;font-weight:600}.paper-meta dl{margin:0;display:grid;grid-template-columns:auto auto;column-gap:15px;justify-content:end;font-size:12px}.paper-meta dt{color:var(--muted)}.paper-meta dd{margin:0;text-align:right}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:11px;color:var(--muted);font-weight:500;background:#f8f9fb}th:first-child,td:first-child{padding-left:0}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.totals{display:grid;grid-template-columns:1fr auto;gap:8px;margin:22px 0 28px auto;width:250px;font-size:13px}.totals dt{color:var(--muted)}.totals dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.totals .grand{font-size:19px;font-weight:650;color:var(--ink);border-top:1px solid var(--ink);padding-top:12px;margin-top:3px}.paper-note{font-size:12px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted)}.paper-note strong{display:block;color:var(--ink);font-size:11px;margin-bottom:4px}.paper-footer{font-size:10px;color:#7f8895;margin-top:30px}.settlement{background:white;border:1px solid var(--line);margin-top:18px;padding:22px;border-radius:4px}.settlement-head{display:flex;gap:10px;align-items:center;margin-bottom:18px}.settlement h3{font-size:15px;font-weight:600}.balance{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.balance span{display:block;font-size:11px;color:var(--muted)}.balance strong{font-size:21px;font-weight:600}.balance .remaining{color:var(--blue)}.progress{height:5px;background:#e9eef4;margin-bottom:18px}.progress span{display:block;height:100%;background:var(--green)}.payments{list-style:none;margin:0;padding:0}.payments li{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0;font-size:12px}.payments li div{flex:1}.payments small{display:block;color:var(--muted)}.payments .voided{text-decoration:line-through;color:var(--muted)}.history{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;font-size:11px;color:var(--muted)}.history summary{cursor:pointer}.history ul{padding-left:15px;line-height:2}.view-foot{font-size:11px;color:var(--muted);margin-top:25px}.storage-error{background:#fff0d8;padding:12px 5vw;font-size:13px;color:#724e18}dialog{width:min(760px,calc(100% - 24px));max-height:90dvh;border:1px solid #cbd3dd;border-radius:7px;padding:0;color:var(--ink);box-shadow:0 24px 90px #12243426}dialog::backdrop{background:#16233665}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:21px 25px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:20px;font-weight:600}.dialog-head button{padding:4px;font-size:24px;line-height:1}.form-body{padding:24px;display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label.field{display:grid;gap:6px;font-size:12px;font-weight:550}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;font-size:14px}.form-lines input{width:100%}.form-lines{min-width:540px}.form-lines td{padding:7px 4px}.form-lines th{background:white}.form-lines th:first-child{width:45%}.form-lines th:nth-child(2){width:15%}.form-lines th:nth-child(3){width:25%}.form-line-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:10px}.form-sum{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;background:#f0f4f9;padding:13px 15px}.form-sum strong{font-size:20px}.dialog-footer{border-top:1px solid var(--line);padding:18px 24px;display:flex;justify-content:flex-end;gap:8px}.form-hint{font-size:12px;color:var(--muted)}.error{padding:11px 13px;background:#faeae6;color:#94372d;font-size:13px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;max-width:calc(100% - 32px);border-radius:4px;background:#203348;color:white;box-shadow:0 3px 16px #0002;font-size:13px;z-index:99}dialog .intro{font-size:13px;color:var(--muted)}@media(max-width:1050px){.workspace{gap:18px;grid-template-columns:300px minmax(0,1fr)}.paper{padding:25px}.summary>div{padding:15px}.summary strong{font-size:20px}}@media(max-width:760px){.app-header{height:62px;padding:0 18px;gap:12px}.brand{font-size:19px}.brand small,.workspace-name{display:none}.gallery-link{margin-left:auto}.noticebar{font-size:11px;text-align:left}#main{padding:24px 16px 40px}.page-head{align-items:flex-start;flex-wrap:wrap}.page-head h1{font-size:24px}.actions{margin-left:0}.page-head>.actions{width:100%}.summary{grid-template-columns:1fr 1fr;margin-bottom:20px}.summary>div:nth-child(2){border-right:0}.summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.summary strong{font-size:21px}.workspace{display:block}.list-panel{margin-bottom:24px}.invoice-list{max-height:390px;overflow:auto}.invoice-item{padding:15px}.detail-top{flex-wrap:wrap}.detail-top .actions{margin-left:auto}.paper{padding:24px 19px}.paper h2{font-size:27px}.paper-meta{grid-template-columns:1fr;gap:13px}.paper-meta dl{justify-content:start;grid-template-columns:62px auto;gap:3px 10px}.paper-meta dd{text-align:left}.paper table{min-width:340px}.paper td{font-size:12px}.paper-head .issuer{font-size:10px}.issuer strong{font-size:12px}.settlement{padding:19px}.settlement-head{flex-wrap:wrap}.settlement-head .actions{margin-left:auto}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.dialog-head,.form-body,.dialog-footer{padding:18px}.totals{width:220px}.button{font-size:13px;padding:9px 12px}}@media print{body{background:white}.app-header,.noticebar,.storage-error,.page-head,.summary,.list-panel,.detail-top,.settlement,.view-foot,.toast,dialog,.skip{display:none!important}#main{padding:0;margin:0;max-width:none}.workspace{display:block}.paper{border:0;box-shadow:none;padding:25mm 15mm;min-height:0}.paper table{min-width:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.mobile-back{display:none}#invoiceDetail{scroll-margin-top:20px}#invoiceDetail:focus{outline:none}@media(max-width:760px){.mobile-back{display:inline-flex;margin-bottom:14px}#invoiceList{scroll-margin-top:20px}}
