:root{color-scheme:light;--bg: #eef2f7;--panel: rgba(255, 255, 255, .92);--ink: #142231;--muted: #607080;--line: #d7e0ea;--accent: #116466;--accent-2: #f08a24;--accent-3: #0f172a;--danger: #b42318}*{box-sizing:border-box}body{margin:0;font-family:Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(17,100,102,.14),transparent 22%),radial-gradient(circle at bottom right,rgba(240,138,36,.12),transparent 28%),linear-gradient(135deg,#f7fafc,var(--bg))}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:14px;padding:12px 18px;background:linear-gradient(180deg,#177476,#116466);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,background .12s ease,border-color .12s ease,opacity .12s ease}button:hover{transform:translateY(-1px);border-color:#11646680;background:linear-gradient(180deg,#1b7f81,#136d6f)}button:active{transform:translateY(0)}button:focus-visible{outline:0;border-color:#1164667a}button:disabled{cursor:not-allowed;opacity:.7;transform:none}.secondary-button{background:#ffffffd1;color:var(--accent);border:1px solid var(--line);margin-bottom:24px}.secondary-button:hover{background:#11646614;border-color:#11646666}.inline-button{margin-bottom:0;width:fit-content}input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff}textarea{resize:vertical}a{color:var(--accent)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-layout{width:min(420px,100%);display:block}.brand-large{font-size:2rem;margin-bottom:18px}.feature-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.feature-list span{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:#ffffffad}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.toast{position:fixed;bottom:18px;right:18px;z-index:50;display:flex;align-items:center;gap:12px;max-width:420px;padding:14px 16px;border-radius:16px;background:#142231f5;color:#fff;box-shadow:0 20px 44px #14223138}.toast.success{background:#116466f5}.toast.error{background:#b42318f5}.toast-close{min-height:auto;padding:0;border:0;background:transparent;color:inherit}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:28px 22px;border-right:1px solid rgba(215,224,234,.7);background:linear-gradient(180deg,#0b182af5,#142231fa);color:#edf4fb;overflow:hidden}.sidebar-head{display:grid;gap:22px;align-content:start;min-height:0;overflow-y:auto}.brand{font-size:1.5rem;font-weight:700;margin-bottom:0}.sidebar-nav,.sidebar-foot{display:grid;gap:10px}.sidebar-link{justify-content:flex-start;width:100%;background:transparent;color:#edf4fbc7;border:1px solid transparent}.sidebar-link:hover,.sidebar-link.is-active{color:#fff;background:#ffffff14;border-color:#ffffff14}.sidebar-note{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff0a}.sidebar-note strong,.sidebar-note small{display:block}.sidebar-note small{color:#edf4fbb8}.content{padding:26px 30px 40px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.breadcrumb-item{color:var(--muted);font-size:.92rem}.breadcrumb-item.is-link{padding:0;background:transparent;color:var(--accent);border:0;min-height:auto}.breadcrumb-item:not(:last-child):after{content:"/";margin-left:10px;color:#9aa7b6}.topbar h1,.panel h1,.panel h2,.panel h3,.panel h4{margin:0}.topbar h1{font-size:1.75rem;line-height:1.1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;max-width:min(52vw,680px)}.page-actions{display:grid;gap:12px;justify-items:end}.topbar-search{width:320px;min-width:320px;max-width:320px}.topbar-select{width:220px;min-width:220px;max-width:220px}.month-input{width:160px;min-width:160px;max-width:160px}.page-actions-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.page-action-chip{display:inline-flex;align-items:center;min-height:40px;padding:10px 12px;background:#ffffffe6;color:var(--ink);border:1px solid var(--line);border-radius:999px;font-size:.92rem}.page-action-chip:hover{background:#11646614;border-color:#11646666}.page-action-chip.is-button{cursor:pointer}.page-action-chip.is-primary{background:linear-gradient(180deg,#177476,#116466);color:#fff;border-color:var(--accent)}.page-action-chip.is-primary:hover{background:linear-gradient(180deg,#1b7f81,#136d6f);border-color:#0f5b5c}.page-action-chip.is-danger{background:#b423181a;color:var(--danger);border-color:#b423183d}.page-action-chip.is-danger:hover{background:#b4231829;border-color:#b423186b}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.74rem;margin-bottom:10px}.auth-copy h1{font-size:clamp(2.4rem,4vw,4.6rem);line-height:.96;margin:0 0 14px}.auth-copy p,.panel p,.list-item small{color:var(--muted)}.panel-copy{margin:0 0 16px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 20px 44px #14223114}.form-panel{width:min(100%,420px)}.auth-brand{text-align:center;margin-bottom:8px}.panel label{display:grid;gap:8px;margin-bottom:14px}.toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between}.modal-header,.modal-backdrop{display:flex}.content-stack,.dashboard-grid,.authors-layout,.registry-grid{display:grid;gap:18px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.registry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registry-grid.two-columns{grid-template-columns:1.1fr .9fr}.kpi-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{padding:18px;border-radius:20px;border:1px solid var(--line);background:#ffffffc7}.kpi-card.accent{background:linear-gradient(135deg,#116466f5,#0c4344f5);color:#fff}.kpi-card span,.timeline-card span,.registry-card dt,.registry-card dd,.section-head span{color:var(--muted)}.kpi-card.accent span,.kpi-card.accent strong{color:#fff}.kpi-card strong{display:block;font-size:2rem;margin-top:8px}.timeline-card{display:grid;gap:6px;border:1px solid var(--line);border-radius:18px;padding:16px;background:#ffffffb8}.mini-chart,.comparison-chart{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));align-items:end;min-height:250px;padding-top:16px}.mini-chart-item,.comparison-item{display:grid;gap:10px;justify-items:center}.mini-chart-bar-wrap,.comparison-bars{width:100%;min-height:190px;display:flex;align-items:end;justify-content:center;gap:10px;padding:0 4px;border-bottom:1px solid var(--line)}.mini-chart-bar{width:28px;border-radius:14px 14px 4px 4px;background:linear-gradient(180deg,#177476,#116466)}.mini-chart-bar.primary{background:linear-gradient(180deg,#177476,#116466)}.mini-chart-bar.accent{background:linear-gradient(180deg,#f08a24,#d66f09)}.mini-chart-bar.secondary{background:linear-gradient(180deg,#27364a,#172435)}.mini-chart-item strong,.comparison-item strong{font-size:.85rem}.mini-chart-item span{font-size:.8rem;color:var(--muted);text-align:center}.list{display:grid;gap:10px;margin-top:18px}.authors-table-wrap{overflow-x:auto;overflow-y:visible}.authors-list-wrap{overflow:visible}.authors-table{width:100%;border-collapse:collapse}.authors-table th,.authors-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.authors-table th{font-size:.84rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.files-table tbody tr:last-child td{border-bottom:0}.authors-table tbody tr:hover{background:#ffffff94}.authors-table tbody tr.history-row{background:#f5f8fbc7}.primary-cell{min-width:280px}.file-name-cell{display:inline-flex;align-items:center;gap:10px}.file-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 8px;border-radius:999px;border:1px solid rgba(17,100,102,.24);background:#11646614;color:#0f5d5f;font-size:.72rem;font-weight:700;letter-spacing:.04em}.file-type-badge.is-pdf{border-color:#b736363d;background:#b7363614;color:#9f2a2a}.file-type-badge.is-xlsx{border-color:#25814e3d;background:#25814e14;color:#1f6f43}.month-col{width:92px;min-width:92px;white-space:nowrap}.numeric-cell{text-align:right;white-space:nowrap}.actions-col{width:1%;white-space:nowrap}.clickable-row{cursor:pointer}.inline-meta{color:var(--muted);font-weight:500;margin-left:6px}.table-actions{position:relative;display:inline-flex}.table-menu-trigger{min-height:38px;min-width:38px;padding:8px;border-radius:12px}.ellipsis-icon{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;line-height:1;letter-spacing:.06em}.table-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:grid;gap:4px;min-width:220px;padding:8px;border:1px solid var(--line);border-radius:16px;background:#fffffffa;box-shadow:0 20px 44px #14223124}.table-menu button{justify-content:flex-start;min-height:38px;padding:8px 10px;background:transparent;color:var(--ink);border-radius:10px}.table-menu button:hover{background:#f5f8fb}.danger-text{color:var(--danger)!important}.muted-dash{color:var(--muted)}.list-item{text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);width:100%;align-items:flex-start}.list-item:hover{border-color:var(--accent);transform:translateY(-1px)}.list-item.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px #1164662e}.list-item span,.list-item small{display:block}.author-list-title{font-weight:700;margin-bottom:10px}.author-list-meta{display:flex;flex-wrap:wrap;gap:10px}.author-list-meta small{padding:6px 10px;border-radius:999px;background:#f5f8fb;border:1px solid var(--line);color:var(--muted)}.detail{margin-top:20px}.result{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.detail-header,.stats,.detail-grid,.summary-cards,.detail-stack,.invoice-columns,.file-cards{display:grid;gap:12px}.detail-header{grid-template-columns:1fr auto;align-items:start}.stats{justify-items:end;color:var(--muted)}.detail-grid{grid-template-columns:1fr 1fr;margin-top:18px}.detail-stack{margin-top:18px}.summary-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.summary-card,.file-card,.invoice-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.summary-card span,.file-card span,.invoice-item span,.section-head span{color:var(--muted)}.summary-card strong{display:block;margin-top:6px;font-size:1.3rem}.result-head,.result-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.result-head span,.result-metrics span{color:var(--muted)}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#1164661a;color:var(--accent);border:1px solid rgba(17,100,102,.18)}.detail-section{border-top:1px solid var(--line);padding-top:18px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.table-toggle-button{min-height:38px;padding:8px 12px}.file-group{margin-bottom:16px}.file-group h5,.detail h4{margin-bottom:8px}.version-batch-card{background:linear-gradient(180deg,#fffffff5,#f6fafce6);border:1px solid var(--line);border-radius:18px;padding:16px}.version-batch-head,.linked-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.version-batch-head{margin-bottom:14px}.version-batch-head span,.linked-file-row span{color:var(--muted)}.linked-file-row strong,.linked-file-row span{display:block}.version-linked-files{display:grid;gap:10px}.linked-file-row{padding:12px 0;border-top:1px solid rgba(215,224,234,.72)}.linked-file-row:first-child{border-top:0;padding-top:0}.file-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.file-card{display:grid;gap:8px}.invoice-columns{grid-template-columns:1.15fr .85fr}.invoice-item{display:grid;gap:8px;margin-bottom:10px}.invoice-item em{color:var(--accent);font-style:normal;font-weight:700}.invoice-item.relevant{border-color:#0d66623d;box-shadow:inset 0 0 0 1px #0d666214}.invoice-item.muted{background:#ffffff8c}.invoice-list li{margin-bottom:10px}.invoice-list span,.invoice-list small{display:block;color:var(--muted)}.empty-state{color:var(--muted)}.selected-files{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.selected-files span,.success-card{background:#ffffffb8;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.error{color:var(--danger)}.registry-card{background:#ffffffd1;border:1px solid var(--line);border-radius:18px;padding:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b131b61;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:24px;z-index:40}.modal-shell{width:min(100%,640px);max-height:calc(100vh - 48px);overflow:auto;border-radius:24px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,#fcfefff5,#f4f9fbf5);box-shadow:0 28px 80px #12262e38;padding:22px}.modal-header{align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.ghost-button{background:#ffffffb8;color:var(--ink);border:1px solid var(--line)}.ghost-button:hover{background:#11646614;border-color:#11646666}.registry-card h3{margin-bottom:12px}.inline-form{display:grid;gap:12px}.inline-form label{display:grid;gap:8px}.inline-form-actions{display:flex;justify-content:flex-start}.role-selector,.permission-selector{display:flex;flex-wrap:wrap;gap:8px}.role-chip{background:#f5f8fb;color:var(--ink);border:1px solid var(--line);min-height:38px;padding:8px 12px}.role-chip.is-selected{background:var(--accent);color:#fff;border-color:var(--accent)}.registry-card dl,.registry-card div{margin:0}.registry-card dl{display:grid;gap:12px}.registry-card dt{font-size:.82rem;margin-bottom:4px}.registry-card dd{margin:0;color:var(--ink);font-weight:600}ul{padding-left:18px}@media (max-width: 960px){.auth-layout,.shell,.dashboard-grid,.registry-grid,.kpi-grid,.detail-header,.detail-grid,.invoice-columns,.summary-cards{grid-template-columns:1fr}.topbar,.author-management-actions,.modal-header,.section-head,.result-head,.result-metrics{grid-template-columns:1fr;flex-direction:column;align-items:flex-start}.page-actions,.page-actions-list{justify-items:start;justify-content:flex-start}.sidebar{gap:24px}}
