:root,:root[data-theme=hatsal]{--bg:#f6f9fc;--panel:#fff;--panel-2:#fbfcfe;--border:#e3e8ee;--border-strong:#cdd7e1;--text:#0d253d;--text-dim:#64748d;--accent:#533afd;--accent-strong:#4434d4;--accent-weak:#eeecff;--accent-2:#9b6829;--good:#157a4a;--good-weak:#e5f5ec;--critical:#ea2261;--critical-weak:#fce9f0;--amber:#9b6829;--amber-weak:#fbf1e2;--warn-edge:#f3c1c1;--shadow-sm:0 1px 2px #0d253d0d;--shadow-md:0 4px 14px -4px #0d253d24;--r-lg:12px;--r-md:8px;--r-sm:6px;--r-pill:999px;font-family:Pretendard Variable,Pretendard,-apple-system,Segoe UI,Malgun Gothic,sans-serif}:root[data-theme=hanji]{--bg:#f7f3ea;--panel:#fffdf7;--panel-2:#faf6ed;--border:#e5ded0;--border-strong:#cfc4ad;--text:#2b2519;--text-dim:#6d6252;--accent:#a8551f;--accent-strong:#8a4419;--accent-weak:#f6ead9;--accent-2:#8a6320;--good:#3f6b30;--good-weak:#eaf1e3;--critical:#a83232;--critical-weak:#f8e8e5;--amber:#8a6320;--amber-weak:#f7edda;--warn-edge:#e6bdb5;--shadow-sm:0 1px 2px #3c2d140f;--shadow-md:0 4px 14px -4px #3c2d1429}:root[data-theme=meok]{--bg:#16181b;--panel:#1e2126;--panel-2:#23262c;--border:#31363e;--border-strong:#454c57;--text:#e8eaed;--text-dim:#9aa1ab;--accent:#7b6cf0;--accent-strong:#9a8eff;--accent-weak:#25253a;--accent-2:#c99a53;--good:#3fae7e;--good-weak:#14261f;--critical:#e2597f;--critical-weak:#2c1a22;--amber:#c99a53;--amber-weak:#2a2318;--warn-edge:#6b3237;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px -4px #0000008c}:root[data-theme=bam]{--bg:#101825;--panel:#182233;--panel-2:#1d2a3d;--border:#2b3a4f;--border-strong:#3e5169;--text:#e6edf5;--text-dim:#95a5ba;--accent:#4f9dd9;--accent-strong:#71b6e8;--accent-weak:#152839;--accent-2:#c89b5a;--good:#3aab86;--good-weak:#112622;--critical:#e0638a;--critical-weak:#2a1a25;--amber:#c89b5a;--amber-weak:#28221a;--warn-edge:#5f3244;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px -4px #0000008c}:root[data-theme=soop]{--bg:#131a16;--panel:#1b241f;--panel-2:#202b25;--border:#2e3c34;--border-strong:#415345;--text:#e6ede8;--text-dim:#93a79a;--accent:#4ca87a;--accent-strong:#6bc396;--accent-weak:#16271d;--accent-2:#c39a58;--good:#5cb083;--good-weak:#17281e;--critical:#d96b83;--critical-weak:#2a1b20;--amber:#c39a58;--amber-weak:#272118;--warn-edge:#5c3038;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px -4px #0000008c}:root[data-theme=ddo]{--bg:#fff;--panel:#fff;--panel-2:#f2f5f8;--border:#93a0ad;--border-strong:#59646f;--text:#000;--text-dim:#2f3b47;--accent:#0b47c9;--accent-strong:#06349a;--accent-weak:#dde7ff;--accent-2:#7a4d09;--good:#0a6b3d;--good-weak:#dff2e6;--critical:#b3123f;--critical-weak:#ffe3ea;--amber:#7a4d09;--amber-weak:#fceedb;--warn-edge:#c4405f;--shadow-sm:0 1px 2px #00000024;--shadow-md:0 4px 14px -4px #00000047}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;scrollbar-color:var(--border-strong) transparent;margin:0}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint,var(--text-dim));background-clip:padding-box}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);z-index:30;flex-direction:column;flex-shrink:0;gap:4px;width:236px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.side-group{flex-direction:column;display:flex}.side-bottom{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:auto;padding-top:10px;display:flex}.drawer-backdrop,.menu-btn{display:none}.side-brand{color:var(--text);flex-direction:column;align-items:flex-start;gap:8px;padding:4px 8px 14px;text-decoration:none;display:flex}.side-brand .logo-box{border-radius:var(--r-md);background:var(--accent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:flex}.side-brand .logo-img{object-fit:contain;object-position:left center;flex-shrink:0;width:auto;max-width:100%;height:38px}.side-brand .brand-name{letter-spacing:-.01em;word-break:keep-all;font-size:15px;font-weight:800;line-height:1.3}.side-section{color:var(--text-dim);letter-spacing:.08em;padding:12px 12px 5px;font-size:11px;font-weight:700}.side-nav{flex-direction:column;display:flex}.nav-item{border-radius:var(--r-md);color:var(--text-dim);white-space:nowrap;align-items:center;gap:11px;margin:1px 0;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item svg{stroke:currentColor;opacity:.75;flex-shrink:0;width:18px;height:18px}.nav-emoji{text-align:center;flex-shrink:0;width:18px;font-size:15px;font-style:normal;line-height:1}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item:hover svg{opacity:1}.nav-item.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);font-weight:700}.nav-item.active svg{opacity:1}.nav-item-emphasize{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);justify-content:center;align-self:center;width:auto;margin-top:6px;font-weight:700;transition:background .12s,box-shadow .12s}.nav-item-emphasize svg{opacity:1}.nav-item-emphasize:hover{background:var(--accent-strong);color:#fff;box-shadow:var(--shadow-md)}.nav-badge{background:var(--critical);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:700}.side-footer{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:auto;padding:14px 10px 4px;display:flex}.side-footer-user{align-items:center;gap:10px;display:flex}.side-footer-actions{flex-direction:column;gap:6px;display:flex}.side-footer-actions .theme-switcher-wrap{justify-content:space-between;width:100%}.side-footer-actions .theme-switcher{flex:1}.side-footer-actions .link-button,.side-footer-actions button{text-align:center;box-sizing:border-box;width:100%}.avatar{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.side-footer .who{min-width:0;font-size:13px;font-weight:600}.side-footer .who small{color:var(--text-dim);font-size:11.5px;font-weight:400;display:block}.side-footer-product{text-align:center;color:var(--text-dim);padding-top:2px;font-size:11px}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.topline{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;min-height:60px;padding:10px 24px;display:flex}.topline .spacer{flex:1}.user-info{color:var(--text-dim);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.link-button{color:var(--text-dim);border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:8px 12px;font-size:13px;text-decoration:none}.link-button:hover{color:var(--text);border-color:var(--border-strong)}.content{width:100%;padding:26px}.page-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.page-header h1{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:800}.page-header h1 .back-link{margin-left:10px;font-size:13px;font-weight:500}.page-sub{color:var(--text-dim);margin:4px 0 0;font-size:13.5px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:20px}.card h2{letter-spacing:-.01em;margin-top:0;font-size:15.5px;font-weight:700}.mailadmin-frame{border:1px solid var(--border);border-radius:var(--r-lg);width:100%;height:calc(100vh - 170px);min-height:480px;box-shadow:var(--shadow-sm);background:#fff}.quota-bar-track{background:var(--panel-2);border-radius:999px;width:160px;height:6px;margin-bottom:4px;overflow:hidden}.quota-bar-fill{background:var(--accent);border-radius:999px;height:100%}.quota-bar-fill.warn{background:var(--amber)}.icon-btn{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--panel-2);width:30px;height:30px;color:var(--text-dim);cursor:pointer;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.icon-btn:hover{color:var(--text);border-color:var(--accent)}.icon-btn.danger:hover{color:var(--critical);border-color:var(--critical)}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{width:1040px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);margin-bottom:0;overflow:hidden auto}.modal-backdrop.modal-scroll{align-items:flex-start;padding:16px 0;overflow-y:auto}.modal-box.modal-open{max-height:none;overflow:visible}@media (width<=1080px){.modal-box .form-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.modal-box .form-grid{grid-template-columns:1fr}}.field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.form-grid>.form-field{position:relative}.new-customer-link-row{z-index:1;line-height:1.3;position:absolute;top:0;right:0}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.link-btn:hover{text-decoration:underline}.section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-header a{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.card-form{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:20px;padding:20px}.form-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.form-grid label.full,.form-grid .field-caption.full{grid-column:1/-1}.form-grid>label,.form-grid>.form-field{min-width:0}.form-grid input,.form-grid select,.form-grid textarea{box-sizing:border-box;width:100%}label,.field-caption{color:var(--text-dim);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}input,select,textarea,button{background:var(--panel);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:9px 12px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-weak);border-color:var(--accent)}textarea{min-height:60px}textarea.textarea-lg{min-height:120px}button{cursor:pointer;background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:var(--r-pill);box-shadow:var(--shadow-sm);padding:9px 18px;font-weight:600;transition:background .12s,box-shadow .12s,transform 50ms,border-color .12s,color .12s}button:hover{background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:var(--shadow-md)}button:active{box-shadow:var(--shadow-sm);transform:translateY(1px)}button:disabled{opacity:.5;cursor:default;filter:none;box-shadow:none;transform:none}button.secondary{background:var(--panel);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm);font-weight:600}button.secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-weak);box-shadow:var(--shadow-sm)}button.secondary:active{background:var(--accent-weak)}button.btn-danger-soft{background:var(--critical-weak);color:var(--critical);box-shadow:none;border-color:#0000}button.btn-danger-soft:hover{background:var(--critical);color:#fff;filter:none;box-shadow:var(--shadow-md)}.radio-row{flex-flow:wrap;align-items:center;gap:16px;padding-top:4px;display:flex}.radio-inline{color:var(--text);white-space:nowrap;flex-direction:row;flex-shrink:0;align-items:center;gap:4px;font-size:14px;font-weight:400;display:flex}.radio-inline input{padding:0}.form-grid input[type=radio],.form-grid input[type=checkbox],.radio-inline input[type=radio],.radio-inline input[type=checkbox]{flex:none;width:auto}.hint{color:var(--text-dim);font-size:12px}.status-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot.online{background:#2ecc71}.status-dot.offline{background:var(--text-dim)}.form-actions{flex-direction:row-reverse;justify-content:flex-start;align-items:center;gap:8px;margin-top:12px;display:flex}.input-with-button{gap:8px;display:flex}.input-with-button input{flex:1;min-width:0}button.secondary{background:var(--panel-2);border-color:var(--border-strong);color:var(--text)}.btn-link{cursor:pointer;background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-pill);color:#fff;box-shadow:var(--shadow-sm);padding:9px 18px;font-family:inherit;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .12s,box-shadow .12s;display:inline-block}.btn-link:hover{background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:var(--shadow-md)}.btn-link:active{box-shadow:var(--shadow-sm)}.table-scroll{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-sm);overflow:auto hidden}.pagination-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.pagination-info{color:var(--text-dim);font-size:13px}.pagination-controls{align-items:center;gap:8px;display:flex}.pagination-page{color:var(--text-dim);text-align:center;min-width:60px;font-size:13px}.customer-picker{position:relative}.customer-picker input{width:100%}.customer-picker-results{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);max-height:220px;box-shadow:var(--shadow-md);margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.customer-picker-results li{cursor:pointer;border-radius:6px;padding:8px 10px;font-size:13px}.customer-picker-results li:hover,.customer-picker-results li.active{background:var(--panel-2)}.customer-picker-results li.dim{color:var(--text-dim);cursor:default}.customer-picker-results li.dim:hover{background:0 0}.customer-picker-results li.make{color:var(--accent);font-weight:700}.customer-picker-results li.make .dim{font-weight:600}.chip-filter{white-space:nowrap;cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:12.5px;font-weight:700;display:inline-flex}.chip-filter:hover{border-color:var(--accent);color:var(--accent)}.chip-filter.on{background:var(--accent);border-color:var(--accent);color:#fff}.badge-untraded{background:var(--panel-2);color:var(--text-dim);border:1px solid var(--border);vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.dim{color:var(--text-dim);font-size:12px}.date-select{gap:4px;display:inline-flex}.date-select select{padding:9px 8px}.calendar-input{width:100%;display:block;position:relative}.calendar-input input{cursor:pointer;background:var(--panel);width:100%}.calendar-backdrop{z-index:29;background:0 0;position:fixed;inset:0}.calendar-popover{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);width:300px;box-shadow:var(--shadow-md);padding:14px;position:absolute;top:calc(100% + 4px);left:0}.calendar-popover .calendar-nav button{padding:4px 10px}.calendar-popover .calendar-table th{padding:4px;font-size:11px}.calendar-popover .calendar-cell{text-align:center;height:34px;padding:2px}.calendar-popover .cal-day{font-size:13px}.rte{border:1px solid var(--border-strong);background:var(--panel);border-radius:10px;overflow:hidden}.rte-toolbar{background:var(--panel-2);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:6px;display:flex}.rte-toolbar button{background:var(--panel);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;padding:4px 8px;font-size:12.5px;font-weight:500;line-height:1.4}.rte-toolbar button:hover{background:var(--panel-2)}.rte-toolbar button.active{background:var(--accent-weak);border-color:var(--accent);color:var(--accent)}.rte-toolbar button:disabled{opacity:.4;cursor:default}.rte-sep{background:var(--border-strong);width:1px;margin:2px 4px}.rte-body{min-height:120px;position:relative}.rte-placeholder{color:var(--text-dim);pointer-events:none;font-size:14px;position:absolute;top:10px;left:12px}.tiptap-content{min-height:120px;color:var(--text);outline:none;padding:9px 12px;font-size:14px}.tiptap-content p{margin:0 0 6px}.tiptap-content ul,.tiptap-content ol{margin:0 0 6px;padding-left:22px}.tiptap-content table{border-collapse:collapse;table-layout:fixed;width:100%;margin:8px 0}.tiptap-content table td,.tiptap-content table th{border:1px solid var(--border-strong);vertical-align:top;padding:6px 8px;position:relative}.tiptap-content table th{background:var(--panel-2);text-align:left;font-weight:600}.tiptap-content .selectedCell{background:var(--accent-weak)}.tiptap-content .column-resize-handle{background:var(--accent);pointer-events:none;width:4px;position:absolute;top:0;bottom:-2px;right:-2px}.tiptap-content img{border-radius:6px;max-width:100%;margin:4px 0}.rte-view table{border-collapse:collapse;margin:6px 0}.rte-view table td,.rte-view table th{border:1px solid var(--border-strong);padding:6px 8px}.rte-view table th{background:var(--panel-2);font-weight:600}.rte-view p{margin:0 0 6px}.rte-view ul,.rte-view ol{margin:0 0 6px;padding-left:22px}.rte-view img{border-radius:6px;max-width:100%;margin:4px 0}.search-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.search-bar-label{color:var(--text-dim);white-space:nowrap;font-size:13px}.search-bar>input:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a93a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4-4'/%3E%3C/svg%3E");background-position:11px;background-repeat:no-repeat;background-size:15px 15px;padding-left:34px}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filter-bar button{background:var(--panel);border:1px solid var(--border-strong);color:var(--text-dim);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.filter-bar button:hover{color:var(--text)}.filter-bar button.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-bar button.warn{background:var(--panel);border-color:var(--warn-edge);color:var(--critical)}.filter-bar button.warn.active{background:var(--critical);border-color:var(--critical);color:#fff}.inline-form{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.inline-form input{flex:1;min-width:100px}.attachment-dropzone{text-align:center;border:2px dashed var(--border);border-radius:var(--r-md);color:var(--text-dim);cursor:pointer;margin-top:12px;padding:18px;font-size:13px}.attachment-dropzone:hover{border-color:var(--border-strong);color:var(--text)}.attachment-dropzone.drag-over{border-color:var(--accent);color:var(--accent);background:var(--accent-weak)}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:11px 12px;font-size:13.5px}.data-table th{color:var(--text-dim);white-space:nowrap;background:var(--panel-2);font-size:12px;font-weight:600}.data-table th:first-child{border-top-left-radius:var(--r-sm)}.data-table th:last-child{border-top-right-radius:var(--r-sm)}.data-table tbody tr:hover td{background:color-mix(in srgb, var(--panel-2) 45%, transparent)}.hover-reveal{opacity:.2;transition:opacity .12s}tr:hover .hover-reveal,li:hover .hover-reveal{opacity:1}.data-table .col-date{white-space:nowrap;width:100px}.data-table .col-customer{white-space:nowrap;text-overflow:ellipsis;width:150px;max-width:150px;overflow:hidden}.data-table .col-check{width:36px}.data-table a{color:var(--accent);font-weight:500;text-decoration:none}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-actions .filename{color:var(--text-dim)}.row-actions button{padding:4px 10px;font-size:12px;font-weight:500}.excel-preview-box{width:min(1200px,100vw - 32px)}.excel-preview-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.excel-preview-header h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.excel-preview-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.excel-preview-tabs{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.excel-preview-tabs button{border:1px solid var(--border);background:var(--panel);color:var(--text-dim);cursor:pointer;border-radius:8px 8px 0 0;padding:6px 12px}.excel-preview-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.excel-preview-table{border:1px solid var(--border);background:#fff;border-radius:8px;max-height:65vh;overflow:auto}.excel-preview-table table{table-layout:fixed;border-collapse:collapse;color:#111;background:#fff;font:12px Malgun Gothic,맑은 고딕,Calibri,sans-serif}.excel-preview-table td{white-space:nowrap;vertical-align:middle;border:1px solid #d4d4d4;height:20px;padding:2px 4px;overflow:visible}.data-table .empty{text-align:center;color:var(--text-dim);padding:24px}.data-table .total-row td{background:var(--panel-2);border-top:2px solid var(--border-strong);font-weight:700}.status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.st-open{background:var(--accent-weak);color:var(--accent-strong)}.st-done{background:var(--good-weak);color:var(--good)}.st-money{background:var(--critical-weak);color:var(--critical)}.detail-grid{grid-template-columns:120px 1fr;gap:10px 16px;margin:0;display:grid}.detail-grid dt{color:var(--text-dim);font-size:13px}.detail-grid dd{margin:0;font-size:14px}.quick-links{flex-wrap:wrap;gap:12px;display:flex}.quick-links a{color:var(--accent);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 16px;font-size:14px;text-decoration:none}.stat-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px}.stat-tile-link{color:inherit;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:block}.stat-tile-link:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-tile .k-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-tile span.k-label{color:var(--text-dim);font-size:13px;font-weight:600;display:block}.stat-tile strong{letter-spacing:-.02em;font-size:24px;font-weight:800}.stat-tile .k-sub{color:var(--text-dim);align-items:center;gap:6px;margin-top:8px;font-size:12.5px;display:flex}.k-ic{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.k-ic svg{fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.ic-blue{background:var(--accent-weak)}.ic-blue svg{stroke:var(--accent)}.ic-green{background:var(--good-weak)}.ic-green svg{stroke:var(--good)}.report-chart{margin-bottom:20px;padding:20px 18px 10px}.report-chart-bars{align-items:flex-end;gap:6px;height:180px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;height:100%;display:flex}.bar-col .bar{border-radius:var(--r-sm) var(--r-sm) 2px 2px;background:var(--accent);width:100%;max-width:34px;min-height:3px}.bar-col .bar-label{color:var(--text-dim);white-space:nowrap;font-size:11px}.ic-red{background:var(--critical-weak)}.ic-red svg{stroke:var(--critical)}.ic-amber{background:var(--amber-weak)}.ic-amber svg{stroke:var(--amber)}.chip{border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.chip.up{background:var(--good-weak);color:var(--good)}.chip.down{background:var(--critical-weak);color:var(--critical)}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-nav button{background:var(--panel);border:1px solid var(--border-strong);color:var(--text-dim);border-radius:var(--r-sm);padding:6px 12px;font-size:13px}.calendar-table{border-collapse:collapse;table-layout:fixed;width:100%}.calendar-table th{color:var(--text-dim);padding:6px;font-size:12px;font-weight:600}.calendar-cell{vertical-align:top;border:1px solid var(--border);cursor:pointer;border-radius:4px;height:64px;padding:6px}.calendar-cell:hover{background:var(--panel-2)}.calendar-cell.empty-cell{cursor:default;background:var(--panel-2)}.calendar-cell.empty-cell:hover{background:var(--panel-2)}.calendar-cell.selected{outline:2px solid var(--accent);outline-offset:-2px}.calendar-table th:first-child,.calendar-table th:last-child,.calendar-table td:first-child .cal-day,.calendar-table td:last-child .cal-day{color:var(--critical)}.cal-day{font-size:13px;display:block}.cal-badge{background:var(--accent);color:#fff;border-radius:999px;margin-top:4px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.warn{color:var(--critical);font-weight:600}button.btn-outline-warn{background:var(--panel);border:1px solid var(--warn-edge);color:var(--critical);border-radius:999px;font-weight:600}button.btn-outline-warn:hover{background:var(--critical-weak);opacity:1}.btn-danger{background:var(--critical);border-color:var(--critical);color:#fff}.btn-danger:hover{opacity:.85}.clickable{cursor:pointer;color:var(--accent);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.badge{background:var(--accent-2);color:#fff;border-radius:999px;margin-left:8px;padding:2px 9px;font-size:11px;font-weight:600}.image-field-desc{color:var(--text-dim);margin:-8px 0 12px;font-size:13px}.image-field-row{align-items:center;gap:16px;display:flex}.image-preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);justify-content:center;align-items:center;width:220px;height:100px;display:flex;overflow:hidden}.image-preview img{object-fit:contain;max-width:100%;max-height:100%}.image-preview .empty{color:var(--text-dim);font-size:13px}.image-field-actions{flex-direction:column;gap:8px;display:flex}.error{color:var(--critical);font-size:13px}.loading{text-align:center;color:var(--text-dim);padding:40px}.login-page{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex;position:relative}.login-theme-bar{position:absolute;top:16px;right:16px}.login-card{background:var(--panel);border:1px solid var(--border);width:340px;box-shadow:var(--shadow-md);border-radius:20px;flex-direction:column;gap:12px;padding:36px;display:flex}.login-card h1{text-align:center;margin:0 0 8px;font-size:18px;font-weight:800}.login-logo{object-fit:contain;max-width:100%;max-height:100px;margin:0 auto 8px;display:block}.login-footer{text-align:center;color:#ffffffbf;text-shadow:0 1px 3px #0009;font-size:12.5px;position:absolute;bottom:18px;left:0;right:0}.login-footer b{color:#fff}.theme-switcher-wrap{align-items:center;gap:6px;display:inline-flex}.theme-switcher{background:var(--panel-2);color:var(--text);border-radius:var(--r-sm);padding:6px 10px;font-size:13px}.gs-trigger{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);width:min(420px,100%);color:var(--text-dim);cursor:pointer;text-align:left;align-items:center;gap:8px;margin:0;padding:8px 12px;font-size:13px;display:flex}.gs-trigger:hover{border-color:var(--border-strong);color:var(--text);background:var(--panel-2)}.gs-trigger svg{stroke:currentColor;flex-shrink:0;width:15px;height:15px}.gs-trigger kbd{background:var(--panel);border:1px solid var(--border);color:var(--text-dim);border-radius:5px;margin-left:auto;padding:1px 6px;font-family:inherit;font-size:11px}.gs-overlay{z-index:1000;background:#0a0f1e73;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:flex;position:fixed;inset:0}.gs-box{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);width:100%;max-width:640px;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.gs-input-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.gs-input-row input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.gs-icon{font-size:15px}.gs-kbd{color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:11px}.gs-results{max-height:55vh;padding:6px 8px 10px;overflow-y:auto}.gs-empty{text-align:center;color:var(--text-dim);padding:22px 16px;font-size:13.5px}.gs-group-label{color:var(--text-dim);letter-spacing:.04em;padding:10px 10px 4px;font-size:11.5px;font-weight:700}.gs-item{border-radius:var(--r-md);cursor:pointer;align-items:center;gap:10px;padding:9px 10px;display:flex}.gs-item.active{background:var(--accent-weak)}.gs-chip{border-radius:6px;flex-shrink:0;padding:3px 7px;font-size:11px;font-weight:700}.chip-customer{background:var(--accent-weak);color:var(--accent);border:1px solid var(--border)}.chip-job{background:var(--good-weak);color:var(--good)}.chip-ledger{background:var(--amber-weak);color:var(--amber)}.gs-text{min-width:0}.gs-title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.gs-desc{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.outstanding-detail-cell{background:var(--panel-2);padding:12px 14px}.outstanding-jobs .data-table{background:var(--panel);border-radius:var(--r-md)}.pay-form{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex-wrap:wrap;align-items:flex-end;gap:12px;margin:4px 0;padding:12px 14px;display:flex}.pay-form label{color:var(--text-dim);flex-direction:column;gap:5px;font-size:12.5px;display:flex}.pay-form label input,.pay-form label select{min-width:130px}.pay-form-actions{gap:8px;display:flex}.pay-history{width:100%;font-size:13px}.pay-history ul{margin:6px 0 0;padding-left:18px}.pay-history li{margin:3px 0}.link-button.danger{color:var(--critical);cursor:pointer;background:0 0;border:none;margin-left:8px;font-size:12px}.mail-layout{grid-template-columns:200px 380px 1fr;align-items:stretch;gap:16px;display:grid}.mail-layout>.card{flex-direction:column;min-height:640px;display:flex}.mail-view-card .empty{color:var(--text-dim);text-align:center;flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.mail-layout>.card{min-width:0}@media (width<=1300px){.mail-layout{grid-template-columns:180px 340px 1fr}}@media (width<=1000px){.mail-layout{grid-template-columns:1fr}}.mail-folder-col{gap:4px;padding:12px}.mail-folder-list{flex-direction:column;gap:2px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mail-folder-item{border-radius:var(--r-pill);width:100%;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;display:flex}.mail-folder-item svg{opacity:.8;flex:none;width:16px;height:16px}.mail-folder-item:hover{background:var(--surface-hover,#533afd0f);color:var(--text)}.mail-folder-item.active{background:var(--accent);color:#fff}.mail-folder-item.active svg{opacity:1}.mail-folder-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mail-folder-badge{border-radius:var(--r-pill);background:var(--critical);color:#fff;text-align:center;flex:none;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:18px}.mail-folder-item.active .mail-folder-badge{background:#ffffff47}.mail-folder-manage-btn{align-self:stretch;margin-top:auto}.mail-toolbar{gap:8px;margin-bottom:10px;display:flex}.mail-toolbar select{flex:1}.mail-list{margin:0;padding:0;list-style:none}.mail-item{border-radius:var(--r-md);cursor:pointer;border-bottom:1px solid var(--border);align-items:flex-start;gap:11px;padding:13px 14px;transition:background .1s;display:flex}.mail-item:hover{background:var(--panel-2)}.mail-item.selected,.mail-item.checked{background:var(--accent-weak)}.mail-item-checkbox{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:4px}.mail-item-body{flex:1;min-width:0}.mail-item-top{justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.mail-from{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.mail-date{color:var(--text-dim);white-space:nowrap;font-size:11.5px}.mail-subject{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.5;overflow:hidden}.mail-item.unread .mail-from,.mail-item.unread .mail-subject{color:var(--text);font-weight:700}.mail-search-bar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.mail-search-bar button,.search-bar button{white-space:nowrap;flex-shrink:0}.mail-search-bar input{flex:1;min-width:0}.mail-search-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a93a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4-4'/%3E%3C/svg%3E");background-position:11px;background-repeat:no-repeat;background-size:15px 15px;padding-left:34px}.mail-bulk-bar{background:var(--accent-weak);border:1px solid var(--accent);border-radius:var(--r-sm,8px);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:13px;display:flex}.mail-bulk-bar strong{color:var(--accent)}.mail-bulk-bar .spacer{flex:1}.mail-bulk-bar button,.mail-bulk-bar select{padding:5px 10px;font-size:12.5px}.mail-list-header{color:var(--text-dim);align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:flex}.mail-list-header .mail-item-checkbox{margin-top:0}.mail-paging{justify-content:center;align-items:center;gap:12px;margin-top:10px;font-size:13px;display:flex}.mail-view-subject{margin:0 0 10px;font-size:19px;line-height:1.4}.mail-view-meta{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;margin-bottom:14px;padding-bottom:14px;font-size:13px;display:flex}.mail-view-meta .dim,.dim{color:var(--text-dim)}.mail-view-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.mail-attachments{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.mail-body-frame{border:1px solid var(--border);border-radius:var(--r-md);background:#fff;width:100%;min-height:55vh}.mail-body-text{white-space:pre-wrap;background:var(--panel-2);border-radius:var(--r-md);margin:0;padding:18px;font-family:inherit;font-size:14.5px;line-height:1.75}.mail-compose-overlay{align-items:center;padding:16px}.mail-compose{width:95vw;max-width:95vw;height:95vh;max-height:95vh}.mail-compose-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.mail-compose-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.mail-compose-body label{color:var(--text-dim);flex-direction:column;gap:5px;font-size:13px;display:flex}.mail-compose-content-label{flex:auto;min-height:300px}.mail-compose-content-label .rte{flex-direction:column;flex:auto;min-height:300px;display:flex}.mail-compose-content-label .rte-body{flex:1;overflow-y:auto}.mail-compose-content-label .tiptap-content{height:100%}.secondary-link{background:var(--panel);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.secondary-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-weak);filter:none;box-shadow:var(--shadow-sm)}.btn-link.small,button.small,select.small{padding:4px 10px;font-size:12px}.divider-v{background:var(--border-strong);width:1px;height:22px;margin:0 2px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.7s linear infinite spin}.mail-filter-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.mail-filter-chips .chip{border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text-dim);border-radius:var(--r-pill);cursor:pointer;padding:5px 13px;font-size:12.5px;font-weight:600;transition:background .12s,color .12s,box-shadow .12s}.mail-filter-chips .chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.mail-filter-chips .chip .cnt{opacity:.72;margin-left:3px;font-weight:500}.mail-task-badge{border-radius:8px;flex-shrink:0;padding:1px 7px;font-size:10.5px}.mail-task-badge.st-todo,.status-select.st-todo{color:#d33;background:#ef444426}.mail-task-badge.st-doing,.status-select.st-doing{color:#b06a00;background:#f59e0b2e}.mail-task-badge.st-done,.status-select.st-done{color:#0a8f5f;background:#10b98126}.mail-task-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.mail-task-row select{padding:5px 8px;font-size:12.5px}.mail-task-row .status-select{border:none;border-radius:10px}.mail-customer-card{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--r-md);align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.mail-customer-card .avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.mail-customer-card .info{flex:1;min-width:0;font-size:13px}.mail-customer-card .meta{color:var(--text-dim);margin-top:2px;font-size:12px}.mail-customer-card .actions{flex-shrink:0;gap:6px;display:flex}.badge.blue{background:var(--accent-weak);color:var(--accent);margin-left:6px}.mail-attachment-item{gap:4px;display:inline-flex}.mail-preview-modal{width:min(90vw,900px);max-height:90vh;overflow:auto}.compose-toolbar{align-items:center;gap:10px;display:flex}.send-split{display:flex}.send-split button:first-child{border-radius:var(--r-sm,8px) 0 0 var(--r-sm,8px)}.send-split button:last-child{border-radius:0 var(--r-sm,8px) var(--r-sm,8px) 0;border-left:1px solid #ffffff4d;padding:8px 10px}.schedule-pop{z-index:20;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);width:260px;margin-top:10px;padding:12px;font-size:13px;box-shadow:0 8px 24px #00000040}.schedule-pop .opt{cursor:pointer;border-radius:6px;padding:7px 8px}.schedule-pop .opt:hover{background:var(--panel-2)}.schedule-pop .custom{border-top:1px solid var(--border);gap:6px;margin-top:8px;padding-top:10px;display:flex}.schedule-pop .custom input{min-width:0}.mail-layout{height:calc(100dvh - 190px);min-height:480px}.mail-layout>.card{min-height:0;margin-bottom:0;position:relative;overflow:hidden}.mail-folder-list{min-height:0;overflow-y:auto}.mail-list-card .mail-list{flex:1;min-height:0;margin:0 -20px;padding:0 20px;overflow-y:auto}.mail-list.is-loading{opacity:.55;pointer-events:none;transition:opacity .15s}.mail-paging{flex:none}.mail-view{flex-direction:column;flex:1;min-height:0;transition:opacity .15s;display:flex}.mail-view.is-loading{opacity:.6}.mail-view-head{flex:none}.mail-view-body{flex:1;min-height:0;margin:0 -20px -20px;padding:0 20px 20px;overflow-y:auto}.mail-body-frame{min-height:160px;display:block}.mail-back-btn{margin-bottom:10px;display:none}.mail-load-bar{background:var(--accent);opacity:0;z-index:2;border-radius:0 3px 3px 0;width:0;height:3px;position:absolute;top:0;left:0}.mail-load-bar.run{opacity:1;animation:1.2s ease-out forwards mail-load}@keyframes mail-load{0%{width:0}40%{width:60%}to{width:90%}}.mail-view-actions .spacer{flex:1}.mail-del-btn:hover{color:var(--danger,#e5484d)}.mail-more-wrap{position:relative}.mail-more-menu{z-index:30;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);flex-direction:column;min-width:210px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000002e}.mail-more-menu button{all:unset;box-sizing:border-box;color:var(--text);cursor:pointer;border-radius:6px;padding:8px 10px;font-size:13px}.mail-more-menu button:hover{background:var(--panel-2)}.mail-more-menu button.sub{color:var(--text-dim);padding-left:24px}.mail-more-menu button.danger{color:var(--danger,#e5484d)}.mail-more-menu hr{border:0;border-top:1px solid var(--border);width:100%;margin:4px 0}.mail-compose-dock{z-index:900;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;flex-direction:column;width:600px;max-width:calc(100vw - 24px);height:min(680px,88vh);display:flex;position:fixed;bottom:0;right:24px;overflow:hidden;box-shadow:0 -8px 40px #0a0f1e47}.mail-compose-dock.size-min{width:320px;height:46px}.mail-compose-dock.size-max{border-radius:var(--r-lg);z-index:1001;width:min(1100px,94vw);height:90vh;bottom:4vh;right:50%;transform:translate(50%)}.mail-compose-backdrop{z-index:1000;background:#0a0f1e59;position:fixed;inset:0}.mail-compose-dock-head{background:var(--text);height:46px;color:var(--panel);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:2px;padding:0 8px 0 16px;display:flex}.mail-compose-dock-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.mail-compose-dock-head button{all:unset;text-align:center;cursor:pointer;opacity:.8;border-radius:8px;width:30px;height:30px;font-size:14px;line-height:30px}.mail-compose-dock-head button:hover{opacity:1;background:#ffffff24}.mail-compose-dock.size-min .mail-compose-body{display:none}.mail-compose-dock .mail-compose-content-label,.mail-compose-dock .mail-compose-content-label .rte{min-height:220px}.mail-autosave{font-size:12px}.mail-compose-dock .mail-compose-body>div:has(>.send-split){z-index:2;background:var(--panel);border-top:1px solid var(--border);margin:0 -16px -16px;padding:12px 16px;position:sticky;bottom:-16px}.mail-confirm-overlay{z-index:1100;align-items:center}.mail-confirm-box{gap:8px;max-width:420px;padding:20px}.mail-confirm-box p{margin:0 0 8px;font-size:13px}.mail-confirm-actions{align-items:center;gap:8px;display:flex}.mail-confirm-actions .spacer{flex:1}.mail-toast{z-index:1200;color:#fff;background:#1d2433;border-radius:12px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:11px 16px;font-size:13.5px;animation:.18s ease-out mail-toast-in;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000047}.mail-toast button{all:unset;cursor:pointer;color:#a5b4fc;white-space:nowrap;font-weight:700}.mail-toast button.dismiss{color:#aab3c8;font-weight:500}@keyframes mail-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (width<=1000px){.mail-layout{height:auto;min-height:0}.mail-layout>.card{overflow:visible}.mail-folder-list{flex-direction:row;overflow-x:auto}.mail-folder-list .mail-folder-item{white-space:nowrap}.mail-folder-manage-btn{display:none}.mail-list-card .mail-list,.mail-view-body{overflow:visible}.mail-layout.show-detail .mail-folder-col,.mail-layout.show-detail .mail-list-card,.mail-layout:not(.show-detail) .mail-view-card{display:none}.mail-back-btn{display:inline-flex}.mail-compose-dock,.mail-compose-dock.size-max{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:100%;height:92dvh;bottom:0;left:0;right:0;transform:none}.mail-compose-dock.size-min{height:46px}}.linked-mail{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:10px;margin-bottom:8px;padding:8px 10px;font-size:13px;display:flex}.linked-mail .icon{font-size:16px}.linked-mail .meta{color:var(--text-dim);font-size:12px}.scheduled-list{flex-direction:column;gap:8px;display:flex}.pending-send{border-radius:var(--r-md);background:#f59e0b14;border:1px solid #f59e0b4d;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.mail-address-input{position:relative}.mail-address-chips{border:1px solid var(--border-strong);border-radius:var(--r-sm,8px);background:var(--panel);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:20px;padding:6px 8px;display:flex}.mail-address-chips:focus-within{border-color:var(--accent)}.mail-address-chip{background:var(--accent-weak);color:var(--accent);white-space:nowrap;cursor:grab;border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:12.5px;display:inline-flex}.mail-address-chip:active{cursor:grabbing}.mail-address-chip-text{cursor:pointer}.mail-address-chip-text:hover{text-decoration:underline}.mail-address-chip button{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:3px 5px;font-size:14px;line-height:1}.mail-address-chip button:hover{background:#0000001f}.mail-address-chips.drag-over{border-color:var(--accent);background:var(--accent-weak)}.mail-address-chips input{min-width:80px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:4px 2px;font-size:13px}.mail-address-suggestions{z-index:20;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);max-height:220px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.mail-address-suggestions li{border-radius:var(--r-sm,6px);cursor:pointer;align-items:baseline;gap:6px;padding:7px 9px;font-size:13px;display:flex}.mail-address-suggestions li:hover{background:var(--accent-weak)}.mail-address-suggestions li.active{background:var(--accent-weak);outline:1px solid var(--accent);outline-offset:-1px}.topbar{z-index:20;background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:58px;padding:8px 24px;display:flex;position:sticky;top:0}.topbar .spacer{flex:1}.menu-btn{border-radius:var(--r-md);border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0}.menu-btn svg{width:20px;height:20px}.btn-cta{border-radius:var(--r-pill);background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);align-items:center;gap:7px;padding:8px 16px;font-size:13.5px;font-weight:700;text-decoration:none;transition:background .12s,box-shadow .12s;display:inline-flex}.btn-cta:hover{background:var(--accent-strong);box-shadow:var(--shadow-md)}.btn-cta svg{stroke:currentColor;width:16px;height:16px}.topbar-icon-btn{border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--text-dim);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.topbar-icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.topbar-icon-btn svg{stroke:currentColor;width:18px;height:18px}.topbar-badge{background:var(--critical);color:#fff;text-align:center;border:2px solid var(--panel);border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:18px;position:absolute;top:-5px;right:-6px}.user-menu{position:relative}.user-menu-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;box-shadow:none;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-size:13px;font-weight:600;display:inline-flex}.user-menu-btn:hover{border-color:var(--border-strong);background:var(--panel-2)}.user-menu-btn .avatar{width:30px;height:30px;font-size:12px}.user-menu-pop{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:230px;box-shadow:var(--shadow-md);z-index:40;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.user-menu-head{border-bottom:1px solid var(--border);margin-bottom:4px;padding:8px 10px 10px}.user-menu-head strong{font-size:14px;display:block}.user-menu-head small{color:var(--text-dim);font-size:12px}.user-menu-item{text-align:left;border-radius:var(--r-md);width:100%;color:var(--text);cursor:pointer;box-shadow:none;background:0 0;border:none;padding:8px 10px;font-size:13.5px;font-weight:500;text-decoration:none;display:block}.user-menu-item:hover{background:var(--panel-2)}.user-menu-item.danger{color:var(--critical)}.user-menu-theme{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.seg{border:1px solid var(--border);background:var(--panel-2);border-radius:999px;padding:2px;display:inline-flex}.seg button{color:var(--text-dim);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.seg button.on{background:var(--accent);color:#fff}.quick-actions{grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:20px;display:grid}.qa{border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 10px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.qa svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.qa:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.qa-primary{background:var(--accent);border-color:var(--accent);color:#fff}.qa-primary svg{stroke:#fff}.qa-primary:hover{background:var(--accent-strong)}.settings-search{margin-bottom:22px;position:relative}.settings-search svg{width:17px;height:17px;color:var(--text-dim);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.settings-search input{border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);padding:12px 40px}.settings-search-clear{box-shadow:none;color:var(--text-dim);background:0 0;border:none;padding:6px 10px;font-size:12px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.settings-search-clear:hover{color:var(--text);box-shadow:none;background:0 0}.settings-empty{padding:28px}.settings-section{margin-bottom:26px}.settings-section h2{color:var(--text-dim);letter-spacing:.06em;margin:0 0 10px 2px;font-size:13px;font-weight:700}.settings-list{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.settings-row{color:var(--text);border-top:1px solid var(--border);align-items:center;gap:14px;padding:14px 18px;text-decoration:none;display:flex}.settings-row:first-child{border-top:none}.settings-row:hover{background:var(--accent-weak)}.settings-row-ic{background:var(--accent-weak);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.settings-row-ic svg{width:19px;height:19px;stroke:var(--accent);fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.settings-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-row-body strong{font-size:14.5px}.settings-row-body small{color:var(--text-dim);font-size:12.5px;line-height:1.4}.settings-row-chev{width:17px;height:17px;color:var(--text-dim);flex-shrink:0}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.settings-card{border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);align-items:center;gap:14px;padding:16px;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.settings-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.settings-card-ic{background:var(--accent-weak);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.settings-card-ic svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.settings-card-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.settings-card-body strong{font-size:14.5px}.settings-card-body small{color:var(--text-dim);font-size:12.5px;line-height:1.4}.settings-card-chev{width:18px;height:18px;color:var(--text-dim);flex-shrink:0}.page-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.toolbar .search-bar{flex:1;min-width:260px;margin:0}.toolbar .search-bar>input:first-child{flex:1;min-width:200px}.toolbar .filter-bar{margin:0}.toolbar-field{color:var(--text-dim);white-space:nowrap;flex-direction:row;align-items:center;gap:8px;font-size:13px;display:inline-flex}.list-card{padding:0;overflow:hidden}.list-card .table-scroll{box-shadow:none;border:none;border-radius:0;margin:0}.list-card .pagination-bar{border-top:1px solid var(--border);background:var(--panel-2);margin:0;padding:12px 16px}.data-table.row-nav tbody tr{cursor:pointer}.data-table.row-nav tbody tr.checked td{background:var(--accent-weak)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .col-go{text-align:right;width:64px}.row-go{color:var(--text-dim);opacity:.55;white-space:nowrap;font-size:12.5px;font-weight:600}tr:hover .row-go{opacity:1;color:var(--accent)}.data-table .col-phone{white-space:nowrap;font-variant-numeric:tabular-nums}.data-table .col-addr{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.data-table .col-memo{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.data-table .col-symptom{min-width:220px}.job-symptom{font-weight:500}.dim{color:var(--text-dim)}.cust-cell{align-items:center;gap:10px;min-width:0;display:flex}.cust-avatar{background:var(--accent-weak);width:32px;height:32px;color:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.cust-avatar.biz{background:var(--amber-weak);color:var(--amber);border-radius:9px}.cust-cell-body{flex-direction:column;gap:1px;min-width:0;display:flex}.cust-cell-body a{font-weight:600}.cust-cell-body small{color:var(--text-dim);font-size:12px}.bulk-bar{background:var(--accent-weak);border:1px solid var(--accent);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:13.5px;display:flex}.bulk-bar .spacer{flex:1}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-head strong{font-size:16px}.modal-form{padding:22px 24px}@media (width<=900px){.toolbar{padding:10px}.data-table .col-addr,.data-table .col-memo,.data-table .col-go{display:none}}.detail-head{align-items:center;gap:14px;min-width:0;display:flex}.detail-avatar{background:var(--accent-weak);width:48px;height:48px;color:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;font-weight:800;display:flex}.detail-avatar.biz{background:var(--amber-weak);color:var(--amber);border-radius:14px}.detail-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:18px;display:grid}.detail-side,.detail-main{min-width:0}.detail-two{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}.detail-two>*{min-width:0}.stat-row-3{grid-template-columns:repeat(3,1fr)}.list-card-head{margin:0;padding:16px 18px 12px}.list-card-head h2{margin:0}.section-header h2 .count,h2 .count{background:var(--accent-weak);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.file-cell{align-items:center;gap:8px;min-width:0;display:inline-flex}.file-ic{background:var(--accent-weak);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.file-ic svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.row-actions-cell{white-space:nowrap;text-align:right}.row-actions-cell button+button{margin-left:6px}.contact-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.contact-list li{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);align-items:center;gap:10px;padding:8px 10px;display:flex}.contact-list li.empty{color:var(--text-dim);justify-content:center;font-size:13px}.contact-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.contact-body small{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.toolbar-count{color:var(--text-dim);white-space:nowrap;margin-left:auto;font-size:13px}.st-expense{background:var(--amber-weak);color:var(--amber)}.st-neutral{background:var(--panel-2);color:var(--text-dim);border:1px solid var(--border)}.data-table tbody tr.no-nav{cursor:default}.data-table tbody tr.no-nav:hover td{background:var(--panel-2)}.step-no{background:var(--accent);color:#fff;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;margin-right:8px;font-size:12px;font-weight:800;display:inline-flex}.section-step-label{align-items:center;margin:4px 0 10px;font-size:15.5px;font-weight:700;display:flex}.job-form{padding-bottom:80px}.form-sticky-actions{z-index:10;background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;padding:12px 18px;display:flex;position:sticky;bottom:0}.form-sticky-actions .spacer{flex:1}.linked-mail{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.linked-mail:first-of-type{border-top:none}.linked-mail .meta{color:var(--text-dim);margin-top:2px;font-size:12.5px}@media (width<=1100px){.detail-layout{grid-template-columns:1fr}}@media (width<=900px){.detail-two{grid-template-columns:1fr}.stat-row-3{grid-template-columns:1fr 1fr}.detail-avatar{width:40px;height:40px;font-size:16px}}.form-ok{color:var(--good);margin:8px 0 0;font-size:13px}.form-grid-1{grid-template-columns:1fr}.form-grid-2{grid-template-columns:1fr 1fr}.cell-input{width:100%;min-width:120px;padding:6px 9px;font-size:13px}.cell-input.num{text-align:right}.code-chip{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:2px 7px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.5px}.toggle-pill{background:var(--panel-2);border:1px solid var(--border-strong);color:var(--text-dim);box-shadow:none;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.toggle-pill.on{background:var(--good-weak);border-color:var(--good);color:var(--good)}.toggle-pill:hover{filter:none;box-shadow:var(--shadow-sm)}.cust-avatar.online{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--good)}.settings-layout{grid-template-columns:minmax(340px,440px) minmax(0,1fr)}.image-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.image-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);padding:14px}.image-card strong{margin-bottom:4px;display:block}.image-card .image-field-desc{margin:0 0 10px}.image-card .image-preview{width:100%;max-width:220px;height:90px}.audit-list{margin:0;padding:0 6px;list-style:none}.audit-list li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.audit-list li:last-child{border-bottom:none}.audit-list li.empty{color:var(--text-dim);justify-content:center;padding:24px}.audit-time{color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;width:150px}.audit-actor{flex-shrink:0;font-weight:600}.audit-target{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.danger-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:18px;display:grid}.card-danger{border-color:color-mix(in srgb, var(--critical) 45%, var(--border))}.card-danger h2{color:var(--critical)}.hero-card{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:640px;padding:40px 28px;display:flex}.hero-ic{background:var(--accent-weak);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:6px;display:flex}.hero-ic svg{width:30px;height:30px;stroke:var(--accent);fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.hero-card h2{margin:0;font-size:18px}.hero-card .hint{max-width:460px;margin:0 0 8px;font-size:13.5px;line-height:1.55}.hero-btn{cursor:pointer;border:none;padding:12px 28px;font-size:15px}.rule-form{align-items:center}.rule-form input{flex:1;min-width:140px}.login-card{gap:14px;width:380px;padding:36px 34px 30px}.login-brand{flex-direction:column;align-items:center;gap:8px;margin-bottom:6px;display:flex}.login-brand .logo-box{background:var(--accent);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:800;display:flex}.login-brand h1{text-align:center;letter-spacing:-.02em;margin:2px 0 0;font-size:20px;font-weight:800}.login-sub{color:var(--text-dim);text-align:center;margin:0;font-size:13.5px}.login-card label{color:var(--text-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.login-card input{padding:11px 13px;font-size:14.5px}.login-submit{width:100%;margin-top:4px;padding:12px;font-size:15px}.login-card label.login-remember{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:8px;margin-top:2px}.login-card label.login-remember input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0;padding:0}@media (width<=1100px){.settings-layout{grid-template-columns:1fr}}@media (width<=900px){.form-grid-2{grid-template-columns:1fr}.audit-time{width:auto}.audit-list li{flex-wrap:wrap}}.data-table .row-actions-cell{width:1%}.row-actions-cell button{white-space:nowrap}.data-table .col-customer-wide{width:34%}.app-shell[style*=background-image] .page-header h1,.app-shell[style*=background-image] .page-sub,.app-shell[style*=background-image] .settings-section h2,.app-shell[style*=background-image] .section-step-label{text-shadow:0 1px 4px #0000008c}.app-shell[style*=background-image] .page-sub,.app-shell[style*=background-image] .settings-section h2{color:#fff}.app-shell[style*=background-image] .page-sub .back-link,.app-shell[style*=background-image] .page-header h1 .back-link{color:#cfe3ff}.lic-banner{border-radius:var(--r-md);border:1px solid;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.lic-banner b{font-weight:700}.lic-banner .lic-date{opacity:.8;font-variant-numeric:tabular-nums;margin-left:auto}.lic-banner a{font-weight:600;text-decoration:underline}.lic-warn{color:#7c3a09;background:#fdf3e1;border-color:#f3dfb8}.lic-stop{color:#8a1d1d;background:#fdecec;border-color:#f3c2c2}.lic-modal{width:460px;max-width:calc(100vw - 32px);margin-bottom:0}.lic-modal h2{margin-bottom:8px}.lic-modal p{font-size:13.5px;line-height:1.6}.rs-guide{max-width:640px;margin-top:14px;padding:0;overflow:hidden}.rs-guide-head{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:15px 22px;font-family:inherit;font-size:14px;font-weight:800;display:flex}.rs-guide-head:hover{background:var(--panel-2)}.rs-guide-toggle{color:var(--accent);font-size:12.5px;font-weight:700}.rs-guide-body{border-top:1px solid var(--border);padding:16px 22px 20px}.rs-steps{gap:10px;margin:0;padding-left:20px;display:grid}.rs-steps li{color:var(--text-dim);font-size:13.5px;line-height:1.65}.rs-steps b{color:var(--text);font-weight:700}.rs-addr{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);vertical-align:1px;align-items:center;gap:8px;margin-left:6px;padding:2px 6px 2px 9px;display:inline-flex}.rs-addr code{color:var(--text);font-family:inherit;font-size:12.8px;font-weight:700}.rs-addr button{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:12px;font-weight:700}.rs-addr button:hover{color:var(--accent-strong)}.rs-copied{color:var(--good);margin-top:4px;font-size:12px;font-style:normal;display:block}.rs-tip{border-radius:var(--r-md);background:var(--amber-weak);border:1px solid var(--border);color:var(--amber);margin-top:14px;padding:11px 14px;font-size:12.8px;line-height:1.6}.rs-more{border-top:1px solid var(--border);color:var(--text-dim);margin-top:14px;padding-top:13px;font-size:13px}.rs-more a{color:var(--accent);font-weight:700;text-decoration:none}.rs-more a:hover{text-decoration:underline}@media (width<=720px){.rs-guide-head{padding:14px 16px}.rs-guide-body{padding:14px 16px 18px}.rs-addr{margin:6px 0 0;display:flex}}.user-menu-theme small{color:var(--text-dim);font-size:11.5px;font-weight:500;display:block}.theme-dots{grid-template-columns:repeat(3,1fr);gap:4px;padding:2px 8px 10px;display:grid}.theme-dot{cursor:pointer;border-radius:var(--r-md);background:0 0;border:none;flex-direction:column;align-items:center;gap:5px;padding:7px 2px;font-family:inherit;display:flex}.theme-dot:hover{background:var(--panel-2)}.theme-dot i{border:1px solid var(--border-strong);width:24px;height:24px;box-shadow:var(--shadow-sm);border-radius:999px;display:block}.theme-dot span{color:var(--text-dim);font-size:11.5px;font-weight:700}.theme-dot.on{background:var(--accent-weak)}.theme-dot.on i{outline:2px solid var(--accent);outline-offset:2px}.theme-dot.on span{color:var(--accent-strong)}.rcpt-items{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.rcpt-items .rcpt-scroll{overflow-x:auto}.rcpt-items .rcpt-scroll>table{min-width:620px}.rcpt-items-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;font-size:13.5px;display:flex}.rcpt-items-head .dim{color:var(--text-dim);font-size:12.5px}.mini-table{border-collapse:collapse;width:100%;font-size:12.8px}.mini-table th{text-align:left;color:var(--text-dim);background:var(--panel-2);border-bottom:1px solid var(--border);padding:6px 8px;font-size:11.8px;font-weight:700}.mini-table th.num,.mini-table td.num{text-align:right;font-variant-numeric:tabular-nums}.mini-table td{border-bottom:1px solid var(--border);padding:7px 8px}.mini-table tr:last-child td{border-bottom:none}.mini-table td.dim{color:var(--text-dim)}.rcpt-edit td{padding:4px 5px}.rcpt-edit input{border-radius:var(--r-sm);width:100%;color:var(--text);background:0 0;border:1px solid #0000;padding:5px 7px;font-family:inherit;font-size:12.8px}.rcpt-edit input:hover{background:var(--panel-2)}.rcpt-edit input:focus{background:var(--panel);border-color:var(--accent);outline:none}.rcpt-edit input.num{text-align:right;font-variant-numeric:tabular-nums}.rcpt-edit td:nth-child(2){width:68px}.rcpt-edit td:nth-child(3),.rcpt-edit td:nth-child(4){width:108px}.rcpt-edit td:nth-child(5){width:110px}.rcpt-edit td:last-child{text-align:right;width:52px}.rcpt-items-foot{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.rcpt-items-foot .hint{margin:0}.col-job{max-width:260px}.col-job a,.col-job span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.col-job a{color:var(--accent);text-decoration:none}.col-job a:hover{text-decoration:underline}@media (width<=900px){.sidebar{width:min(280px,84vw);height:100vh;box-shadow:none;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.sidebar.open{box-shadow:var(--shadow-md);transform:translate(0)}.drawer-backdrop{z-index:25;opacity:0;pointer-events:none;background:#0d253d73;transition:opacity .2s;display:block;position:fixed;inset:0}.drawer-backdrop.show{opacity:1;pointer-events:auto}.menu-btn{display:inline-flex}.topbar{gap:8px;padding:8px 12px}.gs-trigger span,.gs-trigger kbd{display:none}.gs-trigger{width:auto;padding:8px 10px}.btn-cta svg+span{display:none}.btn-cta{padding:8px 10px}.user-menu-name{display:none}.content{padding:14px}.quick-actions{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:90px 1fr}.page-header{flex-wrap:wrap;gap:8px}.search-bar{flex-wrap:wrap}.search-bar input{flex:1;min-width:140px}.pagination-bar{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:space-between}.calendar-cell{height:48px;padding:4px}.cal-badge{padding:0 4px;font-size:10px}.login-card{width:90vw;max-width:340px}}.qp-sheet{color:#1a2331;word-break:keep-all;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:12mm;font-family:Malgun Gothic,Segoe UI,sans-serif;position:relative;box-shadow:0 8px 30px #10182824}.qp-layer{z-index:10;pointer-events:none;position:absolute;inset:0}.qp-layer .qp-fw{pointer-events:auto}.qp-items{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.qp-items th{color:#fff;letter-spacing:.1em;text-align:center;background:#1f4e79;border:1px solid #1f4e79;padding:6px 4px;font-size:11.5px;font-weight:700}.qp-items td{vertical-align:top;background:#fff;border:1px solid #9fb2ca;padding:6px;position:relative}.qp-items td.qp-name{background:#fcfdff}.qp-items td.ctr{text-align:center}.qp-items td.num{text-align:right;font-variant-numeric:tabular-nums}.qp-items tr.active td{background:#f2f7ff}.qp-items tr.active td.qp-name{background:#e8f1ff}.qp-rowh{width:0;height:28mm}.qp-fw{z-index:6;cursor:move;-webkit-user-select:none;user-select:none;position:absolute}.qp-fw img{pointer-events:none;width:100%;height:auto;display:block}.qp-fw .qp-tx{white-space:pre-wrap;color:#243246;outline:none;min-height:1em;padding:1px 3px;font-size:12px;line-height:1.6}.qp-fw.ttl .qp-tx{color:#1a2331;font-weight:800}.qp-fw.lbl .qp-tx{color:#1f2d3f;text-align:center;font-weight:800}.qp-fw:hover{outline-offset:2px;outline:1.5px dashed #2563eb}.qp-fw.sel{outline-offset:2px;outline:2px solid #2563eb}.qp-fw.editing{outline-offset:2px;cursor:text;background:#f6fff9;outline:2px solid #16a34a}.qp-fw .qp-del,.qp-fw .qp-handle{display:none}.qp-fw.sel .qp-handle{cursor:nwse-resize;background:#fff;border:2px solid #2563eb;border-radius:3px;width:13px;height:13px;display:block;position:absolute;bottom:-7px;right:-7px}.qp-fw.sel .qp-del{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:50%;place-items:center;width:19px;height:19px;padding:0;font-size:12px;line-height:1;display:grid;position:absolute;top:-9px;right:-9px}.qp-ctx{z-index:500;background:#fff;border:1px solid #d0d7e2;border-radius:8px;min-width:126px;padding:4px;position:fixed;box-shadow:0 10px 24px #10182829}.qp-ctx button{text-align:left;width:100%;box-shadow:none;color:#31415a;background:0 0;border:none;border-radius:5px;margin:0;padding:5px 9px;font-size:12px;font-weight:500;line-height:1.5;transition:none;display:block}.qp-ctx button:hover{color:#31415a;box-shadow:none;background:#f1f6ff;border-color:#0000}.qp-ctx button:active{box-shadow:none;transform:none}.qp-ctx button.danger{color:#dc2626}.qp-ctx button.danger:hover{color:#dc2626;background:#fef2f2}.qp-ctx hr{border:none;border-top:1px solid #eef1f5;margin:4px 6px}.qp-toolbar{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;display:flex}.qp-toolbar .qp-vat{color:#31415a;border-left:1px solid #e3e8ef;align-items:center;gap:6px;margin-left:2px;padding-left:8px;font-size:13px;font-weight:700;display:flex}.qp-toolbar .qp-vat select{font:inherit;background:#fff;border:1px solid #d0d7e2;border-radius:8px;padding:6px 8px;font-size:13px;font-weight:700}.qp-stage{background:#eef1f5;border:1px solid #e3e8ef;border-radius:10px;max-height:60vh;padding:12mm;overflow:auto}.qp-screen{z-index:300;background:#eef1f5;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.qp-form{flex-direction:column;height:100%;min-height:0;display:flex}.qp-bar{background:#fff;border-bottom:1px solid #d6dde7;align-items:center;gap:8px;padding:7px 16px;display:flex;box-shadow:0 2px 10px #1018280f}.qp-bar .sp{flex:1}.qp-bar button{line-height:16px}.qp-bar strong{font-size:15px}.qp-fields{background:#fff;border-bottom:1px solid #e3e8ef;padding:0 16px 10px}.qp-fields>summary{cursor:pointer;color:#31415a;padding:10px 0;font-size:13px;font-weight:700}.qp-fields .form-grid{margin:0}.qp-screen .rcpt-items{background:#eef1f5;flex-direction:column;flex:1;min-height:0;padding:0 16px 12px;display:flex}.qp-screen .rcpt-items-head{align-items:center;gap:10px;padding:10px 0 2px;display:flex}.qp-screen .qp-stage{background:#e7ebf1;flex:1;min-height:0;max-height:none;padding:16px 16px 40px;overflow:auto}.qp-screen .hint{padding-top:8px}.qp-title{text-align:center;letter-spacing:.5em;text-indent:.5em;color:#17375e;padding-bottom:7px;font-size:30px;font-weight:800}.qp-ribbon{height:5px;margin-bottom:4mm;display:flex}.qp-ribbon i{flex:1}.qp-ribbon i:first-child{background:#17375e}.qp-ribbon i:nth-child(2){background:#f0b323;flex:0 0 34mm}.qp-ribbon i:nth-child(3){background:#2e74b5;flex:0 0 18mm}.qp-ribbon i:nth-child(4){background:#c0392b;flex:0 0 10mm}.qp-head{align-items:flex-start;gap:6mm;margin-bottom:7mm;display:flex}.qp-head dl{flex:1;grid-template-columns:30mm 1fr;align-items:baseline;row-gap:3.4mm;margin:0;display:grid}.qp-head dt{color:#17375e;letter-spacing:.34em;white-space:nowrap;font-size:13px;font-weight:800}.qp-head dd{border-bottom:1px solid #c7d0dc;margin:0;padding-bottom:2px;font-size:13px;font-weight:600}.qp-head .dim{color:#667;font-weight:600}.qp-sup{width:72mm}.qp-brand{color:#17375e;letter-spacing:.2em;justify-content:center;align-items:center;height:13mm;margin-bottom:2mm;font-size:15px;font-weight:800;display:flex}.qp-brand img{object-fit:contain;max-width:70mm;max-height:13mm}.qp-sup table{border-collapse:collapse;border:1.4px solid #17375e;width:100%;font-size:11px}.qp-sup caption{letter-spacing:.5em;text-indent:.5em;color:#17375e;background:#eef3fa;border-bottom:1.4px solid #17375e;padding:4px;font-size:11px;font-weight:800}.qp-sup th{color:#17375e;letter-spacing:.2em;text-align:center;background:#fafcff;border:1px solid #9fb2ca;width:18mm;padding:3px 5px;font-size:10.5px;font-weight:700}.qp-sup td{border:1px solid #9fb2ca;padding:3px 6px;font-weight:600}.qp-sealbox{position:relative}.qp-seal{object-fit:contain;opacity:.92;width:13mm;height:13mm;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.qp-note td{text-align:center;border:1px solid #9fb2ca;padding:8px;font-weight:700}.qp-total{border-collapse:collapse;width:100%;margin-top:0}.qp-total th{color:#fff;letter-spacing:.5em;text-indent:.5em;background:#17375e;border:1px solid #17375e;width:50%;padding:11px;font-size:14px}.qp-total td{text-align:right;color:#17375e;background:#f7fafd;border:1px solid #17375e;padding:11px;font-size:17px;font-weight:800}.qp-fw .qp-tx{min-height:4mm}.qp-fw .qp-tx:empty:before{content:"글 입력";color:#b9c3d2}.qp-fw.lbl .qp-tx:empty:before{content:"품명"}.qp-screen .form-grid>label,.qp-info .form-grid>label{flex-direction:column;display:flex}.qp-screen .form-grid>label>input,.qp-screen .form-grid>label>select,.qp-screen .form-grid>label>.picker,.qp-screen .form-grid>label>div:last-child,.qp-info .form-grid>label>:last-child{margin-top:auto}.qp-fields.is-hidden,.rcpt-items.is-hidden{display:none}.qp-fields{padding:16px 16px 14px}.qp-screen .qp-fields{background:#fff;border-bottom:1px solid #e3e8ef}.qp-next{align-items:center;gap:12px;padding-top:14px;display:flex}.qp-next button{padding:11px 20px;font-size:14px}.qp-next .error{margin:0}.qp-bar .qp-who{color:#2563eb;background:#eef4ff;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.qp-head dd[contenteditable]{cursor:text;border-radius:3px;outline:none}.qp-head dd[contenteditable]:hover{background:#f1f6ff;box-shadow:inset 0 0 0 1px #c3d7f7}.qp-head dd[contenteditable]:focus{background:#fff;box-shadow:inset 0 0 0 2px #2563eb}.qp-head dd[contenteditable]:empty:before{content:"눌러서 입력";color:#b9c3d2;font-weight:500}.qp-head dd.ro{cursor:default}.qp-tools{background:#fff;border-bottom:1px solid #e3e8ef;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px;display:flex}.qp-tools .qp-toolbar{padding:0}.qp-tools .sp{flex:1}.qp-tools .qp-sum{color:#64748b;white-space:nowrap;font-size:12.5px}.qp-tools .qp-sum b{color:#1a2331}.qp-screen .rcpt-items{padding:0 0 10px}.qp-screen .rcpt-items .hint{padding:8px 16px 0}.modal-backdrop.qp-info{z-index:400}.modal-backdrop.qp-prev{z-index:420;padding:16px}.qp-prev-box{background:#fff;border-radius:12px;flex-direction:column;width:min(1100px,96vw);height:92vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #1018284d}.qp-prev-bar{border-bottom:1px solid #e3e8ef;align-items:center;gap:10px;padding:9px 14px;display:flex}.qp-prev-bar .sp{flex:1}.qp-prev-bar strong{font-size:14px}.qp-prev-bar .dim{color:#64748b;font-size:12px}.qp-prev-bar button{line-height:16px}.qp-prev-box iframe{background:#eef1f5;border:0;flex:1;width:100%}.qp-prev-wait{color:#64748b;background:#eef1f5;flex:1;place-items:center;font-size:13px;display:grid}.qp-prev-bar .error{margin:0;font-size:12px}.qp-bar{flex-wrap:wrap;row-gap:6px}.qp-bar .qp-div{background:#e3e8ef;align-self:stretch;width:1px;margin:0 4px}.qp-bar .qp-vat{color:#31415a;white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.qp-bar .qp-vat select{font:inherit;background:#fff;border:1px solid #d0d7e2;border-radius:8px;padding:6px 8px;font-size:13px;font-weight:700}.qp-bar .qp-sum{color:#64748b;white-space:nowrap;margin-right:4px;font-size:12.5px}.qp-bar .qp-sum b{color:#1a2331}.install-grid{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:16px;display:grid}.install-card{margin:0}.install-emoji{margin-bottom:10px;font-size:22px;line-height:1;display:block}.install-card h2{margin:0 0 10px;font-size:16px}.install-card ol{margin:0;padding-left:20px}.install-card ol li{color:var(--text);margin:7px 0;font-size:14px;line-height:1.6}.install-note{color:var(--text-dim);margin:14px 0 0;font-size:12.5px}.install-why{margin-top:16px}.install-why h2{margin:0 0 8px;font-size:15px}.install-why p{color:var(--text-dim);margin:0;font-size:14px;line-height:1.7}.data-table td.num.zero{color:var(--text-dim);font-weight:400}.filter-bar button{align-items:center;gap:6px;min-height:34px;display:inline-flex}.filter-bar button .cnt{font-variant-numeric:tabular-nums;opacity:.95;font-weight:700}.filter-bar button .dot{border-radius:50%;flex:none;width:7px;height:7px}.filter-bar button .dot.d-open{background:var(--amber)}.filter-bar button .dot.d-closed{background:var(--good)}.filter-bar button.active .dot{background:#fff}.data-table tbody tr.late>td:first-child{box-shadow:inset 3px 0 0 var(--critical)}.late-flag{color:var(--critical);white-space:nowrap;align-items:center;gap:3px;margin-left:6px;font-size:11.5px;font-weight:700;display:inline-flex}.late-flag svg{stroke:currentColor;fill:none;stroke-width:2.4px;width:11px;height:11px}.bulk-bar button{min-height:30px;box-shadow:none;padding:5px 12px;font-size:12.5px;font-weight:600}.data-table .col-tech{white-space:nowrap;width:96px}.data-table .col-status{white-space:nowrap;width:92px}.empty-state{text-align:center;padding:34px 20px}.empty-state .es-ic{border-radius:var(--r-pill);background:var(--accent-weak);width:40px;height:40px;color:var(--accent);justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.empty-state .es-ic svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:20px;height:20px}.empty-state h3{margin:0 0 4px;font-size:14.5px;font-weight:700}.empty-state p{color:var(--text-dim);margin:0 0 14px;font-size:13px}.k-foot{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.k-foot .delta{font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-weight:700;display:inline-flex}.k-foot .delta.up{color:var(--good)}.k-foot .delta.down{color:var(--critical)}.k-foot .delta.flat{color:var(--text-dim)}.k-foot a{color:var(--accent);font-weight:600;text-decoration:none}.k-foot a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.filter-bar button,.seg button{min-height:34px}.job-cards,.kv-cards{display:none}.ql-wrap{z-index:60;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.ql-fab-box{align-items:center;display:flex;position:relative}.ql-fab{border-radius:var(--r-pill);background:var(--accent);border:1px solid var(--accent);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-md);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.ql-fab:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.ql-fab svg{stroke:currentColor;fill:none;stroke-width:2px;width:22px;height:22px}.ql-panel{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);width:216px;box-shadow:var(--shadow-md);overflow:hidden}.ql-head{color:var(--text-dim);letter-spacing:.03em;border-bottom:1px solid var(--border);padding:10px 14px 8px;font-size:11.5px;font-weight:700}.ql-item{width:100%;min-height:42px;color:var(--text);text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;font-weight:600;display:flex}.ql-item:hover{background:var(--panel-2)}.ql-ic{background:var(--accent-weak);width:26px;height:26px;color:var(--accent);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.ql-ic svg{stroke:currentColor;fill:none;stroke-width:1.9px;width:15px;height:15px}.ql-kbd{color:var(--text-dim);border:1px solid var(--border);background:var(--panel-2);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10.5px}.ql-foot{border-top:1px solid var(--border);padding:6px 14px 10px}.ql-foot button{box-shadow:none;color:var(--text-dim);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;font-size:12px;font-weight:600;display:inline-flex}.ql-foot button:hover{color:var(--text);background:0 0}.ql-foot button svg{stroke:currentColor;fill:none;stroke-width:2.2px;width:12px;height:12px}.ql-handle{z-index:60;border:1px solid var(--border-strong);border-radius:var(--r-pill) 0 0 var(--r-pill);background:var(--panel);width:26px;height:40px;color:var(--text-dim);box-shadow:var(--shadow-sm);cursor:pointer;opacity:.75;border-right:0;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;bottom:24px;right:0}.ql-handle:hover{opacity:1;color:var(--accent);border-color:var(--accent);background:var(--panel)}.ql-handle svg{stroke:currentColor;fill:none;stroke-width:2px;width:14px;height:14px}@media (width<=720px){.job-cards{padding:10px;display:block}.job-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);color:inherit;margin-bottom:8px;padding:12px;text-decoration:none;display:block}.job-card.late{box-shadow:inset 3px 0 0 var(--critical), var(--shadow-sm)}.job-card .jc-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.job-card .jc-cust{font-size:14px;font-weight:700}.job-card .jc-desc{color:var(--text-dim);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:8px;font-size:12.5px;display:-webkit-box;overflow:hidden}.job-card .jc-foot{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;display:flex}.job-card .jc-foot .money{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.job-card .jc-foot .money.due{color:var(--critical)}.job-cards .empty-state{padding:28px 12px}.stat-row>*{min-width:0}.stat-tile strong{overflow-wrap:anywhere;font-size:19px}.stat-tile span.k-label{font-size:12px}.kv-cards{padding:10px;display:block}.rp-table,.home-jobs,.list-card.has-cards .table-scroll{display:none}.kv-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin-bottom:8px;padding:12px}.kv-card.is-total{border-color:var(--border-strong);background:var(--panel-2)}.kv-card .kv-ttl{margin-bottom:8px;font-size:14px;font-weight:700}.kv-card dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.kv-card dt{color:var(--text-dim);font-size:12.5px}.kv-card dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:13px;font-weight:600}.kv-card .kv-act{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.kv-card .kv-sub{color:var(--text-dim);margin:-4px 0 8px;font-size:12.5px}.kv-card dd.due{color:var(--critical);font-weight:700}.kv-card dd.wrap{text-align:left;overflow-wrap:anywhere;font-weight:500}.kv-card .kv-detail{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.kv-card.as-link{color:inherit;text-decoration:none;display:block}.kv-card.as-link:active{background:var(--panel-2)}.kv-card .kv-ttl a{color:var(--accent);text-decoration:none}.kv-card .kv-edit{flex-direction:column;gap:8px;display:flex}.kv-card .kv-edit label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;display:flex}.kv-card .kv-edit input,.kv-card .kv-edit select{width:100%;padding:9px 11px;font-size:14px}.ql-wrap,.ql-handle{display:none}}.kv{grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--text-dim)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}@media (width<=900px){.topbar{background:color-mix(in srgb, var(--panel) 97%, transparent)}.data-table td:last-child:has(>button){white-space:nowrap}.form-sticky-actions{flex-wrap:nowrap;gap:8px;padding:10px 12px}.form-sticky-actions>.dim{flex:1;min-width:0;font-size:12px;line-height:1.35}.form-sticky-actions>.spacer{display:none}.form-sticky-actions>button{white-space:nowrap;flex:none}.form-actions{flex-wrap:wrap}.form-actions>button{white-space:nowrap;flex:none}.form-actions>.warn{flex-basis:100%;font-size:12.5px}.audit-list li{row-gap:4px}.audit-list .audit-target{white-space:normal;overflow-wrap:anywhere;flex-basis:100%}.kv-card dl{align-items:center}.report-filter{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.report-filter>.date-select{grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.report-filter>.date-select select{width:100%;min-width:0}.report-filter>span:not(.date-select){text-align:center;color:var(--text-dim);grid-column:1/-1;margin:-4px 0;line-height:1}.report-filter>select{grid-column:1/2}.report-filter>.customer-picker{grid-column:2/-1;min-width:0}.report-filter>.customer-picker input{width:100%;min-width:0}.report-filter>button{white-space:nowrap;width:100%;padding-left:6px;padding-right:6px}.mail-compose-dock,.mail-compose-dock.size-max{border-radius:0;height:100dvh}.mail-compose-dock-head{border-radius:0}}.today-panel .section-header{flex-wrap:wrap;gap:8px}.today-roles button{min-width:56px}.today-empty{margin:6px 0 2px}.today-panel{min-width:0}.today-list{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:8px;display:grid}.today-item{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);min-width:0;color:inherit;padding:11px 12px;text-decoration:none;display:block}.today-item:hover{border-color:var(--accent)}.today-item.late{box-shadow:inset 3px 0 0 var(--critical)}.today-item .ti-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.today-item .ti-top strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.today-item .ti-desc{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12.5px;overflow:hidden}.today-tag{border-radius:var(--r-pill);flex:none;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.today-tag.t-late{background:var(--critical-weak);color:var(--critical)}.today-tag.t-money{background:var(--amber-weak);color:var(--amber)}.today-tag.t-quote,.today-tag.t-today{background:var(--accent-weak);color:var(--accent)}.today-more{color:var(--accent);margin-top:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.stage-bar{margin:0 0 14px;padding:0;list-style:none;display:flex}.stage-bar li{text-align:center;color:var(--text-dim);flex:1;font-size:12px;position:relative}.stage-bar li:not(:first-child):before{content:"";background:var(--border);width:100%;height:2px;position:absolute;top:12px;right:50%}.stage-bar li.done:before{background:var(--accent)}.stage-bar li i{z-index:1;background:var(--border);width:24px;height:24px;color:var(--text-dim);border-radius:50%;place-items:center;margin:0 auto 5px;font-size:11.5px;font-style:normal;font-weight:700;display:grid;position:relative}.stage-bar li.done i{background:var(--accent);color:#fff}.stage-bar li.cur{color:var(--accent);font-weight:700}.stage-bar li.cur i{background:var(--panel);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.stage-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.quick-log{gap:8px;display:flex}.quick-memo{margin-top:12px}.quick-memo textarea{resize:vertical;width:100%}.next-sticky{display:none}.undo-toast{z-index:80;border-radius:var(--r-md);color:#fff;min-width:280px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-md);background:#0d253d;align-items:center;gap:16px;padding:12px 14px;font-size:13.5px;display:flex;position:fixed;bottom:24px;left:50%;overflow:hidden;transform:translate(-50%)}.undo-toast span{flex:1}.undo-toast button{color:#b9adff;cursor:pointer;background:0 0;border:none;padding:4px 2px;font-weight:700}.undo-toast .undo-bar{transform-origin:0;background:#b9adff;width:100%;height:3px;animation:linear forwards undo-shrink;position:absolute;bottom:0;left:0}@keyframes undo-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.saved-views{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.saved-views .sv-chip{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);align-items:center;display:inline-flex;overflow:hidden}.saved-views .sv-chip.on{border-color:var(--accent);background:var(--accent-weak)}.saved-views .sv-chip button,.saved-views .sv-add{color:var(--text-dim);cursor:pointer;background:0 0;border:none;min-height:30px;padding:5px 10px;font-size:12.5px}.saved-views .sv-chip.on button{color:var(--accent);font-weight:700}.saved-views .sv-chip .sv-del{padding:5px 9px 5px 2px}.saved-views .sv-add{border:1px dashed var(--border-strong);border-radius:var(--r-pill);background:var(--panel)}.bottom-tabs{display:none}@media (width<=720px){.bottom-tabs{z-index:40;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.bt-item{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0;font-size:10.5px;text-decoration:none;display:flex;position:relative}.bottom-tabs button.bt-item,.bottom-tabs button.bt-item:hover{box-shadow:none;background:0 0;border:none;border-radius:0;min-height:0;font-weight:500}.bottom-tabs button.bt-item.active{color:var(--accent);font-weight:700}.bt-item svg{stroke:currentColor;fill:none;stroke-width:1.9px;width:21px;height:21px}.bt-item.active{color:var(--accent);font-weight:700}.bt-badge{border-radius:var(--r-pill);background:var(--critical);color:#fff;min-width:16px;height:16px;padding:0 4px;font-size:9.5px;font-style:normal;font-weight:700;line-height:16px;position:absolute;top:6px;left:calc(50% + 6px)}.content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.undo-toast{bottom:calc(132px + env(safe-area-inset-bottom))}.today-list{grid-template-columns:minmax(0,1fr)}.stage-bar li{font-size:10.5px}.stage-foot .next-action{display:none}.next-sticky{left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom));z-index:35;background:var(--panel);border-top:1px solid var(--border);padding:8px 12px;display:block;position:fixed}.next-sticky .btn-cta{justify-content:center;width:100%;padding:12px;font-size:15px}.quick-log,.quick-log button{flex:1}.job-actions{flex-wrap:nowrap;gap:6px;width:100%}.job-actions>button{white-space:nowrap;flex:1 1 0;min-width:0;padding:8px 4px;font-size:13px}.job-actions .wide-only{display:none}}
