:root { --orange:#f73c01; --orange-hover:#f95420; --ink:#191818; --blue:#3164e6; --pale:#e8f3f9; --canvas:#f5f7f8; --line:#e6e8ea; --muted:#7c8288; --white:#fff; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; font-family:Inter,sans-serif; color:var(--ink); background:var(--canvas); }
button,input { font:inherit; }
button { cursor:pointer; }
[hidden] { display:none!important; }
.login-screen { min-height:100vh; display:grid; grid-template-columns:minmax(390px,44%) 1fr; background:#fff; }
.login-aside { position:relative; overflow:hidden; padding:54px clamp(36px,6vw,88px); background:var(--pale); display:flex; flex-direction:column; }
.login-aside::before { content:""; position:absolute; width:540px; height:540px; border:120px solid rgba(49,100,230,.055); border-radius:50%; right:-320px; bottom:-260px; }
.official-logo img { width:240px; height:auto; display:block; }
.login-copy { margin:auto 0 54px; max-width:580px; position:relative; }
.kicker,.admin-label,.section-heading span,.documents-head span,.preview-head span { color:var(--orange); font-weight:800; font-size:10px; letter-spacing:.16em; }
.login-copy h1 { font-size:clamp(42px,5vw,72px); line-height:.98; letter-spacing:-.065em; margin:18px 0 27px; }
.login-copy p { max-width:520px; color:#53616a; line-height:1.75; font-size:15px; }
.login-feature { z-index:1; display:flex; gap:17px; align-items:center; border-top:1px solid rgba(25,24,24,.1); padding:18px 0; max-width:500px; }
.login-feature>span { color:var(--orange); font-weight:800; font-size:11px; }.login-feature b,.login-feature small { display:block; }.login-feature b { font-size:13px; }.login-feature small { color:#6e7d85; margin-top:4px; font-size:11px; }
.login-main { display:grid; place-items:center; padding:42px; position:relative; }
.login-card { width:min(420px,100%); }
.mobile-logo { display:none; }
.login-card h2 { font-size:32px; letter-spacing:-.045em; margin:13px 0 8px; }.login-card>p { color:var(--muted); font-size:13px; line-height:1.6; margin:0 0 31px; }
.login-card label { display:block; font-weight:600; font-size:12px; margin:18px 0; }
.login-card input { display:block; width:100%; height:50px; border:1px solid #dfe2e4; border-radius:6px; margin-top:8px; padding:0 15px; outline:none; color:var(--ink); background:#fff; }.login-card input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(49,100,230,.1); }
.password-field { display:block; position:relative; }.password-field input { padding-right:48px; }.password-field button { position:absolute; right:5px; top:13px; width:40px; height:40px; border:0; background:transparent; color:#99a0a5; }
.primary-button { width:100%; height:52px; border:0; border-radius:6px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; color:#fff; background:var(--orange); font-weight:700; font-size:13px; margin-top:10px; transition:.2s; }.primary-button:hover { background:var(--orange-hover); transform:translateY(-1px); }
.demo-note { display:block; text-align:center; color:#9aa0a4; margin-top:16px; font-size:10px; }.login-error { color:#c93318; font-size:11px; min-height:15px; }
.admin-app { min-height:100vh; display:grid; grid-template-columns:248px 1fr; }
.admin-sidebar { position:fixed; width:248px; height:100vh; background:#fff; border-right:1px solid var(--line); padding:29px 17px 20px; display:flex; flex-direction:column; z-index:5; }
.sidebar-logo { padding:0 10px 29px; text-decoration:none; }.sidebar-logo img { width:177px; display:block; }.sidebar-logo small { display:block; color:#959a9e; letter-spacing:.24em; font-size:7px; margin:7px 0 0 1px; }
.admin-sidebar nav { display:flex; flex-direction:column; gap:4px; }.nav-group { margin:20px 11px 7px; color:#a1a6aa; font-size:8px; font-weight:700; letter-spacing:.14em; }
.admin-sidebar nav a { display:grid; grid-template-columns:24px 1fr auto; align-items:center; gap:7px; min-height:43px; padding:0 11px; border-radius:6px; text-decoration:none; font-size:11px; font-weight:600; color:#61686d; }.admin-sidebar nav a:hover { background:#f4f6f7; color:var(--ink); }.admin-sidebar nav a.active { color:var(--orange); background:#fff0eb; }.admin-sidebar nav i { font-style:normal; font-size:16px; }.admin-sidebar nav b { border-radius:20px; background:#fff; padding:3px 7px; font-size:8px; }
.sidebar-status { margin:auto 7px 15px; padding:14px; border:1px solid #e6efea; border-radius:7px; background:#f8fbf9; display:flex; gap:10px; align-items:center; }.sidebar-status>span { width:8px; height:8px; border-radius:50%; background:#30b778; box-shadow:0 0 0 4px rgba(48,183,120,.1); }.sidebar-status b,.sidebar-status small { display:block; }.sidebar-status b { font-size:9px; }.sidebar-status small { color:#8b9590; font-size:8px; margin-top:3px; }
.logout-button { border:0; border-top:1px solid var(--line); background:#fff; display:grid; grid-template-columns:34px 1fr auto; align-items:center; text-align:left; gap:9px; padding:16px 7px 0; }.admin-avatar { width:32px; height:32px; border-radius:6px; display:grid; place-items:center; color:#fff; background:var(--ink); font-size:11px; font-weight:700; }.logout-button b,.logout-button small { display:block; }.logout-button b { font-size:9px; }.logout-button small { color:#9da2a5; font-size:8px; margin-top:2px; }.logout-button i { font-style:normal; color:#92989b; font-size:16px; }
.admin-main { grid-column:2; min-width:0; }.admin-header { height:82px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,4vw,56px); }.admin-header small { font-size:8px; font-weight:700; color:#a3a8ab; letter-spacing:.12em; }.admin-header h1 { font-size:21px; margin:5px 0 0; letter-spacing:-.035em; }.header-actions { display:flex; align-items:center; gap:9px; margin-left:auto; }.copilot-link { color:#fff; text-decoration:none; background:var(--ink); border-radius:6px; height:39px; padding:0 14px; display:flex; align-items:center; gap:8px; font-size:10px; font-weight:600; }.copilot-link span { color:var(--orange); }.mobile-menu { display:none; }
.theme-toggle { width:39px; height:39px; border:1px solid var(--line); border-radius:6px; background:#fff; color:#697075; display:grid; place-items:center; font-size:17px; transition:.2s; }.theme-toggle:hover { color:var(--orange); border-color:#ffc7b5; }.login-theme-toggle { position:absolute; right:30px; top:28px; }
.admin-content { max-width:1180px; margin:0 auto; padding:34px clamp(24px,4vw,56px) 70px; }
.summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }.summary-grid article { border:1px solid var(--line); background:#fff; border-radius:8px; padding:18px; display:flex; align-items:center; gap:15px; }.summary-icon { flex:0 0 45px; height:45px; border-radius:7px; display:grid; place-items:center; font-size:19px; }.summary-icon.orange { color:var(--orange); background:#fff0eb; }.summary-icon.blue { color:var(--blue); background:#edf2ff; }.summary-icon.cyan { color:#168ba5; background:#e9f7fa; }.summary-grid small,.summary-grid strong,.summary-grid p { display:block; }.summary-grid small { color:#9ba1a4; font-size:7px; font-weight:700; letter-spacing:.12em; }.summary-grid strong { font-size:24px; margin-top:3px; letter-spacing:-.04em; }.summary-grid p { color:#9ba1a4; font-size:8px; margin:1px 0 0; }
.upload-card,.documents-card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:27px; margin-top:18px; }.section-heading,.documents-head { display:flex; justify-content:space-between; align-items:flex-start; }.section-heading h2,.documents-head h2 { font-size:18px; letter-spacing:-.035em; margin:7px 0 5px; }.section-heading p { color:#92999d; font-size:10px; margin:0; }.secure-badge { color:#51705e; background:#f0f7f3; border-radius:20px; padding:7px 10px; font-size:8px; }
.dropzone { min-height:177px; margin-top:22px; border:1.5px dashed #cbd0d3; border-radius:7px; background:#fafbfb; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; transition:.2s; }.dropzone.drag,.dropzone:hover { border-color:var(--orange); background:#fff8f5; }.dropzone input { display:none; }.upload-icon { display:grid; place-items:center; width:39px; height:39px; background:#fff0eb; color:var(--orange); border-radius:7px; font-size:20px; margin-bottom:10px; }.dropzone strong { font-size:11px; }.dropzone p { color:#92989c; font-size:9px; margin:5px 0; }.dropzone u { color:var(--orange); font-weight:600; }.dropzone small { color:#b1b5b7; font-size:8px; }
.upload-progress { margin-top:17px; border:1px solid var(--line); border-radius:7px; padding:12px; display:grid; grid-template-columns:43px 1fr; gap:12px; align-items:center; }.file-badge { height:43px; background:#fff0eb; color:var(--orange); display:grid; place-items:center; border-radius:6px; font-weight:800; font-size:8px; }.upload-progress b,.upload-progress small { display:block; }.upload-progress b { font-size:10px; }.upload-progress small { color:#92989c; font-size:8px; margin:4px 0 7px; }.upload-progress span { display:block; background:#edf0f1; height:3px; border-radius:4px; overflow:hidden; }.upload-progress i { display:block; height:100%; width:20%; background:var(--orange); transition:.4s; }
.search-box { border:1px solid var(--line); width:205px; height:36px; border-radius:6px; padding:0 10px; color:#9aa0a4; display:flex; align-items:center; gap:7px; }.search-box input { width:100%; border:0; outline:0; font-size:9px; color:var(--ink); }.document-table { margin-top:21px; }.table-header,.document-row { display:grid; grid-template-columns:minmax(240px,2fr) .6fr .6fr .8fr 80px; align-items:center; gap:14px; }.table-header { min-height:34px; border-bottom:1px solid var(--line); color:#a1a6a9; font-size:7px; font-weight:700; letter-spacing:.1em; padding:0 10px; }.document-row { min-height:68px; border-bottom:1px solid #eff0f1; padding:8px 10px; }.document-row:last-child { border-bottom:0; }.file-cell { display:flex; align-items:center; gap:11px; min-width:0; }.type-icon { flex:0 0 35px; height:41px; border-radius:5px; background:#fff0eb; color:var(--orange); display:grid; place-items:center; font-size:8px; font-weight:800; }.type-icon.csv { color:#19835c; background:#edf8f3; }.file-cell b,.file-cell small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.file-cell b { font-size:10px; }.file-cell small { color:#9ba1a4; font-size:8px; margin-top:4px; }.document-row>span { color:#6f767a; font-size:9px; }.row-actions { display:flex; justify-content:flex-end; gap:4px; }.row-actions button { width:30px; height:30px; border:1px solid var(--line); border-radius:5px; background:#fff; color:#737a7e; }.row-actions button:hover { color:var(--orange); border-color:#ffc7b4; }.empty-state { text-align:center; padding:52px 10px 30px; }.empty-state>div { width:48px; height:48px; border-radius:8px; display:grid; place-items:center; color:#a4aaad; background:#f1f3f4; margin:0 auto 12px; }.empty-state b { font-size:11px; }.empty-state p { color:#999fa2; font-size:9px; }
.preview-dialog { width:min(820px,calc(100% - 30px)); max-height:80vh; padding:0; border:0; border-radius:9px; box-shadow:0 20px 80px rgba(20,25,28,.2); }.preview-dialog::backdrop { background:rgba(15,20,23,.45); backdrop-filter:blur(2px); }.preview-head { padding:20px 24px 15px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; }.preview-head h3 { margin:5px 0 0; font-size:16px; }.preview-head button { border:0; background:transparent; font-size:24px; color:#90969a; }.preview-dialog pre { white-space:pre-wrap; word-break:break-word; font:11px/1.7 Inter,sans-serif; padding:22px 24px; margin:0; max-height:52vh; overflow:auto; background:#fafbfb; }.preview-foot { padding:13px 24px; display:flex; justify-content:space-between; align-items:center; }.preview-foot small { color:#9ba1a4; font-size:8px; }.preview-foot button { border:0; border-radius:5px; color:#fff; background:var(--ink); padding:8px 16px; font-size:9px; }
.admin-toast { position:fixed; bottom:20px; right:20px; border-radius:6px; padding:11px 15px; background:var(--ink); color:#fff; font-size:10px; opacity:0; transform:translateY(8px); transition:.2s; z-index:20; pointer-events:none; }.admin-toast.show { opacity:1; transform:none; }
html[data-theme="dark"] { color-scheme:dark; --ink:#f1f3f3; --pale:#22282b; --canvas:#151718; --line:#35393b; --muted:#a1a9ad; --white:#202325; }
html[data-theme="dark"] body { background:#151718; }
html[data-theme="dark"] .login-screen,
html[data-theme="dark"] .login-main { background:#17191a; }
html[data-theme="dark"] .login-aside { background:#22282b; }
html[data-theme="dark"] .official-logo img,
html[data-theme="dark"] .mobile-logo img,
html[data-theme="dark"] .sidebar-logo img { background:#fff; border-radius:5px; padding:6px; }
html[data-theme="dark"] .login-copy p,
html[data-theme="dark"] .login-feature small,
html[data-theme="dark"] .login-card>p { color:#a4adb1; }
html[data-theme="dark"] .login-card input,
html[data-theme="dark"] .search-box input { color:#f1f3f3; background:#202325; border-color:#3a3f41; }
html[data-theme="dark"] .theme-toggle,
html[data-theme="dark"] .admin-sidebar,
html[data-theme="dark"] .admin-header,
html[data-theme="dark"] .summary-grid article,
html[data-theme="dark"] .upload-card,
html[data-theme="dark"] .documents-card,
html[data-theme="dark"] .logout-button,
html[data-theme="dark"] .row-actions button { color:#d5d9da; background:#1f2224; }
html[data-theme="dark"] .admin-sidebar nav a { color:#aeb5b8; }
html[data-theme="dark"] .admin-sidebar nav a:hover { color:#fff; background:#292d2f; }
html[data-theme="dark"] .admin-sidebar nav a.active { color:#ff7447; background:#34241f; }
html[data-theme="dark"] .admin-sidebar nav b { background:#282c2e; }
html[data-theme="dark"] .sidebar-status { color:#d7dbdc; background:#202825; border-color:#30413a; }
html[data-theme="dark"] .copilot-link { color:#191818; background:#f1f3f3; }
html[data-theme="dark"] .dropzone,
html[data-theme="dark"] .preview-dialog pre { color:#d9ddde; background:#191c1d; border-color:#42474a; }
html[data-theme="dark"] .dropzone:hover,
html[data-theme="dark"] .dropzone.drag { background:#29201d; }
html[data-theme="dark"] .search-box { background:#202325; }
html[data-theme="dark"] .file-cell b,
html[data-theme="dark"] .preview-head h3 { color:#f1f3f3; }
html[data-theme="dark"] .preview-dialog { color:#f1f3f3; background:#202325; }
html[data-theme="dark"] .admin-toast { color:#191818; background:#f1f3f3; }
@media(max-width:850px){.login-screen{grid-template-columns:1fr}.login-aside{display:none}.mobile-logo{display:block;margin-bottom:50px}.mobile-logo img{width:205px}.login-main{padding:28px;min-height:100vh}.admin-app{grid-template-columns:1fr}.admin-sidebar{transform:translateX(-105%);transition:.25s;box-shadow:18px 0 60px rgba(0,0,0,.13)}.admin-sidebar.open{transform:none}.admin-main{grid-column:1}.mobile-menu{display:block;border:0;background:transparent;font-size:19px;margin-right:15px}.admin-header{justify-content:flex-start;padding:0 18px}.copilot-link{margin-left:auto}.admin-content{padding:22px 14px 50px}.summary-grid{grid-template-columns:1fr}.table-header{display:none}.document-row{grid-template-columns:1fr auto;gap:8px;padding:12px 4px}.document-row>span{display:none}.row-actions{display:flex}.section-heading{gap:10px}.secure-badge{display:none}.documents-head{display:block}.search-box{width:100%;margin-top:15px}}
