@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,400;1,700&family=JetBrains+Mono:wght@400;500;600;700&display=swap");:root{--primary:#003b6f;--primary-dark:#00264a;--primary-light:#ebf2f8;--secondary:#005a9c;--secondary-light:#f0f6fa;--gold:#c9972b;--gold-light:#fdf8ee;--gold-border:#e5c882;--bg-app:#f7f8fa;--white:#fff;--gray-50:#fafbfc;--gray-100:#f0f2f5;--gray-200:#d9e0e6;--gray-300:#b5c0cc;--gray-500:#8592a0;--gray-600:#5f6b76;--gray-900:#17212b;--success:#2e7d32;--success-bg:#e8f5e9;--success-border:#a5d6a7;--warning:#ed6c02;--warning-bg:#fff3e0;--warning-border:#ffcc80;--danger:#c62828;--danger-bg:#ffebee;--danger-border:#ef9a9a;--info:#005a9c;--info-bg:#e1f5fe;--info-border:#81d4fa;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--font-sans:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono","Consolas","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.5rem;--radius-sm:4px;--radius-md:6px;--border:1px solid var(--gray-200);--sidebar-width:250px;--shadow-subtle:0 1px 3px rgba(23,33,43,.05)}*,:after,:before{box-sizing:border-box;margin:0;padding:0;min-width:0}html{font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{overflow-x:hidden}body{font-family:var(--font-sans);background:var(--bg-app);color:var(--gray-900);min-height:100vh;width:100%}h1{font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.3}h1,h2{font-weight:700;color:var(--gray-900);word-break:break-word}h2{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.35}h3{font-size:1.05rem;font-weight:700;color:var(--gray-900);line-height:1.4}h3,p{word-break:break-word}p{color:var(--gray-600)}a{color:var(--secondary);text-decoration:none}a:hover{text-decoration:underline}.mono{font-size:var(--text-sm)}.hash,.mono{font-family:var(--font-mono)}.hash{font-size:var(--text-xs);color:var(--gray-600);word-break:break-all;overflow-wrap:anywhere}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:56px 1fr;min-height:100vh;width:100%}.topbar{grid-column:1/-1;background:var(--primary);color:var(--white);padding:0 clamp(12px,2vw,28px);border-bottom:2px solid var(--gold);position:sticky;top:0;z-index:100;height:56px;justify-content:space-between}.topbar,.topbar-left{display:flex;align-items:center;gap:var(--space-3)}.topbar-left{flex-shrink:0}.topbar-menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:1.4rem;padding:4px 8px;cursor:pointer;border-radius:var(--radius-sm);line-height:1}.topbar-menu-toggle:hover{background:hsla(0,0%,100%,.15)}.topbar-brand{gap:var(--space-2);text-decoration:none;color:var(--white);flex-shrink:1;min-width:0}.topbar-brand,.topbar-brand-text{display:flex;align-items:center}.topbar-logo-img{height:36px;width:auto;object-fit:contain;flex-shrink:0}.topbar-title{font-size:var(--text-sm);font-weight:900;letter-spacing:.06em;color:var(--white);text-transform:uppercase;white-space:nowrap}.topbar-badge{background:var(--gold);color:var(--gray-900);padding:1px 5px;border-radius:var(--radius-sm);font-size:.6875rem;margin-left:6px}.topbar-badge,.topbar-page-title{font-weight:700;white-space:nowrap}.topbar-page-title{margin-left:12px;padding-left:10px;border-left:1px solid hsla(0,0%,100%,.25);font-size:.8125rem;color:hsla(0,0%,100%,.85)}.topbar-user{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);flex-shrink:0}.topbar-unit-label{font-size:.75rem;color:hsla(0,0%,100%,.7)}.topbar-username{color:var(--white)}.user-badge{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);padding:2px 6px;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:700;text-transform:uppercase}.btn-signout,.user-badge{color:var(--white);white-space:nowrap}.btn-signout{background:transparent;border:1px solid hsla(0,0%,100%,.35);padding:4px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:all .15s;flex-shrink:0}.btn-signout:hover{background:hsla(0,0%,100%,.2)}.sidebar{background:var(--white);border-right:var(--border);padding:var(--space-4) 0;display:flex;flex-direction:column;height:calc(100vh - 56px);position:sticky;top:56px;overflow-y:auto;width:var(--sidebar-width);z-index:90}.sidebar-backdrop,.sidebar-mobile-header{display:none}.nav-group-title{font-size:var(--text-xs);font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em}.nav-group-title,.nav-item{padding:var(--space-2) var(--space-6)}.nav-item{display:flex;align-items:center;gap:var(--space-3);color:var(--gray-600);font-weight:600;font-size:var(--text-base);border-left:3px solid transparent;transition:all .1s;white-space:nowrap}.nav-item:hover{background:var(--secondary-light);color:var(--primary);text-decoration:none}.nav-item.active{background:var(--primary-light);color:var(--primary);border-left-color:var(--primary);font-weight:700}.main-view{background:var(--bg-app);min-height:calc(100vh - 56px);display:flex;flex-direction:column;overflow-x:hidden;width:100%}.page-header{background:var(--white);border-bottom:var(--border);padding:var(--space-4) clamp(16px,2.5vw,32px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.page-body{padding:var(--space-6) clamp(16px,2.5vw,32px);flex:1;width:100%}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px}.audit-grid{gap:24px}.audit-grid,.detail-meta-grid{display:grid;grid-template-columns:1fr 1fr}.detail-meta-grid{gap:16px;margin-bottom:16px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.metric-panel{background:var(--white);border:var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5);border-left:4px solid var(--primary);box-shadow:var(--shadow-subtle)}.metric-panel.highlight{border-left-color:var(--gold)}.metric-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-600);margin-bottom:var(--space-1)}.metric-value{font-size:1.85rem;font-weight:900;color:var(--primary);line-height:1.1;font-family:var(--font-sans)}.metric-sub{font-size:var(--text-xs);color:var(--gray-500);margin-top:var(--space-1)}.card{background:var(--white);border:var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-subtle);width:100%}.card,.card-header{margin-bottom:var(--space-4)}.card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-2);border-bottom:var(--border);flex-wrap:wrap;gap:var(--space-2)}.card-header h2,.card-header h3{margin:0;font-size:var(--text-lg);color:var(--primary)}.card-gold-accent{border-top:3px solid var(--gold)}.table-container{width:100%;overflow-x:auto;border:var(--border);border-radius:var(--radius-sm);background:var(--white);-webkit-overflow-scrolling:touch}table.data-table{width:100%;border-collapse:collapse;font-size:var(--text-base);text-align:left}table.data-table th{background:var(--gray-50);font-weight:700;white-space:nowrap;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}table.data-table td,table.data-table th{padding:12px 16px;color:var(--gray-900);border-bottom:var(--border)}table.data-table td{vertical-align:middle}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table tbody tr:hover{background:var(--secondary-light);cursor:pointer}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px 7px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.badge-gold{background:var(--gold-light);color:#8f6512;border:1px solid var(--gold-border)}.badge-neutral{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200)}.badge-guard{background:var(--primary-light);color:var(--primary);border:1px solid #b0cbe0}.badge-fair{background:var(--gold-light);color:#8f6512;border:1px solid var(--gold-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:8px 16px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;border:1px solid transparent;cursor:pointer;text-decoration:none!important;transition:all .15s ease;line-height:1.4;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--secondary);outline-offset:1px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--white);border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--white);color:var(--primary);border-color:var(--primary)}.btn-secondary:hover:not(:disabled){background:var(--secondary-light)}.btn-gold{background:var(--gold);color:var(--gray-900);border-color:var(--gold)}.btn-gold:hover:not(:disabled){background:#b8851f}.btn-ghost{background:transparent;color:var(--gray-600);border-color:var(--gray-200)}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900)}.btn-confirm{background:var(--success);color:var(--white);border-color:var(--success)}.btn-confirm:hover:not(:disabled){background:#256628}.btn-reject{background:var(--white);color:var(--danger);border-color:var(--danger)}.btn-reject:hover:not(:disabled){background:var(--danger-bg)}.btn-sm{padding:5px 12px;font-size:var(--text-xs)}.btn-lg{padding:10px 22px;font-size:var(--text-lg)}.btn-block{width:100%}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-weight:700;margin-bottom:var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em}.form-label,.input{color:var(--gray-900)}.input{width:100%;padding:8px 12px;border:var(--border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-base);background:var(--white);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 2px rgba(0,90,156,.15)}.input::placeholder{color:var(--gray-300)}textarea.input{resize:vertical;min-height:80px}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border-left:3px solid;margin-bottom:var(--space-4);font-size:var(--text-base);line-height:1.5;word-break:break-word}.alert-warning{background:var(--warning-bg);border-color:var(--warning);color:#8a3b00}.alert-info{background:var(--info-bg);border-color:var(--info);color:#003b6f}.alert-success{background:var(--success-bg);border-color:var(--success);color:#1b5e20}.alert-danger{background:var(--danger-bg);border-color:var(--danger);color:#b71c1c}.tabs-bar{display:flex;border-bottom:2px solid var(--gray-200);background:var(--white);padding:0 clamp(16px,2.5vw,32px);gap:var(--space-2);overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab-btn{background:transparent;padding:12px 16px;font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;color:var(--gray-600);cursor:pointer;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .15s;flex-shrink:0}.tab-btn.active,.tab-btn:hover{color:var(--primary)}.tab-btn.active{border-bottom-color:var(--primary)}.modal-overlay{position:fixed;inset:0;background:rgba(23,33,43,.6);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--space-4)}.modal-content{background:var(--white);border-radius:var(--radius-md);width:640px;max-width:min(640px,95vw);max-height:90vh;box-shadow:0 10px 25px rgba(0,0,0,.25);border:var(--border);overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:var(--space-4) var(--space-6);background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-header h2{color:var(--white);margin:0;font-size:var(--text-lg)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1}.modal-footer{padding:var(--space-4) var(--space-6);background:var(--gray-50);border-top:var(--border);display:flex;justify-content:flex-end;gap:var(--space-3);flex-shrink:0;flex-wrap:wrap}@media (max-width:1200px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.app-shell{grid-template-columns:1fr}.sidebar,.topbar-menu-toggle{display:block}.sidebar{position:fixed;top:56px;left:0;bottom:0;width:280px;background:var(--white);z-index:150;transform:translateX(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 20px rgba(0,0,0,.18)}.sidebar.open{transform:translateX(0)}.sidebar-mobile-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:var(--border);margin-bottom:12px}.sidebar-backdrop{display:block;position:fixed;inset:56px 0 0 0;background:rgba(23,33,43,.5);z-index:140;animation:fadeIn .15s ease-out}.audit-grid,.dashboard-grid,.workspace-grid{grid-template-columns:1fr;gap:16px}}@media (max-width:900px){.topbar-page-title{display:none}}@media (max-width:768px){.page-header{flex-direction:column;align-items:flex-start;padding:var(--space-4);gap:12px}.page-header>div:last-child{width:100%;display:flex;flex-wrap:wrap;gap:8px}.page-body{padding:var(--space-4)}.detail-meta-grid{grid-template-columns:1fr;gap:12px}}@media (max-width:680px){.topbar{padding:0 10px;gap:6px}.topbar-badge,.topbar-unit-label,.topbar-username{display:none}.topbar-logo-img{height:32px}.topbar-title{font-size:.8125rem}.user-badge{font-size:.625rem;padding:2px 4px}.btn-signout{padding:3px 6px;font-size:.6875rem}}@media (max-width:540px){.summary-grid{grid-template-columns:1fr}.modal-body{padding:var(--space-4)}.modal-footer,.modal-header{padding:var(--space-3) var(--space-4)}}@media (max-width:460px){.topbar{padding:0 8px;gap:4px}.topbar-menu-toggle{padding:3px 6px;font-size:1.1rem}.topbar-logo-img{height:28px}.topbar-title{font-size:.75rem}.user-badge{display:none}.btn-signout{padding:3px 6px;font-size:.6875rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}