:root{color-scheme:dark;--bg:#0b0e1a;--surface-0:rgba(255,255,255,0.02);--surface-1:rgba(20,25,40,0.85);--surface-2:rgba(28,33,50,0.9);--border:rgba(255,255,255,0.07);--border-strong:rgba(255,255,255,0.13);--text:#e8ecf8;--text-muted:#8591b0;--accent:#3b6ef0;--accent-hover:#5582ff;--accent-border:rgba(90,140,255,0.35);--danger:#c03358;--danger-border:rgba(192,51,88,0.35);--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-card:0 4px 24px rgba(0,0,0,0.35);--shadow-modal:0 16px 60px rgba(0,0,0,0.6);--transition:150ms ease}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 20% -10%,rgba(59,110,240,.12) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 110%,rgba(100,60,200,.07) 0,transparent 60%);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page-shell{min-height:100vh;padding:12px 16px 32px}.page-content{max-width:1280px;margin:16px auto 0}.card{background:var(--surface-2);padding:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card,.top-nav{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.top-nav{max-width:1280px;margin:0 auto;background:var(--surface-1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:4px;justify-content:space-between;padding:7px 10px}.nav-links,.top-nav{display:flex;align-items:center}.nav-links{gap:2px;flex-wrap:wrap}.nav-link{color:var(--text-muted);padding:6px 11px;border-radius:var(--radius);border:1px solid transparent;font-size:13px;font-weight:500;letter-spacing:.01em;transition:color var(--transition),background var(--transition)}.nav-link:hover{color:var(--text);background:rgba(255,255,255,.05)}.nav-link.active{background:var(--accent);border-color:var(--accent-border);color:#fff}.nav-actions{display:flex;gap:6px}.org-pill{font-weight:600;padding:6px 10px;border-radius:var(--radius);border:1px solid var(--border-strong)}.danger-btn,.ghost-btn,.org-pill,.primary-btn{font-size:13px;background:rgba(255,255,255,.05);color:var(--text);white-space:nowrap}.danger-btn,.ghost-btn,.primary-btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);padding:6px 12px;cursor:pointer;font-weight:500;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);outline:none}.ghost-btn:hover{background:rgba(255,255,255,.1);border-color:var(--border-strong)}.primary-btn{background:var(--accent);border-color:var(--accent-border);color:#fff}.primary-btn:hover{background:var(--accent-hover);box-shadow:0 0 0 3px rgba(90,140,255,.18)}.danger-btn{background:rgba(192,51,88,.15);border-color:var(--danger-border);color:#f07090}.danger-btn:hover{background:rgba(192,51,88,.3);box-shadow:0 0 0 3px rgba(192,51,88,.15)}.danger-btn:focus-visible,.ghost-btn:focus-visible,.primary-btn:focus-visible{box-shadow:0 0 0 3px rgba(90,140,255,.35)}.danger-btn:disabled,.ghost-btn:disabled,.primary-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.section-title{margin:0;font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.subtle{color:var(--text-muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field>label,.field>span{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.field input,.field select,.field textarea{width:100%;background:rgba(0,0,0,.25);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);padding:7px 10px;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(90,140,255,.18)}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}table{width:100%;border-collapse:collapse;min-width:860px}td,th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}td{font-size:13px}th{color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:rgba(0,0,0,.2)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:rgba(255,255,255,.025)}tr.running td{background:rgba(59,110,240,.08)}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.badge{display:inline-block;border-radius:999px;padding:3px 9px;border:1px solid transparent;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.badge.draft{background:rgba(100,116,160,.2);border-color:rgba(100,116,160,.35);color:#a0aece}.badge.submitted{background:rgba(30,90,180,.2);border-color:rgba(60,120,220,.35);color:#80b0f0}.badge.approved,.badge.paid{background:rgba(32,180,100,.15);border-color:rgba(32,180,100,.3);color:#50d090}.badge.rejected{background:rgba(192,51,88,.15);border-color:var(--danger-border);color:#f07090}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.summary-card{padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-1)}.summary-value{margin-top:4px;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.auth-wrap{max-width:400px;margin:80px auto 40px;padding:0 16px}.auth-wrap .card{padding:28px 24px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px}.resource-card{text-align:left;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.resource-card:hover{background:rgba(59,110,240,.12);border-color:var(--accent-border);transform:translateY(-1px)}.tab-row{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap;background:rgba(0,0,0,.2);border-radius:var(--radius);padding:4px;width:-moz-fit-content;width:fit-content}.tab-btn{border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500;transition:background var(--transition),color var(--transition)}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--accent);border-color:var(--accent-border);color:#fff}.empty{padding:24px 16px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);font-size:13px}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(5,7,18,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .12s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-panel{width:100%;max-height:calc(100vh - 40px);background:#151b2e;border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .16s ease}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:15px;font-weight:600;letter-spacing:-.01em}.modal-close{background:none;border:1px solid transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);padding:3px 7px;font-size:15px;line-height:1;transition:color var(--transition),background var(--transition)}.modal-close:hover{color:var(--text);background:rgba(255,255,255,.07)}.modal-body{padding:18px;overflow-y:auto;flex:1 1}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--border);flex-shrink:0}h3,h4{margin-top:0;margin-bottom:12px;font-weight:600;letter-spacing:-.01em}h3{font-size:15px}h4{font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}p{margin:0 0 8px}@media (max-width:920px){.top-nav{flex-direction:column;align-items:stretch;gap:8px}.nav-actions{justify-content:flex-end}}.modal-header-actions{display:flex;align-items:center;gap:6px}.mode-btns{display:flex;gap:4px}.mode-btn{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:rgba(255,255,255,.05);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition),border-color var(--transition)}.mode-btn:hover{background:rgba(255,255,255,.1);color:var(--text)}.mode-btn--timer.active{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.45);color:#4ade80}.mode-btn--entry.active{background:rgba(59,110,240,.22);border-color:var(--accent-border);color:#6b9fff}.mode-btn--total.active{background:rgba(139,92,246,.2);border-color:rgba(139,92,246,.45);color:#c084fc}.form-selects{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;align-items:end}.line-item-with-play{display:flex;align-items:flex-end;gap:6px}.play-btn{flex-shrink:0;width:35px;height:35px;border-radius:var(--radius-sm);border:1px solid rgba(34,197,94,.45);background:rgba(34,197,94,.18);color:#4ade80;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition),box-shadow var(--transition)}.play-btn:hover{background:rgba(34,197,94,.3);box-shadow:0 0 0 3px rgba(34,197,94,.15)}.play-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.form-sep{border:none;border-top:1px solid var(--border);margin:14px 0 10px}.form-rows{display:flex;flex-direction:column;gap:6px}.form-row{display:grid;grid-template-columns:72px 1fr;align-items:center;grid-gap:10px;gap:10px}.form-row-label{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.form-row-input{width:100%;background:rgba(0,0,0,.25);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);padding:7px 10px;font:inherit;font-size:13px;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.form-row-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(90,140,255,.18)}.form-row-input--readonly{opacity:.45;cursor:default}.required{color:var(--danger)}.inv-modal-panel{max-width:min(1300px,calc(100vw - 32px))!important;height:calc(100vh - 48px)}.inv-modal-body{display:flex;flex:1 1;min-height:0;overflow:hidden;padding:0}.inv-pdf-pane{flex:0 0 60%;display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden}.inv-pdf-label{padding:10px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);flex-shrink:0}.inv-pdf-iframe{width:100%;flex:1 1;border:none;display:block}.inv-review-pane{flex:1 1;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:16px;gap:0}.inv-comments-content,.inv-line-items-content{flex:1 1;overflow-y:auto;padding-right:4px}.inv-review-history{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.inv-review-item{display:flex;gap:12px;align-items:flex-start}.inv-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.02em}.inv-review-item-body{flex:1 1;min-width:0;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.inv-review-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px;flex-wrap:wrap}.inv-review-name{font-size:13px;font-weight:600}.inv-review-comment{font-size:13px;color:var(--text-muted);margin:6px 0 0}.inv-action-panel{border-top:1px solid var(--border);padding-top:16px;margin-top:8px;flex-shrink:0;display:flex;flex-direction:column;gap:8px}.inv-action-select,.inv-action-textarea{width:100%;background:rgba(0,0,0,.25);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);padding:7px 10px;font:inherit;font-size:13px;outline:none;transition:border-color var(--transition),box-shadow var(--transition);resize:vertical}.inv-action-select:focus,.inv-action-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(90,140,255,.18)}.inv-action-select option{background:#151b2e}