:root{--bg: #f6f6f3;--panel: #ffffff;--ink: #111111;--muted: #666666;--soft: #e8e8e4;--line: #d7d7d2;--black: #000000;--white: #ffffff;--subtle: #f0f0ed;--danger: #8f1b1b;--success: #1f5f3a;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}textarea{min-height:112px;resize:vertical}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--black)}.screen-state{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(100%,460px);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:36px;display:grid;gap:18px}.auth-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--black);color:var(--white);border-radius:8px;font-weight:800}.auth-panel h1,.page-header h1{margin:0;letter-spacing:0}.auth-panel p,.page-header p{margin:0;color:var(--muted);line-height:1.6}.notice{display:grid;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--subtle);padding:14px}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:var(--panel);padding:22px;display:flex;flex-direction:column;justify-content:space-between}.brand,.mobile-brand{font-weight:800}.nav-list{display:grid;gap:6px;margin-top:28px}.nav-group{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.nav-group summary{display:flex;align-items:center;justify-content:space-between;color:var(--muted);cursor:pointer;font-weight:800;padding:8px 12px}.nav-group-list{display:grid;gap:6px}.nav-item,.bottom-nav-item{display:flex;align-items:center;gap:10px;color:var(--muted);border-radius:8px}.nav-item{padding:11px 12px}.nav-item.active,.bottom-nav-item.active{color:var(--ink);background:var(--subtle)}.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--black);color:var(--white);font-size:12px;font-weight:800}.profile-box{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:16px}.profile-name{font-weight:700}.profile-role,.topbar-subtitle{color:var(--muted);font-size:13px}.main-wrap{min-width:0;position:relative}.desktop-top-actions{position:absolute;top:24px;right:34px;z-index:15}.topbar{display:none}.topbar-actions{display:flex;align-items:center;gap:8px}.notification-wrap,.notification-button{position:relative}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:var(--danger);color:var(--white);font-size:11px;font-weight:800}.notification-menu{position:absolute;top:46px;right:0;z-index:30;width:min(320px,calc(100vw - 32px));display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 12px 36px #0000001f;padding:12px}.notification-menu-title{font-weight:800}.notification-empty,.notification-item{border:1px solid var(--line);border-radius:8px;padding:10px}.notification-empty{color:var(--muted);background:var(--subtle)}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.notification-item span{color:var(--muted);font-size:13px}.notification-item em{grid-row:1 / span 2;grid-column:2;align-self:center;font-style:normal;font-weight:800}.content{width:min(100%,1180px);margin:0 auto;padding:34px 92px 34px 34px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.page-header h1{font-size:30px;line-height:1.15}.page-actions{display:flex;gap:10px}.primary-button,.secondary-button,.icon-text-button,.icon-button{border:1px solid var(--black);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{background:var(--black);color:var(--white);padding:11px 14px}.submit-button{width:100%;min-height:56px;margin-top:18px;font-weight:800}.secondary-button,.icon-text-button{background:var(--white);color:var(--ink);padding:10px 13px}.icon-button{width:40px;height:40px;background:var(--white);color:var(--ink);padding:0}.panel,.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:8px}.panel{padding:20px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{min-height:126px;padding:18px;display:grid;gap:12px;align-content:start}.metric-card span{color:var(--muted)}.metric-card strong{font-size:26px}.section-title{font-weight:800;margin-bottom:14px}.table-list{display:grid;gap:10px}.table-row,.event-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px}.event-card div{min-width:0;display:grid;gap:4px}.event-card span:not(.status-pill),.empty-state span{color:var(--muted)}.status-pill{width:fit-content;display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:13px;color:var(--ink);background:var(--subtle);white-space:nowrap}.status-normal{border-color:#bfd0c5;background:#edf6f0;color:var(--success)}.status-missing_punch{border-color:#e1c4c4;background:#fbefef;color:var(--danger)}.form-stack{display:grid;gap:12px}.inline-message{grid-column:1 / -1;color:var(--muted);background:var(--subtle);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-row label{display:grid;gap:6px;color:var(--muted);font-size:13px}.search-input{position:relative}.search-input svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-input input{padding-left:38px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.calendar-weekday,.calendar-day{background:var(--panel);min-height:42px;padding:10px}.calendar-weekday{color:var(--muted);text-align:center;font-size:13px}.calendar-day{min-height:132px;border:0;text-align:left;display:grid;align-content:start;gap:8px}.calendar-day:hover{background:var(--subtle)}.calendar-day-empty,.calendar-day-empty:hover{background:#f1f1ee}.calendar-day span{font-weight:800}.event-card{align-items:flex-start;margin-bottom:10px;flex-wrap:wrap}.event-card p{flex-basis:100%;margin:0;color:var(--muted)}.weekday-picker{display:flex;flex-wrap:wrap;gap:10px 16px;margin:14px 0}.version-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.version-column,.version-card{display:grid;gap:8px}.version-card{border:1px solid var(--line);border-radius:8px;background:var(--white);padding:12px}.version-card span,.version-card small{color:var(--muted);line-height:1.5}.printable-attendance{display:grid;gap:12px}.printable-header{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.export-table-wrap{width:100%;overflow-x:auto}.export-table{width:100%;border-collapse:collapse;min-width:760px}.export-table th,.export-table td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:middle}.export-table th{background:var(--subtle);font-size:13px;color:var(--muted)}.tab-button{border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);padding:10px 14px;font-weight:700;cursor:pointer}.tab-button.active{border-color:var(--success);background:#e9f7ef;color:var(--success)}.danger-note{border:1px solid #f3aaa3;border-radius:8px;background:#fff5f4;color:var(--danger);padding:10px 12px;font-size:13px;font-weight:700}.muted-copy{color:var(--muted);line-height:1.7;margin:0}.checkbox-row{color:var(--muted)}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px}.checkbox-row input{width:auto}.empty-state{min-height:120px;display:grid;place-items:center;text-align:center;color:var(--muted);background:var(--subtle);border:1px dashed var(--line);border-radius:8px;padding:18px}.bottom-nav{display:none}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar,.desktop-top-actions{display:none}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--panel) 92%,transparent);border-bottom:1px solid var(--line);padding:12px 16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-management-panel{position:sticky;top:65px;z-index:9;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-bottom:1px solid var(--line);background:var(--panel);padding:10px 16px}.topbar .notification-menu{position:fixed;top:66px;left:16px;right:16px;width:auto;max-height:calc(100dvh - 90px);overflow-y:auto}.mobile-management-item{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--muted)}.topbar-actions .icon-button{width:44px;height:44px}.mobile-management-item.active{color:var(--ink);background:var(--subtle)}.content{padding:20px 16px 92px}.page-header,.grid-2,.metric-grid,.version-grid,.form-row{grid-template-columns:1fr}.page-header{display:grid}.page-header h1{font-size:25px}.calendar-day{min-height:92px;padding:8px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;border-top:1px solid var(--line);background:var(--panel);padding:8px}.bottom-nav-item{min-width:0;min-height:56px;justify-content:center;flex-direction:column;gap:4px;font-size:12px}}@media (max-width: 520px){.auth-panel{padding:24px}.calendar-grid{font-size:12px}.calendar-weekday,.calendar-day{min-height:44px;padding:6px}.table-row{align-items:flex-start;flex-wrap:wrap}}.clock-card{text-align:center;padding:28px 20px}.clock-date{color:var(--muted);font-size:16px}.clock-time{font-size:64px;font-weight:800;line-height:1.1;margin:6px 0 8px;font-variant-numeric:tabular-nums}.clock-status{color:var(--muted)}.clock-status-part{white-space:nowrap}.punch-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}.punch-button{min-height:64px;font-size:18px;font-weight:800}.punch-button.done{background:var(--subtle);border-color:var(--line);color:var(--ink)}.todo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}.todo-row:last-child{padding-bottom:0}.todo-label{display:flex;align-items:center;gap:10px}.clock-context{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.punch-actions>.hint,.punch-actions>.danger-note,.punch-actions>.skeleton-group{grid-column:1 / -1}.punch-actions>.hint{margin:0;text-align:center}.punch-actions>.hint a{text-decoration:underline}.punch-actions>.danger-note{display:flex;align-items:center;justify-content:space-between;gap:12px}.danger-note .link-button{color:inherit;flex:none}.link-button{border:0;background:none;font-weight:800;padding:6px 0;display:inline-flex;align-items:center;gap:4px}.records-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.period-label{font-weight:800;font-size:17px;margin:0 6px}.issue-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:15px}.day-table{min-width:0;background:var(--panel)}.day-table tr.is-selected td{background:var(--subtle);font-weight:700}.day-table tr.is-off td{color:var(--muted)}.day-table tr.is-today td:first-child{box-shadow:inset 3px 0 var(--black)}.day-cards{display:none}.day-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;gap:6px}.day-card .top{display:flex;justify-content:space-between;align-items:center;font-weight:800}.day-card.is-off{color:var(--muted)}.day-card .meta{color:var(--muted);font-size:14px}.day-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;z-index:40;overflow:auto;background:var(--panel);border-left:1px solid var(--line);box-shadow:0 12px 36px #0000001f;padding:24px 22px;display:grid;align-content:start;gap:12px}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head h2{margin:0;font-size:22px}.kv{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0}.kv:last-of-type{border-bottom:1px solid var(--line)}.field-label{display:grid;gap:6px;color:var(--muted);font-size:14px}.hint{color:var(--muted);font-size:13px}.sheet-backdrop{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:39}.modal-panel{position:fixed;top:80px;left:50%;transform:translate(-50%);width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow:auto;z-index:40;box-shadow:0 12px 36px #0000001f;display:grid;align-content:start;gap:12px}.confirm-bar{position:sticky;bottom:0;margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -8px 20px #0000000d}.confirm-bar .actions{display:flex;gap:8px}.leave-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px;align-items:start}.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.balance-value{font-size:32px;font-weight:800}.leave-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0}.leave-row .right{display:flex;align-items:center;gap:10px}.group-label{color:var(--muted);font-size:13px;margin-top:12px}.seg{display:flex;gap:8px;flex-wrap:wrap}.summary-box{background:var(--subtle);border:1px solid var(--line);border-radius:8px;padding:12px;line-height:1.7}.form-stack-tight{display:grid;gap:12px}.leave-column{min-width:0}.leave-form-column{position:sticky;top:16px;min-width:0}.leave-form-column .section-title{margin:0 0 14px;font-size:16px}.balance-note{font-weight:800;line-height:1.6}.balance-taken{align-content:center}.leave-group{list-style:none;margin:0;padding:0}.leave-main{flex:1 1 220px;min-width:0}.leave-main b{margin-right:8px}.leave-meta{color:var(--muted);display:inline-block}.leave-note{display:block;margin-top:4px;color:var(--muted);font-size:13px}.leave-failure{flex:1 1 100%}.leave-row .right{margin-left:auto}.leave-range-row,.leave-time-row{display:grid;gap:8px;align-items:end}.leave-range-row{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-time-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.leave-range-row input,.leave-time-row input{min-width:0}.leave-form-column .leave-range-row,.leave-form{grid-template-columns:minmax(0,1fr)}.leave-form .submit-button{margin-top:0}.leave-form textarea{min-height:72px}.leave-open-form{margin:0 0 18px}.balance-notes{display:grid;gap:4px}.balance-notes:empty{display:none}.balance-reminder{margin:-4px 0 18px}.leave-rule{margin:-6px 0 0}.leave-event{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px}.leave-limits{display:grid;gap:8px}.leave-limit{display:grid;gap:2px}.leave-limit+.leave-limit{border-top:1px solid var(--line);padding-top:8px}.leave-limit b{overflow-wrap:anywhere}.quota-panel{margin-bottom:18px}.quota-panel .section-title{margin-bottom:8px}.quota-panel .inline-message{margin-bottom:4px}.quota-table{min-width:0}.quota-table th,.quota-table td{padding:8px 10px}.quota-table th{white-space:nowrap}.quota-table td{vertical-align:top}.quota-amount{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.quota-notes{margin:0;padding-left:16px;display:grid;gap:2px}.quota-cards{list-style:none;margin:0;padding:0;display:grid;gap:10px}.quota-cards .day-card{overflow-wrap:anywhere}.quota-law-note{margin:12px 0 0}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:24px;background:var(--black);color:var(--white);border-radius:8px;padding:12px 16px;z-index:50}.day-table tbody tr{cursor:pointer}.day-table tbody tr:hover td{background:var(--subtle)}.day-row-button{border:0;background:none;padding:6px 0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.day-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.day-chevron-cell{width:36px}.day-chevron-cell svg{display:block;margin-left:auto}button.day-card{width:100%;min-height:44px;font:inherit;color:inherit;text-align:left;cursor:pointer}button.day-card:hover{background:var(--subtle)}.day-card .meta{display:block}.day-card.is-selected{background:var(--subtle);border-color:var(--black)}.day-card.is-today{box-shadow:inset 3px 0 var(--black)}.drawer-status,.drawer-chips{display:flex;flex-wrap:wrap;gap:6px}.drawer-section{display:grid;gap:8px}.drawer-section-title{margin:6px 0 0}.drawer-submit{width:100%;min-height:48px}.kv .is-missing{color:var(--danger)}.drawer-actions{border-top:1px solid var(--line)}.drawer-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.drawer-note{padding:8px 0;border-bottom:1px solid var(--line)}.drawer-expanded{padding:12px 0;border-bottom:1px solid var(--line)}.drawer-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.drawer-list li{display:grid;gap:2px}.drawer-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px}@media (min-width: 901px){.records-page.has-panel{padding-right:304px}}.records-menu-wrap{position:relative;margin-left:auto}.records-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:200px;max-width:calc(100vw - 32px);display:grid;gap:2px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 36px #0000001f}.records-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:6px;background:none;color:var(--ink);font:inherit;text-align:left}.records-menu button:hover,.records-menu button:focus-visible{background:var(--subtle)}.records-menu button:focus-visible{outline:2px solid var(--black);outline-offset:-2px}.batch-form{display:grid;gap:12px}.batch-form>.hint{margin:0}.batch-defaults-note{margin:0;color:var(--ink);font-size:14px;font-weight:600}.batch-table{min-width:0}.batch-table td{vertical-align:middle}.batch-table td.batch-check{width:44px;padding:0}.batch-check-label{display:flex;align-items:center;justify-content:center;width:44px;height:44px}.batch-check-label input{width:20px;height:20px;padding:0;accent-color:var(--black)}.batch-table tr.is-unselected td,.batch-table tr.is-skipped td{color:var(--muted)}.batch-table .batch-problem td{padding:0;border-top:0}.batch-table .batch-problem .danger-note{border-radius:0;border-width:0}.batch-time-field{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.prefilled-tag{display:inline-block;padding:1px 6px;border:1px solid var(--line);border-radius:8px;background:var(--subtle);color:var(--muted);font-size:12px;line-height:1.5;white-space:nowrap}.batch-actions{display:flex;justify-content:flex-end;gap:8px}.batch-select-all{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600}.time-note-item{display:grid;gap:4px;border:0;margin:0;padding:8px 0 0;min-width:0}.time-note-item legend{padding:0;font-weight:600}.time-note-check{display:inline-flex;align-items:center;gap:8px;min-height:44px}.time-note-check input,.batch-select-all input{width:20px;height:20px;padding:0;accent-color:var(--black)}.batch-table tr.batch-person th{padding:10px 12px;background:var(--subtle);color:var(--ink);font-weight:700;text-align:left}.records-print-area{display:none}.skeleton-group{display:grid;gap:10px}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--subtle) 0%,var(--soft) 50%,var(--subtle) 100%);background-size:200% 100%;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-card{min-height:120px}.skeleton-row{min-height:44px}.skeleton-list-item{min-height:56px}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}@media (max-width: 900px){.clock-time{font-size:48px}.todo-row{padding:4px 0}.todo-row .link-button,.punch-actions .link-button{min-height:44px}.punch-actions>.hint a{display:inline-flex;align-items:center;min-height:44px}.punch-button.done{font-size:16px;padding-left:8px;padding-right:8px}.day-table-wrap{display:none}.day-cards{display:grid;gap:10px}.day-drawer{top:auto;left:0;width:auto;max-height:82vh;border-left:0;border-top:1px solid var(--line);border-radius:8px 8px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.sheet-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:39}.confirm-bar{bottom:72px;flex-direction:column;align-items:stretch}.confirm-bar .actions>*{flex:1}.leave-layout{grid-template-columns:1fr}.toast{bottom:92px;width:calc(100vw - 32px)}.modal-panel{top:auto;bottom:0;transform:none;left:0;width:100%;max-height:85vh;border-radius:8px 8px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.drawer-head .icon-button{width:44px;height:44px}.records-toolbar .tab-button,.records-toolbar .icon-button,.records-toolbar .secondary-button{min-height:44px}.records-toolbar .icon-button{width:44px}.issue-bar .link-button,.issue-bar .primary-button,.confirm-bar .actions button,.batch-actions button{min-height:44px}.batch-actions .primary-button{flex:1}.batch-actions .secondary-button{flex:0 0 96px}.records-menu button,.modal-panel input{min-height:44px}.batch-table,.batch-table tbody{display:block}.batch-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.batch-table tr{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);gap:4px 8px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--line)}.batch-table td{display:block;border:0;padding:0}.batch-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--muted);font-size:12px}.batch-table td[data-label]{align-self:start}.batch-table td[data-label=補上班]{grid-column:2}.batch-table td[data-label=補下班]{grid-column:3}.batch-table td.is-na{display:none}.batch-table td.is-na+td[data-label]{grid-column:2 / -1}.batch-table tr.batch-problem td{grid-column:1 / -1}.batch-table tr.batch-person{padding:0}.batch-table tr.batch-person th{display:block;grid-column:1 / -1}.day-drawer input,.day-drawer select,.day-drawer .drawer-submit{min-height:44px}.drawer-link{min-height:48px}.balance-grid{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x proximity;padding-bottom:4px}.balance-grid .metric-card{flex:0 0 min(78%,300px);scroll-snap-align:start}.leave-row .secondary-button,.leave-row .primary-button,.leave-form .tab-button{min-height:44px}.leave-form input:not([type=checkbox]),.leave-form select{min-height:44px}.leave-form .checkbox-row{min-height:44px;font-size:14px}.leave-page .link-button{min-height:44px}}@media (max-width: 380px){.punch-button.done svg{display:none}}.inbox-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.inbox-filters .tab-button:disabled{color:var(--muted)}.inbox-batch-error{margin-bottom:16px}.inbox-load-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;font-size:15px}.inbox-list-title{margin:0 0 12px;font-size:16px;font-weight:800}.inbox-list-title:focus-visible,.inbox-card:focus-visible{outline:2px solid var(--black);outline-offset:2px}.inbox-list{display:grid;gap:12px;max-width:880px}.inbox-card{display:grid;gap:10px;min-width:0}.inbox-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px}.inbox-head .who{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;font-weight:800}.inbox-name{overflow-wrap:anywhere}.inbox-email{font-weight:400;overflow-wrap:anywhere}.inbox-meta{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.inbox-title{font-weight:700;overflow-wrap:anywhere}.inbox-quota{display:grid;gap:2px;background:var(--subtle);border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-width:0;overflow-wrap:anywhere}.inbox-quota-line{font-size:14px;font-weight:700}.inbox-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.inbox-actions select{width:auto}.inbox-reject{display:grid;gap:10px}.inbox-reject .hint{margin:0}.inbox-reject .primary-button{white-space:nowrap}.inbox-agreement{display:grid;gap:6px}.inbox-agreement .hint{margin:0}.inbox-check-row{font-size:14px;color:var(--ink)}.inbox-check-row input{width:20px;height:20px;padding:0;accent-color:var(--black)}.inbox-preview{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.inbox-check{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-11px 0 -11px -12px;cursor:pointer}.inbox-check input{width:20px;height:20px;padding:0;accent-color:var(--black)}.compare{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;background:var(--subtle);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.compare span{min-width:0;overflow-wrap:anywhere}.compare span:not(.compare-side):not(.compare-arrow){font-weight:700}.compare-side{color:var(--muted);font-size:13px}.inbox-expense-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;min-width:0}.inbox-amount{font-size:28px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.inbox-expense-detail{display:grid;gap:2px;min-width:0}.inbox-purpose,.inbox-last-reason{overflow-wrap:anywhere;white-space:pre-line}.inbox-self-tag{border:1px solid var(--ink);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800;white-space:nowrap}.inbox-reject textarea{min-height:72px}.confirm-bar.inbox-batch-bar{max-width:880px}@media (min-width: 901px){.confirm-bar.inbox-batch-bar{bottom:12px}}@media (max-width: 900px){.inbox-filters{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px;scrollbar-width:none}.inbox-filters::-webkit-scrollbar{display:none}.inbox-filters .tab-button{flex:0 0 auto;white-space:nowrap}.inbox-card{padding:16px}.inbox-refresh,.inbox-filters .tab-button,.inbox-card .primary-button,.inbox-card .secondary-button,.inbox-batch-bar button,.inbox-load-error .link-button{min-height:44px}.inbox-card input:not([type=checkbox]),.inbox-card select{min-height:44px}.inbox-check-row{min-height:44px}.inbox-actions{justify-content:stretch}.inbox-actions>button{flex:1 1 120px}.inbox-actions>select{flex:1 1 100%;width:100%}}.team-page{min-width:0}.team-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.today-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.today-metrics .metric-card{min-height:96px}.today-person{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;min-width:0}.today-person b{overflow-wrap:anywhere}.team-filters{display:flex;flex-wrap:wrap;gap:8px}.team-filters select{width:160px}.team-note{margin:0 0 10px}.team-no-match{display:flex;align-items:center;justify-content:space-between;gap:12px}.team-toolbar .records-menu{min-width:304px}.records-menu .menu-item-text{display:grid;gap:2px}.records-menu .menu-item-hint{color:var(--muted);font-size:12px}.matrix-wrap{overflow-x:auto;max-width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px}.matrix{width:100%;min-width:882px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}.matrix th,.matrix td{height:36px;padding:0;border-right:1px solid var(--soft);border-bottom:1px solid var(--line);text-align:center}.matrix thead th{background:var(--subtle);color:var(--muted);font-weight:600}.matrix tbody tr:last-child th,.matrix tbody tr:last-child td{border-bottom:0}.matrix th span{display:block;line-height:1.25}.matrix .matrix-weekday{font-weight:400}.matrix th.is-today{color:var(--ink);box-shadow:inset 0 -3px var(--black)}.matrix .name{position:sticky;left:0;z-index:1;width:88px;padding:0 8px;border-right:1px solid var(--line);background:var(--panel);font-size:13px;font-weight:700;line-height:1.2;overflow-wrap:break-word;word-break:keep-all;text-align:left}.matrix .matrix-name-note{font-size:11px;font-weight:400;color:var(--muted)}.matrix thead .name{z-index:2;background:var(--subtle);color:var(--muted);font-size:12px;font-weight:600}.matrix .matrix-total{position:sticky;right:0;z-index:1;width:112px;padding:0 8px;border-left:1px solid var(--line);border-right:0;background:var(--panel);color:var(--muted);font-size:12px;line-height:1.25;text-align:left}.matrix thead .matrix-total{z-index:2;background:var(--subtle)}.matrix-cell{display:block;width:100%;height:36px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:12px;cursor:pointer}.matrix-cell:hover{box-shadow:inset 0 0 0 1px var(--line)}.matrix-cell:focus-visible{outline:2px solid var(--black);outline-offset:-2px}.matrix-cell.is-selected{outline:2px solid var(--black);outline-offset:-2px}.matrix-ok{color:var(--success);font-weight:800}.matrix-late,.matrix-early,.matrix-missing,.matrix-regular{color:var(--danger);font-weight:800}.matrix-pending,.matrix-leave{color:var(--muted);background:var(--subtle);font-weight:700}.matrix-rest{color:var(--ink);font-weight:800}.matrix-cell.matrix-rest{width:calc(100% - 8px);height:26px;margin:5px auto;border:1px solid var(--ink);border-radius:4px}.matrix-cell.matrix-rest:focus-visible,.matrix-cell.matrix-rest.is-selected{outline-offset:1px}.matrix-off{color:var(--muted);opacity:.5}.matrix-late.is-explained,.matrix-early.is-explained{color:var(--muted)}.matrix-cell.is-explained{position:relative}.matrix-cell.is-explained:after{content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%;background:currentColor}.matrix-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;color:var(--muted);font-size:13px}.matrix-legend span{background:none;opacity:1;font-weight:600}.matrix-legend .matrix-rest{padding:0 6px;border:1px solid var(--ink);border-radius:4px}.matrix-legend .is-explained:after{content:"";display:inline-block;width:5px;height:5px;margin-left:3px;vertical-align:super;border-radius:50%;background:currentColor}button.team-person{min-height:44px}.team-people{display:grid;gap:10px}.team-person .top{gap:12px}.team-person-view{display:grid;gap:12px}.team-person-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.team-person-header h2{margin:0;font-size:20px;overflow-wrap:anywhere}.team-person-header h2:focus-visible{outline:2px solid var(--black);outline-offset:2px}@media (min-width: 901px){.team-month.has-panel{padding-right:304px}}@media (max-width: 900px){.team-tabs .tab-button{min-height:44px}.today-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.team-filters{order:3;flex:1 1 100%}.team-filters select{flex:1 1 0;width:auto;min-width:0;min-height:44px}.team-person-header .secondary-button,.day-drawer .secondary-button,.team-no-match .link-button{min-height:44px}}.close-region{min-width:0}.close-region:focus-visible,.close-table:focus-visible,.close-cards:focus-visible{outline:2px solid var(--black);outline-offset:2px}.close-table{min-width:0;background:var(--panel)}.close-table th.close-name{min-width:88px;background:var(--panel);color:var(--ink);font-size:15px;font-weight:800;overflow-wrap:anywhere}.close-table td{overflow-wrap:anywhere}.close-table td.close-confirm{min-width:96px}.close-table td.close-blockers{min-width:112px}.close-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.close-actions .primary-button,.close-actions .secondary-button{white-space:nowrap}.close-table .close-actions{flex-wrap:nowrap}.close-table td.close-action{min-width:120px}.close-actions-advice{flex-direction:column;align-items:flex-start;gap:6px}.close-actions-advice .hint{overflow-wrap:normal}.close-failed{color:var(--danger);font-weight:700}.close-changed{display:grid;justify-items:start;gap:2px;margin-top:6px}.close-changed .hint{margin:0;font-size:13px}.close-cards{display:grid;gap:10px}.close-card .top{gap:8px}.close-card .kv{gap:12px}.close-card .kv>span:last-child{min-width:0;text-align:right;overflow-wrap:anywhere}.close-card .close-actions{margin-top:4px}.close-form .kv{padding:6px 0}.close-form textarea{min-height:80px}.close-warnings{align-items:flex-start;gap:12px}.close-warnings>span:first-child,.close-card .kv>span:first-child{flex:none}.close-warnings .drawer-list{min-width:0;text-align:right;overflow-wrap:anywhere}.close-blocking{display:grid;gap:8px;overflow-wrap:anywhere}.close-sections{margin-top:18px;align-items:start}.close-list{list-style:none;margin:0;padding:0}.close-item-main{min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}.close-item-actions{display:flex;flex:none;gap:8px}.close-item-meta{display:grid;flex:none;justify-items:end;gap:2px;text-align:right}.close-evidence-button{width:100%}.close-evidence-list,.close-evidence-empty{margin-top:14px}.close-section-note{margin-bottom:12px}@media (max-width: 900px){.close-sections{grid-template-columns:minmax(0,1fr)}.close-card .primary-button,.close-card .secondary-button{flex:1 1 120px;min-height:44px}.close-card .close-actions-advice{align-items:stretch}.close-card .close-actions-advice .primary-button,.close-card .close-actions-advice .secondary-button{flex:none}.close-item-actions .primary-button,.close-item-actions .secondary-button,.close-evidence-button{min-height:44px}.close-item-actions{flex:1 1 100%}.close-item-actions .primary-button,.close-item-actions .secondary-button{flex:1}}.people-page{min-width:0}.people-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.people-roster-panel,.people-detail{min-width:0}.people-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 12px}.people-filter-wide{grid-column:1 / -1}.roster{list-style:none;margin:0;padding:0;display:grid;gap:4px}.roster-item{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.roster-item:hover{background:var(--subtle)}.roster-item.on{background:var(--subtle);border-color:var(--line)}.roster-item:focus-visible,.switch-button:focus-visible,.people-detail-head h2:focus-visible{outline:2px solid var(--black);outline-offset:2px}.roster-main{display:grid;gap:2px;min-width:0}.roster-main b{overflow-wrap:anywhere}.people-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:14px}.people-detail-head h2{margin:0;font-size:22px;overflow-wrap:anywhere}.people-detail-head .hint{overflow-wrap:anywhere}.people-back{margin-bottom:12px}.people-pending-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:16px}.people-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.people-field{display:grid;gap:6px;min-width:0}.people-field>label{color:var(--muted);font-size:13px}.people-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0}.switch-text{display:grid;gap:2px;min-width:0}.switch-button{flex:none;display:inline-flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:none}.switch{position:relative;display:inline-block;width:44px;height:26px;border-radius:999px;background:var(--black)}.switch:after{content:"";position:absolute;right:3px;top:3px;width:20px;height:20px;border-radius:50%;background:var(--white)}.switch.off{background:var(--line)}.switch.off:after{right:auto;left:3px}.applicability-select{width:200px;flex:none}.people-default-note{margin:12px 0 0;border-top:1px solid var(--line);padding-top:12px}.people-attendance .danger-note,.people-attendance .issue-bar{margin-top:12px}.people-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.people-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}.people-rows .table-row{flex-wrap:wrap}.people-add{margin-top:10px}.people-form{margin-top:12px}.people-form-actions{display:flex;flex-wrap:wrap;gap:8px}.people-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.people-balance .metric-card{min-height:0;padding:14px;gap:6px;min-width:0}.people-balance .balance-value{font-size:24px;overflow-wrap:anywhere}.people-balance-notes{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0 4px}.people-leave-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:10px}.people-leave-head .section-title{margin:0}.people-leave>.inline-message{margin-bottom:8px}.people-leave .people-field-pair{max-width:420px}.people-leave .quota-panel{margin:0;padding:0;border:0;background:none}.ledger-note .status-pill{margin-right:6px}.ledger-list,.history-list{list-style:none;margin:0;padding:0}.ledger-item{display:grid;grid-template-columns:56px 96px minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;border-top:1px solid var(--line);padding:10px 0}.ledger-days{font-weight:800;font-variant-numeric:tabular-nums}.ledger-note,.ledger-meta{overflow-wrap:anywhere}.ledger-meta{text-align:right}.history-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;grid-template-areas:"time action actor" "time change change";gap:2px 12px;align-items:baseline;border-top:1px solid var(--line);padding:10px 0}.history-time{grid-area:time;font-variant-numeric:tabular-nums}.history-action{grid-area:action;overflow-wrap:anywhere}.history-actor{grid-area:actor;text-align:right;overflow-wrap:anywhere}.history-change{grid-area:change;color:var(--muted);font-size:14px;overflow-wrap:anywhere}.history-note{margin-top:12px}@media (max-width: 900px){.people-layout{grid-template-columns:minmax(0,1fr)}.people-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px;scrollbar-width:none}.people-tabs::-webkit-scrollbar{display:none}.people-tabs .tab-button{flex:0 0 auto;white-space:nowrap;min-height:44px}.roster-item{min-height:56px}.switch-button,.people-back,.people-detail .primary-button,.people-detail .secondary-button{min-height:44px}.people-detail input:not([type=checkbox]),.people-detail select{min-height:44px}.people-roster-panel .search-input input,.people-filters select{min-height:44px}.applicability-select{width:min(200px,55%)}.people-leave-head .tab-button{min-height:44px}.people-balance{gap:8px}.people-balance .metric-card{padding:12px}.people-balance .balance-value{font-size:20px}.ledger-item{grid-template-columns:auto minmax(0,1fr)}.ledger-note,.ledger-meta{grid-column:1 / -1;text-align:left}.history-item{grid-template-columns:minmax(0,1fr);grid-template-areas:"action" "time" "actor" "change";gap:2px}.history-actor{text-align:left}}.settings-page{min-width:0}.settings-shell{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start}.settings-anchors{position:sticky;top:24px;display:grid;gap:4px}.settings-anchors a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;color:var(--muted)}.settings-anchors a:hover,.settings-anchors a:focus-visible{background:var(--subtle);color:var(--ink)}.settings-anchors a:focus-visible{outline:2px solid var(--black);outline-offset:2px}.settings-sections{display:grid;gap:18px;min-width:0}.settings-section{min-width:0;scroll-margin-top:24px}.settings-section h2.section-title{margin:0 0 6px;font-size:18px}.settings-intro{margin:0 0 14px}.settings-form{margin-top:16px}.settings-intro+.settings-form{margin-top:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-grid-4{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.settings-field{display:grid;gap:6px;min-width:0}.settings-field>label{color:var(--muted);font-size:13px}.settings-form-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-subsection{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.settings-subtitle{margin:0 0 12px;font-size:16px;font-weight:800}.settings-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}.settings-rows .table-row{flex-wrap:wrap}.settings-rows .table-row>div,.settings-rows .table-row>span{min-width:0;overflow-wrap:anywhere}.settings-note{margin:0 0 10px}.settings-add{margin-top:12px}.settings-table-wrap{overflow-x:auto}.settings-table-wrap .export-table{min-width:0}.version-grid+.settings-form,.empty-state+.settings-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.settings-day{display:grid;gap:4px}.settings-day-older{list-style:none;margin:0 0 0 12px;padding:0 0 0 10px;border-left:2px solid var(--line);display:grid;gap:2px;overflow-wrap:anywhere}@media (max-width: 900px){.settings-shell{grid-template-columns:minmax(0,1fr)}.settings-anchors{position:static;display:flex;gap:8px;overflow-x:auto;max-width:100%;padding-bottom:4px;scrollbar-width:none}.settings-anchors::-webkit-scrollbar{display:none}.settings-anchors a{flex:0 0 auto;white-space:nowrap;border:1px solid var(--line);background:var(--white)}.settings-section{scroll-margin-top:80px}.settings-grid{grid-template-columns:minmax(0,1fr)}.settings-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-rows .table-row{flex-direction:column;align-items:flex-start;gap:4px}.settings-section input:not([type=checkbox]),.settings-section select{min-height:44px}.settings-section .primary-button,.settings-section .secondary-button,.settings-section .link-button,.settings-section .checkbox-row{min-height:44px}}.calendar-page{min-width:0}.calendar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px}.calendar-views,.calendar-period{display:flex;align-items:center;gap:8px}.calendar-filters{margin-left:auto;display:flex;align-items:center;gap:8px}.calendar-filters .field-label>span{display:none}.calendar-filters select{width:150px}.calendar-filter-button{margin-left:auto}.filter-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:var(--black);color:var(--white);font-size:12px;font-weight:800}.calendar-filter-sheet{display:grid;gap:14px}.calendar-filter-actions{display:flex;gap:8px}.calendar-filter-actions>*{flex:1}.calendar-quiet{margin:0;color:var(--muted);font-size:13px}.calendar-panel-events{display:grid}.calendar-day{min-width:0;gap:4px;color:var(--ink);font:inherit;cursor:pointer}.calendar-day.is-off{background:var(--subtle)}.calendar-day.is-off:hover{background:var(--soft)}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--black)}.calendar-day:focus-visible{outline:2px solid var(--black);outline-offset:-2px}.calendar-day .calendar-date{width:26px;height:26px;margin:-3px 0 0 -3px;border-radius:999px;display:grid;place-items:center;justify-self:start}.calendar-day.is-today .calendar-date{background:var(--black);color:var(--white)}.calendar-day .calendar-daytype{color:var(--muted);font-size:12px;font-weight:500}.calendar-day .calendar-count{display:none}.calendar-chips{display:grid;gap:3px;min-width:0}.calendar-day .calendar-chip{display:block;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--white);font-size:12px;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day .calendar-more{color:var(--muted);font-size:12px;font-weight:700;padding-left:2px}.calendar-week-grid,.calendar-agenda{list-style:none;margin:0;padding:0;display:grid;gap:8px}.calendar-week-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day-card{min-width:0;display:grid;align-content:start;gap:8px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer}.calendar-week-grid .calendar-day-card{min-height:360px}.calendar-day-card.is-off{background:var(--subtle)}.calendar-day-card.is-today{border-color:var(--black)}.calendar-day-card.is-selected{box-shadow:inset 0 0 0 2px var(--black)}.calendar-day-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-height:28px;margin:0;padding:0;border:0;background:none;color:inherit;font-weight:800;text-align:left}.calendar-day-head:focus-visible{outline:2px solid var(--black);outline-offset:2px;border-radius:4px}.calendar-week-grid .calendar-day-head{align-content:flex-start;line-height:22px;min-height:56px}.calendar-week-grid .calendar-day-head .status-pill{line-height:1.25}.calendar-events{display:grid;gap:6px}.calendar-event{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-size:13px;overflow-wrap:anywhere}.calendar-event-title{color:var(--muted)}.calendar-week-grid .calendar-event b,.calendar-week-grid .calendar-event-title{display:block}@media (max-width: 900px){.calendar-toolbar{gap:8px}.calendar-period{order:3;flex:1 1 100%}.calendar-views .tab-button,.calendar-period .secondary-button,.calendar-filter-button{min-height:44px}.calendar-period .icon-button{width:44px;height:44px}.calendar-filter-sheet select,.calendar-filter-actions button{min-height:44px}.calendar-day{min-height:64px;padding:6px}.calendar-day .calendar-chips{display:none}.calendar-day .calendar-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;justify-self:start;background:var(--soft);font-size:12px;font-weight:800}.calendar-agenda .calendar-day-card{padding:12px}.calendar-agenda .calendar-day-head{min-height:44px}}@media (max-width: 520px){.calendar-day .calendar-daytype{display:none}}.receipt-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.receipt-thumb{width:64px;height:64px;min-width:44px;min-height:44px;padding:0;overflow:hidden;display:grid;place-items:center;align-content:center;gap:2px;border:1px solid var(--line);border-radius:8px;background:var(--subtle);color:var(--muted);font-size:12px;font-weight:700}.receipt-thumb img{display:block;width:100%;height:100%;object-fit:cover}.receipt-viewer-hint{margin:0;overflow-wrap:anywhere}.receipt-viewer-stage{height:420px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;overflow:hidden;border-radius:8px;background:var(--subtle);color:var(--muted)}.receipt-viewer-stage img{display:block;width:100%;height:100%;object-fit:contain}.receipt-viewer-stage iframe{display:block;width:100%;height:100%;border:0;background:var(--white)}.receipt-viewer-error{display:grid;justify-items:center;gap:10px;padding:16px;color:var(--danger);font-weight:700;text-align:center}.receipt-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:8px}@media (max-width: 900px){.receipt-viewer-stage{height:300px}.receipt-viewer-bar .secondary-button,.receipt-viewer-error .secondary-button{min-height:44px}}.expense-summary .balance-value small{font-size:16px;font-weight:500;color:var(--muted)}.expense-row .right{flex-wrap:wrap;justify-content:flex-end}.expense-head{font-weight:700}.expense-amount{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.expense-meta{display:block;margin-top:2px;color:var(--muted);font-size:13px;overflow-wrap:anywhere;white-space:pre-line}.expense-toggle{white-space:nowrap}.expense-detail{flex:1 1 100%;min-width:0;display:grid;gap:8px;background:var(--subtle);border:1px solid var(--line);border-radius:8px;padding:12px}.expense-detail[hidden]{display:none}.expense-detail-line,.expense-reason{margin:0;overflow-wrap:anywhere;white-space:pre-line}.expense-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;margin:0;padding:0;border:0}.expense-form :is(input,select,textarea)[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:13px;font-weight:700}.expense-form .issue-bar{margin:0}.note-strong{color:var(--ink);font-size:14px;font-weight:600}.money-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--white)}.money-input>span{padding-left:12px;color:var(--muted);font-weight:700}.money-input input{min-width:0;border:0;padding-left:6px;background:transparent}.money-input:focus-within{border-color:var(--black)}.money-input:has(input[aria-invalid=true]){border-color:var(--danger)}.money-input:has(input:disabled){background:var(--subtle)}.receipt-upload-button{width:100%;min-height:48px;border-style:dashed;border-color:var(--line);font-weight:700}.receipt-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.receipt-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--white)}.receipt-item.failed{border-color:var(--danger)}.receipt-item-thumb{width:48px;height:48px;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--subtle);color:var(--muted)}.receipt-item-thumb img{display:block;width:100%;height:100%;object-fit:cover}.receipt-body{min-width:0;display:grid;gap:2px}.receipt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:700}.receipt-state{color:var(--muted);font-size:13px}.receipt-error{color:var(--danger);font-size:13px;font-weight:700}.receipt-actions{display:flex;gap:12px}.receipt-progress{display:block;width:100%;height:6px;margin-top:4px;border:0;border-radius:999px;overflow:hidden;background:var(--subtle);color:var(--black);-webkit-appearance:none;-moz-appearance:none;appearance:none}.receipt-progress::-webkit-progress-bar{background:var(--subtle)}.receipt-progress::-webkit-progress-value{background:var(--black)}.receipt-progress::-moz-progress-bar{background:var(--black)}@media (max-width: 900px){.balance-grid.expense-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-bottom:0}.expense-summary .metric-card{min-width:0}.expense-row .primary-button,.expense-row .secondary-button,.expense-row .link-button{min-height:44px}.receipt-item .link-button{min-height:44px;min-width:44px;justify-content:center}.expense-form .secondary-button{min-height:44px}}.finance-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.payout-group-head{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:800}.payout-subtotal{white-space:nowrap}.payout-rows{margin:0;padding:0;list-style:none}.payout-check{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-12px 0 -12px -12px;cursor:pointer}.payout-check input{width:20px;height:20px;padding:0;accent-color:var(--black)}.payout-row{display:grid;grid-template-columns:32px 110px 100px minmax(0,1fr) auto;grid-template-areas:"check date category main amount" ". . . thumbs .";column-gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.payout-row>.payout-check{grid-area:check}.payout-date{grid-area:date;white-space:nowrap}.payout-category{grid-area:category}.payout-main{grid-area:main;min-width:0;display:grid;gap:2px}.payout-name,.payout-purpose{min-width:0;overflow-wrap:anywhere}.payout-row>.payout-amount{grid-area:amount;text-align:right}.payout-thumbs{grid-area:thumbs;margin-top:6px}.payout-thumbs .receipt-thumb{width:44px;height:44px}.payout-amount,.records-amount{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.payout-notice{display:grid;gap:6px;margin-bottom:14px;font-size:14px}.payout-notice p{margin:0}.payout-notice ul{margin:0;padding-left:20px;font-weight:500}.payout-form input[aria-invalid=true]{border-color:var(--danger)}.payout-form .submit-button{margin-top:0}.expense-records-toolbar select,.expense-records-toolbar input{width:160px}.expense-records-toolbar .spacer{flex:1}.records-export-message{margin-bottom:14px}.records-table-wrap{width:100%;overflow-x:auto}.records-table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px}.records-table th{color:var(--muted);text-align:left;font-weight:600;border-bottom:1px solid var(--line);padding:10px 8px;white-space:nowrap}.records-table td{border-bottom:1px solid var(--line);padding:10px 8px;vertical-align:middle}.records-table .records-amount-cell{text-align:right}.records-nowrap{white-space:nowrap}.records-purpose{display:block;overflow-wrap:anywhere}.records-receipts{padding:2px 0;font-size:13px}.records-cards{display:none;margin:0;padding:0;list-style:none}.records-cards .day-card{overflow-wrap:anywhere}.records-cards .day-card .top{gap:10px}.records-cards .records-receipts{justify-self:start}.records-note{margin:10px 0 0}@media (max-width: 900px){.finance-tabs .tab-button{min-height:44px}.payout-row{grid-template-columns:32px auto minmax(0,1fr) auto;grid-template-areas:"check date category amount" ". main main main" ". thumbs thumbs thumbs"}.payout-main{margin-top:4px}.expense-records-toolbar select,.expense-records-toolbar input{flex:1 1 calc(50% - 4px);width:auto;min-width:0;min-height:44px}.expense-records-toolbar input{flex-basis:0}.expense-records-toolbar .spacer,.records-table-wrap{display:none}.records-cards{display:grid;gap:10px}.records-receipts{min-width:44px;min-height:44px}.payout-form .tab-button{min-height:44px}}.screen-state .skeleton-group{width:min(100% - 48px,460px)}.auth-panel .primary-button,.auth-panel .secondary-button{width:100%;min-height:56px;font-weight:800}.auth-actions{display:grid;gap:10px}.in-app-notice{gap:10px;border-color:var(--ink)}.in-app-notice p{color:var(--ink);font-weight:700}.in-app-status{color:var(--success);font-weight:700}.in-app-status:empty{position:absolute}.in-app-notice input{min-height:44px}:focus-visible{outline:2px solid var(--black);outline-offset:2px}input:not([type=checkbox],[type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{outline:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}input:disabled,select:disabled,textarea:disabled{background:var(--subtle);color:var(--muted);-webkit-text-fill-color:var(--muted);opacity:1;cursor:not-allowed}h2.section-title,h3.section-title{margin-top:0;font-size:inherit}h2.drawer-section-title,h3.drawer-section-title{margin:6px 0 0}@media (max-width: 900px){.inbox-filters,.people-tabs,.settings-anchors{padding:4px;margin:-4px -4px 16px;max-width:calc(100% + 8px);scroll-padding-inline:8px}.settings-anchors{margin:-4px -4px 0}}@page{size:A4;margin:12mm}@media print{.sidebar,.topbar,.bottom-nav,.submit-button,.desktop-top-actions,.mobile-management-panel,.day-drawer,.sheet-backdrop,.modal-backdrop,.modal-panel,.records-menu-wrap,.records-menu,.notification-menu,.confirm-bar,.toast-region,.toast,.team-tabs,.team-filters,.calendar-views,.calendar-filters,.calendar-filter-button,.inbox-filters,.people-tabs,.settings-anchors,.primary-button,.secondary-button,.icon-text-button,.icon-button,.link-button,.tab-button{display:none!important}body{background:var(--white)}.content{width:100%;padding:0}.panel{border:0;padding:0}.period-label{margin:0}.calendar-day.is-today .calendar-date{background:none;color:var(--ink);border:2px solid var(--black)}.app-shell{display:block}.records-page.has-panel,.team-month.has-panel{padding-right:0}thead{display:table-header-group}tfoot{display:table-footer-group}tr{break-inside:avoid;page-break-inside:avoid}.export-table{min-width:0}.export-table-wrap{overflow:visible}.day-card,.calendar-day-card{break-inside:avoid;page-break-inside:avoid}.matrix-wrap{overflow:visible;border:0}.matrix{width:100%;min-width:0;table-layout:fixed;font-size:9px}.matrix th,.matrix td{height:24px}.matrix .name,.matrix .matrix-total{position:static;padding:0 4px}.matrix .name{width:60px;font-size:10px}.matrix thead .name{font-size:10px}.matrix .matrix-name-note{font-size:9px}.matrix .matrix-total{width:92px;font-size:9px}.matrix-cell{height:24px;font-size:9px}.matrix-cell.matrix-rest{width:calc(100% - 2px);height:16px;margin:3px auto}body.printing-records>:not(.records-print-area){display:none!important}body.printing-records .records-print-area,.printable-attendance{display:block}.printable-header{margin-bottom:10px;break-after:avoid;page-break-after:avoid}.records-print-area .export-table{font-size:11px}.records-print-area .export-table th,.records-print-area .export-table td{padding:5px 6px}}
