:root{color-scheme:dark;--bg:#071321;--panel:#0c1b2b;--panel2:#11243a;--line:#28425e;--text:#edf6ff;--muted:#91a8be;--blue:#1595ef;--orange:#ff9d2e;--green:#20a773;--red:#d65454}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:24px;color:var(--text);background:radial-gradient(circle at 8% 0,#183c60 0,transparent 30%),linear-gradient(140deg,#06101c,#0a1726 68%,#0f1b28);font-family:"Malgun Gothic","Noto Sans KR",sans-serif}button,input,select{font:inherit}.app-header{max-width:1500px;margin:0 auto 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.app-header h1{margin:2px 0 6px;font-size:clamp(1.8rem,3vw,2.8rem)}.app-header p{margin:0;color:var(--muted)}.app-header>a{padding:11px 15px;border:1px solid var(--line);border-radius:9px;color:#fff;text-decoration:none}.eyebrow{color:#55b9ff!important;font-size:.7rem;font-weight:900;letter-spacing:.17em}.app-layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:18px;align-items:start}.workspace-card,.preview-card{border:1px solid var(--line);border-radius:17px;background:rgba(10,25,40,.96);box-shadow:0 22px 65px rgba(0,0,0,.28);overflow:hidden}.workflow-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.workflow-tab{min-width:0;display:flex;align-items:center;gap:11px;padding:15px;border:0;border-right:1px solid var(--line);color:#7890a8;background:#0d1b2a;cursor:pointer;text-align:left}.workflow-tab:last-child{border-right:0}.workflow-tab b{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#513b21;color:#c18a40}.workflow-tab span{min-width:0;display:grid;gap:3px}.workflow-tab strong{font-size:.9rem}.workflow-tab small{color:#60778e;font-size:.68rem}.workflow-tab.is-active{color:#fff;background:#12263b;box-shadow:inset 0 -3px var(--orange)}.workflow-tab.is-active b{color:#071321;background:var(--orange)}.workflow-tab.is-active small{color:#9fb4c8}.tab-page{display:none;padding:22px}.tab-page.is-active{display:block}.section-title,.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title h2,.section-title p,.list-toolbar h3,.list-toolbar p{margin:0}.section-title h2{font-size:1.14rem}.section-title p,.list-toolbar p{margin-top:4px;color:var(--muted);font-size:.72rem}.section-title.compact{margin-top:24px}.form-grid{display:grid;gap:12px;margin-top:17px}.job-grid,.issue-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid label{display:grid;gap:6px;color:#c6d6e5;font-size:.73rem;font-weight:800}.form-grid input,.form-grid select,.list-toolbar input,.section-title select{min-width:0;width:100%;padding:10px 11px;border:1px solid #34516e;border-radius:8px;outline:0;color:#fff;background:#081522}.form-grid input:focus,.form-grid select:focus,.list-toolbar input:focus{border-color:#36aaff;box-shadow:0 0 0 3px rgba(54,170,255,.11)}.span-2{grid-column:span 2}.primary,.success,.ghost,.form-actions button,.issue-actions button,.empty-state button,.stamp-row button,.row-actions button{padding:10px 13px;border:1px solid #3b5875;border-radius:8px;color:#fff;background:#17314d;cursor:pointer;font-weight:800}.primary{border-color:#41b2ff!important;background:#087fd8!important}.success{border-color:#45c494!important;background:#16865e!important}.ghost{background:#19293a!important}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:17px -22px 0;padding:13px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0e2033}.form-actions span{margin-right:auto;color:var(--muted);font-size:.72rem}.list-toolbar{margin:20px 0 10px}.list-toolbar input{max-width:330px}.table-wrap{min-height:285px;max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:.75rem}th,td{padding:10px 8px;border-bottom:1px solid #20384f;text-align:left;vertical-align:middle}th{position:sticky;top:0;z-index:1;color:#afc2d5;background:#112338;white-space:nowrap}td strong,td small{display:block}td small{margin-top:3px;color:var(--muted)}tr[data-job-id]{cursor:pointer}tr[data-job-id]:hover,tr.is-selected{background:rgba(34,151,235,.1)}.number-cell{text-align:right;white-space:nowrap}.remaining{color:#79d8a9;font-weight:900}.status-pill{display:inline-block;padding:4px 7px;border-radius:999px;background:#1b513f;color:#9cf0cb}.status-pill.completed{background:#4c3a20;color:#ffd18d}.row-select{padding:7px 9px!important;white-space:nowrap}.empty-row{text-align:center;padding:60px 10px;color:var(--muted)}.empty-state{min-height:430px;display:grid;place-content:center;justify-items:center;gap:15px;color:var(--muted)}.selected-job-summary{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin:-5px 0 22px}.summary-box{padding:12px;border:1px solid #294966;border-radius:10px;background:#10263b}.summary-box small,.summary-box strong{display:block}.summary-box small{color:var(--muted);font-size:.67rem}.summary-box strong{margin-top:5px}.summary-box.remaining-box{border-color:#2b8b67;background:rgba(29,129,92,.14)}.invoice-types{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.type-card{position:relative;min-height:105px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:13px;border:1px solid #314b66;border-radius:10px;background:#0d1d2e;cursor:pointer}.type-card input{position:absolute;right:9px;top:9px;accent-color:var(--orange)}.type-card b{font-size:1.3rem}.type-card strong{font-size:.78rem}.type-card small{color:var(--muted);font-size:.65rem}.type-card.is-selected{border-color:var(--orange);background:rgba(255,157,46,.1)}.stamp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:12px 14px;border:1px dashed #974750;border-radius:10px;background:rgba(132,35,48,.1)}.stamp-row strong,.stamp-row small{display:block}.stamp-row small{margin-top:4px;color:#d9a9ad;font-size:.68rem}.stamp-row button{background:#58222a}.issue-actions{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:20px -22px -22px;padding:13px 22px;border-top:1px solid var(--line);background:rgba(13,30,47,.96);backdrop-filter:blur(10px)}.history-summary{display:flex;gap:10px;margin:15px 0}.history-summary .summary-box{min-width:150px}.history-table{max-height:640px}.row-actions{display:flex;flex-wrap:wrap;gap:5px}.row-actions button{padding:6px 8px;font-size:.67rem}.row-actions .danger{border-color:#a64c4c;background:#672b32}.voided{opacity:.55;text-decoration:line-through}.preview-card{position:sticky;top:15px;padding:17px}.preview-head{display:flex;align-items:center;justify-content:space-between}.preview-head h2,.preview-head p{margin:0}.preview-head>span{padding:6px 9px;border-radius:999px;color:#ffd49a;background:rgba(255,157,46,.13);font-size:.68rem}.preview-tabs{display:flex;gap:6px;margin:13px 0 9px;overflow:auto}.preview-tabs button{white-space:nowrap;padding:7px 9px;border:1px solid #34506c;border-radius:7px;color:#9fb3c6;background:#0d1b2b;cursor:pointer}.preview-tabs .is-active{color:#071321;border-color:var(--orange);background:var(--orange);font-weight:900}.preview-stage{min-height:610px;display:flex;align-items:flex-start;justify-content:center;padding:22px;overflow:auto;border-radius:11px;background:repeating-linear-gradient(45deg,#1c2c3d,#1c2c3d 10px,#182839 10px,#182839 20px)}#invoicePreviewCanvas{width:min(330px,100%);height:auto;background:#fff;box-shadow:0 15px 35px rgba(0,0,0,.5)}.preview-card>p{margin:10px 0 0;color:var(--muted);font-size:.65rem;text-align:center}.toast{position:fixed;left:50%;bottom:25px;z-index:100;padding:12px 18px;border-radius:9px;color:#fff;background:#197854;box-shadow:0 10px 30px #0008;transform:translate(-50%,25px);opacity:0;transition:.22s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#9f3434}#invoicePrintArea{display:none}
@media(max-width:1150px){.app-layout{grid-template-columns:1fr}.preview-card{position:static}.job-grid,.issue-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){body{padding:10px}.app-header>div>p:last-child{display:none}.workflow-tab{padding:11px 7px}.workflow-tab small{display:none}.workflow-tab b{width:29px;height:29px}.tab-page{padding:13px}.job-grid,.issue-grid{grid-template-columns:1fr 1fr}.invoice-types{grid-template-columns:1fr 1fr}.selected-job-summary{grid-template-columns:1fr 1fr}.selected-job-summary .summary-box:first-child{grid-column:span 2}.form-actions{margin:15px -13px 0;padding:11px 13px}.issue-actions{margin:18px -13px -13px;padding:11px 13px}.issue-actions button{flex:1 1 45%}.list-toolbar{align-items:stretch;flex-direction:column}.list-toolbar input{max-width:none}.table-wrap{max-height:390px}.preview-stage{min-height:550px;padding:11px}}
@media print{@page{size:80mm auto;margin:2mm}body>*{display:none!important}body>#invoicePrintArea{display:block!important}#invoicePrintArea img{display:block;width:76mm;height:auto;margin:0 auto 3mm;break-after:page;page-break-after:always}#invoicePrintArea img:last-child{break-after:auto;page-break-after:auto}}
