*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#0a0a0a;--white:#fff;--yellow:#ffce00;--g1:#f5f5f5;--g2:#e8e8e8;--g3:#999;--g4:#444;--g5:#222;--green:#22a06b;--green-bg:#e8f5ee;--green-text:#0d5c36;--red:#c0392b;--red-bg:#fdecea;--red-text:#7b1a13;--amber:#e67e22;--amber-bg:#fef4e7;--amber-text:#7d3c00;--blue:#2563eb;--blue-bg:#eff6ff;--blue-text:#1e40af;--purple:#534ab7;--purple-bg:#eeedfe;--purple-text:#3c3489;--sidebar:220px}body{background:var(--g1);color:var(--black);min-height:100vh;font-family:Barlow,sans-serif}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stripe{background:var(--yellow);width:100%;height:3px}.login-screen{background:var(--black);z-index:999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-box{background:var(--white);text-align:center;width:380px;max-width:95vw;padding:4rem 2.5rem 3rem}.login-logo{letter-spacing:.2em;text-transform:uppercase;color:var(--black);font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:700}.login-logo span{color:var(--yellow);letter-spacing:0}.login-sub{color:var(--g3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:2rem;font-size:11px}.lf{text-align:left;margin-bottom:10px}.lf label{letter-spacing:.16em;text-transform:uppercase;color:var(--g3);margin-bottom:5px;font-size:9px;font-weight:700;display:block}.lin{border:1px solid var(--g2);background:var(--g1);width:100%;color:var(--black);outline:none;padding:11px 14px;font-family:Barlow,sans-serif;font-size:14px;transition:border-color .15s}.lin:focus{border-color:var(--black)}.lbtn{width:100%;color:var(--black);background:var(--yellow);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;border:none;margin-top:4px;padding:13px;font-family:Barlow,sans-serif;font-size:12px;font-weight:700;transition:opacity .15s}.lbtn:hover{opacity:.88}.lerr{color:var(--red);text-align:center;margin-top:8px;font-size:12px}.lfooter{color:var(--g3);letter-spacing:.1em;text-transform:uppercase;border-top:1px solid var(--g2);margin-top:1.5rem;padding-top:1rem;font-size:9px}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);background:var(--black);z-index:50;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid #1a1a1a;align-items:center;gap:8px;padding:18px 20px 16px;display:flex}.sidebar-logo .wordmark{letter-spacing:.2em;text-transform:uppercase;color:var(--white);font-family:Barlow Condensed,sans-serif;font-size:19px;font-weight:700;line-height:1}.sidebar-logo .wordmark span{color:var(--yellow);letter-spacing:0}.nav{flex:1;padding:12px 0;overflow-y:auto}.nav-section{margin-bottom:4px;padding:0 12px}.nav-label{letter-spacing:.18em;text-transform:uppercase;color:#666;padding:8px 8px 4px;font-size:8px;font-weight:700}.nav-item{cursor:pointer;color:#aaa;border-radius:3px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .12s;display:flex;position:relative}.nav-item:hover{color:#eee;background:#111}.nav-item.active{color:var(--white);background:#1a1a1a}.nav-item.active:before{content:"";background:var(--yellow);border-radius:0 2px 2px 0;width:2px;position:absolute;top:4px;bottom:4px;left:0}.nav-icon{opacity:.9;flex-shrink:0;width:15px;height:15px}.nav-badge{background:var(--yellow);color:var(--black);text-align:center;border-radius:10px;min-width:18px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:800}.sidebar-bottom{border-top:1px solid #1a1a1a;padding:14px 16px}.user-avatar{background:var(--yellow);width:30px;height:30px;color:var(--black);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.user-name{color:var(--white);font-size:13px;font-weight:600}.user-role{color:#777;letter-spacing:.06em;text-transform:uppercase;font-size:10px}.logout-btn{cursor:pointer;color:#666;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:none;margin-left:auto;padding:4px 8px;font-family:Barlow,sans-serif;font-size:10px;font-weight:700;transition:color .15s}.logout-btn:hover{color:var(--red)}.main{margin-left:var(--sidebar);flex-direction:column;flex:1;min-height:100vh;display:flex}.topbar{background:var(--white);border-bottom:1px solid var(--g2);z-index:40;justify-content:space-between;align-items:center;height:54px;padding:0 2rem;display:flex;position:sticky;top:0}.topbar-title{color:var(--black);font-size:15px;font-weight:700}.content{flex:1;padding:2rem}.btn{letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;align-items:center;gap:6px;padding:9px 18px;font-family:Barlow,sans-serif;font-size:11px;font-weight:700;transition:all .12s;display:inline-flex}.btn-yellow{background:var(--yellow);color:var(--black)}.btn-yellow:hover{opacity:.88}.btn-outline{border:1px solid var(--g2);color:var(--g4);background:0 0}.btn-outline:hover{border-color:var(--black);color:var(--black)}.btn-ghost{color:var(--g4);background:0 0;border:none;padding:8px 12px}.btn-ghost:hover{color:var(--black)}.btn-danger{background:var(--red);color:var(--white)}.btn-green{background:var(--green);color:var(--white)}.btn-sm{padding:6px 12px;font-size:10px}.btn:disabled{opacity:.4;cursor:not-allowed}.badge{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-flex}.badge-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge-draft{background:var(--g2);color:var(--g4)}.badge-draft .badge-dot{background:var(--g3)}.badge-review{background:var(--amber-bg);color:var(--amber-text)}.badge-review .badge-dot{background:var(--amber)}.badge-approved{background:var(--green-bg);color:var(--green-text)}.badge-approved .badge-dot{background:var(--green)}.badge-rejected{background:var(--red-bg);color:var(--red-text)}.badge-rejected .badge-dot{background:var(--red)}.card{background:var(--white);border:1px solid var(--g2);padding:1.5rem}.doc-table{border-collapse:collapse;background:var(--white);border:1px solid var(--g2);width:100%}.doc-table th{text-align:left;letter-spacing:.16em;text-transform:uppercase;color:var(--g3);border-bottom:1px solid var(--g2);background:var(--g1);padding:10px 16px;font-size:9px;font-weight:700}.doc-table td{border-bottom:1px solid var(--g2);vertical-align:middle;padding:14px 16px;font-size:13px}.doc-table tr:last-child td{border-bottom:none}.doc-table tr:hover td{cursor:pointer;background:#fafafa}.doc-name{color:var(--black);font-weight:600}.doc-sub{color:var(--g3);font-size:11px}.detail-layout{background:var(--g2);grid-template-columns:1fr 300px;gap:1px;min-height:calc(100vh - 54px);display:grid}.detail-main{background:var(--white);padding:2rem}.detail-panel{background:var(--white);padding:1.5rem;overflow-y:auto}.panel-section{border-bottom:1px solid var(--g2);padding:16px 0}.panel-section:first-child{padding-top:0}.panel-section:last-child{border-bottom:none}.panel-label{letter-spacing:.16em;text-transform:uppercase;color:var(--g3);margin-bottom:12px;font-size:9px;font-weight:700}.cert-box{background:var(--g1);border:1px solid var(--g2);padding:12px}.cert-row{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.cert-row:last-child{margin-bottom:0}.cert-key{color:var(--g3);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.cert-val{color:var(--black);text-align:right;word-break:break-all;max-width:160px;font-family:monospace;font-size:10px}.overlay{z-index:200;background:#000000b3;justify-content:center;align-items:flex-start;padding-top:80px;display:none;position:fixed;inset:0}.overlay.open{display:flex}.modal{background:var(--white);width:480px;max-width:95vw;max-height:80vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--g2);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-title{font-size:16px;font-weight:700}.modal-close{cursor:pointer;color:var(--g3);background:0 0;border:none;font-size:20px}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--g2);justify-content:flex-end;gap:8px;padding:1rem 1.5rem;display:flex}.field{margin-bottom:1rem}.field label{letter-spacing:.14em;text-transform:uppercase;color:var(--g3);margin-bottom:6px;font-size:9px;font-weight:700;display:block}.field input,.field textarea,.field select{border:1px solid var(--g2);background:var(--g1);width:100%;color:var(--black);outline:none;padding:10px 12px;font-family:Barlow,sans-serif;font-size:13px}.field input:focus,.field textarea:focus{border-color:var(--black);background:var(--white)}.field textarea{resize:vertical;min-height:80px}.upload-area{border:2px dashed var(--g2);text-align:center;cursor:pointer;padding:2.5rem;transition:all .15s;position:relative}.upload-area:hover,.upload-area.dragover{border-color:var(--yellow);background:#ffce000a}.audit-item{border-bottom:1px solid var(--g1);align-items:stretch;display:flex}.audit-item:last-child{border-bottom:none}.audit-bar{flex-shrink:0;width:2px}.audit-content{flex-direction:column;flex:1;align-items:flex-start;gap:3px;padding:12px 14px;display:flex}.audit-text{color:var(--black);font-size:12px;line-height:1.5}.audit-time{color:var(--g3);white-space:nowrap;flex-shrink:0;font-size:11px}.msg{margin-top:8px;padding:8px 12px;font-size:12px;font-weight:600}.msg-ok{background:var(--green-bg);color:var(--green-text)}.msg-err{background:var(--red-bg);color:var(--red-text)}.empty{text-align:center;padding:4rem 2rem}.empty-title{margin-bottom:6px;font-size:15px;font-weight:700}.empty-sub{color:var(--g3);margin-bottom:1.5rem;font-size:13px}.tag{letter-spacing:.08em;text-transform:uppercase;background:var(--g1);color:var(--g4);border:1px solid var(--g2);align-items:center;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.toast{background:var(--black);color:var(--white);z-index:9999;border-left:3px solid var(--yellow);align-items:center;gap:10px;padding:14px 20px;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;animation:.2s slideUp;display:flex;position:fixed;bottom:24px;right:24px}.admin-grid{background:var(--g2);border:1px solid var(--g2);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:24px;display:grid}.stat-card{background:var(--white);padding:1.75rem 1.5rem}.stat-num{letter-spacing:-.04em;font-size:42px;font-weight:800;line-height:1}.stat-label{letter-spacing:.16em;text-transform:uppercase;color:var(--g3);margin-top:6px;font-size:9px;font-weight:700}
