@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--font-primary: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color-scheme:dark;--color-body: #111213;--color-font: #edeeef;--color-back: #333435;--color-panel: #2f2f2f;--color-deep: #dddedf;--color-acnt: #ff9400;--color-invt: #191919;--color-muted: #848484;--color-border: rgba(255, 255, 255, .08);--color-danger: #fd5c3e;--space-1: 4px;--space-2: 8px;--space-3: 10px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 0 0 1px rgba(0, 0, 0, .25);--shadow-md: 0 4px 24px rgba(0, 0, 0, .45)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-primary);background:var(--color-body);color:var(--color-font)}h1,h2,h3{font-weight:600;margin:0 0 var(--space-3)}.layout{display:flex;align-items:flex-start;min-height:100vh}.sidebar{width:260px;flex:0 0 260px;background:var(--color-back);padding:var(--space-6) var(--space-5);box-shadow:var(--shadow-sm);position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.sidebar h1{font-size:18px;margin:0}.sidebar-header-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-5)}.sidebar-close-btn{display:none}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto;padding-top:var(--space-7)}.sidebar-nav .btn{width:100%}.sidebar h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin:0 0 var(--space-3)}.sidebar h2:not(:first-child){margin-top:var(--space-7)}.sidebar-filters{display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-filters input,.sidebar-filters select{width:100%}.sidebar-date-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:12px;color:var(--color-muted)}.sidebar-stats{display:grid;grid-template-columns:1fr auto;row-gap:var(--space-3);column-gap:var(--space-2);margin:0;font-size:14px}.sidebar-stats dt{color:var(--color-muted)}.sidebar-stats dd{margin:0;font-weight:600;text-align:right}.page{width:100%;margin:0 auto;padding:var(--space-5) var(--space-7);flex:1 1 auto;min-width:0}.mobile-topbar{display:none}@media (max-width: 860px){.layout{display:block}.page{padding:var(--space-4);padding-top:calc(56px + var(--space-4))}.mobile-topbar{display:flex;align-items:center;gap:var(--space-3);position:fixed;top:0;left:0;right:0;z-index:20;height:56px;padding:0 var(--space-4);background:var(--color-back);box-shadow:var(--shadow-sm)}.mobile-topbar-title{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.burger-btn{font-size:22px;padding:4px 6px}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:29}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:30;width:min(85vw,320px);height:100vh;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-md)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close-btn{display:inline-flex;font-size:20px}}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);gap:var(--space-2);flex-wrap:wrap}.topbar nav{display:flex;gap:var(--space-2)}a,.link-btn{color:var(--color-acnt);text-decoration:none}a:hover{text-decoration:underline}a.btn:hover{text-decoration:none}button,.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--color-acnt);color:#fff;border:none;border-radius:var(--radius-sm);padding:0 var(--space-4);height:30px;cursor:pointer;font-family:var(--font-primary);font-weight:700;font-size:14px;transition:opacity .15s ease}button:hover:not(:disabled){opacity:.85}button:disabled{opacity:.45;cursor:not-allowed}button.secondary,.btn.secondary{background:#ffffff1a;color:#fff}button.icon-button{background:transparent;color:var(--color-acnt);padding:6px 8px;font-size:16px;height:auto;font-weight:500}button.icon-button:hover{opacity:1;color:#ffb14d}input,select{font-family:var(--font-primary);font-size:14px;color:var(--color-font);background:var(--color-panel);border:none;border-radius:var(--radius-sm);padding:8px 12px;box-shadow:inset 0 0 0 1px var(--color-border);transition:box-shadow .15s ease}input::placeholder{color:var(--color-muted)}input:focus,select:focus{outline:none;box-shadow:inset 0 0 0 1px var(--color-acnt)}input:disabled{opacity:.6}table{width:100%;border-collapse:collapse;background:var(--color-back);border-radius:var(--radius-md);overflow:hidden;font-size:13px}th,td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}th{background:#3c3d3e;color:var(--color-muted);font-weight:500;font-size:12px;position:sticky;top:0}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--color-font)}.sort-arrow{font-size:10px;color:var(--color-acnt)}tbody tr:hover td{background:#ffffff0d}tbody tr.row-processed td{background:#ff94001f}tbody tr.row-processed:hover td{background:#ff940033}.table-wrap{overflow:auto;max-height:calc(100vh - var(--space-5) * 2);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}@media (max-width: 860px){.table-wrap.cards-on-mobile{max-height:none;overflow:visible;box-shadow:none}.table-wrap.cards-on-mobile table{display:block;background:transparent;border-radius:0}.table-wrap.cards-on-mobile thead{display:none}.table-wrap.cards-on-mobile tbody{display:flex;flex-direction:column;gap:var(--space-3)}.table-wrap.cards-on-mobile tr{display:flex;flex-direction:column;background:var(--color-back);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4)}.table-wrap.cards-on-mobile tr.row-processed{background:#ff94001f}.table-wrap.cards-on-mobile td{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);white-space:normal;text-align:right}.table-wrap.cards-on-mobile td:last-child{border-bottom:none}.table-wrap.cards-on-mobile td:before{content:attr(data-label);color:var(--color-muted);font-size:12px;font-weight:500;text-align:left;flex-shrink:0}.table-wrap.cards-on-mobile td[data-label=""]{justify-content:flex-end}.table-wrap.cards-on-mobile td[data-label=""]:before{display:none}}.login-box{max-width:320px;margin:80px auto;background:var(--color-back);padding:var(--space-7);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-box h1{font-size:18px;margin-bottom:var(--space-5)}.login-box form{display:flex;flex-direction:column;gap:var(--space-3)}.error{color:var(--color-danger);font-size:13px}.scan-box{max-width:480px;margin:0 auto;text-align:center}video,canvas{width:100%;border-radius:var(--radius-md);background:#000}.scan-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;overflow:hidden}.scan-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:0;background:#000}.scan-topbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);padding-top:max(var(--space-5),env(safe-area-inset-top));background:linear-gradient(#000000a6,#0000)}.scan-topbar h1{font-size:16px;margin:0;color:#fff}.scan-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(70vw,320px);height:min(70vw,320px);border:3px solid rgba(255,255,255,.85);border-radius:var(--radius-lg);box-shadow:0 0 0 2000px #00000059;pointer-events:none;z-index:1}.scan-bottom{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;color:#fff;padding:var(--space-6) var(--space-5);padding-bottom:max(var(--space-6),env(safe-area-inset-bottom));background:linear-gradient(#0000,#000000bf 40%)}.scan-bottom p{margin:0;max-width:420px}.scan-bottom .offline-banner{width:100%;max-width:420px}.status-pill{font-size:11px;padding:3px 8px;border-radius:var(--radius-sm);background:#ffffff12;color:var(--color-font);font-weight:500}.aside-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;justify-content:flex-end;z-index:100}.aside-panel{width:min(420px,100%);height:100vh;background:var(--color-back);padding:var(--space-6);overflow-y:auto;box-shadow:var(--shadow-md)}.aside-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.aside-header h2{font-size:16px;margin:0}.detail-list{display:grid;grid-template-columns:120px 1fr;row-gap:var(--space-4);column-gap:var(--space-2);font-size:14px;margin:0}.detail-list dt{color:var(--color-muted)}.detail-list dd{margin:0;word-break:break-word}.detail-edit-form{display:flex;flex-direction:column;gap:var(--space-4);font-size:14px}.detail-edit-form label{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-muted)}.detail-edit-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.offline-banner{background:#ff94001f;color:#ffb14d;border:1px solid rgba(255,148,0,.35);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:14px;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.fiscal-value{font-family:monospace;font-size:12px;color:var(--color-deep)}.detail-links{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-menu{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);width:100%;margin-bottom:var(--space-7)}.sidebar-menu-item{display:block;width:100%;box-sizing:border-box;margin:0;background:transparent;color:var(--color-muted);border:none;border-left:2px solid transparent;border-radius:0;height:auto;text-align:left;padding:var(--space-2) var(--space-3);font-size:14px;font-weight:500;line-height:1.3;cursor:pointer}.sidebar-menu-item:hover{color:var(--color-font);opacity:1}.sidebar-menu-item.active{color:var(--color-acnt);border-left-color:var(--color-acnt);background:#ff940014}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-5)}.modal-panel{width:min(440px,100%);max-height:calc(100vh - 32px);background:var(--color-back);border-radius:var(--radius-lg);padding:var(--space-6);overflow-y:auto;box-shadow:var(--shadow-md)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.modal-header h2{font-size:16px;margin:0}.modal-form{display:flex;flex-direction:column;gap:var(--space-3);font-size:14px}.modal-form label{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-muted)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.section-header h2{margin:0}.sync-log{background:var(--color-panel);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-border);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);max-height:240px;overflow-y:auto;font-family:monospace;font-size:12px;line-height:1.6;color:var(--color-deep);white-space:pre-wrap}
