:root{color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{margin:0;background:#f4f5f7;color:#1a1a1a}.app-shell{max-width:1080px;margin:0 auto;padding:1.5rem}nav.top-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;padding:1rem 1.5rem;background:#14213d}nav.top-nav a{color:#e5e5e5;text-decoration:none;font-weight:600}nav.top-nav a.active,nav.top-nav a:hover{color:#fca311}nav.top-nav .nav-spacer{flex:1}nav.top-nav .nav-user{color:#b8bdc9;font-size:.85rem;align-self:center}nav.top-nav .nav-logout{background:transparent;border:1px solid #3a4360;padding:.3rem .75rem}nav.top-nav .nav-logout:hover{border-color:#fca311;color:#fca311}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:100%;max-width:340px;display:flex;flex-direction:column;gap:.9rem}.login-subtitle{margin:-.6rem 0 0;color:#666}h1,h2,h3{margin-top:0}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid #eee;font-size:.9rem}th{background:#eef0f4}.card{background:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #00000014}button{cursor:pointer;border:none;border-radius:6px;padding:.45rem .9rem;background:#14213d;color:#fff;font-weight:600}button:disabled{background:#aaa;cursor:not-allowed}input,select{padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.status-pill{padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.table-search{flex:1;max-width:340px}.table-count{font-size:.8rem;color:#666;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.6rem;font-size:.85rem}.pagination-info,.pagination-page{color:#666}.pagination-buttons{display:flex;align-items:center;gap:.5rem}.pagination button{padding:.3rem .65rem;font-size:.8rem}.status-pending,.status-uploading,.status-submitting,.status-draft,.status-skipped{background:#eee;color:#555}.status-ready,.status-adjusted{background:#dbeafe;color:#1d4ed8}.status-processing,.status-submitted,.status-partial,.status-sending,.status-queued{background:#fef9c3;color:#92400e}.status-test_done{background:#ede9fe;color:#5b21b6}.status-manual{background:#cffafe;color:#155e75}.status-reversed{background:#e5e7eb;color:#4b5563}.status-paid,.status-succeeded,.status-completed,.status-done,.status-sent{background:#dcfce7;color:#166534}.status-failed,.status-error,.status-rejected,.status-cancelled{background:#fee2e2;color:#991b1b}.warning-box{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.error-box{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}dialog.modal{color-scheme:light;border:none;border-radius:8px;padding:0;width:min(640px,92vw);max-height:85vh;background:#fff;color:#1a1a1a;box-shadow:0 10px 40px #00000040}dialog.modal::backdrop{background:#14213d8c}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff}.modal-header h3{margin:0}.modal-close{background:transparent;color:#666;font-size:1.3rem;line-height:1;padding:.1rem .5rem}.modal-close:hover{color:#1a1a1a;background:#f4f5f7}.modal-body{padding:1.25rem;overflow-y:auto;max-height:calc(85vh - 3.5rem)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.25rem;margin-bottom:1rem}.form-grid .span-2{grid-column:1 / -1}.form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:#666}.form-grid input,.form-grid select{width:100%;box-sizing:border-box}@media (max-width: 560px){.form-grid{grid-template-columns:1fr}}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:220px;display:flex;flex-direction:column;padding:.3rem;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 18px #0000001f}.dropdown-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;background:transparent;color:#1a1a1a;text-align:left;border-radius:4px}.dropdown-menu button:hover:not(:disabled),.dropdown-menu button:focus-visible{background:#eef2f7}.dropdown-menu button:disabled{background:transparent;color:#999}.dropdown-menu small{font-weight:400;color:#666}.small{font-size:.85rem}button.secondary{background:transparent;color:#14213d;border:1px solid #c3c8d4}button.secondary:disabled{background:transparent;color:#aaa;border-color:#ddd}.form-grid textarea{width:100%;box-sizing:border-box;padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px;font:inherit;font-size:.9rem;resize:vertical}.settings-page input,.settings-page textarea{color-scheme:light;background:#fff;color:#1a1a1a}.logo-field{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.logo-preview{display:flex;align-items:center;justify-content:center;min-width:200px;min-height:80px;padding:.75rem 1rem;border:1px dashed #c3c8d4;border-radius:6px;background:#fff;box-sizing:border-box}.logo-preview img{display:block;max-width:220px;max-height:90px;object-fit:contain}.logo-actions{display:flex;align-items:center;gap:.6rem}.card hr{border:none;border-top:1px solid #eceef2;margin:1.25rem 0}.logo-heading{margin:0 0 .6rem;font-size:1rem}.muted{color:#666}.small{font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums}.row-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}button.ghost{background:#fff;color:#14213d;border:1px solid #c5cad6}button.ghost:hover:not(:disabled){background:#f4f5f7}button.ghost:disabled{background:#f4f5f7;color:#aaa;border-color:#e1e4ea}button.danger{background:#b91c1c}button.danger-ghost{background:#fff;color:#991b1b;border:1px solid #fca5a5}button.icon-btn{padding:.3rem .7rem;font-size:1.1rem;line-height:1}button.small-btn{padding:.2rem .6rem;font-size:.8rem}button.link-btn{background:none;color:#1d4ed8;padding:0;font-weight:600;text-align:left}button.link-btn:hover{text-decoration:underline}select,input[type=time],input[type=date],input[type=text],input[type=number]{background:#fff;color:#1a1a1a}.page-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.page-head h1{margin:0}.month-nav{display:inline-flex;align-items:center;gap:.25rem}.month-nav select{min-width:9.5rem;font-weight:600}.pill{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;margin:0 .25rem .15rem 0;white-space:nowrap}.pill-green{background:#dcfce7;color:#166534}.pill-red{background:#fee2e2;color:#991b1b}.pill-amber{background:#fef9c3;color:#92400e}.pill-blue{background:#dbeafe;color:#1d4ed8}.pill-grey{background:#eceef2;color:#4b5260}.pill-violet{background:#ede9fe;color:#5b21b6}.info-box{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.success-box{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.card-flat{background:#f8f9fb;border:1px solid #e5e7ec;border-radius:8px;padding:.75rem 1rem;margin:0 0 1rem}.card-flat summary{cursor:pointer}.plain-list{margin:.5rem 0 0;padding-left:1.1rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .75rem}.chip-btn{background:#fff;color:#1a1a1a;border:1px solid #c5cad6;border-radius:999px;padding:.25rem .8rem;font-size:.8rem;font-weight:600}.chip-btn.on{background:#14213d;color:#fff;border-color:#14213d}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-bottom:1rem}.tile{background:#fff;border:1px solid #e5e7ec;border-left:4px solid #c9ced8;border-radius:8px;padding:.5rem .75rem}.tile b{display:block;font-size:1.35rem;line-height:1.2}.tile span{color:#666;font-size:.8rem}.tile-green{border-left-color:#16a34a}.tile-red{border-left-color:#dc2626}.tile-amber{border-left-color:#f59e0b}.progress-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.25rem 1rem}.progress{height:8px;background:#e5e7ec;border-radius:99px;overflow:hidden;margin-top:.4rem}.progress i{display:block;height:100%;background:#16a34a}.table-scroll{overflow-x:auto;max-width:100%;border-radius:8px;margin-bottom:.75rem}.table-scroll>table{box-shadow:none}.table-scroll td button{white-space:nowrap}table.att-table{min-width:880px;overflow:visible;border-radius:0}table.att-table th,table.att-table td{white-space:nowrap;vertical-align:middle}table.att-table th{white-space:normal}.att-table .sticky-col{position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 #eee;min-width:11rem;white-space:normal}.att-table th.sticky-col{background:#eef0f4}.att-table tr.row-hot .sticky-col{background:#fff7f7}.att-table .name-btn{font-size:.9rem}.att-table .val{display:inline-block}.att-table .val .sub{display:block}.lembur-cell{display:inline-flex;align-items:center;gap:.5rem;justify-content:flex-end}.empty-cell{padding:1.25rem .75rem}tr.row-hot td{background:#fff7f7}tr.row-warn td{background:#fffdf3}.dropzone{border:2px dashed #c5cad6;border-radius:10px;padding:1.5rem 1rem;text-align:center;background:#fafbfc;margin-bottom:1rem}.dropzone.dragging{border-color:#14213d;background:#eef2f7}.dropzone-title{font-weight:700;font-size:1.05rem;margin:0 0 .75rem}.file-button{position:relative;display:inline-block;background:#14213d;color:#fff;border-radius:6px;padding:.5rem 1.1rem;font-weight:600;cursor:pointer}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.file-button:focus-within{outline:3px solid #fca311}.file-button.disabled{background:#aaa;cursor:not-allowed}.wiz-steps{display:flex;flex-wrap:wrap;gap:.5rem .25rem;list-style:none;margin:0 0 1rem;padding:0}.wiz-steps li{display:flex;align-items:center;gap:.4rem;color:#8a91a1;font-weight:600;font-size:.9rem}.wiz-steps li+li:before{content:"";width:1.25rem;height:2px;background:#cfd4de;margin-right:.25rem}.wiz-steps li i{font-style:normal;width:1.4rem;height:1.4rem;border-radius:50%;background:#dfe3ea;color:#5b6270;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}.wiz-steps li.on{color:#14213d}.wiz-steps li.on i{background:#14213d;color:#fff}.wiz-steps li.done i{background:#16a34a;color:#fff}.wiz-context{margin:-.25rem 0 1rem;color:#444}.wiz-busy{color:#92400e}.wiz-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.6rem;margin-bottom:1rem}.info-cell{background:#f8f9fb;border:1px solid #e5e7ec;border-radius:8px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;min-width:0}.info-cell small{text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#666;font-size:.7rem}.info-cell select{max-width:100%}.sticky-bar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;background:#fff;border-top:1px solid #dfe3ea;margin:1rem -1.25rem 0;padding:.75rem 1.25rem}.sticky-text{font-weight:600}.issue-action{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.issue-action select{max-width:100%}.inline-field{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#444}.check{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;margin:.15rem .75rem .15rem 0}.check-row{display:flex;gap:1rem;flex-wrap:wrap}.radio-card{display:flex;gap:.6rem;align-items:flex-start;border:1px solid #e0e3ea;border-radius:8px;padding:.6rem .75rem;margin-bottom:.5rem;cursor:pointer}.block-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem;font-size:.9rem}.drawer-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.days-table th,.days-table td{white-space:normal}.quick-fix{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center}.quick-fix .field-error{flex-basis:100%;color:#991b1b;font-size:.8rem}.quick-fix button{padding:.25rem .6rem;font-size:.8rem}tr.edit-row td{background:#f8f9fb}.day-form .form-grid{margin-bottom:.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-grid .check,.form-grid.check-row .check{flex-direction:row;align-items:center;color:#1a1a1a;font-size:.9rem}.form-grid .check input{width:auto}.days-table tr:not(.edit-row) td:first-child{white-space:nowrap}.quick-fix input{width:7.5rem}dialog.modal-wide{width:min(1040px,96vw);max-height:92vh}dialog.modal-wide .modal-body{box-sizing:border-box;max-height:calc(92vh - 3.6rem);padding-bottom:0}dialog.modal-wide .wiz-actions:last-child,dialog.modal-wide>.modal-body>div>.wiz-actions{padding-bottom:1.25rem}dialog.modal-drawer{width:min(780px,100vw);height:100vh;max-height:100vh;margin:0 0 0 auto;border-radius:0}dialog.modal-drawer .modal-body{box-sizing:border-box;max-height:calc(100vh - 3.6rem)}dialog.modal-drawer::backdrop,dialog.modal-wide::backdrop{background:#14213d8c}@media (max-width: 720px){nav.top-nav{padding:.75rem 1rem;gap:.3rem 1rem;font-size:.9rem}nav.top-nav .nav-user{display:none}.app-shell{padding:1rem}dialog.modal-wide,dialog.modal-drawer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}dialog.modal-wide .modal-body,dialog.modal-drawer .modal-body{max-height:calc(100dvh - 3.6rem)}.wiz-steps li span{display:none}.wiz-steps li.on span{display:inline}.page-head .row-wrap{width:100%}.month-nav select{min-width:0;flex:1}.month-nav{flex:1 1 100%}table.stack-sm,table.stack-card{display:block;width:100%;min-width:0;box-shadow:none;background:transparent}table.stack-sm td>*,table.stack-card td>*{min-width:0;max-width:100%}table.stack-sm td[data-label=Masalah],table.stack-sm td[data-label=Tindakan]{display:block;text-align:left}table.stack-sm td[data-label=Masalah]:before,table.stack-sm td[data-label=Tindakan]:before{display:block;margin-bottom:.15rem}table.stack-sm td select,table.stack-sm td input{max-width:100%}.issue-action select{width:100%}table.stack-sm thead,table.stack-card thead{display:none}table.stack-sm tbody,table.stack-sm tr,table.stack-sm td,table.stack-card tbody,table.stack-card tr,table.stack-card td{display:block}table.stack-sm tr,table.stack-card tr{background:#fff;border:1px solid #e1e4ea;border-radius:8px;padding:.5rem .75rem;margin-bottom:.6rem}table.stack-sm td,table.stack-card td{border:none;padding:.2rem 0;display:flex;justify-content:space-between;align-items:center;gap:.75rem;text-align:right;white-space:normal;overflow-wrap:anywhere}table.stack-sm td:before,table.stack-card td:before{content:attr(data-label);color:#666;font-size:.8rem;text-align:left;flex:0 0 38%}table.stack-sm td:not([data-label]):before,table.stack-card td:not([data-label]):before{content:none}table.stack-sm td.issue-action,table.stack-sm td>.issue-action{width:100%}table.stack-card td.card-title{display:block;text-align:left;font-size:1rem;padding-bottom:.3rem;border-bottom:1px solid #eee;margin-bottom:.2rem}.att-table .val{text-align:right}.att-table .val .sub{display:inline;margin-left:.4rem}.att-table .sticky-col{position:static;box-shadow:none;background:transparent;min-width:0}.att-table tr.row-hot,tr.row-hot,tr.row-warn{background:#fff7f7}tr.row-hot td,tr.row-warn td{background:transparent}.table-scroll{overflow-x:visible}.sticky-bar{margin:1rem -1.25rem 0}.sticky-bar .row-wrap{width:100%}.sticky-bar .row-wrap button{flex:1 1 auto}table.stack-sm td .issue-action{justify-content:flex-end}}.slip-sheet{box-sizing:border-box;border:1px solid #e5e7eb;border-top:5px solid #e01414;border-radius:6px;background:#fff;padding:1.5rem 1.5rem 1rem;margin-bottom:.9rem;color:#111827}.slip-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.slip-logos{display:flex;align-items:center;gap:.9rem;min-height:44px}.slip-logos img{max-width:110px;max-height:44px;object-fit:contain;display:block}.slip-logos img+img{padding-left:.9rem;border-left:1px solid #e5e7eb}.slip-wordmark{font-size:1.05rem}.slip-issuer{margin-top:.4rem;font-size:.8rem;line-height:1.35;color:#6b7280;max-width:300px}.slip-title{text-align:right}.slip-title h2{margin:0 0 .35rem;font-size:1.6rem}.slip-pill{display:inline-block;background:#f3f4f6;color:#4b5563;border-radius:999px;padding:.15rem .7rem;font-size:.8rem}.slip-identity{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem 1rem;margin:1.1rem 0;padding:.9rem 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.slip-identity dt,.slip-payment dt{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;margin:0 0 .2rem}.slip-identity dd,.slip-payment dd{margin:0;font-weight:700;font-size:.9rem;overflow-wrap:anywhere}.slip-cards{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1rem}.slip-card{border:1px solid #e5e7eb;border-top:3px solid #111827;border-radius:6px;background:#fafafa;padding:.8rem 1rem;display:flex;flex-direction:column}.slip-card-accent{border-top-color:#e01414}.slip-card h4{margin:0 0 .5rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#6b7280}.slip-card ul{list-style:none;margin:0 0 .6rem;padding:0;flex:1;min-height:3.2rem}.slip-card li{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-bottom:1px solid #e5e7eb;font-size:.88rem}.slip-card-total{display:flex;justify-content:space-between;gap:.75rem;padding-top:.55rem;border-top:1px solid #9ca3af;font-size:.85rem}.slip-net{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:#111827;color:#fff;border-radius:6px;padding:1rem 1.2rem}.slip-net-label{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#d1d5db}.slip-net-caption{font-size:.78rem;color:#d1d5db;margin-top:.15rem}.slip-net-value{font-size:1.6rem;font-weight:700}.slip-payment{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 0;padding:.9rem 1rem;background:#f3f4f6;border-radius:6px}.slip-foot{margin-top:1rem;padding-top:.6rem;border-top:1px solid #e5e7eb;font-size:.75rem;color:#6b7280}.slip-hint{font-size:.8rem;color:#666;margin:.4rem 0}.slip-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}@media (max-width: 560px){.slip-cards,.slip-payment{grid-template-columns:1fr}.slip-title{text-align:left}}
