:root{--bg: #f6f5f1;--bg-2: #efece5;--bg-3: #e8e4da;--ink: #16140f;--ink-2: #3a362d;--mute: #6e6858;--line: #d9d4c6;--line-2: #c8c2b1;--accent: #b06a3a;--accent-soft: #f2e5d5;--on-accent: #fff8f0;--good: #2a9d5c;--warn: #e8921a;--warn-soft: #fef3c7;--warn-strong: #92400e;--bad: #d94949;--info: #3b6ea5;--info-soft: #dfe9f2;--radius: 6px;--radius-lg: 14px;--card-border: var(--line);--card-shadow: 0 1px 3px rgba(22, 20, 15, .06), 0 8px 20px -6px rgba(22, 20, 15, .14);--serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--sans: "Geist", ui-sans-serif, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--text-micro: 13px;--text-meta: 15px;--text-body: 19px;--text-lead: 23px;--text-title: 28px;--text-title-lg: 32px;--text-title-xl: 36px;--text-stat: 48px;--text-hero: 68px}.logo-light{display:block}.logo-dark,body[data-dark=true] .logo-light{display:none}body[data-dark=true] .logo-dark{display:block}body[data-dark=true]{--bg: #14130f;--bg-2: #1b1a15;--bg-3: #23211b;--ink: #f3efe4;--ink-2: #c8c2b1;--mute: #8a8473;--line: #2c2a23;--line-2: #3a372e;--accent: #cf8c55;--accent-soft: #3d2e22;--on-accent: #14130f;--warn-soft: #3d3016;--warn-strong: #f0c674;--info: #7fb0e0;--info-soft: #23303d;--card-border: var(--line-2);--card-shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 8px 20px -6px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;transition:transform .1s ease-out}a{color:inherit}input,textarea,select{font-family:inherit;color:inherit}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}.mono{font-family:var(--mono);font-feature-settings:"tnum"}.app{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}::-webkit-scrollbar-track{background:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[role=radiogroup] label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}button:not(:disabled):active,[role=button]:not([aria-disabled=true]):active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){button:not(:disabled):active,[role=button]:not([aria-disabled=true]):active{transform:none}}.print-report{display:none;--print-accent: #b06a3a;--print-ink: #18160f;--print-mute: #6b6555;--print-line: #ddd6c4;--print-ok: #2a9d5c;--print-warn: #c9601f}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.progress-indeterminate{animation:progress-indeterminate 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.progress-indeterminate{animation:none}}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card-in{animation:card-in .35s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.card-in{animation:none}}.chevron-rotate{transition:transform .15s}@media(prefers-reduced-motion:reduce){.chevron-rotate{transition:none}}.score-ring{transition:stroke-dashoffset 1s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){.score-ring{transition:none}}.dist-segment{transition:width .6s cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){.dist-segment{transition:none}}.mobile-topbar,.sidebar-overlay{display:none}.sidebar{position:sticky;top:0;height:100vh}@media(max-width:900px){.app{flex-direction:column}.sidebar{position:fixed;top:0;left:0;height:100dvh;z-index:40;transform:translate(-100%);transition:transform .22s cubic-bezier(.16,1,.3,1)}.sidebar.sidebar--open{transform:translate(0);box-shadow:12px 0 32px #16140f2e}.sidebar-close-btn{display:inline-flex!important}.mobile-topbar{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}.sidebar-overlay.sidebar-overlay--open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#16140f66;z-index:30}}@media(min-width:901px){.sidebar-close-btn{display:none!important}}@media(max-width:640px){.dashboard-summary-grid,.dashboard-summary-skeleton{grid-template-columns:minmax(0,1fr)!important}}@media(max-width:640px){.files-summary-grid{grid-template-columns:minmax(0,1fr)!important}}@media(max-width:1200px){.login-shell{grid-template-columns:minmax(0,1fr)!important}.login-form-panel{min-width:0}.login-hero{display:none!important}.login-mobile-logo{display:flex!important}}@media(max-width:640px){.detail-header{grid-template-columns:minmax(0,1fr)!important;justify-items:start;gap:16px!important}}@media(max-width:640px){.login-form-panel{padding:24px!important}}@media(max-width:640px){.imprint-fact-row{grid-template-columns:1fr!important;gap:4px!important}}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}@media(max-width:900px){.profile-form-grid{grid-template-columns:minmax(0,1fr)!important}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .6s linear infinite}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.board-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:12px}.board-grid{overflow-x:auto;padding-bottom:8px}@media(max-width:900px){.board-grid>*{width:240px}}.board-column--over{background:var(--bg-2);outline:2px dashed var(--line-2);outline-offset:4px;border-radius:var(--radius)}@media(max-width:640px){.app-table-row,.app-table-head{grid-template-columns:1fr 80px 40px!important}.app-table-date{display:none}}@media(max-width:900px){.detail-category-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:640px){.detail-category-grid{grid-template-columns:1fr!important}}@media print{.no-print,.app>aside,.screen-content{display:none!important}.print-report{display:block;color:#000}body{background:#fff;color:#000}@page{margin:18mm 16mm}}.row-hover{transition:background .12s}.row-hover:hover,.row-hover:focus-visible{background:var(--bg-2)!important}
