@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap);@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes toastOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(30px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pinDrop{0%{opacity:0;transform:translate(-50%,-130%)}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes mapPulse{0%{opacity:.7;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(3.5)}}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes nodeGlow{0%,to{box-shadow:0 0 0 4px var(--gold-pale)}50%{box-shadow:0 0 0 8px rgba(245,158,11,.08)}}@keyframes feedIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}:root{--gold:#f59e0b;--gold-dim:#d97706;--gold-pale:rgba(245,158,11,0.12);--gold-glow:rgba(245,158,11,0.25);--bg:#0a0a0f;--surface:#111118;--surface-2:#18181f;--surface-3:#1e1e28;--border:rgba(245,158,11,0.15);--border-dim:rgba(255,255,255,0.06);--text:#f0ede8;--text-muted:#8b8a9a;--text-dim:#555468;--danger:#ef4444;--success:#22c55e;--info:#3b82f6;--warning:#f59e0b;--sidebar-w:270px;--header-h:64px;--radius:10px;--radius-lg:16px;--shadow:0 4px 24px rgba(0,0,0,0.5);--shadow-gold:0 0 24px rgba(245,158,11,0.15);--font-display:'Cormorant Garamond', Georgia, serif;--font-body:'Inter', system-ui, sans-serif;--transition:0.2s ease}body.light{--bg:#f4f1ec;--surface:#ffffff;--surface-2:#f9f7f4;--surface-3:#ede9e2;--border:rgba(245,158,11,0.25);--border-dim:rgba(0,0,0,0.08);--text:#1a1810;--text-muted:#5a5750;--text-dim:#9a9590;--shadow:0 4px 24px rgba(0,0,0,0.12);--shadow-gold:0 0 24px rgba(245,158,11,0.2)}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-dim);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:16px;cursor:pointer;transition:all var(--transition);flex-shrink:0}.theme-toggle:hover{border-color:var(--gold);color:var(--gold)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,input,select,textarea{font-family:var(--font-body);font-size:14px;color:var(--text)}body{background:var(--bg);line-height:1.6;min-height:100vh;overflow-x:hidden}a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold-dim)}button{cursor:pointer;font-family:var(--font-body)}input,select,textarea{background:var(--surface-3);border:1px solid var(--border-dim);border-radius:var(--radius);padding:10px 14px;outline:0;transition:border-color var(--transition);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-pale)}.data-table tbody tr:hover,select option{background:var(--surface-2)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:.02em}ul{list-style:none}img{max-width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}#login-screen{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:48px 16px}#login-screen::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40%at 50%0,rgba(245,158,11,.08)0,transparent 70%),repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(245,158,11,.04) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(245,158,11,.04) 40px);pointer-events:none}.login-box{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 44px;width:420px;max-width:95vw;box-shadow:var(--shadow),var(--shadow-gold);animation:fadeSlideUp .5s ease both}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px}.login-logo .logo-icon,.login-logo .logo-text{font-family:var(--font-display);font-weight:700}.login-logo .logo-icon{width:44px;height:44px;background:var(--gold);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#000;flex-shrink:0}.login-logo .logo-text{font-size:20px;letter-spacing:.05em;color:var(--text)}.login-logo .logo-text span{color:var(--gold)}.login-tagline{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:32px}.login-box h2{font-size:26px;font-weight:600;margin-bottom:6px;color:var(--text)}.form-group label,.login-box .subtitle{color:var(--text-muted);font-size:13px;margin-bottom:28px}.form-group label{display:block;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.btn-primary{width:100%;padding:12px 24px;background:var(--gold);color:#000;border:0;border-radius:var(--radius);font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:all var(--transition);margin-top:8px}.btn-primary:hover{background:var(--gold-dim);box-shadow:0 0 20px var(--gold-glow)}.twofa-row{display:flex;gap:8px;margin-top:20px;margin-bottom:8px}.twofa-row input{text-align:center;font-size:18px;font-weight:600;padding:12px 8px;letter-spacing:.1em}.login-divider,.login-footer{font-size:12px;color:var(--text-dim);text-align:center}.login-divider{margin:20px 0;display:flex;align-items:center;gap:12px}.login-divider::after,.login-divider::before{content:"";flex:1;height:1px;background:var(--border-dim)}.login-footer{margin-top:24px;line-height:1.7}.badge-secure{display:inline-flex;align-items:center;gap:5px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);color:var(--success);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500;margin-top:16px}.login-tabs{display:flex;gap:0;margin-bottom:24px;background:var(--surface-2);border-radius:var(--radius);padding:4px}.login-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 0;border-radius:7px;border:0;background:0 0;color:var(--text-muted);font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:all .2s}.login-tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.25)}.login-tab svg{flex-shrink:0}.case-detail-tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface-2);overflow-x:auto;-webkit-overflow-scrolling:touch}.case-detail-tab{padding:10px 14px;background:0 0;border:0;border-bottom:2px solid transparent;color:var(--text-muted);font-family:var(--font-body);font-size:12px;font-weight:500;cursor:pointer;letter-spacing:.04em;white-space:nowrap;transition:color .2s,border-color .2s}.case-detail-tab.active{border-bottom-color:var(--gold);color:var(--text);font-weight:600}.case-detail-tab:hover:not(.active){color:var(--text)}.hidden{display:none!important}#app,#sidebar{display:flex;min-height:100vh}#sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;transition:transform var(--transition)}.sidebar-header{padding:22px 20px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.sidebar-brand,.sidebar-logo-icon{font-family:var(--font-display);font-weight:700}.sidebar-logo-icon{width:36px;height:36px;background:var(--gold);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#000;flex-shrink:0}.sidebar-brand{font-size:16px;letter-spacing:.04em;line-height:1.2}.sidebar-brand small{display:block;font-family:var(--font-body);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-top:1px}.sidebar-avatar,.sidebar-user{display:flex;align-items:center}.sidebar-user{padding:16px 20px;border-bottom:1px solid var(--border-dim);gap:10px}.sidebar-avatar{width:34px;height:34px;border-radius:50%;background:var(--gold-pale);border:2px solid var(--gold);justify-content:center;font-size:14px;font-weight:600;color:var(--gold);flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--success);flex-shrink:0;box-shadow:0 0 6px var(--success)}.sidebar-search{padding:14px 16px;border-bottom:1px solid var(--border-dim)}.sidebar-search-input{position:relative}.sidebar-search-input input{padding:8px 12px 8px 34px;font-size:13px;background:var(--surface-2);border-color:transparent}.sidebar-search-input input:focus{border-color:var(--gold)}.sidebar-search-input .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:13px;pointer-events:none}.sidebar-nav{flex:1;overflow-y:auto;padding:10px 0}.nav-section-label{padding:14px 20px 6px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.header-title span,.nav-item{color:var(--text-muted);font-weight:400}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 20px;margin:1px 8px;border-radius:var(--radius);font-size:13px;cursor:pointer;transition:all var(--transition);position:relative}.nav-item:hover{background:var(--surface-3);color:var(--text)}.nav-item.active{background:var(--gold-pale);color:var(--gold);font-weight:500}.nav-item.active::before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 2px 2px 0;background:var(--gold)}.nav-item .nav-icon{width:18px;text-align:center;font-size:15px;flex-shrink:0}.nav-badge{margin-left:auto;background:var(--gold);color:#000;font-size:10px;font-weight:700;border-radius:10px;padding:1px 7px;min-width:18px;text-align:center;line-height:16px}.nav-badge.red{background:var(--danger);color:#fff}.nav-badge.blue{background:var(--info);color:#fff}#main-content,.sidebar-footer{display:flex;flex-direction:column}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border-dim);gap:6px}.sidebar-footer-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all var(--transition)}.sidebar-footer-item:hover{background:var(--surface-3);color:var(--text)}.sidebar-footer-item.danger:hover{color:var(--danger)}#main-content{margin-left:var(--sidebar-w);flex:1;min-width:0}.top-header{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:16px;position:sticky;top:0;z-index:50}.header-title{font-family:var(--font-display);font-size:22px;font-weight:600;flex:1}.header-title span{font-size:14px;font-family:var(--font-body);margin-left:10px}.header-actions{display:flex;align-items:center;gap:10px}.header-search{position:relative}.header-search input{padding:8px 12px 8px 34px;width:220px;font-size:13px;background:var(--surface-2);border-color:transparent;border-radius:20px}.header-search input:focus{border-color:var(--gold);width:280px}.header-search .search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:13px;pointer-events:none}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-dim);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:15px;cursor:pointer;transition:all var(--transition);position:relative}.icon-btn:hover{border-color:var(--gold);color:var(--gold)}.icon-btn .dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--gold);border:1.5px solid var(--surface)}.icon-btn .dot.red{background:var(--danger)}.hamburger{display:none}.page-content{padding:28px;flex:1}#lightbox-overlay.hidden,#pdf-overlay.hidden,#print-report-overlay.hidden,#push-permission-bar.hidden,.data-table tbody tr.case-hidden,.page{display:none}.page.active{display:block}.greeting-banner{background:linear-gradient(135deg,var(--surface-2) 0%,var(--surface-3) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.greeting-banner::before{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,var(--gold-pale) 0%,transparent 70%);pointer-events:none}.greeting-title{font-family:var(--font-display);font-size:30px;font-weight:600;margin-bottom:6px}.greeting-title span{color:var(--gold)}.greeting-sub{color:var(--text-muted);font-size:13px}.case-ref-pill{background:var(--gold-pale);border:1px solid var(--border);border-radius:20px;padding:6px 16px;font-size:12px;font-weight:500;color:var(--gold);letter-spacing:.06em;white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:20px 22px;transition:all var(--transition);position:relative;overflow:hidden}.stat-card:hover{border-color:var(--border);box-shadow:var(--shadow-gold);transform:translateY(-2px)}.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);opacity:0;transition:opacity var(--transition)}.stat-card:hover::before{opacity:1}.stat-icon{width:38px;height:38px;border-radius:9px;background:var(--gold-pale);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:14px}.stat-icon.blue{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.2)}.stat-icon.green{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.2)}.stat-icon.red{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.2)}.stat-value{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.stat-label,.upload-zone p{font-size:12px;color:var(--text-muted)}.section-header,.stat-delta{display:flex;align-items:center}.stat-delta{font-size:11px;margin-top:6px;gap:4px}.stat-delta.up{color:var(--success)}.stat-delta.down{color:var(--danger)}.section-header{justify-content:space-between;margin-bottom:16px}.section-title{font-family:var(--font-display);font-size:18px;font-weight:600}.btn-sm,.section-title small{font-size:12px;color:var(--text-muted)}.section-title small{font-family:var(--font-body);font-weight:400;margin-left:8px}.btn-sm{padding:7px 16px;border-radius:var(--radius);font-weight:500;border:1px solid var(--border);background:0 0;cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;gap:6px}.btn-sm:hover{border-color:var(--gold);color:var(--gold)}.btn-sm.gold:hover{background:var(--gold-dim)}.three-col,.two-col,.wide-narrow{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.three-col,.wide-narrow{grid-template-columns:1fr 1fr 1fr}.wide-narrow{grid-template-columns:1.6fr 1fr}.card{background:var(--surface);border:1px solid var(--border-dim);border-radius:var(--radius-lg);overflow:hidden}.card-header{padding:18px 20px 14px;border-bottom:1px solid var(--border-dim);display:flex;align-items:center;justify-content:space-between}.card-body{padding:20px}.case-status-bar{display:flex;align-items:center;gap:0;margin:16px 0}.status-step{flex:1;position:relative;text-align:center}.status-step-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-dim);background:var(--surface-3);display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:12px;color:var(--text-dim);position:relative;z-index:1;transition:all var(--transition)}.btn-sm.gold,.status-step.done .status-step-dot{background:var(--gold);border-color:var(--gold);color:#000}.status-step.active .status-step-dot{background:var(--surface-3);border-color:var(--gold);color:var(--gold);box-shadow:0 0 12px var(--gold-glow)}.status-step-label{font-size:10px;color:var(--text-dim)}.status-step.active .status-step-label,.status-step.done .status-step-label{color:var(--text)}.status-step::before{content:"";position:absolute;top:14px;left:calc(-50% + 14px);right:calc(50% + 14px);height:1px;background:var(--border-dim)}.status-step:first-child::before{display:none}.status-step.done::before{background:var(--gold)}.timeline{padding:4px 0}.timeline-item{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--border-dim);animation:fadeIn .3s ease}.timeline-item:last-child{border-bottom:none}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:6px}.timeline-dot.blue{background:var(--info)}.timeline-dot.green{background:var(--success)}.timeline-dot.red{background:var(--danger)}.timeline-dot.muted{background:var(--text-dim)}.timeline-body{flex:1;min-width:0}.timeline-text{font-size:13px;color:var(--text);margin-bottom:3px}.timeline-meta{font-size:11px;color:var(--text-dim)}.announcement-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border-dim)}.announcement-item:last-child,.data-table tbody tr:last-child td{border-bottom:none}.ann-icon,.pill.gold{background:var(--gold-pale);border:1px solid var(--border)}.ann-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.ann-body{flex:1}.ann-title{font-size:13px;font-weight:500;margin-bottom:3px}.ann-meta,.ann-text{color:var(--text-muted)}.ann-meta{font-size:11px;margin-bottom:5px}.ann-text{font-size:12px;line-height:1.5}.pill{display:inline-block;padding:2px 10px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.05em}.pill.gold{color:var(--gold)}.pill.blue{background:rgba(59,130,246,.1);color:var(--info);border:1px solid rgba(59,130,246,.2)}.pill.green{background:rgba(34,197,94,.1);color:var(--success);border:1px solid rgba(34,197,94,.2)}.pill.red{background:rgba(239,68,68,.1);color:var(--danger);border:1px solid rgba(239,68,68,.2)}.pill.muted{background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border-dim)}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{border-bottom:1px solid var(--border-dim)}.data-table th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.data-table td{padding:13px 16px;font-size:13px;vertical-align:middle}.data-table tbody tr{transition:background var(--transition)}.case-id{font-family:monospace;font-size:12px;color:var(--gold)}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;cursor:pointer;transition:all var(--transition);background:var(--surface-2)}.upload-zone.dragover,.upload-zone:hover{border-color:var(--gold);background:var(--gold-pale)}.upload-zone .upload-icon{font-size:36px;margin-bottom:12px}.upload-zone h4{font-size:15px;margin-bottom:6px}.upload-zone .accepted{font-size:11px;color:var(--text-dim);margin-top:6px}.file-list{margin-top:16px;display:flex;flex-direction:column;gap:8px}.file-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-3);border-radius:var(--radius);border:1px solid var(--border-dim);animation:fadeIn .2s ease}.file-icon{font-size:20px}.file-info{flex:1;min-width:0}.file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--text-muted)}.file-remove{background:0 0;border:0;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 4px;transition:color var(--transition)}.file-remove:hover{color:var(--danger)}.chat-container,.chat-messages{display:flex;flex-direction:column}.chat-container{height:420px}.chat-messages{flex:1;overflow-y:auto;padding:16px;gap:12px}.chat-msg{display:flex;gap:10px;animation:fadeIn .2s ease}.chat-msg.mine{flex-direction:row-reverse}.chat-avatar,.chat-bubble{background:var(--surface-3)}.chat-avatar{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.chat-bubble{max-width:68%;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5;border:1px solid var(--border-dim)}.chat-msg.mine .chat-bubble{background:var(--gold-pale);border-color:var(--border);color:var(--text)}.chat-meta{font-size:10px;color:var(--text-dim);margin-top:4px;text-align:right}.chat-msg:not(.mine) .chat-meta{text-align:left}.chat-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-dim)}.chat-input-row input{flex:1;border-radius:20px;padding:9px 16px}.chat-send{background:var(--gold);border:0;color:#000;width:36px;height:36px;border-radius:50%;font-size:16px;cursor:pointer;flex-shrink:0;transition:all var(--transition)}.chat-send:hover{background:var(--gold-dim)}.encrypted-label{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:var(--text-dim);padding:6px;border-bottom:1px solid var(--border-dim)}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.evidence-item{background:var(--surface-3);border:1px solid var(--border-dim);border-radius:var(--radius);padding:14px;cursor:pointer;transition:all var(--transition)}.evidence-item:hover{border-color:var(--gold);box-shadow:var(--shadow-gold)}.evidence-thumb,.invoice-row{display:flex;align-items:center}.evidence-thumb{width:100%;aspect-ratio:16/9;background:var(--surface-2);border-radius:6px;margin-bottom:10px;justify-content:center;font-size:28px;overflow:hidden}.evidence-item h5{font-size:12px;font-weight:500;margin-bottom:3px}.evidence-item p{font-size:10px;color:var(--text-muted)}.invoice-row{gap:14px;padding:12px 0;border-bottom:1px solid var(--border-dim)}.invoice-row:last-child{border-bottom:none}.invoice-icon{font-size:20px;flex-shrink:0}.invoice-info{flex:1}.invoice-title{font-size:13px;font-weight:500}.invoice-date{font-size:11px;color:var(--text-muted)}.invoice-amount{font-family:var(--font-display);font-size:16px;font-weight:600}.invoice-amount.paid{color:var(--success)}.invoice-amount.due{color:var(--gold)}.invoice-amount.overdue{color:var(--danger)}.retainer-bar-wrap{margin:12px 0}.retainer-bar-label{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-bottom:6px}.retainer-bar{height:8px;background:var(--surface-3);border-radius:4px;overflow:hidden}.retainer-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--gold-dim),var(--gold));transition:width .6s ease}.task-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-dim)}.task-item:last-child{border-bottom:none}.task-check{width:18px;height:18px;border-radius:4px;border:2px solid var(--border);background:0 0;cursor:pointer;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.task-check.checked{background:var(--gold);border-color:var(--gold);color:#000;font-size:11px}.task-text{flex:1;font-size:13px}.task-text.done{text-decoration:line-through;color:var(--text-dim)}.task-assignee,.task-due{font-size:11px;color:var(--text-muted)}.task-due{color:var(--text-dim);white-space:nowrap}.notif-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border-dim);cursor:pointer;transition:background var(--transition)}.notif-item.unread{position:relative}.notif-item.unread::before{content:"";position:absolute;left:-20px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--gold)}.notif-icon{width:34px;height:34px;border-radius:9px;background:var(--gold-pale);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.notif-icon.red{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.2)}.notif-icon.blue{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.2)}.notif-body{flex:1}.notif-title{font-size:13px;font-weight:500}.notif-text{font-size:12px;color:var(--text-muted);margin-top:2px}.notif-time{font-size:11px;color:var(--text-dim);margin-top:4px}.audit-row{display:grid;grid-template-columns:140px 1fr 100px 100px;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-dim);font-size:12px;align-items:center}.audit-row:last-child{border-bottom:none}.audit-row.header{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border)}.audit-time{font-family:monospace;color:var(--text-muted)}.audit-action{color:var(--text)}.audit-user{color:var(--text-muted)}.audit-ip{font-family:monospace;font-size:11px;color:var(--text-dim)}.qr-placeholder,.twofa-setup{display:flex;align-items:center}.twofa-setup{flex-direction:column;gap:16px;padding:20px}.qr-placeholder{width:140px;height:140px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);justify-content:center;font-size:48px}.kb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.kb-card{background:var(--surface-3);border:1px solid var(--border-dim);border-radius:var(--radius);padding:18px;cursor:pointer;transition:all var(--transition)}.kb-card:hover{transform:translateY(-2px)}.kb-icon{font-size:24px;margin-bottom:10px}.kb-title{font-size:13px;font-weight:500;margin-bottom:4px}.kb-count{font-size:11px;color:var(--text-muted)}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:16px 0}.schedule-day{aspect-ratio:1;border-radius:var(--radius);background:var(--surface-3);border:1px solid var(--border-dim);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition)}.kb-card:hover,.schedule-day.active,.schedule-day:hover{border-color:var(--gold)}.schedule-day.active{background:var(--gold-pale);color:var(--gold)}.schedule-day.booked{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);color:var(--info)}.schedule-day.today{border-color:rgba(59,130,246,.6);color:#93c5fd;font-weight:700;background:rgba(59,130,246,.1)}.schedule-day.past{opacity:.35;pointer-events:none}.schedule-day.selected{background:var(--gold);color:#000;border-color:var(--gold);font-weight:700;cursor:pointer}.schedule-header-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.schedule-day-label{text-align:center;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:4px 0}.milestone-list{display:flex;flex-direction:column;gap:0}.milestone-item{display:flex;gap:16px;padding:12px 0;position:relative}.milestone-item:not(:last-child)::before{content:"";position:absolute;left:17px;top:36px;bottom:0;width:2px;background:var(--border-dim)}.milestone-item.done::before{background:var(--gold)}.milestone-marker{width:36px;height:36px;border-radius:50%;border:2px solid var(--border-dim);background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;position:relative;z-index:1}.milestone-item.done .milestone-marker{background:var(--gold);border-color:var(--gold);color:#000}.milestone-item.active .milestone-marker{border-color:var(--gold);color:var(--gold);box-shadow:0 0 10px var(--gold-glow)}.milestone-body{flex:1;padding-top:6px}.milestone-title{font-size:13px;font-weight:500;margin-bottom:2px}.milestone-meta{font-size:11px;color:var(--text-muted)}.modal-overlay,.signature-pad{display:flex;align-items:center;justify-content:center}.signature-pad{border:2px dashed var(--border);border-radius:var(--radius);height:120px;background:var(--surface-2);color:var(--text-dim);font-size:13px;cursor:crosshair;position:relative;overflow:hidden}.signature-pad canvas{position:absolute;inset:0;width:100%;height:100%}.modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:520px;max-width:95vw;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow);animation:fadeSlideUp .2s ease}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-dim);display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:var(--font-display);font-size:20px;font-weight:600}.modal-close{background:0 0;border:0;color:var(--text-muted);font-size:20px;cursor:pointer;line-height:1;transition:color var(--transition)}.modal-close:hover{color:var(--danger)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-dim);display:flex;justify-content:flex-end;gap:10px}#toast-container{position:fixed;bottom:24px;right:24px;z-index:900;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:10px;min-width:280px;max-width:360px;box-shadow:var(--shadow);animation:toastIn .3s ease;pointer-events:all}.toast.fade-out{animation:toastOut .3s ease forwards}.toast-icon{font-size:18px;flex-shrink:0}.toast-text{flex:1;font-size:13px}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}.toast.info{border-left:3px solid var(--info)}.toast.warning{border-left:3px solid var(--gold)}.coc-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--border-dim)}.coc-item:last-child{border-bottom:none}#lightbox-overlay,.coc-num{display:flex;align-items:center;justify-content:center}.coc-num{width:24px;height:24px;border-radius:50%;background:var(--gold-pale);border:1px solid var(--border);font-size:11px;font-weight:700;color:var(--gold);flex-shrink:0}.coc-body{flex:1}.coc-action{font-size:13px;font-weight:500}.coc-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group,.form-row{margin-bottom:14px}.form-hint{font-size:11px;color:var(--text-dim);margin-top:4px}.step-indicator{display:flex;gap:6px;margin-bottom:24px}.step-dot{flex:1;height:4px;border-radius:2px;background:var(--border-dim);transition:background var(--transition)}.step-dot.active,.step-dot.done{background:var(--gold)}.step-dot.active{opacity:.6}.page{animation:fadeIn .25s ease}.admin-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(245,158,11,.15);border:1px solid var(--gold);color:var(--gold);border-radius:20px;padding:2px 10px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.print-doc-logo span,.sidebar-brand.admin-mode small{color:#f59e0b}#lightbox-overlay{position:fixed;inset:0;z-index:800;background:rgba(0,0,0,.92);backdrop-filter:blur(6px);animation:fadeIn .2s ease}#pdf-overlay,.lightbox-inner{display:flex;flex-direction:column}.lightbox-inner{position:relative;max-width:90vw;max-height:88vh;align-items:center}.lightbox-img{max-width:85vw;max-height:75vh;object-fit:contain;border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 8px 48px rgba(0,0,0,.7);transition:transform .2s ease;cursor:zoom-in;display:block}.lightbox-img.zoomed{cursor:zoom-out}.lightbox-emoji-img{font-size:120px;line-height:1;display:flex;align-items:center;justify-content:center;min-width:300px;min-height:200px}.lightbox-controls{display:flex;align-items:center;gap:10px;margin-top:16px}.lightbox-btn,.lightbox-close{background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;transition:all var(--transition)}.lightbox-btn{border:1px solid var(--border);border-radius:var(--radius);padding:8px 18px;font-size:13px;font-weight:500;gap:6px}.lightbox-btn:hover{border-color:var(--gold);color:var(--gold)}.lightbox-close{position:absolute;top:-44px;right:0;border:1px solid var(--border-dim);width:36px;height:36px;border-radius:50%;font-size:18px;justify-content:center;z-index:1}.lightbox-close:hover{background:var(--danger);border-color:var(--danger);color:#fff}.lightbox-caption{font-size:12px;color:var(--text-muted);margin-top:10px;text-align:center;max-width:500px}.lightbox-zoom-label{font-size:11px;color:var(--text-dim);padding:0 4px;min-width:44px;text-align:center}#pdf-overlay{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.85);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.pdf-toolbar{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:12px;flex-shrink:0}.pdf-toolbar-title{font-family:var(--font-display);font-size:16px;font-weight:600;flex:1}.pdf-toolbar-meta{font-size:11px;color:var(--text-muted)}.pdf-auth-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);color:var(--success);border-radius:20px;padding:3px 10px;font-size:11px}.pdf-locked-badge{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:var(--danger)}.pdf-body,.pdf-frame-wrap,.pdf-placeholder-inner{display:flex;align-items:center;justify-content:center}.pdf-body{flex:1;overflow:hidden;padding:24px}.pdf-frame-wrap,.pdf-placeholder-inner{flex-direction:column}.pdf-frame-wrap{width:100%;height:100%;max-width:900px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);gap:16px}.pdf-placeholder-inner{gap:14px;padding:40px;text-align:center;color:#333}.pdf-close-btn{background:0 0;border:1px solid var(--border-dim);color:var(--text-muted);border-radius:var(--radius);padding:7px 16px;font-size:13px;cursor:pointer;transition:all var(--transition)}.pdf-close-btn:hover{border-color:var(--danger);color:var(--danger)}.user-row{display:grid;grid-template-columns:36px 1fr 120px 90px 100px 80px;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-dim);align-items:center;font-size:13px}.user-row.header{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border)}.user-avatar-sm{width:30px;height:30px;border-radius:50%;background:var(--gold-pale);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--gold)}.user-name{font-weight:500}.user-email{font-size:11px;color:var(--text-muted);margin-top:1px}.section-toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.section-toggle-item{display:flex;align-items:center;justify-content:space-between;background:var(--surface-3);border-radius:var(--radius);padding:8px 12px;font-size:12px}.toggle-switch{position:relative;width:34px;height:18px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-track{position:absolute;inset:0;background:var(--border-dim);border-radius:9px;cursor:pointer;transition:background .2s}.toggle-track::before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s}.toggle-switch input:checked+.toggle-track{background:var(--gold)}.toggle-switch input:checked+.toggle-track::before{transform:translateX(16px)}.report-admin-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-3);border-radius:var(--radius);margin-top:8px;font-size:12px}.report-admin-row .label{flex:1;font-weight:500}.case-search-bar,.report-admin-controls{display:flex;gap:6px;align-items:center}.case-search-bar{gap:10px;flex-wrap:wrap;margin-bottom:16px}.case-search-bar input{flex:1;min-width:180px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px}.case-search-bar input:focus{outline:0;border-color:var(--gold)}.case-search-bar select{padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;cursor:pointer}.case-count-label{font-size:12px;color:var(--text-muted);margin-left:auto;white-space:nowrap}.notif-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}#push-permission-bar,.notif-setting-row{display:flex;align-items:center;gap:12px;border-radius:var(--radius)}.notif-setting-row{justify-content:space-between;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border)}.notif-setting-label{font-size:13px;flex:1}.notif-setting-desc{font-size:11px;color:var(--text-muted);margin-top:2px}#push-permission-bar{flex-wrap:wrap;padding:12px 18px;margin-bottom:16px;background:rgba(245,158,11,.1);border:1px solid var(--gold-dim);font-size:13px}.push-granted-bar{background:rgba(34,197,94,.1)!important;border-color:rgba(34,197,94,.3)!important;color:var(--success)!important}.push-denied-bar{background:rgba(239,68,68,.1)!important;border-color:rgba(239,68,68,.3)!important}#print-report-overlay{position:fixed;inset:0;z-index:900;background:#f5f5f5;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:32px 16px}.print-doc{width:100%;max-width:800px;background:#fff;border-radius:6px;box-shadow:0 4px 32px rgba(0,0,0,.18);padding:56px 64px;color:#1a1a2e;font-family:"Inter",sans-serif;font-size:13px;line-height:1.8}.print-toolbar{width:100%;max-width:800px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px;flex-wrap:wrap}.print-toolbar-title{font-size:14px;font-weight:600;color:#1a1a2e}.print-doc-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #f59e0b;padding-bottom:20px;margin-bottom:24px}.print-doc-logo{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:700;color:#1a1a2e}.print-doc-meta{text-align:right;font-size:12px;color:#555;line-height:1.7}.print-doc h1,.print-doc h2{font-family:"Cormorant Garamond",serif;font-size:22px;margin:0 0 4px}.print-doc h2{font-size:16px;color:#f59e0b;margin:28px 0 10px;border-bottom:1px solid #e5e7eb;padding-bottom:4px}.print-doc p{margin:0 0 10px;color:#333}.print-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:12px}.print-table th{background:#f8f8f8;border:1px solid #e0e0e0;padding:7px 10px;text-align:left;font-weight:600;color:#444}.audit-print-doc td,.print-table td{border:1px solid #e0e0e0;padding:7px 10px;color:#333}.audit-print-doc tr:nth-child(even) td,.print-table tr:nth-child(even) td{background:#fafafa}.print-footer{margin-top:40px;padding-top:16px;border-top:1px solid #e5e7eb;font-size:11px;color:#999;display:flex;justify-content:space-between}.print-classification{display:inline-block;background:#1a1a2e;color:#f59e0b;font-size:10px;font-weight:700;letter-spacing:.12em;padding:3px 10px;border-radius:3px;text-transform:uppercase;margin-bottom:12px}@media print{#print-report-overlay{position:static;padding:0;background:#fff}.print-toolbar{display:none}.print-doc{box-shadow:none;border-radius:0;max-width:100%;padding:20mm}}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99}@media (max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.three-col{grid-template-columns:1fr 1fr}.evidence-grid,.kb-grid{grid-template-columns:repeat(2,1fr)}.audit-row{grid-template-columns:120px 1fr 80px}.audit-row .audit-ip{display:none}}@media (max-width:820px){#sidebar{transform:translateX(-100%);z-index:200}#sidebar.open{transform:translateX(0)}.sidebar-overlay.show{display:block}#main-content{margin-left:0}.hamburger{display:flex}.three-col,.two-col,.wide-narrow{grid-template-columns:1fr}.page-content{padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.greeting-banner{flex-direction:column;gap:12px;align-items:flex-start}.header-search{display:none}.audit-row{grid-template-columns:1fr 1fr;font-size:11px}.form-row{grid-template-columns:1fr}.evidence-grid{grid-template-columns:repeat(2,1fr)}.kb-grid{grid-template-columns:1fr 1fr}.schedule-grid{grid-template-columns:repeat(7,1fr)}.modal{width:calc(100vw - 24px)!important;max-height:90vh;overflow-y:auto;margin:12px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg)0 0!important}.card-input-row{grid-template-columns:1fr!important}#toast-container{right:12px!important;left:12px!important;max-width:none!important}.login-box{padding:32px 24px}.twofa-row{gap:5px}.twofa-row input{padding:10px 4px;font-size:16px}}@media (max-width:480px){.evidence-grid,.kb-grid,.stats-grid{grid-template-columns:1fr}.header-title span{display:none}.login-box{padding:24px 16px;width:calc(100vw - 24px)}.login-logo,.login-tagline{margin-bottom:20px}.modal-overlay{align-items:flex-start;padding:0}.modal{width:100vw!important;max-height:100vh;border-radius:0!important}.case-detail-tabs{padding:0 12px}}.payment-tabs{display:flex;gap:0;margin-bottom:20px;background:var(--surface-2);border-radius:var(--radius);padding:4px}.payment-tab{flex:1;padding:7px 0;text-align:center;border:0;background:0 0;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;border-radius:7px;transition:all .2s;letter-spacing:.04em}.payment-tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.18)}.payment-panel{display:none}.payment-panel.active{display:block}.card-input-row{display:grid;grid-template-columns:1fr 80px 70px;gap:10px}#stripe-card-element.StripeElement--focus{border-color:var(--gold)!important;box-shadow:0 0 0 2px rgba(245,158,11,.18)}#stripe-card-element.StripeElement--invalid{border-color:var(--danger, #ef4444)!important}.pay-amount-badge,.pay-method-row{align-items:center;border-radius:var(--radius)}.pay-amount-badge{display:inline-flex;gap:8px;background:var(--gold-pale);border:1px solid var(--gold-dim);padding:10px 16px;font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--gold);margin-bottom:16px;width:100%;justify-content:center}.pay-method-row{display:flex;gap:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;margin-bottom:8px;transition:border-color .2s}.pay-method-row:hover{border-color:var(--gold)}.pay-method-icon{font-size:22px}.pay-method-label{font-size:13px;font-weight:500}.pay-method-sub{font-size:11px;color:var(--text-muted)}.pay-security-note{font-size:11px;color:var(--text-dim);text-align:center;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px}.map-container{width:100%;height:480px;border-radius:var(--radius-lg);overflow:hidden;position:relative;background:var(--surface-2);border:1px solid var(--border)}.map-canvas-inner{width:100%;height:100%;position:relative;background:linear-gradient(145deg,#0d1117 0,#111827 40%,#0a0f1a 100%)}.map-grid{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px}.map-location-pin{position:absolute;display:flex;flex-direction:column;align-items:center;cursor:pointer;transform:translate(-50%,-100%);animation:pinDrop .4s ease}.map-pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 4px rgba(245,158,11,.3)}.map-pin-dot.gold{background:var(--gold)}.map-pin-dot.blue{background:var(--info);box-shadow:0 0 0 4px rgba(59,130,246,.3)}.map-pin-dot.red{background:var(--danger);box-shadow:0 0 0 4px rgba(239,68,68,.3)}.map-pin-dot.green{background:var(--success);box-shadow:0 0 0 4px rgba(34,197,94,.3)}.map-pin-stem{width:2px;height:12px;background:currentColor;opacity:.6}.map-pin-label,.map-pulse{position:absolute;pointer-events:none}.map-pin-label{top:-38px;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:3px 8px;font-size:10px;font-weight:600;white-space:nowrap}.map-pulse{border-radius:50%;animation:mapPulse 2s ease-out infinite}.map-legend{display:flex;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--surface-2);border-top:1px solid var(--border);font-size:12px}.map-legend-item{display:flex;align-items:center;gap:6px}.map-legend-dot{width:10px;height:10px;border-radius:50%}.map-controls{display:flex;gap:8px;align-items:center}.map-info-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font-size:12px}.map-event-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-dim);align-items:flex-start}.activity-item:last-child,.map-event-row:last-child{border-bottom:none}.map-event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.esign-steps{display:flex;gap:0;margin-bottom:20px;position:relative}.esign-steps::before{content:"";position:absolute;top:16px;left:0;right:0;height:2px;background:var(--border);z-index:0}.esign-step,.esign-step-num{display:flex;align-items:center}.esign-step{flex:1;flex-direction:column;gap:6px;position:relative;z-index:1}.esign-step-num{width:32px;height:32px;border-radius:50%;justify-content:center;font-size:12px;font-weight:700;background:var(--surface-3);border:2px solid var(--border);color:var(--text-muted);transition:all .3s}.esign-step.active .esign-step-num{background:var(--gold);border-color:var(--gold);color:#000;box-shadow:0 0 0 4px var(--gold-pale)}.esign-step.done .esign-step-num{background:var(--success);border-color:var(--success);color:#fff}.esign-step-label{font-size:10px;text-align:center;color:var(--text-muted);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.esign-step.active .esign-step-label{color:var(--gold)}.esign-step.done .esign-step-label{color:var(--success)}.esign-doc-preview{background:#fff;border-radius:var(--radius);padding:28px 32px;color:#1a1a2e;border:1px solid var(--border);font-size:13px;line-height:1.8;min-height:220px;position:relative}.esign-doc-preview h3{font-family:var(--font-display);font-size:18px;margin:0 0 8px;color:#0a0a1a}.esign-doc-preview p{color:#444;margin:0 0 8px}.esign-sig-area{border:2px dashed var(--border);border-radius:var(--radius);padding:16px;margin-top:12px;background:var(--surface-2)}.esign-sig-canvas-wrap{position:relative;background:#fff;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}#esign-canvas{display:block;cursor:crosshair}#esign-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:13px;pointer-events:none}.esign-complete-badge{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;text-align:center}#esign-overlay{display:flex}#audit-pdf-overlay.hidden,#esign-overlay.hidden,#vault-content.hidden,#vault-lock-screen.hidden{display:none}.audit-export-bar,.audit-filter-row{display:flex;flex-wrap:wrap;align-items:center}.audit-export-bar{gap:10px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px}.audit-filter-row{gap:8px;flex:1}.audit-filter-row input,.audit-filter-row select{padding:6px 10px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px}#audit-pdf-overlay{position:fixed;inset:0;z-index:950;background:#f0f0f0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:32px 16px}.audit-print-doc{width:100%;max-width:820px;background:#fff;border-radius:6px;box-shadow:0 4px 32px rgba(0,0,0,.15);padding:48px 56px;color:#1a1a2e;font-family:"Inter",sans-serif;font-size:12px;line-height:1.7}.audit-print-doc table{width:100%;border-collapse:collapse;margin:12px 0}.audit-print-doc th{background:#f5f5f5;border:1px solid #ddd;padding:7px 10px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#555}@media print{#audit-pdf-overlay{position:static;padding:0;background:#fff}.print-toolbar{display:none}.audit-print-doc{box-shadow:none;max-width:100%;padding:20mm}}.live-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:var(--success);border-radius:20px;padding:2px 9px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.live-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);animation:livePulse 1.4s ease-in-out infinite}.status-track{display:flex;flex-direction:column;gap:0;position:relative}.status-track-fill,.status-track-line{position:absolute;left:15px;top:0;width:2px}.status-track-line{bottom:0;background:var(--border-dim);z-index:0}.status-track-fill{background:linear-gradient(180deg,var(--gold),var(--success));z-index:1;transition:height 1.2s ease}.status-track-item{display:flex;align-items:flex-start;gap:14px;padding:10px 0;position:relative;z-index:2}.status-track-node{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--surface-3);border:2px solid var(--border);color:var(--text-dim);transition:all .4s}.status-track-item.done .status-track-node{background:var(--gold);border-color:var(--gold);color:#000}.status-track-item.active .status-track-node{background:var(--surface);border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px var(--gold-pale);animation:nodeGlow 2s ease-in-out infinite}.status-track-body{flex:1;padding-top:5px}.status-track-title{font-size:13px;font-weight:500}.status-track-item.done .status-track-title{color:var(--text)}.status-track-item.active .status-track-title{color:var(--gold)}.status-track-item:not(.done):not(.active) .status-track-title{color:var(--text-muted)}.status-track-meta{font-size:11px;color:var(--text-dim);margin-top:2px}.status-track-item.done .status-track-meta{color:var(--text-muted)}.activity-feed{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-dim);align-items:flex-start;animation:feedIn .4s ease}.activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.activity-text{font-size:12px;flex:1}.activity-time{font-size:10px;color:var(--text-dim);white-space:nowrap;margin-top:2px}.checklist-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:8px;background:var(--surface-2);cursor:pointer;transition:border-color .2s,background .2s}.checklist-item:hover{border-color:var(--gold-dim)}.checklist-item.checked{background:rgba(34,197,94,.06);border-color:rgba(34,197,94,.3)}.checklist-item.checked .checklist-label{text-decoration:line-through;color:var(--text-muted)}.checklist-box{width:20px;height:20px;border-radius:5px;flex-shrink:0;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s;background:var(--surface-3)}.checklist-item.checked .checklist-box{background:var(--success);border-color:var(--success);color:#fff}.checklist-label{font-size:13px;font-weight:500;flex:1}.checklist-badge{font-size:10px;padding:2px 8px}.checklist-progress-bar{height:6px;border-radius:3px;background:var(--border-dim);overflow:hidden;margin-bottom:12px}.checklist-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--success));transition:width .5s ease}.checklist-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--text-muted)}#vault-lock-screen,.vault-pin-row{display:flex;justify-content:center}#vault-lock-screen{flex-direction:column;align-items:center;gap:16px;padding:48px 24px;text-align:center}.vault-pin-row{gap:10px;margin:8px 0}.vault-pin-input{width:44px;height:52px;text-align:center;font-size:22px;background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius);color:var(--text);font-weight:700;transition:border-color .2s}.vault-pin-input:focus{outline:0;border-color:var(--gold)}.vault-file-row{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;transition:border-color .2s}.vault-file-row:hover{border-color:var(--gold-dim)}.vault-file-icon{font-size:20px;flex-shrink:0}.vault-file-info{flex:1}.vault-file-name{font-size:13px;font-weight:500}.vault-file-meta{font-size:11px;color:var(--text-muted);margin-top:1px}.vault-enc-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--success);background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);border-radius:10px;padding:2px 7px}.vault-header-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(245,158,11,.08);border:1px solid var(--gold-dim);border-radius:var(--radius);margin-bottom:14px}.gmap-wrap,.vault-lock-btn{border:1px solid var(--border)}.vault-lock-btn{background:0 0;border-radius:var(--radius);color:var(--text-muted);padding:5px 12px;font-size:12px;cursor:pointer;transition:all .2s}.vault-lock-btn:hover{border-color:var(--danger);color:var(--danger)}.gmap-wrap{width:100%;height:480px;border-radius:var(--radius-lg);overflow:hidden;position:relative}.gmap-wrap iframe{width:100%;height:100%;border:0;display:block}.gmap-api-notice{padding:10px 16px;background:var(--surface-2);border-top:1px solid var(--border);font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:8px}#text-editor-overlay[style*=flex]{display:flex!important}#editor-area:focus{border-color:var(--gold-dim);box-shadow:0 0 0 2px rgba(245,158,11,.12)}#editor-area:empty::before{content:attr(placeholder);color:var(--text-dim);pointer-events:none}.vault-tag{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:all .15s;letter-spacing:.03em}.vault-tag:hover{border-color:var(--gold-dim);color:var(--text)}.vault-tag.active{background:rgba(245,158,11,.12);border-color:var(--gold);color:var(--gold)}.vault-cat-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.vault-cat-badge.reports{background:rgba(59,130,246,.12);color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.vault-cat-badge.evidence{background:rgba(245,158,11,.1);color:var(--gold);border:1px solid var(--gold-dim)}.vault-cat-badge.legal{background:rgba(139,92,246,.1);color:#a78bfa;border:1px solid rgba(139,92,246,.2)}.vault-cat-badge.financial{background:rgba(34,197,94,.1);color:var(--success);border:1px solid rgba(34,197,94,.2)}.vault-cat-badge.video{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.2)}.admin-note-entry{padding:10px 12px;border-left:2px solid var(--gold-dim);margin-bottom:10px;background:var(--surface-2);border-radius:0 var(--radius) var(--radius)0}.admin-note-entry-meta{font-size:10px;color:var(--text-dim);margin-bottom:4px;letter-spacing:.04em}.admin-note-entry-body{font-size:12px;color:var(--text-muted);line-height:1.6}