.udanti-login{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100dvh;padding:40px 20px;display:flex}.udanti-login .login-box{border:1px solid var(--border);background:var(--surface);width:100%;max-width:400px;box-shadow:none;border-radius:8px;padding:28px}.udanti-login .brand{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:24px}.udanti-login h1{margin-bottom:8px;font-size:22px}.udanti-login form{margin-top:24px}.udanti-login .login-footer{color:var(--muted);margin:0;font-size:12px}@media (width<=420px){.udanti-login .login-box{padding:24px 20px}}.people-page{gap:var(--space-5);min-width:0;display:grid}.people-page .card{gap:var(--space-4);min-width:0;display:grid}.people-tabs{flex-wrap:wrap;gap:8px;display:flex}.people-clock{width:100%;min-height:88px;font-size:24px}.people-form-grid{gap:16px;display:grid}.people-page fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.people-page article{overflow-wrap:anywhere}.people-document{white-space:pre-wrap;font:inherit;background:0 0;padding:0}.people-signature{touch-action:none;border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%;max-width:600px;height:180px}.people-signature-image{background:#fff;width:100%;max-width:360px}.people-amount{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.people-page dl{grid-template-columns:minmax(80px,1fr) minmax(0,2fr);gap:8px;margin:0;display:grid}.people-page dd{overflow-wrap:anywhere;margin:0}.people-page dt{color:var(--muted)}@media (width>=768px){.people-form-grid{grid-template-columns:1fr 1fr}.people-clock{max-width:440px}}@media print{:is(body:has(.people-print) .sidebar,body:has(.people-print) .topbar,body:has(.people-print) .bottom-tabs,body:has(.people-print) .skip-link){display:none}body:has(.people-print) .app-shell{display:block}body:has(.people-print) .page{max-width:none;padding:0}.people-print .no-print{display:none}body:has(.people-print) .people-page>:not(.people-print):not(:has(.people-print)){display:none}body:has(.people-print) .page>:not(.people-page){display:none}.people-print{color:#000;background:#fff;border:0;padding:12px}.people-print .card{break-inside:avoid}.people-print .desktop-list{display:block}.people-print .mobile-list{display:none}}.people-page .data-table .mobile-list .card{gap:8px}.people-page .data-table td p{margin-block:4px}.attendance-clock{gap:12px;display:grid}.attendance-clock .people-clock{min-height:56px;font-size:18px}.attendance-clock .people-amount{font-size:24px}.reports-home,.reports-page{min-width:0}.report-home-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.report-home-heading h2{margin:0}.report-home-heading a{align-items:center;min-height:44px;display:inline-flex}.report-task-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.report-task{min-width:0;margin:0}.report-task-link{color:inherit;min-height:96px;text-decoration:none;display:block}.report-task-link:hover h3{text-decoration:underline}.report-task h3{justify-content:space-between;gap:8px;margin:0 0 16px;font-size:18px;display:flex}.report-facts{flex-wrap:wrap;gap:24px;display:flex}.report-facts>div{align-items:baseline;gap:8px;display:flex}.report-facts strong{font-variant-numeric:tabular-nums;font-size:30px}.report-facts span,.report-note{color:var(--muted)}.report-amount{font-variant-numeric:tabular-nums;font-size:22px}.report-task-items{margin:16px 0;padding:0;list-style:none}.report-task-items li{border-top:1px solid var(--border);overflow-wrap:anywhere;flex-direction:column;gap:4px;padding:8px 0;display:flex}.report-task-items li span:last-child{color:var(--muted);font-size:14px}.report-note{font-size:14px;line-height:1.6}.report-controls{grid-template-columns:minmax(0,1fr);align-items:end;gap:12px;margin:0 0 24px;display:grid}.report-controls .field{min-width:0}.report-controls input{min-width:0;max-width:100%}.report-period{font-variant-numeric:tabular-nums;font-weight:600}.report-section{min-width:0;margin:24px 0}.report-section h2{margin-top:0}.report-section h3{margin-top:24px}.report-issues{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;padding:16px}.report-issues li{margin:8px 0}.report-chart{min-width:0;margin:16px 0}.report-chart svg{width:100%;height:auto;display:block;overflow:visible}.report-chart figcaption{color:var(--muted);font-size:13px}.report-legend{flex-wrap:wrap;gap:12px;padding:0;font-size:14px;list-style:none;display:flex}.report-legend li{align-items:center;gap:6px;display:inline-flex}.report-legend span{width:12px;height:12px;display:inline-block}.report-series-0{fill:var(--primary);background:var(--primary)}.report-series-1{fill:#487caf;background:#487caf}.report-series-2{fill:#b4782f;background:#b4782f}.report-series-3{fill:#8661a8;background:#8661a8}.report-table-scroll{max-width:100%;margin:16px 0;overflow-x:auto}.report-table-scroll table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.report-table-scroll caption{text-align:left;margin-bottom:8px;font-weight:600}.report-table-scroll th,.report-table-scroll td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:10px 12px}.report-table-scroll th:first-child{text-align:left;white-space:normal;overflow-wrap:anywhere;min-width:90px}@media (width>=1000px){.report-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-controls{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto auto}}@media print{@page{size:A4;margin:14mm}body:has(.reports-page){--bg:white;--surface:white;--text:black;--muted:#333;--border:#ccc;--primary:#245d49;color:#000;background:#fff}body:has(.reports-page) .app-shell{--bg:white;--surface:white;--text:black;--muted:#333;--border:#ccc;--primary:#245d49;color:#000;background:#fff}.reports-page .report-controls,.reports-page .button{display:none!important}body:has(.reports-page) .sidebar{display:none!important}body:has(.reports-page) .topbar{display:none!important}body:has(.reports-page) nav{display:none!important}body:has(.reports-page) .skip-link{display:none!important}body:has(.reports-page) .app-shell{display:block}body:has(.reports-page) .page{max-width:none;margin:0;padding:0}.reports-page .report-section{box-shadow:none;border:0;margin:18px 0;padding:0}.reports-page .report-section h2,.reports-page .report-section h3{break-after:avoid}.reports-page .report-table-scroll{overflow:visible}.reports-page table{font-size:10px}.reports-page thead{display:table-header-group}.reports-page tr,.reports-page .report-chart{break-inside:avoid}.reports-page td,.reports-page th{white-space:normal;padding:5px}.reports-page .report-note,.reports-page figcaption{color:#333}}.report-task-items li>a{min-height:44px;color:inherit;gap:6px;padding-block:6px;text-decoration:none;display:grid}.report-task-items li>a:hover strong{text-decoration:underline}.report-task-items li>a>span{color:var(--muted);font-size:14px}.report-item-arrow{justify-self:end}.report-task .setting-banner{margin-top:12px}.home-v2{gap:20px;display:grid}.home-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.home-columns{grid-template-columns:minmax(0,1.77fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.home-tasks>ul,.home-deadlines ul{margin:0;padding:0;list-style:none}.home-task-row{border-top:1px solid var(--row);align-items:center;gap:12px;min-height:64px;padding:12px 18px;display:flex}.home-task-row:first-child{border-top:0}.task-icon{background:var(--tone-bg);width:32px;height:32px;color:var(--tone);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.task-copy{min-width:0;color:var(--text);flex:1}.task-copy>div{align-items:baseline;gap:8px;display:flex}.task-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.task-kind{color:var(--muted);flex-shrink:0;font-size:12px}.task-number{color:var(--text-secondary);white-space:nowrap;font-size:12px}.task-copy p{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.task-action{flex-shrink:0}.home-side{gap:16px;min-width:0;display:grid}.home-pipeline .card-header{border-bottom:0}.pipeline-meta{color:var(--text-secondary);padding:0 18px 8px;font-size:12px}.home-pipeline ol{gap:10px;margin:0;padding:0 18px 16px;list-style:none;display:grid}.home-pipeline li{align-items:center;gap:8px;font-size:13px;display:flex}.home-pipeline li>span:first-child{width:66px;color:var(--text-secondary);flex-shrink:0}.pipeline-track{background:var(--gray-weak);border-radius:4px;flex:1;height:8px;overflow:hidden}.pipeline-track>span{background:var(--primary);border-radius:4px;height:8px;display:block}.home-pipeline li>strong{text-align:right;width:16px;font-weight:600}.pipeline-late{white-space:nowrap;font-size:12px}.home-deadlines li{border-top:1px solid var(--row)}.home-deadlines li:first-child{border-top:0}.home-deadlines li>a{color:var(--text);align-items:center;gap:10px;min-height:52px;padding:10px 18px;font-size:13px;display:flex}.deadline-date{flex-shrink:0;width:90px;line-height:1.4}.deadline-date small{font-size:12px;display:block}.deadline-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.deadline-name small{color:var(--text-secondary);font-size:inherit}.home-business{scroll-margin-top:72px}.home-business>summary{color:var(--text-secondary);font-size:13px}.home-business summary>span{color:var(--muted);margin-left:8px}.mobile-home-title{display:none}@media (width<=1100px){.home-columns{grid-template-columns:1fr}.home-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.home-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-v2{gap:14px}.home-header .desktop-home-title,.desktop-home-meta,.home-header .page-header-actions{display:none}.home-header p{margin-top:0;margin-bottom:4px}.mobile-home-title{font-size:20px;display:block}.home-task-row{gap:12px;padding:12px 14px}.home-task-row .task-kind,.home-task-row .task-number,.home-task-row .task-action{display:none}.home-task-row .task-copy{flex-direction:column;justify-content:center;min-height:44px;padding-block:4px;display:flex}.home-task-row .task-copy strong{font-size:13.5px}.home-task-row .status-badge{flex-shrink:0}.home-tasks .card-header{padding:8px 14px}.home-side{grid-template-columns:1fr}.home-columns{gap:16px}}.button.home-mobile-report{display:none}@media (width<=767px){.button.home-mobile-report{margin-block:12px;display:inline-flex}}.report-chart-scroll{min-width:0;overflow-x:auto}.report-chart-scroll svg{width:100%;min-width:620px;max-width:none}.report-chart-values{gap:6px;margin:12px 0;font-size:12px;display:grid}.report-chart-values p{flex-wrap:wrap;gap:4px 16px;margin:0;display:flex}.report-chart-values b{font-variant-numeric:tabular-nums;margin-left:4px}.report-data-card{padding:12px}.report-data-card dl{gap:6px;margin:10px 0 0;display:grid}.report-data-card dl>div{justify-content:space-between;gap:12px;display:flex}.report-data-card dt{color:var(--muted)}.report-data-card dd{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.reports-page .filter-chips,.report-basis{margin-bottom:16px}.reports-page .report-section>h2{font-size:16px}.reports-home .attendance-clock{margin-bottom:16px}@media print{.reports-page .filter-chips{display:none}.report-chart-values{break-inside:avoid}.reports-page .desktop-list{display:block;overflow:visible}.reports-page .mobile-list{display:none}.reports-page .report-chart-scroll{overflow:visible}.reports-page .report-chart-scroll svg{min-width:0}}.setup-checklist{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:8px 16px}.setup-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.setup-heading p{font-size:13px}.setup-heading>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.setup-heading h2{margin:0;font-size:14px}.setup-heading p{margin:0}.setup-optional{color:var(--muted);margin-left:8px;font-size:12px}.setup-items{margin:16px 0 0;padding:0;list-style:none}.setup-items a{border-top:1px solid var(--border);min-height:64px;color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.setup-items a>div{overflow-wrap:anywhere;min-width:0}.setup-items p{color:var(--muted);font-size:13px}.setup-items .status-badge{flex-shrink:0}.telegram-bot{border-bottom:1px solid var(--border);gap:16px;min-width:0;margin-bottom:24px;padding-block:0 24px;display:grid}.telegram-bot .actions{justify-content:flex-start}.telegram-bot p{overflow-wrap:anywhere}@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f2;--surface:#fff;--sunken:#f7f8f9;--side:#faf9f5;--text:#24313a;--text-secondary:#56626b;--muted:#67717a;--border:#dce2e7;--border-strong:#c7d0d7;--row:#ebeff2;--brand:#008bcc;--primary:#006b9d;--primary-hover:#005f8f;--primary-weak:#e5f3fa;--primary-past:#9ccae4;--on-primary:#fff;--green:#2c7a4c;--green-weak:#e6f2ea;--orange:#9a4b0b;--orange-weak:#fdf0e3;--red:#ac4135;--red-weak:#fbecea;--gray:#4b5761;--gray-weak:#eef1f4;--focus:#006b9d;--shadow:0 8px 32px #24313a1f;--font:Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius:6px;--radius-card:8px;--sidebar-width:232px;--page-max:1440px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141b21;--surface:#1d2730;--sunken:#222e38;--side:#182129;--text:#edf3f7;--text-secondary:#becbd4;--muted:#adbdc9;--border:#3c4c58;--border-strong:#617583;--row:#33414d;--brand:#5bc5f5;--primary:#82d2f5;--primary-hover:#b0e5fb;--primary-weak:#173e52;--primary-past:#527e96;--on-primary:#14252e;--green:#93d9ad;--green-weak:#203e2e;--orange:#f1bd87;--orange-weak:#4a3220;--red:#ffb2a7;--red-weak:#492b2a;--gray:#c6d2dc;--gray-weak:#34434f;--focus:#82d2f5;--shadow:0 8px 32px #00000047}:root,[data-theme]{--surface-muted:var(--gray-weak);--danger:var(--red);--danger-bg:var(--red-weak);--success:var(--green);--success-bg:var(--green-weak);--warning:var(--orange);--warning-bg:var(--orange-weak)}*{box-sizing:border-box}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.04em;font-size:26px;font-weight:700;line-height:1.3}h2{letter-spacing:-.025em;font-size:18px;line-height:1.5}p+p{margin-top:var(--space-2)}.muted,.field-hint{color:var(--muted)}.required{color:var(--muted);font-size:12px;font-weight:400}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.full-width{width:100%}.break-word{overflow-wrap:anywhere}.button{border-radius:var(--radius);justify-content:center;align-items:center;gap:var(--space-2);white-space:normal;border:1px solid #0000;min-width:44px;min-height:44px;padding:9px 16px;font-weight:600;line-height:1.5;display:inline-flex}.button-primary{background:var(--primary);color:var(--on-primary)}.button-primary:hover:not(:disabled){background:var(--primary-hover)}.button-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button-danger{background:var(--danger);color:var(--surface)}.button-text{color:var(--primary);background:0 0;padding-inline:10px}.button-text:hover:not(:disabled),.button-secondary:hover:not(:disabled){background:var(--surface-muted)}button:disabled{opacity:.6;cursor:wait}form{gap:var(--space-5);display:grid}.field{gap:6px;min-width:0;display:grid}.field label{font-size:14px;font-weight:600}input:not([type=checkbox]),select,textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;min-height:44px;color:var(--text);background:var(--surface);padding:10px 12px;font-size:16px}input[inputmode=numeric],input[inputmode=decimal],input[type=date],time,td{font-variant-numeric:tabular-nums}textarea{resize:vertical;min-height:108px}input[aria-invalid=true]{border-color:var(--danger)}.field-hint,.field-error{font-size:13px}.field-error{color:var(--danger)}.checkbox{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--primary)}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-5);min-width:0}.card h2+form,.card p+form{margin-top:var(--space-5)}.card h2+p{margin-top:6px}.actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.error-box{padding:var(--space-3) var(--space-4);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);background:var(--danger-bg)}.status-chip{white-space:nowrap;border-radius:4px;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}.status-neutral{background:var(--surface-muted);color:var(--muted)}.status-success{background:var(--success-bg);color:var(--success)}.status-warning{background:var(--warning-bg);color:var(--warning)}.status-danger{background:var(--danger-bg);color:var(--danger)}.setting-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);background:var(--warning-bg);border-radius:var(--radius);flex-wrap:wrap;display:flex}.empty-state{text-align:center;justify-items:center;gap:var(--space-3);color:var(--muted);padding:48px 16px;display:grid}.empty-state strong{color:var(--text);font-weight:600}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.page-header p{margin-top:var(--space-2);color:var(--muted)}.page-tabs{gap:var(--space-2);overscroll-behavior-x:contain;border-bottom:1px solid var(--border);flex-wrap:nowrap;width:100%;min-width:0;max-width:100%;padding:4px 3px 8px;display:flex;overflow-x:auto}.page-tabs a{border-radius:var(--radius);white-space:nowrap;min-height:44px;color:var(--muted);flex:none;align-items:center;padding:9px 12px;font-weight:600;display:inline-flex}.page-tabs a:hover{background:var(--surface-muted);text-decoration:none}.page-tabs a[aria-current=page]{color:var(--primary);background:var(--success-bg);box-shadow:inset 0 -3px 0 var(--primary)}.page>*,.page-tabs+*{min-width:0}@media print{.page-tabs{display:none}}.mobile-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.desktop-list{display:none}.list-card-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.list-card-heading>div{overflow-wrap:anywhere;min-width:0}.list-card-heading p{margin-top:4px;font-size:13px}.row-actions{flex-wrap:wrap;gap:4px;display:flex}.mobile-list .row-actions{border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-3)}.cell-detail{color:var(--muted);font-size:13px;display:block}details summary{cursor:pointer;min-height:44px;color:var(--primary);padding:10px 0;display:list-item}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-muted);padding:var(--space-3);border-radius:4px;max-width:100%;font-family:ui-monospace,monospace;font-size:12px}dialog{padding:var(--space-5);background:var(--surface);color:var(--text);border:1px solid var(--border);width:min(440px,100% - 32px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);border-radius:8px;overflow-y:auto}dialog::backdrop{background:#0a140f73}.dialog-body{margin-block:var(--space-5);gap:var(--space-4);display:grid}.toast{pointer-events:none;top:calc(64px + env(safe-area-inset-top));z-index:20;color:var(--text);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex;position:fixed;left:16px;right:16px}.toast button{pointer-events:auto}.brand{align-items:center;gap:var(--space-3);letter-spacing:-.025em;color:var(--text);font-size:20px;font-weight:750;display:flex}.brand-mark{background:var(--primary);color:var(--on-primary);border-radius:6px;place-items:center;width:36px;height:36px;font-size:19px;display:grid}.brand-sub{letter-spacing:.06em;color:var(--muted);font-size:13px;font-weight:500}.login-page{flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100dvh;padding:32px 24px;display:flex}.login-box{width:min(100%,384px)}.login-box .brand{margin-bottom:48px}.login-box h1{margin-bottom:8px}.login-box form{margin-top:32px}.login-footer{color:var(--muted);margin-top:20px;font-size:12px}.app-shell{background:var(--bg);min-height:100dvh;color:var(--text)}.sidebar{display:none}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:8px;min-height:64px;padding:8px 16px;display:flex}.mobile-brand{white-space:nowrap;font-weight:700}.desktop-breadcrumb{display:none}.topbar-actions{gap:4px;display:flex}.page{padding:28px 16px calc(104px + env(safe-area-inset-bottom));max-width:var(--page-max);gap:var(--space-5);margin:0 auto;display:grid}.bottom-tabs{background:var(--surface);border-top:1px solid var(--border);padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.bottom-tabs a{min-width:72px;min-height:52px;color:var(--muted);border-radius:4px;flex:1 0 72px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.bottom-tabs a.active{background:var(--success-bg);color:var(--primary);box-shadow:inset 0 3px 0 var(--primary)}.welcome{padding-block:8px 0}.welcome h2{font-size:21px}.welcome p{color:var(--muted);margin-top:6px}.section-heading{border-bottom:1px solid var(--border);padding-bottom:16px}.quick-links{gap:0;display:grid}.quick-links h2{padding-bottom:12px}.quick-links a{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:52px;display:flex}.profile-details{gap:16px;margin:0;display:grid}.profile-details>div{grid-template-columns:80px 1fr;gap:16px;display:grid}.profile-details dt{color:var(--muted)}.profile-details dd{overflow-wrap:anywhere;margin:0}.compact-form{max-width:440px}.skip-link{z-index:100;background:var(--surface);border:2px solid var(--focus);padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.loading{text-align:center;color:var(--muted);padding:48px 24px}@media (width>=768px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar .brand{padding:4px 8px 32px}.nav-caption{color:var(--muted);padding:12px 16px;font-size:12px}.sidebar nav{gap:4px;display:grid;overflow-y:auto}.sidebar nav a{border-radius:var(--radius);min-height:46px;color:var(--muted);padding:12px 16px}.sidebar nav a.active{color:var(--primary);background:var(--success-bg);box-shadow:inset 3px 0 0 var(--primary);font-weight:650}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:24px 16px 0;display:grid}.sidebar-footer span{color:var(--muted);font-size:13px}.topbar{padding-inline:32px}.mobile-brand,.bottom-tabs,.mobile-list{display:none}.desktop-breadcrumb{color:var(--muted);font-size:13px;display:block}.desktop-breadcrumb span{color:var(--border);margin-inline:12px}.page{gap:28px;padding:40px 32px 64px}.desktop-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:block;overflow-x:auto}table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%;font-size:14px}th{color:var(--muted);background:var(--surface-muted);padding:12px 16px;font-size:12px;font-weight:600}td{border-top:1px solid var(--border);vertical-align:middle;overflow-wrap:anywhere;padding:16px}.desktop-list .row-actions .button{padding-inline:6px;font-size:13px}.toast{max-width:460px;inset:auto 32px 24px auto}.quick-links{max-width:440px}}@media (prefers-reduced-motion:no-preference){.button{transition:background-color .1s}}.input-control{align-items:center;gap:var(--space-2);min-width:0;display:flex}.input-suffix{color:var(--muted);flex-shrink:0}.setting-banner>span:not(.status-chip){overflow-wrap:anywhere;flex:180px;min-width:0}.setting-banner .button{max-width:100%}body{font-variant-numeric:tabular-nums;font-size:14px;line-height:1.5}h1{letter-spacing:-.01em;font-size:22px}h2{letter-spacing:0;font-size:16px}svg{flex-shrink:0}.button{gap:6px;min-height:36px;padding:6px 14px;font-size:14px;font-weight:500}.button-primary{font-weight:600}.button-secondary{border-color:var(--border-strong)}.button-small{min-height:30px;padding:4px 10px;font-size:13px}.button-ghost,.button-text{color:var(--text-secondary);background:0 0;border-color:#0000}.button-ghost:hover{background:var(--sunken)}.button-danger{color:var(--surface)}.button svg{width:15px;height:15px}.button:hover{text-decoration:none}.icon-button{width:36px;min-width:36px;height:36px;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid;position:relative}.icon-button:hover{background:var(--gray-weak)}.wordmark{white-space:nowrap;align-items:baseline;gap:10px;display:inline-flex}.wordmark>span{letter-spacing:-1.4px;color:var(--brand);font-size:27px;font-weight:750;line-height:1}.wordmark small{letter-spacing:2.9px;color:var(--muted);font-size:9.5px;font-weight:550}.page-header{align-items:flex-end;gap:12px 16px;padding:0}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:13px}.page-header-actions{flex-wrap:wrap;gap:8px;display:flex}.page-tabs{gap:24px;padding:0}.page-tabs a{color:var(--text-secondary);border-bottom:2px solid #0000;border-radius:0;gap:6px;padding:10px 2px;font-weight:400}.page-tabs a:hover{color:var(--primary);background:0 0}.page-tabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--primary);box-shadow:none;background:0 0;font-weight:600}.tab-count{background:var(--gray-weak);color:var(--text-secondary);border-radius:9px;padding:0 6px;font-size:12px}.card{border-radius:8px}.card-flush{padding:0;overflow:hidden}.card-header{border-bottom:1px solid var(--row);align-items:center;gap:8px;min-height:52px;padding:12px 18px;display:flex}.card-header h2{font-size:15px;font-weight:600}.card-header .muted{font-size:13px}.card-header-action{align-items:center;margin-left:auto;display:flex}.stat-card{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:8px;padding:16px 18px;display:block}a.stat-card:hover{border-color:var(--primary);text-decoration:none}.stat-label{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.stat-label svg{width:15px;height:15px;color:var(--muted)}.stat-value{overflow-wrap:anywhere;margin:4px 0;font-size:26px;font-weight:700;line-height:1.4}.stat-value small{margin-left:2px;font-size:14px}.stat-detail{color:var(--text-secondary);min-height:18px;font-size:12px}.tone-gray{--tone:var(--gray);--tone-bg:var(--gray-weak)}.tone-blue{--tone:var(--primary);--tone-bg:var(--primary-weak)}.tone-orange{--tone:var(--orange);--tone-bg:var(--orange-weak)}.tone-red{--tone:var(--red);--tone-bg:var(--red-weak)}.tone-green{--tone:var(--green);--tone-bg:var(--green-weak)}.status-badge{background:var(--tone-bg);min-height:22px;color:var(--tone);white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.filter-chips{overscroll-behavior-x:contain;gap:6px;min-width:0;max-width:100%;padding:4px 0;display:flex;overflow-x:auto}.filter-chips button{min-height:30px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);white-space:nowrap;border-radius:20px;flex:none;justify-content:center;align-items:center;gap:6px;padding:4px 12px;font-size:13px;display:inline-flex}.filter-chips button span{color:var(--text-secondary)}.filter-chips button[aria-pressed=true]{background:var(--primary-weak);color:var(--primary);border-color:var(--primary);font-weight:600}.filter-chips button[aria-pressed=true] span{color:inherit}.search-field{border:1px solid var(--border-strong);background:var(--surface);min-height:36px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.search-field input:not([type=checkbox]){outline-offset:0;background:0 0;border:0;min-height:32px;padding:6px 0;font-size:14px}.search-field:focus-within{outline:2px solid var(--focus);outline-offset:2px}.search-field input:focus-visible{outline:none}.progress-steps{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.progress-bars{flex:none;gap:2px;display:inline-flex}.progress-bars i{background:var(--border);border-radius:2px;width:8px;height:6px}.progress-bars .past{background:var(--primary-past)}.progress-bars .current{background:var(--tone)}.progress-steps.tone-orange>span:last-child,.progress-steps.tone-red>span:last-child{color:var(--tone);font-weight:600}.dropdown-menu{z-index:100;background:var(--surface);border:1px solid var(--border);min-width:184px;max-width:calc(100vw - 32px);box-shadow:var(--shadow);border-radius:8px;padding:4px;position:fixed}.dropdown-menu [role=menuitem]{text-align:left;width:100%;min-height:44px;color:var(--text);background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;display:flex}.dropdown-menu [role=menuitem]:hover,.dropdown-menu [role=menuitem]:focus{background:var(--primary-weak);text-decoration:none}.dropdown-menu .danger-text,.danger-text{color:var(--red)}.warning-text{color:var(--orange)}.data-table{min-width:0}.data-table .desktop-list{border-radius:8px 8px 0 0}.data-table table{table-layout:auto}.data-table th{background:var(--sunken);color:var(--muted);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:500}.data-table td{border-top:1px solid var(--row);height:46px;padding:8px 14px}.data-table .date-group th,.date-group{background:var(--sunken);color:var(--text-secondary);text-align:left;padding:6px 14px;font-size:12px}.date-group strong{color:var(--text);margin-right:8px;font-weight:600}.table-footer{background:var(--surface);border:1px solid var(--border);border-top:0;border-radius:0 0 8px 8px;justify-content:space-between;gap:16px;padding:12px 14px;font-size:13px;display:flex}.data-table .mobile-list{gap:8px}.data-table .mobile-list>li{min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width>=768px){.desktop-list th{background:var(--sunken)}.desktop-list td{border-color:var(--row)}}@media (width<=767px){.button,.button-small,.icon-button{min-height:44px}.icon-button{width:44px;min-width:44px;height:44px}.filter-chips button,.search-field{min-height:44px}.search-field input:not([type=checkbox]){min-height:42px;font-size:16px}.page-header h1{font-size:20px}.stat-card{padding:12px 14px}.stat-value{font-size:22px}.stat-label svg{display:none}.table-footer{border-top:1px solid var(--border);border-radius:8px;flex-wrap:wrap;margin-top:8px}.data-table .date-group{margin-bottom:8px}}.page-skeleton{gap:12px;padding-top:4px;display:grid}.skeleton{background:linear-gradient(90deg, var(--gray-weak) 0%, var(--sunken) 50%, var(--gray-weak) 100%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-title{width:160px;height:28px}.skeleton-line{width:min(320px,70%);height:14px}.skeleton-rows{gap:8px;margin-top:12px;display:grid}.skeleton-row{height:44px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.data-table td:first-child>.button-text:first-child{min-height:32px;color:var(--primary);text-align:left;justify-content:flex-start;padding-inline:0;font-weight:600}.data-table td:first-child>.button-text:first-child:hover:not(:disabled){background:0 0;text-decoration:underline}.workspace{min-width:0}.app-shell .topbar{justify-content:initial;gap:12px;height:56px;min-height:56px;padding:6px 16px}.app-shell .page{padding:20px 16px calc(88px + env(safe-area-inset-bottom));gap:20px}.topbar-actions{align-items:center;margin-left:auto}.notification-dot{border:1.5px solid var(--surface);background:var(--orange);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:10px}.global-search{min-width:0;position:relative}.search-input-wrap{min-width:0;display:flex}.global-search-input{background:var(--sunken);color:var(--muted);border:1px solid var(--border);border-radius:6px;flex:1;align-items:center;gap:8px;min-width:0;padding:0 10px 0 12px;display:flex}.global-search-input input{background:0 0;border:0;min-height:34px;padding:6px 0;font-size:14px}.global-search-input:focus-within{outline:2px solid var(--focus);outline-offset:2px}.global-search-input input:focus-visible{outline:none}.global-search-input kbd{background:var(--surface);border:1px solid var(--border-strong);font:inherit;border-radius:4px;padding:0 6px;font-size:12px}.search-results{z-index:60;background:var(--surface);border:1px solid var(--border);width:min(480px,100vw - 32px);max-height:min(560px,100dvh - 140px);box-shadow:var(--shadow);border-radius:8px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;overflow:auto}.search-results h2{color:var(--muted);padding:8px 10px 4px;font-size:12px;font-weight:600}.search-results p{color:var(--text-secondary);padding:8px 10px;font-size:13px}.search-results [role=option]{min-height:44px;color:var(--text);overflow-wrap:anywhere;border-radius:4px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.search-results [role=option] small{color:var(--muted)}.search-results [role=option][aria-selected=true],.search-results [role=option]:hover{background:var(--primary-weak);text-decoration:none}.menu-group ul{margin:0;padding:0;list-style:none}.menu-group h2{color:var(--muted);letter-spacing:.02em;padding:14px 10px 4px;font-size:11.5px;font-weight:600}.app-shell .nav-item{color:var(--text);border-radius:6px;align-items:center;gap:10px;min-height:32px;padding:6px 10px;font-size:14px;display:flex}.nav-item svg{color:var(--muted)}.app-shell .nav-item[aria-current=page]{background:var(--primary-weak);color:var(--primary);box-shadow:none;font-weight:600}.nav-item[aria-current=page] svg{color:var(--primary)}.nav-item:hover{background:var(--gray-weak);text-decoration:none}.nav-count{background:var(--orange-weak);min-width:20px;height:18px;color:var(--orange);border-radius:10px;place-items:center;margin-left:auto;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.user-summary{align-items:center;gap:10px;padding:8px 10px;display:flex}.user-avatar{background:var(--gray-weak);width:30px;height:30px;color:var(--gray);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;display:grid}.user-summary strong{overflow-wrap:anywhere;font-size:13px;font-weight:600}.user-summary small{color:var(--muted);font-size:12px;display:block}.sidebar-footer .nav-item small{white-space:nowrap;color:var(--muted);margin-left:auto;font-size:12px}.all-menu{gap:16px;min-width:0;display:grid}.all-menu .menu-group{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px}.all-menu .menu-group a{min-height:44px;color:var(--text);align-items:center;gap:10px;padding:8px 12px;display:flex}.menu-arrow{color:var(--muted);margin-left:auto}@media (width>=768px){.app-shell .sidebar{background:var(--side);padding:0}.app-shell .sidebar .brand{border-bottom:1px solid var(--border);flex-shrink:0;min-height:56px;padding:12px 22px}.app-shell .sidebar nav{flex:1;min-height:0;padding:10px 12px;display:block}.app-shell .sidebar nav a{min-height:32px}.app-shell .sidebar-footer{flex-shrink:0;gap:6px;padding:10px 12px 14px}.app-shell .topbar{padding-inline:28px}.app-shell .page{padding:24px 28px 40px}.global-search{flex:0 420px}.mobile-search-button,.close-search,.mobile-create{display:none}.all-menu{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (width<=767px){html{scroll-padding-top:64px;scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom))}.app-shell .topbar{z-index:30;position:sticky;top:0}.mobile-brand{margin-right:auto}.mobile-brand .icon-button{width:auto}.mobile-brand .wordmark>span{font-size:25px}.create-menu,.desktop-user,.search-input-wrap{display:none}.topbar .topbar-actions{margin-left:0}.topbar{gap:4px}.global-search.search-open{background:var(--surface);position:absolute;inset:6px 16px}.search-open .mobile-search-button{display:none}.search-open .search-input-wrap{display:flex}.search-open .global-search-input input{font-size:16px}.search-open .search-results{top:50px}.search-open kbd{display:none}.app-shell .bottom-tabs{gap:2px;overflow:visible}.app-shell .bottom-tabs a{white-space:nowrap;flex-direction:column;flex:1 1 0;gap:2px;min-width:0;min-height:50px;padding:4px 2px;font-size:11px;font-weight:500;display:flex}.app-shell .bottom-tabs a[aria-current=page]{color:var(--primary);box-shadow:none;background:0 0;font-weight:600}.bottom-icon{display:flex;position:relative}.bottom-icon .nav-count{background:var(--orange);min-width:16px;height:16px;color:var(--surface);border:1px solid var(--surface);padding:0 3px;position:absolute;top:-6px;left:15px}}@media (pointer:coarse){.app-shell .sidebar nav a{min-height:44px}}.user-summary strong,.sidebar-footer .nav-item>span{color:var(--text)}
