:root{--bg:#f4f6f8;--surface:#fff;--surface-subtle:#f8fafc;--line:#d9e0e8;--line-strong:#c7d0dc;--text:#1f2933;--muted:#6b7785;--form-label:#175987;--accordion-header:#eef6ff;--accordion-header-strong:#d4e8fa;--blue:#1f6fb2;--blue-dark:#175987;--green:#1f8a5b;--amber:#b56a12;--red:#b42318;--shadow:0 10px 30px #1f293314}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.auth-shell{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.app-loading-shell{background:var(--bg);align-content:center;place-items:center;gap:18px;min-height:100vh;display:grid}.app-loading-shell img{width:132px;height:auto}.app-loading-spinner{color:var(--blue);animation:.9s linear infinite app-loading-spin}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.auth-card{border:1px solid var(--line);width:min(560px,100%);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:28px}.auth-brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:24px;padding-bottom:18px;display:flex}.auth-card .login-panel,.auth-card .notice-panel,.auth-card .placeholder-view{box-shadow:none;border:0;margin-bottom:0;padding:0}.auth-card .login-panel,.auth-card .login-form{flex-direction:column;align-items:stretch}.auth-card .login-form label{width:100%;min-width:0}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:18px;padding:22px 16px;transition:padding .18s,width .18s;display:flex}.sidebar-footer{border-top:1px solid var(--line);margin-top:auto;padding-top:14px}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.brand{align-items:center;gap:12px;min-width:0;padding:0 0 10px 8px;display:flex}.brand-mark{border:1px solid var(--line);background:#fff;border-radius:6px;place-items:center;width:92px;height:40px;padding:5px 7px;display:grid}.brand-logo{object-fit:contain;width:100%;height:100%;display:block}.brand-name,.brand-subtitle,.eyebrow,.metric-label,.small-label{margin:0}.brand-name{font-weight:700}.brand-text{min-width:0}.brand-subtitle,.small-label{color:var(--muted);font-size:12px}.sidebar-collapse-button{border:1px solid var(--line);color:#4a5b6f;background:#fff;border-radius:6px;flex:none;place-items:center;width:34px;height:34px;display:grid}.sidebar-collapse-button:hover{color:var(--blue-dark);background:#e8f2fc;border-color:#b7d5ef}.nav-section{gap:4px;display:grid}.nav-item{color:#344054;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex}.nav-group{gap:4px;display:grid}.nav-group-trigger{color:#344054;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:42px;padding:8px 10px;display:flex}.nav-group-trigger span:nth-child(2){flex:1}.nav-group-chevron{color:var(--muted);transition:transform .18s}.nav-group-chevron.open{transform:rotate(180deg)}.nav-subsection{border-left:1px solid var(--line);gap:3px;margin-left:13px;padding-left:10px;display:grid}.nav-subitem{min-height:38px;padding-left:8px}.account-settings-button{border:1px solid var(--line);color:#344054;text-align:left;background:#fff;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:58px;padding:9px 10px;display:flex}.account-settings-button span:last-child{gap:2px;display:grid}.account-settings-button strong{font-size:13px}.account-settings-button small{color:var(--muted);font-size:11px}.account-settings-button.active{color:var(--blue-dark);background:#e8f2fc;border-color:#b7d5ef}.nav-item:hover,.nav-item.active,.nav-group-trigger:hover,.nav-group-trigger.active{color:var(--blue-dark);background:#e9f2fb}.nav-icon{color:#4a5b6f;background:#eef1f5;border-radius:5px;place-items:center;width:26px;height:26px;display:grid}.nav-item.active .nav-icon,.nav-group-trigger.active .nav-icon{background:var(--blue);color:#fff}.nav-divider{background:var(--line);height:1px}.sidebar-collapsed .sidebar{gap:14px;padding:18px 10px}.sidebar-collapsed .sidebar-top{justify-content:center}.sidebar-collapsed .brand{justify-content:center;padding:0}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-label,.sidebar-collapsed .account-settings-button .nav-label,.sidebar-collapsed .nav-group-chevron{display:none}.sidebar-collapsed .brand-mark{width:48px;height:38px;padding:5px}.sidebar-collapsed .sidebar-collapse-button{z-index:2;width:28px;height:28px;box-shadow:var(--shadow);position:absolute;top:18px;left:52px}.sidebar-collapsed .nav-section,.sidebar-collapsed .nav-group{justify-items:center}.sidebar-collapsed .nav-item,.sidebar-collapsed .nav-group-trigger,.sidebar-collapsed .account-settings-button{justify-content:center;width:42px;min-height:42px;padding:8px}.sidebar-collapsed .nav-subsection{display:none}.sidebar-collapsed .sidebar-footer{padding-top:12px}.workspace{min-width:0;padding:24px 28px 36px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.eyebrow{color:var(--blue-dark);letter-spacing:0;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:26px;line-height:1.25}h2{margin-bottom:0;font-size:19px}h3{margin-bottom:8px;font-size:16px}.topbar-actions{align-items:center;gap:10px;display:flex}.data-source-badge{border:1px solid var(--line);min-height:32px;color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px}.data-source-badge.live{color:var(--green);background:#e8f5ef;border-color:#b7dfca}.data-source-badge.auth-required,.data-source-badge.error{color:var(--red);background:#fff1f0;border-color:#f3c9c4}.global-search{min-width:300px;position:relative}.search-box{border:1px solid var(--line);min-width:0;height:40px;color:var(--muted);background:#fff;border-radius:6px;align-items:center;gap:10px;padding:0 12px;font-size:13px;display:flex}.search-box input{width:100%;color:var(--text);border:0;outline:0}.search-clear-button{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:4px;flex:none;place-items:center;display:grid}.search-clear-button:hover{background:var(--surface-subtle);color:var(--text)}.global-search-results{z-index:50;border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:min(440px,100vw - 28px);max-height:min(520px,70vh);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 16px 36px #0f172a29}.global-search-result{min-height:54px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:9px 10px;display:flex}.global-search-result:hover,.global-search-result:focus-visible{background:var(--surface-subtle);outline:none}.global-search-result span{gap:3px;min-width:0;display:grid}.global-search-result small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-result em{border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:2px 7px;font-size:11px;font-style:normal}.global-search-empty{color:var(--muted);margin:0;padding:16px 12px;font-size:13px}.icon-button,.profile-button,.primary-button,.secondary-button,.filter-button{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:40px}.icon-button{width:40px;color:var(--muted);place-items:center;display:grid;position:relative}.notification-badge{background:var(--red);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:11px;display:grid;position:absolute;top:-6px;right:-5px}.profile-button,.primary-button,.secondary-button{justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.profile-button{min-width:190px}.profile-meta{text-align:left;gap:1px;display:grid}.profile-meta strong{color:var(--text);font-size:13px;line-height:1.2}.profile-meta small{color:var(--muted);font-size:11px;line-height:1.2}.avatar{width:26px;height:26px;color:var(--blue-dark);background:#e9f2fb;border-radius:999px;place-items:center;font-size:12px;font-weight:700;display:grid}.primary-button{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:700}.primary-button:hover{background:var(--blue-dark)}.primary-button:disabled{cursor:not-allowed;opacity:.65}.secondary-button,.filter-button{color:#344054}.filter-button{padding:0 12px}.filter-button.active{border-color:var(--blue);color:var(--blue-dark);background:#e9f2fb}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-card,.panel,.placeholder-view{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.metric-card{padding:18px}.admin-metric-card{border-top:4px solid var(--blue)}.admin-metric-card.attention{border-top-color:var(--amber)}.metric-card strong{margin:8px 0 4px;font-size:30px;display:block}.metric-card span,.metric-label,small,.permission-card p,.permission-card span,.workflow-step-list span,.placeholder-view p{color:var(--muted)}.content-grid,.split-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:18px;display:grid}.expense-side-panel{align-self:start;min-height:720px;display:grid}.request-summary-sidebar{gap:14px;min-height:0}.expense-summary-panel,.recent-requests-panel{min-height:0;overflow:auto}.panel,.placeholder-view{padding:20px}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.task-list,.workflow-step-list,.department-tree,.form-grid,.history-filter-grid,.permission-grid,.master-grid{gap:12px;display:grid}.task-row{border-bottom:1px solid var(--line);grid-template-columns:78px minmax(0,1fr);align-items:start;gap:12px;padding-bottom:12px;display:grid}.task-row:last-child{border-bottom:0;padding-bottom:0}.task-row p{margin-bottom:3px;font-weight:700}.status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.warning{color:var(--amber);background:#fff4e5}.status-pill.info{color:var(--blue-dark);background:#e9f2fb}.status-pill.success{color:var(--green);background:#e8f5ef}.status-pill.danger{color:#b42318;background:#fee2e2}.status-pill.muted{color:#667085;background:#eef2f6}.workflow-step-list{margin:0;padding:0;list-style:none}.workflow-step-list li{border-left:3px solid var(--line-strong);padding-left:12px}.workflow-step-list li.current{border-color:var(--blue)}.workflow-step-list strong{margin-bottom:3px;display:block}.user-dashboard{gap:18px;display:grid}.dashboard-command-panel{border-left:5px solid #1f6fb2;gap:18px;display:grid}.dashboard-command-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.dashboard-command-header h2{margin:2px 0 6px;font-size:26px}.dashboard-command-header p{color:var(--muted);margin:0}.dashboard-command-actions{flex-wrap:wrap;gap:10px;display:flex}.dashboard-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-focus-card{border:1px solid var(--line);background:#fff;border-left-width:6px;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.dashboard-focus-card span{border-radius:999px;margin-bottom:6px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.dashboard-focus-card strong{margin-bottom:4px;font-size:16px;display:block}.dashboard-focus-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.dashboard-focus-card.info{border-left-color:#1f6fb2}.dashboard-focus-card.info span{color:#155c9d;background:#e9f2fb}.dashboard-focus-card.warning{border-left-color:#b76e00}.dashboard-focus-card.warning span{color:#8a5200;background:#fff4e5}.dashboard-focus-card.danger{border-left-color:#b42318}.dashboard-focus-card.danger span{color:#b42318;background:#fee2e2}.dashboard-focus-card.success{border-left-color:#087443}.dashboard-focus-card.success span{color:#087443;background:#e8f5ef}.dashboard-hero-panel{border-left:5px solid var(--blue);justify-content:space-between;align-items:center;gap:18px;display:flex}.dashboard-hero-panel h2{margin:2px 0 6px;font-size:24px}.dashboard-hero-panel p{color:var(--muted);margin:0}.dashboard-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.user-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.dashboard-wide-panel{grid-column:span 2}.dashboard-attendance-panel{border-top:5px solid #14532d}.dashboard-attendance-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dashboard-attendance-times div,.dashboard-attendance-summary,.dashboard-status-card,.dashboard-board-summary{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;padding:12px}.dashboard-attendance-times span,.dashboard-attendance-summary span,.dashboard-status-card span,.dashboard-board-summary span,.dashboard-shortcut-card span{color:var(--muted);font-size:12px}.dashboard-attendance-times strong{margin-top:4px;font-size:22px;display:block}.dashboard-punch-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.attendance-punch-button{color:#fff;border:0;border-radius:6px;min-height:44px;font-weight:800}.attendance-punch-button:disabled{cursor:not-allowed;opacity:.65}.attendance-punch-button.clock-in{background:#0f766e}.attendance-punch-button.clock-out{background:#b42318}.attendance-punch-button.break-time{background:#1f6fb2}.dashboard-punch-message,.dashboard-punch-error{border-radius:6px;margin:10px 0 0;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.6}.dashboard-overnight-notice{color:#92400e;background:#fff7ed;border-left:4px solid #d97706;margin:0 0 12px;padding:9px 11px;font-size:12px;font-weight:700;line-height:1.6}.attendance-overnight-notice{margin-top:12px}.dashboard-punch-message{color:var(--green);background:#ecfdf3}.dashboard-punch-error{color:var(--red);background:#fff7f6}.dashboard-attendance-summary{color:#fff;background:#14532d;margin-top:12px}.dashboard-attendance-summary strong,.dashboard-board-summary strong{font-size:28px;display:block}.dashboard-attendance-summary span{color:#ffffffd1}.dashboard-status-grid{grid-template-columns:1fr;gap:8px;display:grid}.dashboard-status-card{border-left:5px solid var(--line-strong);background:#fff;justify-content:space-between;align-items:center;gap:14px;min-height:58px;display:flex}.dashboard-status-card strong{flex:none;font-size:26px;line-height:1}.dashboard-status-card span{font-size:13px;font-weight:800;line-height:1.5}.dashboard-status-card.info{background:#f5fbff;border-color:#b7d7f2 #b7d7f2 #b7d7f2 #1f6fb2}.dashboard-status-card.warning{background:#fffaf2;border-color:#f0bf70 #f0bf70 #f0bf70 #b76e00}.dashboard-status-card.danger{background:#fff7f6;border-color:#e7a8a2 #e7a8a2 #e7a8a2 #b42318}.dashboard-status-card.success{background:#f4fbf7;border-color:#9fd6b9 #9fd6b9 #9fd6b9 #087443}.dashboard-shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dashboard-shortcut-card{border:1px solid var(--line);min-height:92px;color:var(--text);text-align:left;background:#fff;border-radius:8px;gap:6px;padding:14px;display:grid}.dashboard-shortcut-card:hover{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--blue);background:#f7fbff;transform:translateY(-1px)}.dashboard-approval-panel{border-top:5px solid var(--blue)}.dashboard-approval-layout{gap:12px;display:grid}.dashboard-approval-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dashboard-approval-list button{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.dashboard-approval-list button:hover,.dashboard-approval-list button.selected{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--blue);background:#f7fbff}.dashboard-approval-list span,.dashboard-approval-list small,.dashboard-approval-detail span,.dashboard-approval-detail p{color:var(--muted);font-size:12px;line-height:1.6}.dashboard-approval-detail{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;gap:8px;padding:12px;display:grid}.dashboard-approval-detail p{margin:0}.dashboard-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.dashboard-list li{border-bottom:1px solid var(--line);gap:5px;padding-bottom:10px;display:grid}.dashboard-list li:last-child{border-bottom:0;padding-bottom:0}.dashboard-list span:not(.status-pill){color:var(--muted);font-size:12px}.dashboard-recent-panel{grid-column:span 2}.dashboard-recent-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.dashboard-recent-filters label{gap:6px;display:grid}.dashboard-recent-filters label>span{color:var(--muted);font-size:12px;font-weight:800}.dashboard-recent-filters select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:#fff;border-radius:6px;padding:0 10px}.dashboard-pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;display:flex}.dashboard-pagination>span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.admin-status-grid{grid-template-columns:1fr;gap:8px;display:grid}.admin-request-list,.admin-breakdown-list,.admin-check-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.admin-request-list li,.admin-breakdown-list li,.admin-check-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.admin-request-list li:last-child,.admin-breakdown-list li:last-child,.admin-check-row:last-child{border-bottom:0;padding-bottom:0}.admin-request-list strong,.admin-breakdown-list strong,.admin-check-row strong{margin-bottom:4px;display:block}.admin-request-list span:not(.status-pill),.admin-breakdown-list span,.admin-check-row span,.admin-request-meta small,.admin-breakdown-counts small{color:var(--muted);font-size:12px;line-height:1.5}.admin-request-meta,.admin-breakdown-counts{text-align:right;justify-items:end;gap:6px;min-width:112px;display:grid}.admin-breakdown-counts span{color:var(--text);font-size:18px;font-weight:700}.admin-check-row em{min-width:72px;color:var(--blue-dark);text-align:right;font-size:20px;font-style:normal;font-weight:800}.dashboard-board-summary{background:#e9f2fb}.legal-check-layout{grid-template-columns:minmax(320px,.75fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.legal-check-panel{border-top:4px solid #344054}.legal-result-panel{min-height:320px}.legal-result-grid{gap:14px;display:grid}.legal-summary-panel{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;gap:8px;margin-bottom:14px;padding:14px;display:grid}.legal-summary-panel h3,.legal-summary-panel p{margin:0}.legal-risk-panel{border:1px solid var(--line);border-radius:8px;padding:14px}.legal-risk-panel h3{margin:0 0 10px}.legal-risk-panel ul{gap:8px;margin:0;padding-left:18px;line-height:1.7;display:grid}.legal-risk-panel li{gap:3px;display:grid}.legal-risk-panel li span,.legal-risk-panel li small{color:var(--muted)}.legal-risk-panel.danger{background:#fff7f6;border-color:#e7a8a2}.legal-risk-panel.warning{background:#fffaf0;border-color:#f0bf70}.regulations-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.regulations-list-panel,.regulation-upload-panel{min-width:0}.regulation-upload-panel{position:sticky;top:18px}.regulation-category-grid{gap:14px;margin-top:14px;display:grid}.regulation-category-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid}.regulation-category-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.regulation-category-header h3,.regulation-category-header p{margin:0}.regulation-category-header h3{font-size:17px}.regulation-category-header p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.6}.regulation-document-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.regulation-document-list li{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.regulation-document-list div{gap:4px;min-width:0;display:grid}.regulation-document-list strong,.regulation-document-list span{overflow-wrap:anywhere}.regulation-document-list span{color:var(--muted);font-size:12px}.board-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.board-saved-panel{position:sticky;top:18px}.saved-board-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.saved-board-list li{border:1px solid var(--line);background:#fff;border-radius:6px;gap:4px;padding:10px;display:grid}.saved-board-list strong{color:var(--text);font-size:13px;line-height:1.5}.saved-board-list span{color:var(--muted);font-size:12px}.board-main{gap:14px;display:grid}.board-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.board-toolbar h2{margin:2px 0 0;font-size:22px}.board-card-grid{grid-template-columns:repeat(auto-fill,250px);justify-content:start;gap:16px;display:grid}.board-card{border:1px solid var(--line);width:250px;min-height:360px;box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid;position:relative}.board-star-button{border:1px solid var(--line);color:#98a2b3;background:#fff;border-radius:999px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:12px;right:12px}.board-star-button:hover{color:#a26b00;border-color:#d6a019}.board-star-button.saved{color:#b7791f;background:#fffbeb;border-color:#f2c94c}.board-star-button:disabled{cursor:default;opacity:.72}.board-card-header{justify-content:space-between;align-items:center;gap:12px;padding-right:38px;display:flex}.board-card-header time{color:var(--muted);font-size:12px}.board-theme{color:#fff;border-radius:4px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.theme-work{background:#c2185b}.theme-chart{background:#5b3ab8}.theme-policy{background:#12805c}.theme-event{background:#8a6116}.theme-default{background:#475467}.board-card-image,.board-card-no-image{border:1px solid var(--line);border-radius:6px;place-items:center;min-height:128px;display:grid;overflow:hidden}.board-card-image span{color:#344054;letter-spacing:0;background:#ffffffe6;border:1px solid #ffffffd1;border-radius:4px;padding:6px 10px;font-weight:800}.board-card-photo{background:#f8fafc}.board-card-photo img{object-fit:cover;width:100%;height:100%;min-height:128px}.image-work{background:linear-gradient(135deg,#cfe8ff 0%,#fff 52%,#ffd6e8 100%)}.image-chart{background:linear-gradient(135deg,#e5dbff 0%,#fff 52%,#c4f1f9 100%)}.image-policy{background:linear-gradient(135deg,#d8f8e6 0%,#fff 52%,#d7edff 100%)}.image-event{background:linear-gradient(135deg,#fff0bd 0%,#fff 52%,#dfe5ff 100%)}.board-card-no-image{color:var(--muted);background:#f8fafc;font-weight:800}.board-card-body{gap:8px;display:grid}.board-card-body h3{color:var(--text);margin:0;font-size:18px;line-height:1.45}.board-card-body p{color:#475467;margin:0;line-height:1.7}.board-card-footer{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.board-author-avatar{width:34px;height:34px;color:var(--blue-dark);background:#e8f2fc;border-radius:50%;place-items:center;font-weight:800;display:grid}.board-card-footer div:last-child{gap:2px;display:grid}.board-card-footer strong{color:var(--text);font-size:13px}.board-card-footer span{color:var(--muted);font-size:12px}.board-create-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.board-create-panel,.board-preview-panel{min-width:0}.board-preview-panel{position:sticky;top:18px}.preview-note{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.7}.preview-card{margin:0 auto}.success-message{color:var(--green);background:#ecfdf3;border:1px solid #b7e4ca;border-radius:6px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.6}.toolbar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:13px 14px}th{background:var(--surface-subtle);color:#475467;font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .15s}tbody tr:hover,tbody tr.selected-row{background:#f7fbff}.table-link-button{color:var(--blue-dark);text-align:left;background:0 0;border:0;gap:2px;padding:0;font-weight:700;display:grid}.table-link-button span{color:var(--muted);font-size:12px;font-weight:400}.request-title{gap:3px;font-weight:700;display:grid}.request-title small{font-weight:400}.department-tree{border:1px solid var(--line);border-radius:8px;overflow:hidden}.tree-item{border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;background:#fff;justify-content:space-between;padding:14px;display:flex}.tree-item:last-child{border-bottom:0}.tree-item.root{background:var(--surface-subtle);font-weight:700}.tree-item.child{padding-left:28px}.tree-item:hover,.tree-item.selected{color:var(--blue-dark);background:#f7fbff}.tree-item.selected{box-shadow:inset 3px 0 0 var(--blue)}.tree-item span{color:var(--muted)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-filter-grid{grid-template-columns:repeat(4,minmax(160px,1fr));margin-bottom:10px}.admin-request-details-view{gap:18px;display:grid}.admin-request-list-filters{grid-template-columns:repeat(2,minmax(200px,320px));margin-bottom:16px}.admin-request-list-table table{min-width:1080px}.admin-request-list-table th,.admin-request-list-table td{vertical-align:top}.admin-request-list-table td{max-width:280px}.admin-request-list-table .admin-request-long-cell{white-space:normal;min-width:180px;line-height:1.6}.admin-request-selected-detail{border-top:4px solid var(--blue)}.form-grid label,.history-filter-grid label,.stack-form label{color:var(--form-label);gap:7px;font-size:13px;font-weight:800;display:grid}.form-grid input,.form-grid select,.history-filter-grid input,.history-filter-grid select,.stack-form input,.stack-form select,.stack-form textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:42px;color:var(--text);background:#fff;border-radius:6px;padding:0 11px}.readonly-date-label{align-self:start}.readonly-date-field{border:1px solid var(--line);min-height:42px;color:var(--text);background:#fff;border-radius:6px;align-items:center;padding:0 11px;font-weight:700;display:flex}.stack-form textarea{resize:vertical;min-height:96px;padding:10px 11px}.field-error-label input,.field-error-label select,.field-error-label textarea{border-color:var(--red);background:#fff7f6;box-shadow:0 0 0 3px #b4231814}.field-error-text{color:var(--red);font-size:12px;font-weight:700;line-height:1.5}.inline-validation-panel{border:1px solid #f3c9c4;border-left:4px solid var(--red);color:var(--red);background:#fff7f6;border-radius:6px;gap:6px;padding:10px 12px;display:grid}.inline-validation-panel strong{font-size:13px}.inline-validation-panel ul{gap:3px;margin:0;padding-left:18px;display:grid}.form-actions{align-items:end;display:flex}.button-row{justify-content:flex-end;gap:10px;display:flex}.request-row-actions,.attendance-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.compact-button{min-height:32px;padding:0 10px;font-size:13px}.secondary-button:disabled,.compact-button:disabled{opacity:.45;cursor:not-allowed}.request-kind-choice{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;gap:10px;margin:0;padding:14px;display:grid}.request-kind-choice legend{color:var(--form-label);padding:0 6px;font-size:13px;font-weight:800}.fixed-request-type{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;gap:4px;padding:14px;display:grid}.fixed-request-type span{color:var(--form-label);font-size:13px;font-weight:800}.fixed-request-type strong{font-size:15px}.choice-card-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.choice-card input{margin-top:3px}.choice-card strong,.choice-card small{display:block}.choice-card small{color:var(--muted);margin-top:3px;line-height:1.5}.trade-required-documents{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.trade-required-documents legend{color:var(--form-label);padding:0 6px;font-size:13px;font-weight:800}.document-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.document-check-card{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.document-check-card input{margin-top:3px}.document-check-card strong,.document-check-card small{display:block}.document-check-card small{color:var(--muted);margin-top:3px;line-height:1.5}.document-check-summary{flex-wrap:wrap;gap:8px;display:flex}.document-check-summary span{color:var(--blue);background:#e8f2fb;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.danger-button{color:var(--red);border-color:#f3c9c4}.danger-button:hover{background:#fff1f0}.danger-outline-button{min-height:40px;color:var(--red);background:#fff7f6;border:1px solid #efb5ad;border-radius:6px;justify-content:center;align-items:center;padding:0 12px;font-weight:800;display:inline-flex}.danger-outline-button:hover{background:#fff1f0}.danger-outline-button:disabled{cursor:not-allowed;border-color:var(--line);color:var(--muted);background:#f7f9fb}.stack-form{gap:12px;display:grid}.stack-form.separated{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.compact-header{align-items:center;gap:12px;margin-bottom:4px}.stack-form h3{margin-bottom:0}.custom-form-editor{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:14px}.master-management-message{grid-column:1/-1}.custom-form-layout{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.custom-form-list{gap:8px;display:grid}.custom-form-card{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:4px;padding:12px;display:grid}.custom-form-card:hover,.custom-form-card.selected{border-color:var(--blue);box-shadow:0 0 0 3px #1976d214}.custom-form-card strong{font-size:13px}.custom-form-card span,.custom-form-card small{color:var(--muted);font-size:12px}.custom-form-fields{gap:12px;min-width:0;display:grid}.custom-field-editor{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.custom-field-row{background:#f8fafc;border:1px solid #d8e0ea;border-radius:8px;gap:10px;padding:12px;display:grid}.compact-checkbox{align-items:center}.checkbox-group{border:1px solid var(--line);border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-input-panel{gap:10px;display:grid}.file-input-title{color:var(--form-label);font-size:13px;font-weight:800}.file-action-row{flex-wrap:wrap;gap:10px;display:flex}.stack-form .file-action-button{border:1px solid var(--line-strong);min-height:40px;color:var(--text);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.stack-form .file-action-button:hover{background:var(--surface-subtle)}.spin-icon{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.attachment-panel{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;gap:10px;padding:12px;display:grid}.business-detail-group{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;margin:0;padding:14px}.business-detail-group legend{color:var(--form-label);padding:0 6px;font-size:13px;font-weight:800}.collapsible-group{gap:10px;display:grid}.accordion-trigger{min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.collapsible-group>.accordion-trigger,.user-accordion-panel .accordion-trigger{border:1px solid var(--accordion-header-strong);background:var(--accordion-header);width:100%;padding:12px 14px}.collapsible-group>.accordion-trigger:hover,.user-accordion-panel .accordion-trigger:hover{background:#e4f1fb}.collapsible-group>.accordion-trigger[aria-expanded=true],.user-accordion-panel .accordion-trigger[aria-expanded=true]{background:#e8f3fc;border-color:#b8d8f0}.collapsible-group>.accordion-trigger strong,.user-accordion-panel .accordion-trigger strong{color:var(--blue-dark)}.accordion-trigger span{gap:3px;display:grid}.accordion-trigger small{color:var(--muted);font-size:12px;line-height:1.5}.accordion-icon{color:#667085;flex-shrink:0;transition:transform .16s}.accordion-icon.open{transform:rotate(180deg)}.accordion-content-actions{justify-content:flex-end;display:flex}.accordion-content{grid-column:1/-1;gap:12px;display:grid}.user-side-panel{align-content:start;gap:12px;display:grid}.user-accordion-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:0;display:grid}.user-accordion-panel .accordion-trigger{padding:12px 14px}.user-accordion-panel .accordion-trigger strong{font-size:15px}.user-accordion-content{border-top:1px solid var(--line);padding:14px}.compact-message{grid-column:1/-1;margin-top:0}.expense-items-header,.expense-items-actions,.expense-item-row-header,.expense-summary-header-actions,.expense-submit-actions,.expense-detail-table-header,.attendance-detail-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.expense-items-header{margin-bottom:12px}.expense-items-actions{flex-wrap:wrap}.attendance-clock-section{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.attendance-punch-card{color:#fff;text-align:left;border:1px solid #0000;border-radius:8px;gap:6px;min-height:118px;padding:16px;display:grid;box-shadow:0 10px 22px #11182729}.attendance-punch-card:hover{transform:translateY(-1px)}.attendance-punch-card:disabled{cursor:not-allowed;opacity:.7;transform:none}.attendance-punch-card.clock-in{background:#087f5b}.attendance-punch-card.clock-out{background:#b42318}.attendance-punch-card.break-time{background:#1f5f99}.attendance-punch-card span,.metric-card.emphasis span{color:inherit;font-size:13px;font-weight:700}.attendance-punch-card.clock-in span{color:#d3f9d8}.attendance-punch-card.clock-out span{color:#ffe3e0}.attendance-punch-card strong{color:#fff;font-size:30px;line-height:1.1}.attendance-punch-card small,.metric-card.emphasis small{color:inherit;opacity:.86;line-height:1.5}.attendance-record-section{gap:10px;display:grid}.section-mini-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-mini-header h3{margin-bottom:0}.attendance-record-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.attendance-month-controls{align-items:center;gap:8px;display:flex}.attendance-month-controls input{border:1px solid var(--line);min-height:38px;color:var(--text);background:#fff;border-radius:6px;padding:0 10px;font-weight:700}.attendance-table-wrap{background:#fff}.attendance-record-table{min-width:1680px}.attendance-record-table th,.attendance-record-table td{white-space:nowrap}.attendance-record-table input,.attendance-record-table select{border:1px solid var(--line);width:100%;min-width:92px;min-height:34px;color:var(--text);background:#fff;border-radius:6px;padding:0 8px}.attendance-record-table input[type=number]{min-width:78px}.attendance-record-table .highlight-cell{color:var(--blue-dark);font-weight:800}.attendance-record-table tr.attendance-today-row{background:#eff6ff}.attendance-record-table tr.attendance-dirty-row{background:#fff7ed}.text-date-button{width:100%;min-width:72px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;display:grid}.text-date-button strong{font-size:14px;line-height:1.1}.text-date-button small{color:var(--muted);font-size:11px;font-weight:800}.attendance-row-save-cell{min-width:92px}.table-action-button{width:100%;min-height:34px;padding:0 10px}.attendance-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attendance-info-filter{gap:6px;min-width:min(280px,100%);display:grid}.attendance-info-filter span{color:var(--muted);font-size:12px;font-weight:700}.attendance-info-filter select,.attendance-info-filter input{border:1px solid var(--line);min-height:38px;color:var(--text);background:#fff;border-radius:6px;padding:0 10px}.attendance-admin-page{gap:18px;display:grid}.attendance-admin-navigation{border-top:4px solid var(--blue);gap:18px;display:grid}.attendance-admin-navigation h2,.attendance-admin-navigation p{margin-bottom:0}.attendance-admin-tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.attendance-admin-tabs button{min-height:42px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:8px 16px;font-weight:800}.attendance-admin-tabs button:hover,.attendance-admin-tabs button.active{border-bottom-color:var(--blue);color:var(--blue-dark);background:#f5faff}.attendance-overview-filters{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.attendance-admin-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.attendance-admin-metric{border:1px solid var(--line);border-left:5px solid var(--line-strong);min-height:104px;color:var(--text);text-align:left;background:#fff;border-radius:7px;gap:5px;padding:12px;display:grid}button.attendance-admin-metric{cursor:pointer}.attendance-admin-metric strong{font-size:24px}.attendance-admin-metric span,.attendance-admin-metric small{color:var(--muted);font-size:12px;font-weight:700}.attendance-admin-metric.danger{border-left-color:#b42318}.attendance-admin-metric.warning{border-left-color:#b76e00}.attendance-admin-metric.info{border-left-color:var(--blue)}.attendance-admin-metric.success{border-left-color:#087443}.attendance-admin-metric.active{border-color:var(--blue);box-shadow:0 0 0 2px #1f6fb21f}.attendance-info-table td strong,.attendance-info-table td small{display:block}.attendance-info-table td small{color:var(--muted);margin-top:3px}.attendance-alert-row{background:#fff1f2}.attendance-alert-row td{border-color:#fecdd3}.attendance-environment-alert{width:100%;color:var(--text);text-align:left;background:#fff7f6;border:1px solid #f0a6a0;border-left:5px solid #b42318;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 16px;display:grid}.attendance-environment-alert:hover{background:#fff0ee}.attendance-environment-alert-icon{color:#fff;background:#b42318;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.attendance-environment-alert strong,.attendance-environment-alert small{display:block}.attendance-environment-alert small{color:var(--muted);margin-top:3px}.attendance-environment-alert-action{color:#9f1c13;font-weight:800}.attendance-environment-panel{border-top:4px solid #b42318}.attendance-environment-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.attendance-environment-metric{border:1px solid var(--line);border-left:5px solid var(--blue);min-height:88px;color:var(--text);text-align:left;background:#fff;border-radius:7px;gap:3px;padding:11px 13px;display:grid}.attendance-environment-metric.danger{border-left-color:#b42318}.attendance-environment-metric.active{border-color:var(--blue);box-shadow:0 0 0 2px #1f6fb21f}.attendance-environment-metric strong{font-size:22px}.attendance-environment-metric span,.attendance-environment-metric small{color:var(--muted);font-size:12px;font-weight:700}.attendance-environment-list{gap:8px;display:grid}.attendance-environment-item{border:1px solid var(--line);background:#fff;border-left:5px solid #16845b;border-radius:7px;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.attendance-environment-item.needs_review{background:snow;border-color:#f0b5b0 #f0b5b0 #f0b5b0 #b42318}.attendance-environment-device{min-height:62px;color:var(--blue-dark);text-align:center;background:#edf5fb;border-radius:6px;place-items:center;gap:5px;font-size:11px;font-weight:800;display:grid}.attendance-environment-title,.attendance-environment-facts,.attendance-environment-reason,.attendance-trusted-mark{align-items:center;display:flex}.attendance-environment-title{gap:8px}.attendance-environment-main>p{margin:4px 0 0}.attendance-environment-facts{flex-wrap:wrap;gap:7px 14px;margin-top:7px}.attendance-environment-facts span{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.attendance-environment-reason{color:#9f1c13;gap:5px;font-size:12px;font-weight:700}.attendance-environment-actions{text-align:right;min-width:122px}.attendance-trusted-mark{color:#087443;justify-content:flex-end;gap:5px;font-weight:800}.attendance-environment-empty{justify-items:center;gap:7px;padding:34px 20px;display:grid}.attendance-monthly-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.attendance-monthly-trigger{background:0 0;border:0;padding:4px 2px}.attendance-monthly-heading{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:8px;display:flex}.attendance-monthly-heading:not(:first-child){margin-top:12px}.attendance-monthly-heading h3{color:var(--muted);margin:0;font-size:14px;font-weight:700}.attendance-monthly-heading span{color:#0f766e;border:2px solid #14b8a6;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:inline-flex}.attendance-monthly-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px 20px;padding-top:10px;display:grid}.attendance-monthly-item{gap:4px;display:grid}.attendance-monthly-item span{color:var(--muted);font-size:12px;font-weight:800}.attendance-monthly-item strong{color:var(--text);font-size:17px;line-height:1.1}.attendance-settings-panel{gap:14px;display:grid}.attendance-balance-table td{vertical-align:top}.leave-grant-preview{background:#f7fbff;border:2px solid #8abce4;border-radius:8px;gap:14px;padding:16px;display:grid}.individual-leave-editor,.new-employment-rule-form{background:#f7fbff;border:2px solid #8abce4;border-radius:8px;gap:14px;margin-top:16px;padding:16px;display:grid}.individual-leave-editor .three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-rule-layout{grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);gap:16px;display:grid}.attendance-rule-selector{align-content:start;gap:8px;display:grid}.attendance-rule-selector button{border:1px solid var(--line);min-height:58px;color:var(--text);text-align:left;background:#fff;border-radius:7px;gap:3px;padding:10px 12px;display:grid}.attendance-rule-selector button.active{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--blue);background:#f5faff}.attendance-rule-selector small{color:var(--muted)}.annual-run-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.annual-run-list>div{border:1px solid var(--line);background:#f4fbf7;border-left:4px solid #087443;border-radius:7px;gap:4px;padding:12px;display:grid}.annual-run-list span,.annual-run-list small{color:var(--muted);font-size:12px}.attendance-history-table{min-width:1200px}.attendance-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.attendance-settings-box{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid}.attendance-settings-box h3{margin:0;font-size:16px}.attendance-settings-box p{color:var(--muted);margin:0;line-height:1.6}.attendance-settings-box label{color:var(--text);gap:6px;font-weight:700;display:grid}.attendance-settings-box input,.attendance-settings-box select{border:1px solid var(--line);min-height:38px;color:var(--text);background:#fff;border-radius:6px;padding:0 10px}.attendance-member-checks{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;padding:10px;display:grid;overflow:auto}.attendance-member-checks label{align-items:center;gap:8px;font-weight:600;display:flex}.attendance-member-checks input{min-height:auto}.annual-refresh-status{background:#fffbeb;border:1px solid #f3d6a4;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.annual-refresh-status span{color:#92400e;font-size:12px;font-weight:800}.annual-refresh-status strong{color:#78350f;font-size:18px}.metric-card.emphasis{color:#fff;border:0;padding:16px;box-shadow:0 10px 22px #11182729}.metric-card.emphasis.work-time{background:#124f8c}.metric-card.emphasis.overtime{background:#9a3412}.metric-card.emphasis.overtime span{color:#ffedd5}.metric-card.emphasis strong{color:#fff;margin:6px 0 4px;font-size:32px}.attendance-application-detail{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid}.approval-detail-group{gap:12px;display:grid}.decision-detail-group textarea{min-height:110px}.approval-decision-summary{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:10px;padding:14px;display:grid}.approval-decision-summary div{border-bottom:1px solid var(--line);gap:4px;padding-bottom:10px;display:grid}.approval-decision-summary div:last-child{border-bottom:0;padding-bottom:0}.approval-decision-summary span{color:var(--blue-dark);font-size:12px;font-weight:800}.approval-decision-summary p{color:var(--text);white-space:pre-wrap;margin:0;line-height:1.7}.expense-summary-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end}.expense-submit-actions{flex-wrap:wrap;justify-content:flex-end}.request-editing-banner{background:#fffbf3;border:1px solid #fedf89;border-left:4px solid #f79009;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:12px 14px;display:flex}.request-editing-banner div{gap:5px;min-width:0;display:grid}.request-editing-banner strong{color:var(--text);overflow-wrap:anywhere}.request-editing-banner small{color:#8a5a00}.request-summary-meta{grid-template-columns:minmax(0,1fr) 92px;gap:10px;margin-bottom:14px;display:grid}.request-summary-meta div{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:3px;padding:10px 12px;display:grid}.request-summary-meta span{color:var(--muted);font-size:11px;font-weight:800}.request-summary-meta strong{color:var(--text);overflow-wrap:anywhere;font-size:14px}.compact-history-panel{padding:0;overflow:hidden}.compact-history-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;list-style:none;display:flex}.compact-history-panel summary::-webkit-details-marker{display:none}.compact-history-panel summary:after{content:"開く";border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:4px 9px;font-size:11px;font-weight:800}.compact-history-panel[open] summary{border-bottom:1px solid var(--line)}.compact-history-panel[open] summary:after{content:"閉じる"}.compact-history-panel .table-wrap,.compact-history-panel .recent-request-note{margin:16px 18px}.expense-items-list{gap:12px;display:grid}.expense-summary-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.expense-summary-list li{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;display:grid}.expense-summary-list li.editing{box-shadow:inset 3px 0 0 var(--blue);border-color:#b8d8f1}.expense-summary-list strong,.expense-summary-list span,.expense-summary-list small{display:block}.expense-summary-list strong{color:var(--text);overflow-wrap:anywhere}.expense-summary-list span,.expense-summary-list small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px;line-height:1.5}.expense-summary-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.expense-item-row{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.expense-item-row:first-child{border-top:0;padding-top:0}.expense-item-row-header strong{color:var(--text);font-size:14px}.attendance-detail-header{align-items:flex-start;margin-bottom:12px}.attendance-detail-header strong{margin-bottom:3px;font-size:15px;display:block}.attendance-detail-block{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.attendance-detail-block h3{color:#475467;margin-bottom:0;font-size:14px}.attendance-reason-label{color:var(--form-label);gap:7px;font-size:13px;font-weight:800;display:grid}.attendance-reason-label textarea{min-height:96px}.receipt-template-panel,.receipt-candidate-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.receipt-template-panel{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.receipt-template-panel .small-note{grid-column:1/-1}.transport-template-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.transport-template-list li{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.transport-template-list li>button{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;gap:4px;padding:0;display:grid}.transport-template-list li>button:hover strong{color:var(--blue-dark)}.transport-template-list span{color:var(--muted);font-size:12px;line-height:1.5}.transport-template-list li>div,.form-actions-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.receipt-candidate-panel{background:#f8fafc}.receipt-candidate-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.receipt-candidate-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.receipt-candidate-header strong{color:#175cd3;font-size:13px}.receipt-candidate-empty{background:#fffbf3;border-left:3px solid #f79009;gap:6px;padding:10px 12px;display:grid}.receipt-candidate-loading{border:1px solid #b8d8f1;border-left:3px solid var(--primary);color:#175cd3;background:#f0f7ff;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:700;line-height:1.6;display:flex}.receipt-analysis-status{border-left:3px solid var(--primary);color:#344054;background:#f0f7ff;gap:4px;padding:10px 12px;display:grid}.receipt-analysis-status strong{color:#175cd3;font-size:13px}.receipt-analysis-status span{font-size:12px;line-height:1.6}.receipt-tax-check{border:1px solid #b8d8f1;border-left:3px solid var(--primary);color:#344054;background:#f0f7ff;border-radius:8px;gap:8px;padding:10px 12px;font-size:12px;line-height:1.6;display:grid}.receipt-tax-check.ok{background:#f6fef9;border-color:#abefc6 #abefc6 #abefc6 #17b26a}.receipt-tax-check.needs-review{background:#fffbf3;border-color:#fedf89 #fedf89 #fedf89 #f79009}.receipt-tax-check.missing{background:#fffbfa;border-color:#fecdca #fecdca #fecdca #d92d20}.receipt-tax-check.compact{gap:5px;margin-top:6px;padding:8px}.receipt-tax-check-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.receipt-tax-check-header strong{color:#175cd3;font-size:12px}.receipt-tax-check-header span{background:#fff;border-radius:999px;padding:2px 8px;font-weight:700}.receipt-tax-check p,.receipt-tax-check ul{margin:0}.receipt-tax-check ul{gap:6px;padding:0;list-style:none;display:grid}.receipt-tax-check li{gap:2px;display:grid}.receipt-tax-check li>span{border-radius:999px;width:fit-content;padding:1px 7px;font-weight:700}.receipt-tax-check li>span.ok{color:#067647;background:#dcfae6}.receipt-tax-check li>span.needs-review{color:#b54708;background:#fef0c7}.receipt-tax-check li>span.missing{color:#b42318;background:#fee4e2}.attachment-panel-header,.attachment-panel-header span,.attachment-count{align-items:center;gap:6px;display:flex}.attachment-panel-header{color:var(--form-label);justify-content:space-between;font-size:13px;font-weight:800}.attachment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.attachment-list li{border:1px solid var(--line);background:#fff;border-radius:6px;gap:12px;padding:10px;display:grid}.attachment-list span{overflow-wrap:anywhere;gap:2px;min-width:0;font-weight:700;display:grid}.attachment-preview-card{border:1px solid var(--line);background:#f8fafc;border-radius:6px;place-items:center;min-height:180px;display:grid;overflow:hidden}.attachment-preview-card img,.attachment-preview-card iframe{border:0;width:100%;height:220px}.attachment-preview-card img{object-fit:contain}.attachment-file-placeholder{width:56px;height:56px;color:var(--blue-dark);background:#e9f2fb;border-radius:8px;place-items:center;display:grid}.attachment-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.attachment-count{color:var(--blue-dark);font-weight:700}.checkbox-group legend{color:var(--form-label);padding:0 6px;font-size:13px;font-weight:800}.checkbox-row{color:var(--text);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;display:grid}.checkbox-row input{width:16px;height:16px;margin-top:3px}.checkbox-row span{gap:3px;display:grid}.checkbox-row small,.small-note{color:var(--muted);line-height:1.6}.small-note{margin:0;font-size:12px}.application-date-note{margin-top:-2px}.audit-note{margin-top:12px}.recent-request-note{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.approval-step-group{border:1px solid var(--line);border-radius:8px;gap:12px;margin:0;padding:10px;display:grid}.approval-step-group legend{color:var(--form-label);padding:0 6px;font-size:13px;font-weight:800}.approval-step-row{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;min-width:0;padding:10px;display:grid}.approval-step-row:last-of-type{border-bottom:1px solid var(--line)}.approval-step-row-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.approval-step-row-header div{align-items:center;gap:10px;min-width:0;display:flex}.approval-step-row-header strong{overflow-wrap:anywhere}.approval-step-fields{grid-template-columns:1fr;gap:10px;display:grid}.approval-step-fields label{min-width:0;color:var(--form-label);gap:7px;font-size:13px;font-weight:800;display:grid}.step-order{width:28px;height:28px;color:var(--blue-dark);background:#e9f2fb;border-radius:999px;flex:none;place-items:center;font-weight:700;display:grid}.permission-grid,.master-grid,.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-list{gap:16px;display:grid}.route-section{gap:10px;display:grid}.route-section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex}.route-section-header h3{color:var(--text);margin:0;font-size:15px}.route-section-list{gap:10px;display:grid}.notification-list{gap:12px;display:grid}.notification-card{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.notification-card.unread{box-shadow:inset 3px 0 0 var(--blue);background:#f7fbff;border-color:#b8d8f1}.notification-card h3,.notification-card p{margin-bottom:6px}.notification-card p,.notification-card small{color:var(--muted)}.notification-actions{flex-shrink:0;gap:8px;display:flex}.approval-action-panel,.request-detail-list{gap:14px;display:grid}.request-detail-list{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;padding:14px}.request-detail-list div{gap:3px;display:grid}.request-detail-list span,.approval-comment-label{color:var(--form-label);font-size:13px;font-weight:800}.request-detail-list strong{font-size:15px}.approval-comment-label{gap:7px;display:grid}.approval-comment-label textarea{border:1px solid var(--line);min-height:108px;color:var(--text);resize:vertical;background:#fff;border-radius:6px;padding:10px 11px}.expense-detail-table{gap:10px;display:grid}.expense-detail-table-header{color:var(--form-label);font-size:13px;font-weight:800}.compact-table table{min-width:720px}.permission-card,.master-item,.workflow-card,.route-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;padding:16px}.route-card{gap:8px;display:grid}.route-card-shell{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.route-card-shell .route-card{width:100%;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.route-card h3,.route-card p{margin-bottom:0}.route-card p,.route-card small{color:var(--muted)}.workflow-card p{color:var(--muted);margin-bottom:0;line-height:1.6}.permission-card p{min-height:48px;margin-bottom:12px;line-height:1.6}.permission-card:hover,.permission-card.selected,.route-card:hover,.route-card.selected{border-color:var(--blue);background:#f7fbff}.permission-card.selected,.route-card.selected{box-shadow:inset 3px 0 0 var(--blue)}.route-card-shell:hover,.route-card-shell.selected{border-color:var(--blue);background:#f7fbff}.route-card-shell.selected{box-shadow:inset 3px 0 0 var(--blue)}.route-card-actions{border-top:1px solid var(--line);justify-content:flex-end;padding-top:10px;display:flex}.permission-card span,.master-item span{color:var(--muted);font-size:13px;display:block}.master-item{gap:7px;display:grid}.master-item:hover{border-color:var(--blue);background:#f7fbff}.master-item.selected{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.placeholder-view{place-items:start;gap:8px;min-height:260px;display:grid}.notice-panel,.login-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 18px;display:flex}.notice-panel p,.login-panel p{color:var(--muted);margin:6px 0 0;line-height:1.6}.notice-panel.auth-required,.notice-panel.error{background:snow;border-color:#f3c9c4}.notice-actions{flex-shrink:0;gap:8px;display:flex}.login-panel{align-items:flex-start}.login-form{align-items:flex-end;gap:10px;display:flex}.login-form label{min-width:260px;color:var(--form-label);gap:7px;font-size:13px;font-weight:800;display:grid}.login-form input{border:1px solid var(--line);border-radius:6px;min-height:40px;padding:0 11px}.text-button{color:var(--blue-dark);background:0 0;border:0;padding:0;font-weight:800}.text-button:hover{text-decoration:underline}.auth-mode-button{justify-content:center;align-items:center;min-height:40px;margin-top:4px;padding:8px 4px;display:inline-flex}.account-settings-panel{max-width:920px}.account-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.account-summary>div{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;gap:6px;padding:14px;display:grid}.account-summary strong{overflow-wrap:anywhere}.account-password-form,.slack-notification-form{border-top:1px solid var(--line);gap:16px;margin-top:22px;padding-top:22px;display:grid}.slack-settings-header,.slack-status-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.slack-status-row{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:14px}.slack-status-row p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.6}.notification-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.notification-option-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.notification-option-card input{margin-top:3px}.notification-option-card span{gap:4px;display:grid}.notification-option-card small{line-height:1.5}.form-message,.empty-state{color:var(--muted)}.form-message{background:var(--surface-subtle);border-radius:6px;margin:12px 0 0;padding:10px 12px;line-height:1.6}.empty-state{border:1px dashed var(--line-strong);background:var(--surface-subtle);border-radius:8px;padding:16px}.placeholder-view h2,.placeholder-view p{margin-bottom:0}@media (width<=1100px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.user-dashboard-grid,.legal-check-layout,.regulations-layout,.split-layout{grid-template-columns:1fr}.dashboard-wide-panel,.dashboard-recent-panel{grid-column:span 1}.attendance-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-environment-item{grid-template-columns:78px minmax(0,1fr)}.attendance-environment-actions{text-align:left;grid-column:2}.attendance-trusted-mark{justify-content:flex-start}.attendance-rule-layout,.annual-run-list{grid-template-columns:1fr}.expense-side-panel{gap:18px;min-height:0;display:grid;grid-template-rows:auto auto!important}}@media (width<=780px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{z-index:30;border-right:0;border-bottom:1px solid var(--line);gap:10px;max-height:46vh;padding:12px;position:sticky;top:0;overflow-y:auto}.sidebar-collapsed .sidebar{gap:10px;padding:12px}.sidebar-collapsed .sidebar-top{justify-content:space-between}.sidebar-collapsed .brand{justify-content:flex-start;padding:0 2px 4px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-label,.sidebar-collapsed .account-settings-button .nav-label,.sidebar-collapsed .nav-group-chevron{display:block}.sidebar-collapsed .account-settings-button .nav-label{display:grid}.sidebar-collapsed .sidebar-collapse-button{width:34px;height:34px;box-shadow:none;position:static}.sidebar-collapsed .nav-section,.sidebar-collapsed .nav-group{justify-items:stretch}.sidebar-collapsed .nav-item,.sidebar-collapsed .nav-group-trigger,.sidebar-collapsed .account-settings-button{justify-content:flex-start;width:auto;min-height:38px;padding:7px 10px}.sidebar-collapsed .nav-subsection{display:grid}.brand{padding:0 2px 4px}.brand-mark{width:78px;height:34px;padding:4px 6px}.brand-name{font-size:14px}.brand-subtitle{font-size:11px}.nav-section{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.nav-item{border:1px solid var(--line);white-space:nowrap;background:#fff;flex:none;min-height:38px;padding:7px 10px}.nav-icon{width:24px;height:24px}.nav-divider{flex:0 0 1px;margin:0}.workspace{padding:18px 14px 28px}.topbar,.topbar-actions,.dashboard-command-header,.dashboard-command-actions,.dashboard-hero-panel,.dashboard-hero-actions,.panel-header,.notification-card,.notification-actions,.notice-panel,.login-panel,.login-form,.request-editing-banner{flex-direction:column;align-items:stretch}.global-search,.search-box{width:100%;min-width:0}.global-search-results{width:100%;left:0;right:auto}.data-source-badge{text-align:center;width:100%}.summary-grid,.admin-status-grid,.permission-grid,.master-grid,.custom-form-layout,.workflow-grid,.form-grid,.history-filter-grid,.account-summary,.dashboard-focus-grid,.dashboard-shortcut-grid,.dashboard-status-grid,.dashboard-recent-filters,.dashboard-attendance-times,.dashboard-punch-actions,.board-layout,.board-create-layout,.board-card-grid,.attendance-clock-section,.attendance-summary-cards,.attendance-monthly-grid,.attendance-settings-grid,.attendance-member-checks,.choice-card-group,.approval-step-row,.approval-step-fields{grid-template-columns:1fr}.dashboard-pagination{flex-direction:column;align-items:stretch}.dashboard-pagination>span{text-align:center}.attendance-admin-metrics,.attendance-environment-metrics,.attendance-environment-item,.attendance-environment-alert{grid-template-columns:1fr}.attendance-environment-alert-icon{display:none}.attendance-environment-alert-action,.attendance-environment-actions{grid-column:1}.attendance-environment-device{grid-template-columns:auto auto;justify-content:start;min-height:46px;padding:8px 12px}.attendance-overview-filters,.approval-step-row-header{flex-direction:column;align-items:stretch}.approval-step-row-header .secondary-button{width:100%}.dashboard-focus-card{grid-template-columns:1fr}.board-card{width:100%;min-height:0}.board-saved-panel,.board-preview-panel{position:static}.profile-button,.primary-button,.secondary-button,.file-action-button,.button-row,.notice-actions,.login-form label,.slack-status-row{width:100%}.request-summary-meta{grid-template-columns:1fr}.compact-history-panel summary{flex-direction:column;align-items:flex-start}.button-row{flex-direction:column}.slack-settings-header,.slack-status-row{flex-direction:column;align-items:stretch}.notification-option-list,.attachment-list{grid-template-columns:1fr}.expense-summary-list li,.expense-summary-actions{grid-template-columns:1fr;justify-content:stretch}.admin-request-list li,.admin-breakdown-list li,.admin-check-row,.attachment-meta,.board-toolbar,.section-mini-header,.attendance-record-actions{flex-direction:column;align-items:stretch}.attendance-month-controls{flex-direction:column;align-items:stretch;width:100%}.attendance-month-controls input{width:100%}.admin-request-meta,.admin-breakdown-counts,.admin-check-row em{text-align:left;justify-items:start}}@media (width<=480px){.workspace{padding:14px 10px 24px}.panel,.metric-card,.placeholder-view{padding:14px}h1{font-size:22px}h2{font-size:17px}.topbar{gap:14px}.table-wrap{border-radius:6px}}
