:root{color:#e5f7ef;font-synthesis:none;text-rendering:optimizelegibility;background:#06100b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#103624,#06100b 45%,#030605);min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}code{color:#87ffc5}.app-shell{min-height:100vh;padding-left:76px}.sidebar{z-index:20;background:#04100af5;border-right:1px solid #4effa624;width:76px;height:100vh;padding:18px 12px;transition:width .22s,box-shadow .22s;position:fixed;top:0;left:0;overflow:hidden}.sidebar:hover{width:280px;box-shadow:18px 0 50px #00000061}.brand{align-items:center;gap:12px;min-width:240px;margin-bottom:24px;display:flex}.brand-mark{color:#031008;background:linear-gradient(135deg,#00ff95,#12764d);border-radius:16px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-weight:900;display:grid;box-shadow:0 0 28px #00ff9542}.brand h1{white-space:nowrap;margin:0;font-size:18px}.brand p{color:#8db7a4;white-space:nowrap;margin:2px 0 0;font-size:12px}.brand-text,.nav span,.hint-box{opacity:0;pointer-events:none;transition:opacity .18s}.sidebar:hover .brand-text,.sidebar:hover .nav span,.sidebar:hover .hint-box{opacity:1;pointer-events:auto}.nav{text-align:left;color:#dfffee;white-space:nowrap;background:#ffffff08;border:1px solid #85ffc524;border-radius:14px;width:100%;margin:6px 0;padding:12px 14px}.nav:before{content:"›";color:#00ff95;width:28px;font-weight:900;display:inline-block}.nav.active{background:#00ff9529;border-color:#00ff958c;box-shadow:inset 0 0 18px #00ff9514}.hint-box{color:#bde8d5;background:#00ff9514;border-radius:16px;min-width:230px;margin-top:22px;padding:14px;font-size:13px;line-height:1.5}.main{padding:22px;overflow-x:hidden}.topbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.topbar h2{margin:0;font-size:24px}.topbar span{color:#8db7a4;font-size:13px}.top-actions{flex-wrap:wrap;gap:10px;display:flex}button{color:#eafff5;background:#ffffff0d;border:1px solid #6fffbe40;border-radius:12px;padding:10px 14px}button:hover{border-color:#00ff95a6}button.primary{color:#00180d;background:linear-gradient(135deg,#00d17b,#0b7b4d);border-color:#00ff95bf;font-weight:800}button.danger{color:#ffd0d0;border-color:#ff5f5f59}button.mini{border-radius:9px;padding:5px 9px}button:disabled{opacity:.55;cursor:not-allowed}.toast{z-index:40;background:#0f271b;border:1px solid #00ff9566;border-radius:14px;max-width:540px;padding:12px 16px;position:fixed;top:18px;right:18px;box-shadow:0 12px 40px #00000059}.work-grid{grid-template-columns:minmax(560px,700px) minmax(560px,1fr);align-items:start;gap:18px;display:grid}.card,.preview-card{background:#ffffff0b;border:1px solid #6fffbe26;border-radius:22px;padding:18px;box-shadow:0 22px 65px #00000040}.section-title{color:#89ffc4;letter-spacing:.04em;text-transform:uppercase;margin:2px 0 14px;font-size:12px;font-weight:900}.section-title.with-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:20px;display:flex}.row-actions{gap:8px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label,.settings-grid label{color:#bce4d1;gap:6px;font-size:13px;display:grid}.form-grid label.wide{grid-column:1/-1}label small{color:#86aa99;font-size:11px}input,textarea,select{color:#effff7;background:#00000047;border:1px solid #8fffcd29;border-radius:12px;outline:none;width:100%;padding:10px 12px}select option{color:#effff7;background:#0b2116}input:focus,textarea:focus,select:focus{border-color:#00ff95a6;box-shadow:0 0 0 3px #00ff9514}.input-with-button{grid-template-columns:1fr auto;gap:8px;display:grid}.items-table-wrap{border:1px solid #6fffbe1f;border-radius:16px;max-height:430px;overflow:auto}.items-input{border-collapse:collapse;width:100%;font-size:13px}.items-input th{color:#8effc7;z-index:1;background:#0b2116;position:sticky;top:0}.items-input th,.items-input td{border-bottom:1px solid #6fffbe1a;padding:7px}.items-input td:first-child{text-align:center;color:#8db7a4}.items-input input{border-radius:9px;padding:7px 8px}.items-input td:nth-child(4) input{min-width:260px}.paste-box{border:1px dashed #00ff9552;border-radius:18px;gap:10px;margin-top:16px;padding:14px;display:grid}.paste-box p{color:#8db7a4;margin:4px 0 0;font-size:12px}.paste-box textarea{min-height:96px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.search-line{gap:10px;display:flex}.history-list{gap:10px;margin-top:16px;display:grid}.history-item{background:#0000002e;border:1px solid #6fffbe21;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.history-item p{color:#bfdccd;margin:5px 0}.history-item small{color:#8db7a4}.empty{text-align:center;color:#8db7a4;padding:28px}.import-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.import-card{background:#0000002e;border:1px solid #6fffbe1f;border-radius:18px;gap:12px;padding:18px;display:grid}.import-card h3{margin:0}.import-card p{color:#b9dac9;margin:0;line-height:1.5}.file-line{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.progress-box{background:#0000002e;border:1px solid #00ff953d;border-radius:16px;gap:8px;margin-top:16px;padding:14px;display:grid}.progress{background:#ffffff14;border-radius:999px;height:10px;overflow:hidden}.progress span{background:linear-gradient(90deg,#00d17b,#8effc7);height:100%;transition:width .18s;display:block}.logs-box{margin-top:20px}.logs-table-wrap{border:1px solid #6fffbe1f;border-radius:16px;max-height:300px;overflow:auto}.logs-table{border-collapse:collapse;width:100%;font-size:12px}.logs-table th{color:#8effc7;background:#0b2116;position:sticky;top:0}.logs-table th,.logs-table td{text-align:left;border-bottom:1px solid #6fffbe1a;padding:9px 10px}.empty-cell{color:#8db7a4;text-align:center!important}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-grid textarea{min-height:140px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.setting-actions{justify-content:flex-end;margin-top:16px;display:flex}.modal-backdrop{z-index:50;background:#0000009e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#0b1c13;border:1px solid #00ff9552;border-radius:22px;width:min(620px,96vw);padding:20px;box-shadow:0 24px 80px #0000007a}.modal-card h3{margin:0 0 12px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.summary-grid div{background:#0000002e;border:1px solid #6fffbe24;border-radius:14px;gap:4px;padding:14px;display:grid}.summary-grid b{color:#8effc7;font-size:22px}.summary-grid span{color:#b9dac9;font-size:12px}.preview-card{background:#314138;min-height:calc(100vh - 120px);padding:20px;overflow:auto}.receipt-paper{color:#000;zoom:.72;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:3mm;box-shadow:0 18px 55px #00000059}.mobil-sheet{border-collapse:collapse;table-layout:fixed;color:#000;width:100%;font-family:Arial,Helvetica,sans-serif;font-size:11px}.mobil-sheet td{vertical-align:middle;white-space:nowrap;border:1px solid #0000;height:18.95px;padding:0 3px;overflow:hidden}.mobil-sheet .col-a{width:4%}.mobil-sheet .col-b{width:5%}.mobil-sheet .col-c,.mobil-sheet .col-d{width:18%}.mobil-sheet .col-e{width:28%}.mobil-sheet .col-f{width:10%}.mobil-sheet .col-g,.mobil-sheet .col-h{width:8.5%}.mobil-sheet .company{text-align:center;height:55px;font-size:18px;font-weight:700}.mobil-sheet .title{text-align:center;height:31px;font-size:18px;font-weight:700}.mobil-sheet .addr td,.mobil-sheet tr.addr td{height:25px;font-size:12px}.mobil-sheet .plat{text-align:center;border:1px solid #000;font-size:14px;font-weight:700}.mobil-sheet .space td,.mobil-sheet tr.space td{height:18px}.mobil-sheet .head td{text-align:center;background:#f2f2f2;border:1px solid #000;height:32px;font-weight:700}.mobil-sheet .item-row td{text-align:center;border:1px solid #000;height:33px;font-size:11px}.mobil-sheet .helper td,.mobil-sheet .ket td{height:24px}.mobil-sheet .total td{text-align:center;border-top:1px solid #000;height:24px;font-weight:700}.mobil-sheet .total td:nth-child(5){text-align:right}.mobil-sheet .sign-title td{text-align:center;height:32px;font-weight:700}.mobil-sheet .sign-mid td{text-align:center;height:28px}.mobil-sheet .sign-space td{height:55px}.mobil-sheet .sign-name td{text-align:center;height:28px;font-weight:700}@media (width>=1580px){.receipt-paper{zoom:.82}}@media (width<=1180px){.app-shell{padding-left:0}.sidebar{width:auto;height:auto;position:static}.brand-text,.nav span,.hint-box{opacity:1;pointer-events:auto}.work-grid,.import-panel,.settings-grid{grid-template-columns:1fr}.receipt-paper{zoom:.62}}@page{size:A4 portrait;margin:3mm}@media print{html,body{background:#fff!important}.no-print,.sidebar,.topbar,.form-panel{display:none!important}.app-shell,.main,.work-grid,.preview-card{box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important;display:block!important}.receipt-paper{width:100%;min-height:auto;box-shadow:none;zoom:1;margin:0;padding:0}.mobil-sheet{font-size:10.5px}}.error-message{color:#ffb6b6;white-space:normal;max-width:520px}.small-empty{padding:14px}.media-title{margin-top:24px}.media-grid,.asset-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px;display:grid}.media-card,.asset-control,.media-list{background:#0000002e;border:1px solid #6fffbe21;border-radius:18px;gap:10px;padding:16px;display:grid}.media-card h3,.asset-control h3{margin:0;font-size:15px}.asset-control-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.switch-row{white-space:nowrap;align-items:center;grid-template-columns:auto 1fr!important;gap:8px!important;display:flex!important}.switch-row input{width:auto}.asset-range-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.asset-range-grid label{color:#bce4d1;gap:4px;font-size:11px;display:grid}.asset-range-grid input{border-radius:9px;padding:7px 8px}.media-list{margin-top:16px}.media-item{background:#ffffff06;border:1px solid #6fffbe1a;border-radius:14px;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.media-item img{object-fit:contain;background:#fff;border-radius:8px;width:54px;height:42px;padding:3px}.media-item small{color:#8db7a4;margin-top:2px;display:block}.preview-card{overflow:auto}.preview-card:before{content:"Arahkan cursor ke preview untuk pop-up full. Scroll untuk lihat bawah.";color:#d3ffee;opacity:.76;margin:0 0 10px;font-size:12px;display:block}.preview-card:hover{z-index:95;background:#203029fa;border-color:#00ff958c;position:fixed;inset:18px;overflow:auto;box-shadow:0 30px 120px #000000b8}.preview-card:hover:before{content:"Preview full-fit. Gambar/logo bisa digeser. Tekan Print kalau posisi sudah pas.";z-index:5;background:#203029fa;border-radius:10px;padding:8px;display:block;position:sticky;top:0}.preview-card:hover .receipt-paper{zoom:.86}.receipt-paper{zoom:.58;border:3px solid #000;padding:5mm;position:relative}.print-asset{object-fit:contain;z-index:3;cursor:move;-webkit-user-select:none;user-select:none;border:1px dashed #00000038;position:absolute}.print-asset:hover{outline:2px solid #0080ff8c}.mobil-sheet .company{text-decoration:underline}.mobil-sheet .head td{background:0 0!important;border:0!important;border-bottom:1.8px solid #000!important}.mobil-sheet .item-row td{text-align:center;border:0!important}.mobil-sheet .item-row td:nth-child(5){text-align:left}.mobil-sheet .helper td,.mobil-sheet .ket td{border:0!important}.mobil-sheet .total td{text-align:center;font-weight:700;border:0!important}.mobil-sheet .signature-block-row td{vertical-align:bottom;height:104px;padding-top:12px;border:0!important}.signature-grid{text-align:center;grid-template-columns:repeat(4,1fr);align-items:end;column-gap:8px;min-height:98px;display:grid}.sig-col{flex-direction:column;justify-content:space-between;align-items:center;min-height:98px;font-size:10.5px;display:flex}.sig-col b{white-space:nowrap;font-weight:700}.sig-col span{min-height:16px;font-weight:700}@media (width<=1180px){.media-grid,.asset-control-grid{grid-template-columns:1fr}.preview-card:hover{inset:10px}.preview-card:hover .receipt-paper{zoom:.56}}@media print{.receipt-paper{width:100%;min-height:auto;box-shadow:none;zoom:1;margin:0;padding:4mm;border:3px solid #000!important}.print-asset{border:0!important;outline:0!important}.preview-card:before{display:none!important}}
