@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f8fafc;--text: #0f172a;--text-2: #334155;--muted: #64748b;--border: #e5e7eb;--border-strong: #d1d5db;--primary: #4f46e5;--primary-hover: #4338ca;--primary-soft: #eef2ff;--primary-ink: #3730a3;--danger: #dc2626;--danger-soft: #fef2f2;--danger-ink: #991b1b;--warn: #d97706;--warn-soft: #fffbeb;--warn-ink: #92400e;--good: #16a34a;--good-soft: #f0fdf4;--good-ink: #166534;--info-soft: #eff6ff;--info-ink: #1d4ed8;--sidebar: #0f172a;--sidebar-2: #1e293b;--sidebar-ink: #cbd5e1;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12);--ring: 0 0 0 3px rgba(79, 70, 229, .18);font-family:Inter Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01";color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;line-height:1.5;font-size:14.5px;background:var(--bg)}h1{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin:0}h2,h3{letter-spacing:-.01em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:ui-monospace,Cascadia Mono,SF Mono,Consolas,monospace;font-size:.92em}.mono.lg{font-size:1em;font-weight:600;letter-spacing:.02em}.icon{flex-shrink:0;vertical-align:middle}.muted{color:var(--muted)}.sub{color:var(--muted);font-size:.82rem;display:block}.small-text{font-size:.85rem}.center{text-align:center}.nowrap{white-space:nowrap}.strike{text-decoration:line-through}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1.25rem;background:var(--sidebar);color:var(--sidebar-ink);padding:1.25rem .85rem}.brand{display:flex;align-items:center;gap:.7rem;color:#fff;padding:.25rem .5rem}.brand:hover{text-decoration:none}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 6px 16px #6366f159}.brand-mark.lg{width:52px;height:52px;border-radius:15px}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-text strong{font-size:.98rem}.brand-text span{font-size:.75rem;color:#94a3b8}.side-nav{display:flex;flex-direction:column;gap:.2rem}.nav-item{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border-radius:10px;color:var(--sidebar-ink);font-weight:500;font-size:.92rem;transition:background .15s,color .15s}.nav-item:hover{background:var(--sidebar-2);color:#fff;text-decoration:none}.nav-item.active{background:#6366f12e;color:#fff;box-shadow:inset 3px 0 #818cf8}.nav-badge{margin-left:auto;min-width:1.35rem;padding:0 .4rem;border-radius:999px;background:#f59e0b;color:#1f2937;font-size:.72rem;font-weight:700;line-height:1.3rem;text-align:center}.list-filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.list-filters select{width:auto;padding:.45rem .6rem;font-size:.88rem}.list-filters .hint-text{font-size:.8rem;color:var(--muted)}.nav-item.subtle{font-size:.85rem;padding:.45rem .75rem;color:#94a3b8}.nav-item.as-button{background:none;border:0;width:100%;cursor:pointer;font-family:inherit;text-align:left}.nav-item.as-button:hover{background:var(--sidebar-2);color:#fff}.side-footer{margin-top:auto;display:flex;flex-direction:column;gap:.2rem;border-top:1px solid var(--sidebar-2);padding-top:.9rem}.me{display:flex;align-items:center;gap:.6rem;padding:.25rem .5rem .6rem}.me-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.me-text strong{color:#fff;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-text span{font-size:.75rem;color:#94a3b8}.main{min-width:0;display:flex;flex-direction:column}.container{width:100%;max-width:1280px;margin:0 auto;padding:1.75rem 2rem 3rem}.mobile-bar,.scrim{display:none}@media (max-width: 960px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:268px;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.shell.nav-open .sidebar{transform:none}.shell.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:30}.mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;position:sticky;top:0;z-index:20;padding:.6rem 1rem;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);font-size:.92rem}.container{padding:1.25rem 1rem 2.5rem}}.icon-button{background:none;border:0;padding:.35rem;border-radius:8px;color:var(--text);cursor:pointer;display:grid;place-items:center}.icon-button:hover{background:var(--surface-2)}.avatar{display:inline-grid;place-items:center;border-radius:50%;font-weight:600;flex-shrink:0;letter-spacing:.02em}.page-header,.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-header p,.page-head p{margin:.25rem 0 0}.page-loading{padding:3rem;text-align:center;color:var(--muted)}.back{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-weight:500;font-size:.88rem;margin-bottom:.9rem}.back:hover{color:var(--text);text-decoration:none}.narrow{max-width:480px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem;margin-bottom:1rem}.card.flush{padding:0;overflow:hidden}.card-title{font-size:.98rem;font-weight:600;margin:0 0 .9rem}.card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.9rem}.card-head .card-title{margin:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.section-title h2{display:flex;align-items:center;gap:.6rem;font-size:.98rem;font-weight:600;margin:0}.section-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.field{margin-bottom:1rem}.field label{display:block;font-weight:500;font-size:.86rem;color:var(--text-2);margin-bottom:.35rem}.req{color:var(--danger)}input,select,textarea{width:100%;font:inherit;font-size:.92rem;padding:.6rem .75rem;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9ca3af}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}input[type=file]{padding:.5rem;background:var(--surface-2);border-style:dashed;cursor:pointer}textarea{resize:vertical}.has-error input,.has-error textarea,.has-error select{border-color:var(--danger)}.error{color:var(--danger);font-size:.82rem;margin:.35rem 0 0}.error-text{color:var(--danger)!important}.hint{font-size:.82rem;color:var(--muted);margin:.35rem 0 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 .85rem}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 .85rem}@media (max-width: 700px){.grid-2,.grid-3{grid-template-columns:1fr}}.form-row{display:flex;justify-content:flex-end;gap:.5rem}.input-with-action{position:relative}.input-with-action input{padding-right:4rem}.input-with-action button{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:.82rem}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:600;font-size:.9rem;padding:.6rem 1.1rem;border-radius:var(--radius-sm);border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;text-decoration:none;box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}button:hover:not(:disabled),.button:hover{background:var(--primary-hover);border-color:var(--primary-hover);text-decoration:none}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,.button.secondary{background:#fff;color:var(--text-2);border-color:var(--border-strong)}button.secondary:hover:not(:disabled),.button.secondary:hover{background:var(--surface-2);border-color:#9ca3af}button.danger{background:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}button.danger-text{color:var(--danger)}button.small,.button.small{padding:.38rem .75rem;font-size:.82rem;border-radius:8px}button.block{width:100%}button.lg{padding:.75rem 1.1rem;font-size:.95rem}button.link{background:none;border:0;box-shadow:none;color:var(--primary);padding:0;font-weight:500}button.link:hover:not(:disabled){background:none;text-decoration:underline}.copy-btn{background:transparent;border:0;box-shadow:none;color:var(--muted);padding:.2rem .35rem;margin-left:.35rem;font-size:.78rem;font-weight:500;border-radius:6px;vertical-align:middle}.copy-btn:hover:not(:disabled){background:var(--surface-2);color:var(--primary)}.alert{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem .95rem;border-radius:var(--radius-sm);margin:0 0 1rem;font-size:.9rem;border:1px solid transparent}.alert .icon{margin-top:2px}.alert.small{font-size:.84rem;padding:.55rem .75rem}.alert.error{background:var(--danger-soft);color:var(--danger-ink);border-color:#fecaca}.alert.warn{background:var(--warn-soft);color:var(--warn-ink);border-color:#fde68a}.alert.good{background:var(--good-soft);color:var(--good-ink);border-color:#bbf7d0}.toast{animation:slide-in .25s ease}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.note{display:flex;gap:.55rem;align-items:flex-start;padding:.7rem .9rem;border-radius:var(--radius-sm);margin-top:.9rem;font-size:.9rem;background:var(--info-soft);color:var(--info-ink)}.note .icon{margin-top:2px}.note.good{background:var(--good-soft);color:var(--good-ink)}.note.bad{background:var(--danger-soft);color:var(--danger-ink)}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .65rem;border-radius:999px;font-size:.76rem;font-weight:600;white-space:nowrap;background:#f1f5f9;color:#475569}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.info{background:var(--info-soft);color:var(--info-ink)}.badge.wait{background:#f1f5f9;color:#475569}.badge.action{background:var(--warn-soft);color:var(--warn-ink)}.badge.good{background:var(--good-soft);color:var(--good-ink)}.badge.bad{background:var(--danger-soft);color:var(--danger-ink)}.tag{display:inline-block;padding:.15rem .55rem;border-radius:6px;background:#f1f5f9;color:var(--text-2);font-size:.78rem;font-weight:500}.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:var(--surface)}.login-brand{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:3rem 4rem;color:#e2e8f0;background:radial-gradient(circle at 20% 20%,#312e81 0%,transparent 55%),radial-gradient(circle at 80% 90%,#4c1d95 0%,transparent 50%),#0f172a}.login-brand h2{font-size:2rem;color:#fff;margin:.5rem 0 0;letter-spacing:-.02em;line-height:1.2}.login-brand p{color:#94a3b8;max-width:26rem;margin:0;font-size:1rem}.login-brand ul{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.55rem}.login-brand li{display:flex;align-items:center;gap:.55rem;color:#cbd5e1}.login-brand li .icon{color:#a5b4fc}.login-panel{display:grid;place-items:center;padding:2rem}.login-form{width:100%;max-width:380px}.login-form h1{font-size:1.7rem}.login-form>p.muted{margin:.3rem 0 1.75rem}@media (max-width: 860px){.login{grid-template-columns:1fr}.login-brand{display:none}}.search-box{display:flex;align-items:center;gap:.5rem;width:min(380px,100%);padding:0 .85rem;background:#fff;border:1px solid var(--border-strong);border-radius:999px;color:var(--muted);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.search-box:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.search-box input{border:0;box-shadow:none;padding:.6rem 0;background:transparent}.search-box input:focus{box-shadow:none}.pill-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.pill-tab{background:#fff;color:var(--text-2);border:1px solid var(--border);box-shadow:none;padding:.42rem .8rem;border-radius:999px;font-size:.84rem;font-weight:500}.pill-tab:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.pill-tab .count{min-width:1.4rem;padding:0 .4rem;border-radius:999px;background:#f1f5f9;color:var(--muted);font-size:.74rem;font-weight:600;line-height:1.35rem;text-align:center}.pill-tab.mine .count{background:var(--warn-soft);color:var(--warn-ink)}.pill-tab.active,.pill-tab.active:hover:not(:disabled){background:var(--text);border-color:var(--text);color:#fff}.pill-tab.active .count{background:#ffffff2e;color:#fff}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}th{background:var(--surface-2);color:var(--muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.data-table tbody tr{cursor:pointer;transition:background .1s}.data-table tbody tr:hover,.data-table tbody tr:focus-visible{background:#fafaff;box-shadow:inset 3px 0 0 var(--primary);border-radius:0}.data-table td{padding:.85rem 1rem}.data-table .chev{color:#cbd5e1;width:1%}.data-table tr:hover .chev{color:var(--primary)}.data-table .clip{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.is-loading{opacity:.5}table.plain th,table.plain td{padding:.55rem .7rem}table.static tbody tr{cursor:default}tr.inactive td{color:var(--muted)}table.static select{width:auto;padding:.35rem .55rem;font-size:.85rem}.person{display:flex;align-items:center;gap:.7rem}.person>div{display:flex;flex-direction:column;min-width:0}.person strong{font-weight:600}.row-actions{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:3.5rem 1rem;text-align:center}.empty-icon{width:56px;height:56px;border-radius:16px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;margin-bottom:.4rem}.skeleton-list{padding:.5rem 1rem}.skeleton-row{height:52px;margin:.5rem 0;border-radius:10px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 37%,#f1f5f9 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.25rem;font-size:.86rem}.pager-buttons{display:flex;gap:.4rem}.hero-card{padding:1.4rem 1.5rem 1.2rem}.hero-top{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.4rem}.person.lg{align-items:flex-start;gap:1rem}.person.lg>div{gap:.2rem}.title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.title-row h1{font-size:1.45rem}.hero-amount{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;text-align:right}.hero-figure{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.hero-amount .tag{margin-top:.3rem}@media (max-width: 700px){.hero-amount{align-items:flex-start;text-align:left}}.progress{list-style:none;margin:0;padding:1rem 0 0;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,1fr)}.step{position:relative;display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center}.step:not(:last-child):after{content:"";position:absolute;top:14px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--border)}.step.done:not(:last-child):after{background:var(--primary)}.step-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:600;background:#fff;border:2px solid var(--border-strong);color:var(--muted);position:relative;z-index:1}.step.done .step-dot{background:var(--primary);border-color:var(--primary);color:#fff}.step.current .step-dot{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.step.rejected .step-dot{background:var(--danger);border-color:var(--danger);color:#fff}.step-text{display:flex;flex-direction:column;line-height:1.25}.step-label{font-size:.82rem;font-weight:600;color:var(--text-2)}.step.todo .step-label{color:var(--muted);font-weight:500}.step.rejected .step-label{color:var(--danger)}.step-date{font-size:.74rem;color:var(--muted);min-height:1em}@media (max-width: 600px){.step-label{font-size:.7rem}.step-date{display:none}}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1rem;align-items:start}.detail-side{position:sticky;top:1rem}@media (max-width: 1100px){.detail-grid{grid-template-columns:1fr}.detail-side{position:static;order:-1}}.facts{display:grid;grid-template-columns:9.5rem 1fr;gap:.5rem 1rem;margin:0;font-size:.92rem}.facts.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.facts.two-col>div{min-width:0}.facts.two-col .span-2{grid-column:span 2}.facts.two-col dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:.2rem}@media (max-width: 600px){.facts.two-col{grid-template-columns:1fr}.facts.two-col .span-2{grid-column:auto}}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.up{color:var(--warn-ink);font-weight:600}.down{color:var(--danger);font-weight:600}.delta{font-size:.82rem;margin:.35rem 0 0}.base-line{margin:0 0 .9rem;font-size:.9rem;color:var(--text-2)}.ladder{list-style:none;margin:0;padding:0}.ladder li{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px dashed var(--border);font-size:.9rem}.ladder li:last-child{border-bottom:0}.ladder li.pending{color:var(--muted)}.ladder-val{display:flex;gap:.6rem;align-items:baseline;font-variant-numeric:tabular-nums}.ladder-val .up,.ladder-val .down{font-size:.78rem}.doc-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.65rem}.doc-button{width:100%;justify-content:flex-start;gap:.8rem;text-align:left;background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:none;font-weight:400;padding:.7rem}.doc-button:hover:not(:disabled){background:#fafaff;border-color:#c7d2fe;box-shadow:var(--shadow)}.doc-kind{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;font-size:.7rem;font-weight:700}.doc-kind.pdf{background:var(--danger-soft);color:var(--danger)}.doc-kind.img{background:var(--info-soft);color:var(--info-ink)}.doc-text{display:flex;flex-direction:column;min-width:0}.doc-text .sub{display:block}.timeline{list-style:none;margin:0;padding:0 0 0 1.1rem;border-left:2px solid var(--border)}.timeline li{position:relative;display:flex;justify-content:space-between;gap:1rem;padding:0 0 1rem .4rem;font-size:.9rem}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:calc(-1.1rem - 6px);top:.35rem;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--primary)}.timeline li:first-child:before{background:var(--primary)}.t-date{color:var(--muted);font-size:.8rem;white-space:nowrap}.t-note{margin:.25rem 0 0;color:var(--text-2);font-size:.85rem;background:var(--surface-2);padding:.35rem .6rem;border-radius:8px}details.history{margin-top:1rem;font-size:.85rem}details.history summary{cursor:pointer;color:var(--primary);font-weight:500}details.history ul{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-direction:column;gap:.5rem}details.history li{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.55rem .75rem}.email-log{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;font-size:.88rem}.email-log li>div{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.email-hint{display:block;background:var(--info-soft);color:var(--info-ink);border-radius:8px;padding:.55rem .75rem;margin-bottom:.85rem}.action-panel{border-color:#c7d2fe;box-shadow:0 0 0 4px var(--primary-soft),var(--shadow)}.action-panel .action-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.action-tabs button{box-shadow:none}.action-tabs button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.action-tabs button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.action-tabs button:disabled{background:var(--surface-2);color:#9ca3af;border-color:var(--border);opacity:1}.waiting{display:flex;gap:.5rem;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:.8rem .9rem;margin:0;font-size:.88rem;color:var(--text-2)}.work-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);margin-left:.4rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:1rem;z-index:50}.modal{background:#fff;border-radius:var(--radius);width:min(1040px,100%);height:min(90vh,100%);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.modal-tools{display:flex;gap:.4rem}.modal-body{flex:1;overflow:auto;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.doc-image{max-width:100%;max-height:100%;object-fit:contain}.doc-frame{width:100%;height:100%;border:0;background:#fff}.secret-box{border-color:#fde68a;background:var(--warn-soft)}.secret-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.secret{font-size:1.2rem;background:#fff;border:1px solid var(--border);padding:.45rem .85rem;border-radius:8px;letter-spacing:.06em}.viz-root{--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--grid: #eef0f3;--axis: #d1d5db;--ink-muted: #898781}.filters{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.presets{display:flex;gap:.4rem;flex-wrap:wrap}.chip{background:#fff;color:var(--text-2);border:1px solid var(--border);box-shadow:none;font-weight:500;font-size:.84rem;padding:.42rem .85rem;border-radius:999px}.chip:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.chip.active,.chip.active:hover:not(:disabled){background:var(--text);color:#fff;border-color:var(--text)}.custom-range{display:flex;gap:.6rem}.custom-range label{display:flex;align-items:center;gap:.4rem;font-size:.84rem;color:var(--muted)}.custom-range input{width:auto;padding:.38rem .6rem}.is-loading{opacity:.55;transition:opacity .15s}.hero-row{display:grid;grid-template-columns:minmax(280px,1fr) 2fr;gap:1rem;margin-bottom:1rem}@media (max-width: 1000px){.hero-row{grid-template-columns:1fr}}.hero{display:flex;flex-direction:column;justify-content:center;margin:0;background:linear-gradient(135deg,#eef2ff,#fff 60%)}.hero-value{font-size:2.6rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:.25rem 0}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.tiles.small{grid-template-columns:repeat(4,1fr)}@media (max-width: 700px){.tiles,.tiles.small{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.15rem}.tiles.small .tile{background:var(--surface-2);border:0;box-shadow:none}.tile-label{font-size:.8rem;color:var(--muted);font-weight:500}.tile-value{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.tiles.small .tile-value{font-size:1.15rem}.tile-sub{font-size:.76rem;color:var(--muted)}.grid-charts{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 1000px){.grid-charts{grid-template-columns:1fr}}.chart-plot{position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .axis{stroke:var(--axis);stroke-width:1}.chart .tick{fill:var(--ink-muted);font-size:11px;font-variant-numeric:tabular-nums;font-family:inherit}.chart .hover-band{fill:#0f172a0a}.chart .crosshair{stroke:var(--axis);stroke-width:1}.chart .marker{stroke:var(--surface);stroke-width:2}.chart rect[tabindex]:focus{outline:none}.chart-note{margin:.5rem 0 0;font-size:.76rem;color:var(--muted)}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:0;margin:0 0 .6rem;font-size:.84rem;color:var(--muted)}.legend li{display:flex;align-items:center;gap:.4rem}.swatch{width:10px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}.swatch.line{height:3px;width:14px;border-radius:2px}.tooltip{position:absolute;transform:translate(-50%);pointer-events:none;z-index:5;min-width:180px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:.55rem .7rem;box-shadow:var(--shadow-lg);font-size:.82rem}.tt-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:.4rem;margin-top:.2rem;color:var(--muted)}.tt-val{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.tt-total{border-top:1px solid var(--border);padding-top:.25rem}.barlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.bl-row{display:grid;grid-template-columns:10rem 1fr;align-items:center;gap:.75rem;width:100%;background:none;border:0;box-shadow:none;padding:.3rem .4rem;color:var(--text);font-weight:400;text-align:left;border-radius:8px;justify-content:stretch}button.bl-row:hover:not(:disabled){background:var(--surface-2)}.bl-label{font-size:.88rem}.bl-track{display:flex;align-items:center;gap:.5rem;min-width:0}.bl-bar{height:12px;border-radius:0 4px 4px 0;min-width:2px}.bl-value{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}table.mini{font-size:.85rem;margin-top:.75rem}table.mini th,table.mini td{padding:.45rem .65rem}table.mini tfoot th{color:var(--text);text-transform:none;font-size:.85rem;letter-spacing:0;background:var(--surface-2)}.table-toggle{margin:-.25rem 0 1rem;text-align:right;font-size:.88rem}.nav-item.as-button{justify-content:flex-start;font-weight:500;box-shadow:none}.person .sub{white-space:nowrap}.timeline li:before{left:calc(-1.1rem - 8px);top:.3rem}table.plain td{white-space:nowrap}table.plain td.wrap{white-space:normal;min-width:8rem;max-width:16rem}table.plain th,table.plain td{padding:.55rem .6rem}.email-log li{display:flex;flex-direction:column;gap:.15rem}.email-log .meta{color:var(--muted);font-size:.8rem}.email-log .to{color:var(--text-2);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert{display:block}.alert>.icon{margin:0 .45rem 0 0;vertical-align:-3px}.detail-main,.detail-side{min-width:0}.doc-list{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr))}.step{min-width:0}.step-text{max-width:100%;padding:0 2px}.step-label{overflow-wrap:anywhere}@media (max-width: 1100px){.detail-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 700px){.pill-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -1rem 1rem;padding:0 1rem .25rem;scrollbar-width:none}.pill-tabs::-webkit-scrollbar{display:none}.pill-tab{flex-shrink:0}.search-box{width:100%}.data-table thead{display:none}.data-table,.data-table tbody{display:block}.data-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .75rem;padding:.9rem 1rem;border-bottom:1px solid var(--border)}.data-table tbody tr:last-child{border-bottom:0}.data-table td{display:block;padding:0;border:0}.requests-table td:nth-child(1){grid-column:1;grid-row:1}.requests-table td:nth-child(6){grid-column:2;grid-row:1;align-self:start}.requests-table td:nth-child(2){grid-column:1 / -1;grid-row:2;padding-left:44px}.requests-table td:nth-child(5){grid-column:1;grid-row:3;padding-left:44px}.requests-table td:nth-child(4){grid-column:2;grid-row:3}.requests-table td:nth-child(3),.requests-table td:nth-child(7){display:none}.data-table .clip{max-width:100%}.person .sub{white-space:normal}.hero-card{padding:1.1rem}.hero-top{gap:1rem;margin-bottom:1rem}.title-row h1{font-size:1.25rem}.hero-figure{font-size:1.6rem}.card{padding:1.05rem}.step-label{font-size:.68rem}.step-dot{width:24px;height:24px;font-size:.7rem}.step:not(:last-child):after{top:12px;left:calc(50% + 15px);right:calc(-50% + 15px)}}@media (max-width: 700px){.requests-table td:nth-child(1){grid-column:1 / -1;grid-row:1}.requests-table td:nth-child(2){grid-column:1;grid-row:2}.requests-table td:nth-child(4){grid-column:2;grid-row:2;align-self:start}.requests-table td:nth-child(5){grid-column:1;grid-row:3}.requests-table td:nth-child(6){grid-column:2;grid-row:3;align-self:center}.person .sub{white-space:nowrap}}:root{--primary: #3d5fae;--primary-hover: #2f4c90;--primary-soft: #edf2fb;--primary-ink: #263f78;--brand-red: #dc1a3c;--ring: 0 0 0 3px rgba(61, 95, 174, .22);--sidebar: #14213d;--sidebar-2: #1f2f52}.brand-logo{width:40px;height:40px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.nav-item.active{background:#5b7bbd38;box-shadow:inset 3px 0 0 var(--brand-red)}.mobile-brand{display:flex;align-items:center;gap:.5rem}.mobile-brand img{object-fit:contain}.login-brand{background:radial-gradient(circle at 20% 15%,#2f4c90 0%,transparent 55%),radial-gradient(circle at 85% 95%,rgba(220,26,60,.35) 0%,transparent 45%),#14213d}.login-logo{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.4))}.login-brand li .icon{color:#9db4e6}.login-logo-sm{display:none;width:56px;height:56px;object-fit:contain;margin-bottom:.75rem}@media (max-width: 860px){.login-logo-sm{display:block}}.data-table tbody tr:hover,.data-table tbody tr:focus-visible{background:#f7f9fd}.doc-button:hover:not(:disabled){background:#f7f9fd;border-color:#c3d0ec}.action-panel{border-color:#c3d0ec}.hero{background:linear-gradient(135deg,#edf2fb,#fff 60%)}.login-brand{align-items:center;justify-content:center}.login-logo{width:220px;height:220px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .15s ease}.dialog{width:min(440px,100%);background:#fff;border-radius:18px;padding:1.6rem 1.6rem 1.3rem;box-shadow:0 24px 60px #0f172a40;text-align:center;animation:pop-in .18s ease}.dialog h2{font-size:1.15rem;margin:.9rem 0 .4rem}.dialog p{margin:0 0 1rem;color:var(--muted);font-size:.92rem;line-height:1.55}.dialog-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto}.dialog-icon.primary{background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 8px #f5f8fd}.dialog-icon.danger{background:var(--danger-soft);color:var(--danger);box-shadow:0 0 0 8px #fff7f7}.dialog-icon.info{background:var(--info-soft);color:var(--info-ink);box-shadow:0 0 0 8px #f6f9ff}.dialog-details{margin:0 0 1.2rem;padding:.4rem .9rem;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;text-align:left;font-size:.88rem}.dialog-details>div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed var(--border)}.dialog-details>div:last-child{border-bottom:0}.dialog-details dt{color:var(--muted);flex-shrink:0}.dialog-details dd{font-weight:600;text-align:right;overflow-wrap:anywhere}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.dialog-actions button{width:100%;padding:.7rem 1rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.toasts{position:fixed;top:1.1rem;right:1.1rem;z-index:70;display:flex;flex-direction:column;gap:.5rem;width:min(420px,calc(100vw - 2rem))}.toast-item{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem .9rem;border-radius:12px;background:#fff;border:1px solid var(--border);border-left:4px solid var(--good);box-shadow:var(--shadow-lg);font-size:.9rem;animation:toast-in .22s ease}.toast-item.error{border-left-color:var(--danger)}.toast-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--good-soft);color:var(--good)}.toast-item.error .toast-icon{background:var(--danger-soft);color:var(--danger)}.toast-text{flex:1;padding-top:2px;color:var(--text);font-weight:500}.toast-close{background:none;border:0;box-shadow:none;padding:.2rem;color:var(--muted)}.toast-close:hover:not(:disabled){background:var(--surface-2);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@media (max-width: 600px){.toasts{top:auto;bottom:1rem;right:1rem}}.toasts{top:auto;bottom:1.25rem;right:1.25rem}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.dialog-icon.success{background:var(--good-soft);color:var(--good);box-shadow:0 0 0 8px #f5fdf7;width:60px;height:60px;animation:pop-in .25s ease}.dialog-actions.single{grid-template-columns:1fr}button.success{background:var(--good);border-color:var(--good)}button.success:hover:not(:disabled){background:#15803d;border-color:#15803d}.spinner{width:24px;height:24px;border-radius:50%;border:3px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog.phase-working .dialog-details{opacity:.6}button.back,button.back:hover:not(:disabled){background:none;border:0;box-shadow:none;padding:0;color:var(--muted);font-weight:500;font-size:.88rem}button.back:hover:not(:disabled){color:var(--text)}.profile-tiles{grid-template-columns:repeat(6,1fr)}@media (max-width: 1100px){.profile-tiles{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.profile-tiles{grid-template-columns:repeat(2,1fr)}}.progression{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:1rem}.progression-step{display:inline-flex;align-items:center;gap:.35rem}.tag.tag-bad{background:var(--danger-soft);color:var(--danger-ink)}.change-list{list-style:none;margin:0;padding:0}.change-list li{display:flex;flex-direction:column;gap:.2rem;padding:.7rem 0;border-bottom:1px dashed var(--border);font-size:.9rem;min-width:0}.change-list li:first-child{padding-top:0}.change-list li:last-child{border-bottom:0;padding-bottom:0}.change{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;overflow-wrap:anywhere}.change .was{color:var(--muted);text-decoration:line-through}.change-list .alert.shared{margin:.35rem 0 0}.doc-list.single{grid-template-columns:1fr}.checklist{margin:0 0 .9rem;padding-left:1.1rem;font-size:.86rem;color:var(--text-2);display:flex;flex-direction:column;gap:.25rem}.decision-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.note-form{margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.note-form label{font-size:.82rem;font-weight:600}.note-form textarea{width:100%;resize:vertical}.note-form .decision-actions{justify-content:flex-end;margin-top:.25rem}hr.soft{border:0;border-top:1px dashed var(--border);margin:1rem 0}.mini-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .4rem;font-weight:600}.mini-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem}.mini-head .mini-title{margin:0}.code-input{font-size:1.6rem;letter-spacing:.5em;text-align:center;font-family:ui-monospace,Consolas,monospace;padding:.7rem}.resend-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0 .5rem}.resend-row span{display:inline-flex;align-items:center;gap:.35rem}.sidebar{overflow-y:auto;overscroll-behavior:contain}.mobile-bar{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.toasts{bottom:max(1.25rem,env(safe-area-inset-bottom))}.container{padding-bottom:max(3rem,calc(env(safe-area-inset-bottom) + 2rem))}@media (min-width: 1600px){.container{max-width:1440px}}@media (pointer: coarse){button:not(.link):not(.copy-btn):not(.toast-close):not(.bl-row):not(.doc-button):not(.nav-item),.button{min-height:44px}button.small,.button.small,.pill-tab,.chip{min-height:40px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{min-height:44px}button.link{min-height:32px;padding:.25rem 0}.input-with-action button{min-height:36px;padding:0 .6rem;right:.35rem}.nav-item{padding-top:.75rem;padding-bottom:.75rem}.checkbox input{width:20px;height:20px}}@media (max-width: 700px){input,select,textarea,.search-box input{font-size:16px}.page-head,.page-header{align-items:stretch}.page-head>button,.page-head>.button{width:100%}.card-head,.custom-range{flex-wrap:wrap}.custom-range input{width:100%}.filters{align-items:stretch}.list-filters select{flex:1 1 140px}.pager{flex-wrap:wrap}.hero-value{font-size:2.1rem}.tile-value{font-size:1.3rem}.secret{font-size:1rem;overflow-wrap:anywhere}.resend-row{flex-wrap:wrap}.modal-backdrop{padding:0}.modal{width:100%;height:100dvh;border-radius:0}.modal-tools{flex-wrap:wrap}.dialog{padding:1.3rem 1.1rem 1.1rem;max-height:calc(100dvh - 2rem);overflow-y:auto}.dialog-details>div{flex-direction:column;gap:.1rem}.dialog-details dd{text-align:left}.students-table td:nth-child(1){grid-column:1 / -1;grid-row:1}.students-table td:nth-child(4){grid-column:1;grid-row:2}.students-table td:nth-child(7){grid-column:2;grid-row:2;text-align:right}.students-table td:nth-child(5){grid-column:1;grid-row:3}.students-table td:nth-child(3){grid-column:2;grid-row:3;text-align:right}.students-table td:nth-child(2),.students-table td:nth-child(6),.students-table td:nth-child(8),.students-table td:nth-child(9){display:none}.students-table .person .sub{white-space:normal;overflow-wrap:anywhere}.officers-table thead{display:none}.officers-table,.officers-table tbody{display:block}.officers-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .75rem;padding:.9rem 1rem;border-bottom:1px solid var(--border)}.officers-table tbody tr:last-child{border-bottom:0}.officers-table td{display:block;padding:0;border:0}.officers-table td:nth-child(1){grid-column:1;grid-row:1}.officers-table td:nth-child(4){grid-column:2;grid-row:1}.officers-table td:nth-child(2){grid-column:1 / -1;grid-row:2;overflow-wrap:anywhere;color:var(--text-2)}.officers-table td:nth-child(3){grid-column:1;grid-row:3}.officers-table td:nth-child(5){grid-column:2;grid-row:3;color:var(--muted);font-size:.82rem;align-self:center}.officers-table td:nth-child(6){grid-column:1 / -1;grid-row:4}.officers-table td:nth-child(6):empty{display:none}.officers-table .row-actions{justify-content:flex-start}.officers-table select{width:100%}}@media (max-width: 420px){.container{padding-left:.75rem;padding-right:.75rem}.pill-tabs{margin-left:-.75rem;margin-right:-.75rem;padding-left:.75rem;padding-right:.75rem}.card{padding:.95rem .85rem}.facts{grid-template-columns:1fr;gap:.1rem}.facts dd{margin-bottom:.55rem}.tiles,.tiles.small,.profile-tiles{grid-template-columns:1fr 1fr;gap:.6rem}.tile{padding:.75rem}.dialog-actions{grid-template-columns:1fr}.dialog-actions>:first-child{order:2}.bl-row{grid-template-columns:7rem 1fr}.login-panel{padding:1.25rem 1rem}h1{font-size:1.4rem}}@media (min-width: 701px) and (max-width: 960px){.data-table .clip{max-width:180px}.detail-grid{gap:.85rem}}button.photo-thumb,button.photo-thumb:hover:not(:disabled){padding:0;border:0;background:none;box-shadow:none;border-radius:50%;cursor:zoom-in;flex-shrink:0;min-height:0}.photo-thumb img{display:block;border-radius:50%;object-fit:cover;border:1px solid var(--border);transition:box-shadow .15s,transform .15s}.photo-thumb:hover img,.photo-thumb:focus-visible img{box-shadow:0 0 0 3px var(--primary-soft),0 0 0 5px var(--primary);transform:scale(1.03)}.photo-lightbox{cursor:zoom-out}.photo-lightbox figure{position:relative;margin:0;cursor:default;display:flex;flex-direction:column;align-items:center;gap:.6rem}.photo-lightbox img{width:min(560px,90vw);max-height:80vh;aspect-ratio:1 / 1;object-fit:cover;border-radius:16px;background:#000;box-shadow:var(--shadow-lg)}.photo-lightbox figcaption{color:#fff;font-size:.9rem;text-align:center}.photo-close{position:absolute;top:.5rem;right:.5rem;background:#0f172aa6;color:#fff;width:40px;height:40px;border-radius:50%}button.photo-close:hover:not(:disabled){background:#0f172ad9;border-color:transparent}.doc-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:.85rem}.doc-preview{margin:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);display:flex;flex-direction:column;min-width:0}.doc-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.6rem .7rem;border-bottom:1px solid var(--border)}.doc-preview-body{background:#f1f5f9;min-height:220px;display:grid;place-items:center}.doc-preview-body.pdf{height:420px}.doc-preview-body iframe{width:100%;height:100%;border:0;background:#fff}button.doc-preview-image,button.doc-preview-image:hover:not(:disabled){padding:0;border:0;background:none;box-shadow:none;width:100%;cursor:zoom-in;display:block;border-radius:0}.doc-preview-image img{display:block;width:100%;max-height:380px;object-fit:contain}.doc-preview-loading{color:var(--muted);font-size:.85rem;padding:2rem}.doc-group-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;margin:1rem 0 .5rem}.doc-group-title:first-child{margin-top:0}.decision-card{border-color:#c3d0ec;box-shadow:0 0 0 4px var(--primary-soft),var(--shadow);scroll-margin-top:1rem}.final-step{margin-top:.25rem}@media (max-width: 1100px){.detail-side{order:0}}@media (max-width: 700px){.doc-preview-body.pdf{height:360px}}.import-steps{margin:0 0 1rem;padding-left:1.2rem;display:grid;gap:.4rem;font-size:.9rem;color:var(--text-2)}.file-drop-admin{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--primary);font-weight:600;cursor:pointer}.file-drop-admin:hover{border-color:var(--primary);background:var(--primary-soft)}.file-drop-admin input{position:absolute;width:1px;height:1px;opacity:0}.import-summary{display:flex;gap:.4rem;flex-wrap:wrap}.import-table tr.row-error td{background:#fff8f8}.import-actions{margin-top:1rem}.table-card{padding:1.1rem 1.25rem}
