@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.inline{display:inline}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--brand:#004876;--brand-light:#1a6fa3;--brand-dark:#002f4f;--brand-soft:#e9f3f8;--sidebar:#172434;--sidebar-muted:#91a0b1;--bg:#f5f6f4;--surface:#fff;--surface-subtle:#f8fafb;--border:#dfe4e7;--border-strong:#cfd6da;--text:#182028;--text-subtle:#66727d;--green:#238452;--green-soft:#e9f6ef;--amber:#a66300;--amber-soft:#fff4df;--red:#b44343;--red-soft:#fceeee;--purple:#6851a4;--purple-soft:#f1eefb;--indigo:#4256a6;--shadow-sm:0 1px 2px #14222d0d, 0 1px 8px #14222d06;--shadow-lg:0 18px 50px #0d202e2e}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #1a6fa347}.app-frame{min-height:100vh}.sidebar{z-index:30;background:var(--sidebar);color:#fff;flex-direction:column;width:242px;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{border-bottom:1px solid #ffffff14;align-items:center;gap:11px;min-height:73px;padding:15px 20px;display:flex}.brand-block strong{letter-spacing:.02em;font-size:15px;display:block}.brand-block span{color:#9fb1c2;letter-spacing:.05em;margin-top:2px;font-size:10px;display:block}.mobile-close{color:#fff;background:0 0;border:0;margin-left:auto;display:none}.side-nav{padding:16px 9px 0}.side-nav a,.settings-link{color:#c4cdd7;border-radius:7px;align-items:center;gap:12px;height:44px;padding:0 12px;transition:all .15s;display:flex}.side-nav a:hover,.settings-link:hover{color:#fff;background:#ffffff0e}.side-nav a.active,.settings-link.active{color:#fff;background:#286fa4;box-shadow:inset 3px 0 #68aee0}.nav-count{color:#fff;background:#d05757;border-radius:10px;place-items:center;min-width:21px;height:21px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:grid}.upcoming-block{margin-top:21px;padding:0 20px}.side-section-label{color:#758598;letter-spacing:.08em;margin-bottom:9px;font-size:10px}.upcoming-item{min-height:34px;color:var(--sidebar-muted);justify-content:space-between;align-items:center;gap:7px;font-size:12px;display:flex}.upcoming-item em{color:#9ba9b7;white-space:nowrap;background:#ffffff12;border-radius:4px;padding:2px 5px;font-size:9px;font-style:normal}.settings-link{margin:auto 9px 12px}.app-column{min-height:100vh;margin-left:242px}.topbar{z-index:20;background:#fff;border-bottom:1px solid #e5e9eb;align-items:center;gap:13px;height:64px;padding:0 26px 0 30px;display:flex;position:sticky;top:0}.menu-button{background:0 0;border:0;padding:5px;display:none}.company-name{white-space:nowrap;align-items:center;height:38px;font-weight:700;display:flex}.period-wrap{position:relative}.period-chip{height:32px;color:var(--text-subtle);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:5px;align-items:center;gap:6px;padding:0 9px;font-size:12px;display:flex}.period-chip:hover,.period-chip[aria-expanded=true]{color:var(--brand);background:#f5fafc;border-color:#9dbfd3}.period-menu{z-index:50;border:1px solid var(--border);width:250px;box-shadow:var(--shadow-lg);background:#fff;border-radius:8px;padding:9px;position:absolute;top:39px;left:0}.period-menu-header{text-align:center;border-bottom:1px solid #edf0f1;grid-template-columns:30px 1fr 30px;align-items:center;height:35px;display:grid}.period-menu-header button{background:0 0;border:0;border-radius:4px;place-items:center;width:28px;height:28px;display:grid}.period-menu-header button:disabled{color:#c2c9cd}.period-menu-header strong{font-size:11px}.period-option{background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;width:100%;min-height:38px;padding:0 9px;font-size:11px;display:flex}.period-option.active{color:var(--brand);background:var(--brand-soft);cursor:pointer;font-weight:700}.period-option:disabled{color:#929ca3}.period-option em{color:#879198;background:#f0f2f3;border-radius:4px;padding:2px 5px;font-size:8px;font-style:normal;font-weight:500}.period-option.active em{color:#2d754e;background:#dff0e6}.period-menu p{color:var(--text-subtle);margin:7px 3px 2px;font-size:8px;line-height:1.5}.topbar-spacer{flex:1}.industry-switch{gap:6px;display:flex}.industry-switch button{min-height:33px;color:var(--text-subtle);border:1px solid var(--border);cursor:pointer;background:#fff;align-items:center;gap:5px;padding:0 11px;display:flex}.industry-switch button:first-child{border-radius:6px 0 0 6px}.industry-switch button:last-child{border-radius:0 6px 6px 0}.industry-switch button+button{margin-left:-7px}.industry-switch button.active{color:var(--brand);background:var(--brand-soft);z-index:1;border-color:#9fc4d9;font-weight:700;position:relative}.industry-switch.compact button{justify-content:center;min-width:44px;padding-inline:9px;font-size:12px}.header-icon{color:#5e6871;cursor:pointer;background:0 0;border:0;place-items:center;width:34px;height:34px;display:grid;position:relative}.header-action{position:relative}.header-icon:hover,.header-icon[aria-expanded=true]{color:var(--brand);background:var(--brand-soft);border-radius:6px}.header-icon.notification span{background:#cf4747;border:1px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.avatar{color:#fff;cursor:pointer;background:#2a71b8;border:0;border-radius:50%;width:34px;height:34px;font-weight:700}.avatar:hover,.avatar[aria-expanded=true]{box-shadow:0 0 0 3px #dcebf5}.header-popover{z-index:60;border:1px solid var(--border);width:300px;box-shadow:var(--shadow-lg);background:#fff;border-radius:9px;animation:.14s ease-out popover-in;position:absolute;top:43px;right:0;overflow:hidden}.popover-heading{border-bottom:1px solid #edf0f1;align-items:center;min-height:60px;padding:13px 15px;display:flex}.popover-heading.inline{justify-content:space-between;gap:10px}.popover-heading strong,.popover-heading span{display:block}.popover-heading strong{font-size:13px}.popover-heading span{color:var(--text-subtle);margin-top:2px;font-size:9px}.popover-heading button{color:var(--brand-light);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:9px;font-weight:600}.popover-link{text-align:left;width:100%;min-height:56px;color:var(--text);cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0f1;grid-template-columns:32px 1fr 16px;align-items:center;gap:8px;padding:9px 13px;display:grid}.popover-link:hover,.notification-item:hover,.profile-menu-link:hover{background:#f5f9fb}.popover-icon{width:30px;height:30px;color:var(--brand);background:var(--brand-soft);border-radius:6px;place-items:center;display:grid}.popover-link strong,.popover-link small{display:block}.popover-link strong{font-size:10px}.popover-link small{color:var(--text-subtle);margin-top:2px;font-size:8px}.popover-link>svg{color:#9ba5ab}.popover-footnote{color:var(--text-subtle);background:#f8f9fa;padding:9px 13px;font-size:8px}.notification-popover{width:350px}.notification-item{border-bottom:1px solid #edf0f1;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;min-height:66px;padding:10px 13px;display:grid}.notification-item:last-child{border-bottom:0}.notice-mark{border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.notice-mark.blue{color:var(--brand);background:var(--brand-soft)}.notice-mark.amber{color:var(--amber);background:var(--amber-soft)}.notice-mark.green{color:var(--green);background:var(--green-soft)}.notification-item strong,.notification-item small{display:block}.notification-item strong{font-size:10px}.notification-item small{color:var(--text-subtle);margin-top:2px;font-size:8px}.notification-item time{color:#929da4;align-self:start;margin-top:3px;font-size:8px}.profile-popover{width:270px;padding:10px}.profile-popover-head{align-items:center;gap:10px;min-height:58px;padding:7px 6px 11px;display:flex}.profile-popover-head>.profile-avatar{color:#fff;background:var(--brand-light);border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.profile-popover-head>div{gap:2px;min-width:0;display:grid}.profile-popover-head>div>strong,.profile-popover-head>div>span{display:block}.profile-popover-head>div>strong{color:var(--text);font-size:12px;line-height:1.35}.profile-popover-head>div>span{color:var(--text-subtle);font-size:9px;line-height:1.35}.profile-company{color:#51616c;background:#f3f6f7;border-radius:5px;padding:8px 9px;font-size:9px}.profile-menu-link{border-bottom:1px solid #edf0f1;grid-template-columns:21px 1fr 14px;align-items:center;min-height:39px;padding:0 8px;font-size:10px;display:grid}.profile-menu-link>svg:last-child{color:#9ba5ab}.profile-fixed-note{color:var(--text-subtle);align-items:center;gap:6px;padding:9px 8px 2px;font-size:8px;display:flex}.profile-fixed-note span{background:#43a26c;border-radius:50%;width:6px;height:6px}.demo-banner{color:#574b22;background:#fff7da;border-bottom:1px solid #eadc9c;justify-content:space-between;align-items:center;gap:20px;min-height:38px;padding:8px 30px;font-size:12px;display:flex}.demo-banner strong{color:#3d341b}.demo-banner a{color:#6c5812;text-underline-offset:2px;white-space:nowrap;font-weight:700;text-decoration:underline}main{min-width:0}.page{width:100%;max-width:1540px;margin:0 auto;padding:25px 30px 48px}.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:21px;display:flex}.page-heading h1{letter-spacing:-.02em;margin:0;font-size:25px;line-height:1.3}.page-heading p{color:var(--text-subtle);margin:5px 0 0;font-size:13px}.page-actions{gap:8px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:#176fae;border-color:#176fae;box-shadow:0 2px 5px #00487621}.button.primary:hover{background:var(--brand)}.button.secondary{color:#36434d;border-color:var(--border-strong);background:#fff}.button.danger-outline{color:var(--red);background:#fff;border-color:#e1baba}.text-link{color:var(--brand-light);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:9px}.panel-header{border-bottom:1px solid #edf0f1;justify-content:space-between;align-items:flex-start;gap:15px;min-height:66px;padding:17px 19px 13px;display:flex}.panel-header.compact{min-height:auto}.panel-header h2{margin:0;font-size:15px}.panel-header p{color:var(--text-subtle);margin:3px 0 0;font-size:11px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi-card{border:1px solid var(--border);min-height:122px;box-shadow:var(--shadow-sm);background:#fff;border-radius:9px;padding:17px 18px 15px;transition:all .15s}.kpi-card:hover{border-color:#abc9da;transform:translateY(-1px);box-shadow:0 4px 15px #173a5014}.kpi-top{color:#68737b;align-items:center;gap:8px;font-size:12px;display:flex}.kpi-icon{border-radius:6px;place-items:center;width:29px;height:29px;display:grid}.kpi-icon.blue,.stat-icon.blue{color:var(--brand-light);background:#eaf4fa}.kpi-icon.purple{color:var(--purple);background:var(--purple-soft)}.kpi-icon.green{color:var(--green);background:var(--green-soft)}.kpi-icon.amber{color:var(--amber);background:var(--amber-soft)}.kpi-value{letter-spacing:-.03em;margin-top:8px;font-size:27px;font-weight:700;line-height:1.2}.kpi-value small{color:#69747c;margin-left:3px;font-size:13px;font-weight:500}.kpi-meta{color:var(--text-subtle);align-items:center;gap:5px;margin-top:7px;font-size:11px;display:flex}.kpi-meta span{border-radius:50%;width:6px;height:6px}.kpi-meta.good{color:#397b55}.kpi-meta.good span{background:#35a163}.kpi-meta.warn{color:#8d6213}.kpi-meta.warn span{background:#df9a25}.kpi-meta.danger{color:#9b4747}.kpi-meta.danger span{background:#cd5555}.home-grid{grid-template-columns:minmax(640px,1.7fr) minmax(320px,.8fr);gap:15px;margin-top:15px;display:grid}.presence-summary{background:#fafbfb;border:1px solid #e4e9eb;border-radius:7px;grid-template-columns:repeat(4,1fr);margin:14px 18px;display:grid}.presence-summary>div{color:#67727a;border-right:1px solid #e5e9eb;grid-template-columns:22px 1fr auto;align-items:center;gap:2px;min-height:56px;padding:9px 13px;display:grid}.presence-summary>div:last-child{border-right:0}.presence-summary>div svg{color:#667b89;grid-row:1/3}.presence-summary span{font-size:10px}.presence-summary strong{color:#26323a;grid-column:2;font-size:17px}.presence-summary>div>strong:last-child{grid-area:1/3/3}.today-list{padding:0 18px 11px}.today-row{border-top:1px solid #edf0f1;grid-template-columns:37px minmax(150px,1fr) minmax(180px,1.4fr) 75px;align-items:center;gap:10px;min-height:61px;display:grid}.employee-avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:inline-grid}.employee-avatar.small{width:29px;height:29px;font-size:10px}.employee-avatar.large{width:48px;height:48px;font-size:16px}.employee-avatar.xlarge{width:64px;height:64px;font-size:21px}.employee-cell strong,.employee-cell span,.location-cell span,.location-cell small{display:block}.employee-cell strong,.location-cell span{font-size:12px}.employee-cell span,.location-cell small{color:var(--text-subtle);margin-top:2px;font-size:10px}.presence-badge{border-radius:12px;justify-self:end;padding:4px 8px;font-size:10px;font-weight:600}.presence-badge.working{color:#247148;background:#e8f6ee}.presence-badge.break{color:#8b6319;background:#fff2d9}.presence-badge.missing{color:#ab4040;background:#faeaea}.presence-badge.neutral{color:#68747c;background:#eef1f2}.side-stack{flex-direction:column;gap:15px;display:flex}.count-pill{background:var(--red-soft);min-width:28px;height:24px;color:var(--red);border-radius:12px;place-items:center;padding:0 7px;font-size:12px;font-weight:700;display:grid}.alert-list{padding:2px 15px}.alert-item{border-bottom:1px solid #edf0f1;grid-template-columns:31px 1fr 17px;align-items:center;gap:8px;min-height:57px;display:grid}.alert-item:hover strong{color:var(--brand)}.alert-symbol{width:28px;height:28px;color:var(--amber);background:var(--amber-soft);border-radius:6px;place-items:center;display:grid}.alert-item span strong,.alert-item span small{display:block}.alert-item span strong{font-size:11px}.alert-item span small{color:var(--text-subtle);margin-top:2px;font-size:10px}.alert-item>svg{color:#a7b0b6}.panel-link{height:40px;color:var(--brand-light);place-items:center;font-size:11px;font-weight:600;display:grid}.approval-chart{background:#e7eaec;border-radius:5px;height:9px;margin:18px;display:flex;overflow:hidden}.approval-chart span:first-child{background:#2f9160}.approval-chart span:nth-child(2){background:#4380ba}.approval-legend{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 18px 12px;display:grid}.approval-legend div{color:var(--text-subtle);grid-template-columns:8px 1fr;gap:6px;font-size:9px;display:grid}.approval-legend strong{color:var(--text);grid-column:2;font-size:14px}.legend-dot{border-radius:50%;width:7px;height:7px;margin-top:3px}.legend-dot.approved{background:#2f9160}.legend-dot.submitted{background:#4380ba}.legend-dot.draft{background:#aab2b8}.latest-approval{background:#f7f9f9;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:3px;margin:0 15px;padding:10px;display:grid}.latest-approval>span{color:var(--text-subtle);grid-column:1/3;font-size:9px}.latest-approval strong{font-size:11px}.status-badge{white-space:nowrap;border-radius:12px;align-items:center;gap:5px;width:fit-content;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;width:6px;height:6px}.status-draft{color:#657079;background:#eef1f2}.status-draft .status-dot{background:#929ba2}.status-submitted{color:#2f6691;background:#e9f2f8}.status-submitted .status-dot{background:#3d80b8}.status-approved{color:#287248;background:#e8f5ed}.status-approved .status-dot{background:#2f9160}.extension-note{background:#eff6f9;border:1px solid #cbdce5;border-radius:8px;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;min-height:70px;margin-top:15px;padding:13px 17px;display:grid}.extension-icon{width:35px;height:35px;color:var(--brand);background:#fff;border-radius:7px;place-items:center;display:grid}.extension-note strong{font-size:12px}.extension-note p{color:#5d6d77;margin:2px 0 0;font-size:10px}.extension-note a{color:var(--brand);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.toolbar{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:9px;min-height:54px;margin-bottom:12px;padding:8px 10px;display:flex}.toolbar-spacer{flex:1}.month-control{align-items:center;gap:3px;display:flex}.month-control button{cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:32px;height:32px;display:grid}.month-control button:hover{background:#f0f3f4}.month-control strong{justify-content:center;align-items:center;gap:7px;min-width:130px;font-size:13px;display:flex}.month-control .today-button{border:1px solid var(--border);width:auto;margin-left:4px;padding:0 9px;font-size:11px}.month-state{border-radius:999px;margin-left:5px;padding:3px 7px;font-size:10px;font-weight:700;line-height:1}.month-state.confirmed{color:#247248;background:#e8f6ee}.month-state.editing{color:#8a5a00;background:#fff3d8}.month-control button:disabled{color:#bdc5ca;cursor:not-allowed}.month-control button:disabled:hover{background:0 0}.select-wrap{border:1px solid var(--border-strong);border-radius:6px;align-items:center;gap:5px;min-height:35px;padding:0 8px;display:flex}.select-wrap select{color:#46525b;background:0 0;border:0;outline:0;min-width:125px;font-size:12px}.shift-summary-bar{min-height:49px;color:var(--text-subtle);align-items:center;gap:25px;margin-bottom:10px;padding:0 14px;font-size:10px;display:flex}.shift-summary-bar>div{align-items:center;gap:6px;display:flex}.shift-summary-bar strong{color:var(--text);font-size:13px}.summary-icon{width:28px;height:28px;color:var(--brand);background:var(--brand-soft);border-radius:6px;place-items:center;display:grid}.summary-dot{border-radius:50%;width:7px;height:7px}.summary-dot.good{background:var(--green)}.summary-dot.warning{background:#df9a25}.legend-inline{margin-left:auto;gap:13px!important}.legend-inline span{align-items:center;gap:4px;display:flex}.legend-inline i{border-radius:2px;width:7px;height:7px}.shift-table-panel{overflow:hidden}.table-scroll{min-height:430px;max-height:calc(100vh - 320px);overflow:auto}.shift-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px}.shift-table th,.shift-table td{border-bottom:1px solid #e8ecee;border-right:1px solid #edf0f1;padding:0}.shift-table thead th{z-index:4;color:#56636c;text-align:center;background:#f8fafb;min-width:48px;height:47px;position:sticky;top:0}.shift-table thead th span,.shift-table thead th small{display:block}.shift-table thead th small{font-size:9px;font-weight:400}.shift-table thead th i{background:#d78220;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.shift-table .sticky-employee{z-index:3;text-align:left;background:#fff;width:180px;min-width:180px;max-width:180px;position:sticky;left:0}.shift-table thead .sticky-employee{z-index:6;background:#f8fafb;padding-left:14px}.shift-table tbody .sticky-employee{align-items:center;gap:8px;height:55px;padding:0 10px;display:flex;box-shadow:3px 0 5px #1e2d370a}.shift-table tbody .sticky-employee strong,.shift-table tbody .sticky-employee small{display:block}.shift-table tbody .sticky-employee strong{font-size:11px}.shift-table tbody .sticky-employee small{color:var(--text-subtle);font-size:9px;font-weight:400}.shift-table td{background:#fff;width:48px;height:55px}.shift-table .sun{color:#b65b5b;background:#fdf5f5}.shift-table .sat{color:#4c7ba1;background:#f2f7fb}.shift-table .today{box-shadow:inset 2px 0 #4d96c5,inset -2px 0 #4d96c5}.shift-cell{cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;height:54px;padding:4px 2px;display:flex}.shift-cell:hover{background:#1a6fa317}.shift-cell strong{border-radius:5px;place-items:center;width:27px;height:25px;font-size:11px;display:grid}.shift-cell small{color:#73808a;font-size:8px}.tone-blue{color:#166694;background:#e6f2f8!important}.tone-amber{color:#95610c;background:#fff1d7!important}.tone-purple{color:#674495;background:#f0eafa!important}.tone-indigo{color:#3d4e9a;background:#e9ebfa!important}.tone-teal{color:#26745f;background:#e5f4ef!important}.tone-gray{color:#778089;background:#f0f2f3!important}.tone-green{color:#2b7846;background:#e5f3ea!important}.table-footnote{min-height:38px;color:var(--text-subtle);align-items:center;gap:17px;padding:0 14px;font-size:9px;display:flex}.table-footnote span:first-child{margin-right:auto}.today-marker,.shortage-marker{width:8px;height:8px;margin-right:4px;display:inline-block}.today-marker{border-left:2px solid #4d96c5}.shortage-marker{background:#d78220;border-radius:50%}.drawer-layer{z-index:100;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#101c2657;border:0;position:absolute;inset:0}.drawer{z-index:1;background:#fff;flex-direction:column;width:min(440px,94vw);height:100%;animation:.18s ease-out drawer-in;display:flex;position:relative;box-shadow:-15px 0 45px #0e1d272e}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:79px;padding:17px 20px;display:flex}.drawer-header h2{margin:2px 0 0;font-size:18px}.eyebrow{color:var(--text-subtle);font-size:10px}.icon-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;place-items:center;width:35px;height:35px;display:grid}.drawer-content{flex:1;padding:20px;overflow-y:auto}.drawer-footer{border-top:1px solid var(--border);background:#fafbfb;justify-content:flex-end;gap:8px;min-height:68px;padding:12px 20px;display:flex}.drawer-section{margin-bottom:24px}.drawer-section>label,.drawer-section h3,.field-label{margin:0 0 8px;font-size:12px;font-weight:600;display:block}.drawer-section h3{border-bottom:1px solid #edf0f1;padding-bottom:8px;font-size:13px}.field{border:1px solid var(--border-strong);background:#fff;border-radius:6px;outline:none;width:100%;min-height:40px;padding:8px 10px}.field:focus{border-color:var(--brand-light);box-shadow:0 0 0 3px #1a6fa31f}.field:disabled{color:#9ba4aa;background:#f1f3f4}.pattern-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pattern-options button{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:8px;min-height:54px;padding:7px;display:flex}.pattern-options button.selected{border-color:#4f92bd;box-shadow:0 0 0 2px #1a6fa31c}.pattern-code{border-radius:6px;flex:none;place-items:center;width:31px;height:31px;font-size:12px;font-weight:700;display:grid}.pattern-code.small{width:28px;height:28px;font-size:10px}.pattern-options strong,.pattern-options small{display:block}.pattern-options strong{font-size:11px}.pattern-options small{color:var(--text-subtle);margin-top:2px;font-size:8px}.rule-note{color:#4f6471;background:#eff5f7;border-left:3px solid #6a9ab7;border-radius:7px;padding:12px 13px}.rule-note strong{font-size:11px}.rule-note p{margin:3px 0 0;font-size:10px}.attendance-stats{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:repeat(4,1fr);margin-bottom:14px;display:grid}.attendance-stats>div{border-right:1px solid var(--border);grid-template-columns:32px 1fr;align-items:center;min-height:94px;padding:13px 16px;display:grid}.attendance-stats>div:last-child{border-right:0}.stat-icon{border-radius:6px;grid-row:1/4;place-items:center;width:30px;height:30px;display:grid}.stat-icon.amber{color:var(--amber);background:var(--amber-soft)}.stat-icon.indigo{color:var(--indigo);background:#ebedfa}.stat-icon.red{color:var(--red);background:var(--red-soft)}.attendance-stats span:not(.stat-icon){color:var(--text-subtle);font-size:10px}.attendance-stats strong{font-size:21px;line-height:1.2}.attendance-stats strong small{margin-left:3px;font-size:10px;font-weight:500}.attendance-stats em{color:var(--text-subtle);font-size:9px;font-style:normal}.segmented{background:#eef1f2;border-radius:6px;height:34px;padding:2px;display:flex}.segmented button{color:#68737b;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:4px;padding:0 12px;font-size:11px;display:flex}.segmented button.active{color:var(--text);background:#fff;font-weight:600;box-shadow:0 1px 3px #1e2d371a}.table-responsive{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}.data-table thead th{color:#65717a;border-bottom:1px solid var(--border);white-space:nowrap;background:#f8f9fa;height:43px;padding:0 12px;font-size:10px}.data-table tbody td{white-space:nowrap;border-bottom:1px solid #e9edef;height:57px;padding:7px 12px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#f8fbfc}.data-table tbody tr[tabindex]{cursor:pointer}.person{align-items:center;gap:8px;display:flex}.person strong,.person small{display:block}.person strong{font-size:11px}.person small{color:var(--text-subtle);margin-top:1px;font-size:9px}.cell-sub{color:var(--text-subtle);margin-left:5px}.missing-time{color:var(--red);font-weight:700}.category-badges{gap:4px;display:flex}.category{border-radius:4px;align-items:center;gap:3px;padding:3px 5px;font-size:9px;display:inline-flex}.category.regular{color:#5d6870;background:#eef1f2}.category.overtime{color:#99630b;background:var(--amber-soft)}.category.night{color:var(--indigo);background:#ebedfa}.category.holiday{color:#2b7853;background:var(--green-soft)}.alert-badge{color:var(--red);background:var(--red-soft);border-radius:4px;align-items:center;gap:4px;padding:4px 7px;font-size:9px;font-weight:600;display:inline-flex}.alert-row{box-shadow:inset 3px 0 #d99634}.table-pagination{min-height:45px;color:var(--text-subtle);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-size:10px;display:flex}.table-pagination div{gap:5px;display:flex}.table-pagination button,.table-pagination strong{border:1px solid var(--border);background:#fff;border-radius:4px;place-items:center;min-width:28px;height:27px;font-size:9px;display:grid}.table-pagination strong{color:#fff;background:var(--brand-light);border-color:var(--brand-light)}.drawer-alert{color:#914444;background:#fff3f3;border:1px solid #efcccc;border-radius:7px;gap:9px;margin-bottom:17px;padding:11px;display:flex}.drawer-alert strong{font-size:11px}.drawer-alert p{margin:2px 0 0;font-size:10px}.schedule-reference{background:#f3f6f7;border-radius:7px;grid-template-columns:1fr auto;margin-bottom:18px;padding:12px;display:grid}.schedule-reference span{color:var(--text-subtle);grid-column:1/3;font-size:9px}.schedule-reference strong{font-size:13px}.schedule-reference small{color:var(--text-subtle);font-size:10px}.form-grid.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid label{font-size:11px;font-weight:600}.form-grid .field{margin-top:7px}.field-label{margin-top:16px}.clock-demo-page{background:radial-gradient(circle at 50% 10%,#e6eff4 0,#f5f6f4 48%);flex-direction:column;align-items:center;min-height:calc(100vh - 102px);padding:25px;display:flex}.clock-preview-label{color:#65727b;margin-bottom:10px;font-size:10px}.preview-dot{background:#46a36e;border-radius:50%;width:6px;height:6px;display:inline-block}.clock-device{background:#fff;border:8px solid #1b242c;border-radius:30px;width:390px;max-width:100%;overflow:hidden;box-shadow:0 24px 65px #1e303d38}.clock-header{background:var(--brand-dark);color:#fff;text-align:center;grid-template-columns:30px 1fr 30px;align-items:center;height:52px;padding:0 15px;display:grid}.clock-header a,.clock-header button{color:#fff;background:0 0;border:0;place-items:center;width:30px;height:30px;display:grid}.clock-header span{font-weight:600}.clock-body{padding:18px}.clock-date{text-align:center;color:var(--text-subtle);font-size:11px}.clock-time{text-align:center;letter-spacing:.02em;margin:2px 0 16px;font-size:35px;font-weight:700;line-height:1.2}.clock-time span{color:#7f8990;margin-left:2px;font-size:18px}.clock-person{border:1px solid var(--border);border-radius:8px;grid-template-columns:49px 1fr 22px;align-items:center;gap:9px;padding:11px;display:grid}.clock-person strong,.clock-person span{display:block}.clock-person strong{font-size:12px}.clock-person span{color:var(--text-subtle);font-size:9px}.clock-person select{color:#0000;background:0 0;border:0;width:21px}.today-schedule-card{color:#32566c;background:var(--brand-soft);border-radius:7px;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;padding:10px 11px;display:grid}.today-schedule-card>div{grid-template-columns:23px 1fr;display:grid}.today-schedule-card svg{grid-row:1/3;align-self:center}.today-schedule-card span{font-size:8px}.today-schedule-card strong{font-size:9px}.clock-status{justify-content:center;align-items:center;gap:6px;margin:14px 0 10px;font-size:11px;font-weight:600;display:flex}.clock-status span{background:#a0a9af;border-radius:50%;width:7px;height:7px}.clock-status.state-working,.clock-status.state-returned{color:var(--green)}.clock-status.state-working span,.clock-status.state-returned span{background:var(--green);box-shadow:0 0 0 4px #e4f4ea}.clock-status.state-break{color:var(--amber)}.clock-status.state-break span{background:var(--amber)}.clock-status.state-done{color:var(--brand)}.clock-status.state-done span{background:var(--brand)}.punch-actions{grid-template-columns:1fr 1fr;gap:9px;min-height:86px;display:grid}.punch{cursor:pointer;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-height:78px;display:flex}.punch.primary{color:#fff;background:linear-gradient(135deg,#176fae,#004876);border:0;grid-column:1/3;box-shadow:0 6px 13px #00487633}.punch.break{color:#805a13;background:#fff7e6;border:1px solid #e3c47f}.punch.finish{color:#944242;background:#fff4f4;border:1px solid #dfb6b6}.punch span{margin-top:4px;font-weight:700}.punch small{opacity:.8;font-size:8px}.punch-complete{min-height:90px;color:var(--green);background:var(--green-soft);border-radius:9px;flex-direction:column;grid-column:1/3;justify-content:center;align-items:center;display:flex}.punch-complete strong{margin-top:5px;font-size:12px}.punch-complete span{color:#5e7568;font-size:9px}.punch-timeline{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.punch-timeline h2{margin:0 0 8px;font-size:11px}.punch-timeline p{color:var(--text-subtle);text-align:center;margin:0;font-size:9px}.punch-timeline>div{border-left:1px solid #c8d4db;grid-template-columns:18px 1fr auto;align-items:center;min-height:29px;margin-left:4px;display:grid}.timeline-dot{background:var(--brand-light);border-radius:50%;width:7px;height:7px;transform:translate(-4px)}.punch-timeline strong,.punch-timeline time{font-size:10px}.punch-timeline time{color:var(--text-subtle)}.clock-security{color:#7b858b;justify-content:center;align-items:center;gap:5px;margin-top:13px;font-size:8px;display:flex}.clock-guide{text-align:center;width:390px;max-width:100%;margin-top:18px}.clock-guide strong{font-size:12px}.clock-guide p{color:var(--text-subtle);margin:4px 0 0;font-size:10px}.approval-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.approval-summary-grid button{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:10px 1fr auto;align-items:center;min-height:82px;padding:12px 15px;display:grid}.approval-summary-grid button.active{border-color:#7daecc;box-shadow:0 0 0 2px #1a6fa317}.approval-summary-grid button>span:not(.summary-status){color:var(--text-subtle);font-size:11px}.approval-summary-grid strong{grid-area:1/3/3;font-size:24px}.approval-summary-grid small{color:var(--text-subtle);grid-column:2;font-size:9px}.summary-status{border-radius:50%;width:7px;height:7px}.summary-status.draft{background:#929ba2}.summary-status.submitted{background:#3d80b8}.summary-status.approved{background:#2f9160}.cutoff-note{color:var(--text-subtle);align-items:center;gap:5px;font-size:10px;display:flex}.check-cell{width:38px;text-align:center!important}.data-table input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand-light)}.overtime-high{color:var(--amber);font-weight:700}.alert-count{color:var(--red);align-items:center;gap:4px;font-weight:600;display:inline-flex}.no-alert{color:var(--green);align-items:center;gap:4px;display:inline-flex}.row-actions{align-items:center;gap:5px;display:flex}.approve-button{color:#fff;background:var(--brand-light);cursor:pointer;border:0;border-radius:5px;min-height:28px;padding:0 9px;font-size:10px}.more-button{width:28px;height:28px;color:var(--text-subtle);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:5px;place-items:center;display:grid}.text-action{color:var(--brand-light);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;font-size:10px;text-decoration:underline}.approval-rule-banner{color:#705723;background:#fff9ea;border:1px solid #e8d39e;border-radius:7px;gap:10px;margin-top:12px;padding:12px 15px;display:flex}.approval-rule-banner strong{font-size:11px}.approval-rule-banner p{margin:2px 0 0;font-size:9px}.approval-summary-grid button>span:not(.summary-status){white-space:nowrap;grid-column:2;min-width:0}.employee-overview{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:1.2fr repeat(4,1fr);margin-bottom:14px;display:grid}.employee-overview>div{border-right:1px solid var(--border);grid-template-columns:34px 1fr;align-items:center;min-height:79px;padding:13px 17px;display:grid}.employee-overview>div:last-child{border-right:0}.employee-overview>div:not(:first-child){grid-template-columns:1fr auto}.overview-icon{width:32px;height:32px;color:var(--brand);background:var(--brand-soft);border-radius:6px;grid-row:1/3;place-items:center;display:grid}.employee-overview span:not(.overview-icon){color:var(--text-subtle);font-size:10px}.employee-overview strong{font-size:20px}.employee-overview small{margin-left:3px;font-size:9px;font-weight:500}.search-field{border:1px solid var(--border-strong);border-radius:6px;align-items:center;gap:7px;width:min(350px,50vw);min-height:36px;padding:0 10px;display:flex}.search-field input{border:0;outline:0;flex:1;min-width:0;font-size:11px}.result-count{color:var(--text-subtle);font-size:10px}.employment-badge{color:#4e5b64;background:#eef1f2;border-radius:4px;padding:3px 7px;font-size:9px}.shift-pattern-cell{align-items:center;gap:7px;display:flex}.shift-pattern-cell strong,.shift-pattern-cell small{display:block}.shift-pattern-cell strong{font-size:10px}.shift-pattern-cell small{color:var(--text-subtle);font-size:8px}.active-status{color:#337553;align-items:center;gap:5px;font-size:10px;display:inline-flex}.active-status span{background:#3a9c65;border-radius:50%;width:6px;height:6px}.profile-summary{background:#f4f7f8;border-radius:8px;align-items:center;gap:12px;margin-bottom:23px;padding:14px;display:flex}.profile-summary strong,.profile-summary span,.profile-summary small{display:block}.profile-summary strong{font-size:16px}.profile-summary span{color:var(--text-subtle);font-size:10px}.profile-summary small{color:#2d754e;background:var(--green-soft);border-radius:4px;width:fit-content;margin-top:5px;padding:2px 6px;font-size:8px}.check-label{border-bottom:1px solid #edf0f1;align-items:center;gap:8px;min-height:36px;margin:0!important;font-weight:400!important;display:flex!important}.check-label input{accent-color:var(--brand)}.employee-filter-wrap{position:relative}.employee-filter-trigger.active{color:var(--brand);background:var(--brand-soft);border-color:#8fb8d1}.filter-count{color:#fff;background:var(--brand);border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:9px;font-weight:700;display:inline-grid}.employee-filter-popover{z-index:45;border:1px solid var(--border);width:340px;box-shadow:var(--shadow-lg);background:#fff;border-radius:9px;animation:.14s ease-out popover-in;position:absolute;top:calc(100% + 7px);left:0;overflow:hidden}.employee-filter-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 14px 11px;display:flex}.employee-filter-head strong,.employee-filter-head span{display:block}.employee-filter-head strong{font-size:12px}.employee-filter-head span{color:var(--text-subtle);margin-top:2px;font-size:9px}.employee-filter-head button{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:2px;font-size:9px;font-weight:600}.employee-filter-section{border-top:1px solid var(--border);padding:11px 14px}.employee-filter-section>strong{color:#44515a;margin-bottom:8px;font-size:10px;display:block}.employee-filter-options{grid-template-columns:1fr 1fr;gap:6px;display:grid}.employee-filter-options label{cursor:pointer;background:#fafbfb;border:1px solid #e3e8ea;border-radius:6px;grid-template-columns:15px 1fr auto;align-items:center;gap:6px;min-height:34px;padding:0 8px;display:grid}.employee-filter-options label:has(input:checked){background:var(--brand-soft);border-color:#9fc3d9}.employee-filter-options input{accent-color:var(--brand);margin:0}.employee-filter-options span{color:#3e4b54;font-size:10px}.employee-filter-options small{color:var(--text-subtle);font-size:8px}.employee-filter-actions{border-top:1px solid var(--border);background:#fafbfb;justify-content:flex-end;gap:7px;padding:10px 14px;display:flex}.employee-filter-actions .button{min-height:33px}.filter-empty{height:130px;color:var(--text-subtle);text-align:center;font-size:11px}.settings-layout{grid-template-columns:minmax(600px,1.65fr) minmax(260px,.65fr);gap:16px;display:grid}.settings-main,.settings-side{flex-direction:column;gap:14px;display:flex}.settings-section{padding:19px}.settings-section-header{align-items:center;gap:10px;margin-bottom:18px;display:flex}.settings-icon{width:36px;height:36px;color:var(--brand);background:var(--brand-soft);border-radius:7px;place-items:center;display:grid}.settings-section-header h2{margin:0;font-size:15px}.settings-section-header p{color:var(--text-subtle);margin:2px 0 0;font-size:10px}.industry-cards{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.industry-cards button{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:9px;min-height:91px;padding:12px;display:flex;position:relative}.industry-cards button.selected{background:#f2f8fb;border-color:#6ca0c0;box-shadow:0 0 0 2px #1a6fa314}.industry-card-icon{color:#5e6d77;background:#f0f3f4;border-radius:7px;place-items:center;width:37px;height:37px;display:grid}.industry-cards button.selected .industry-card-icon{color:var(--brand);background:#deedf5}.industry-cards strong,.industry-cards small{display:block}.industry-cards strong{font-size:12px}.industry-cards small{color:var(--text-subtle);margin-top:3px;font-size:8px}.industry-cards i{color:#fff;background:var(--brand-light);border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:7px;right:7px}.label-preview{background:#f7f9f9;border-radius:6px;align-items:center;gap:18px;margin-top:13px;padding:10px 13px;font-size:10px;display:flex}.label-preview>div{gap:7px;display:flex}.label-preview b{color:#9aa3a9}.label-preview em{color:var(--brand);font-style:normal;font-weight:600}.rule-form{border-top:1px solid var(--border)}.rule-form>label{border-bottom:1px solid #edf0f1;justify-content:space-between;align-items:center;gap:20px;min-height:69px;padding:11px 0;display:flex}.rule-form strong,.rule-form small{display:block}.rule-form strong{font-size:11px}.rule-form small{color:var(--text-subtle);margin-top:2px;font-size:9px}.rule-form label>div{align-items:center;gap:6px;display:flex}.rule-form input{border:1px solid var(--border-strong);border-radius:5px;width:76px;height:35px;padding:0 8px}.rule-form em{color:var(--text-subtle);font-size:10px;font-style:normal}.settings-notice{color:#765b27;background:#fff7e6;border-radius:6px;gap:7px;margin-top:12px;padding:10px;font-size:9px;display:flex}.boundary-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.boundary-grid>div{border:1px solid var(--border);border-radius:7px;gap:9px;min-height:98px;padding:12px;display:flex}.boundary-grid>div>span{color:#66737c;background:#f0f3f4;border-radius:6px;flex:none;place-items:center;width:32px;height:32px;display:grid}.boundary-grid strong{font-size:11px}.boundary-grid p{color:var(--text-subtle);margin:3px 0 6px;font-size:8px}.boundary-grid em{color:#7b5a16;background:#fff1d4;border-radius:3px;padding:2px 5px;font-size:8px;font-style:normal}.standard-scope{padding:17px}.standard-scope h2,.demo-data-card h2{margin:0 0 12px;font-size:14px}.standard-scope ul{margin:0;padding:0;list-style:none}.standard-scope li{color:#46545d;border-bottom:1px solid #edf0f1;align-items:center;gap:7px;min-height:34px;font-size:10px;display:flex}.standard-scope li svg{color:var(--green)}.standard-scope .text-link{cursor:pointer;background:0 0;border:0;margin-top:14px}.demo-data-card{padding:17px}.data-icon{width:38px;height:38px;color:var(--purple);background:var(--purple-soft);border-radius:7px;place-items:center;margin-bottom:10px;display:grid}.demo-data-card p{color:var(--text-subtle);margin:-6px 0 14px;font-size:9px}.reset-confirm{background:var(--red-soft);border-radius:6px;padding:10px}.reset-confirm strong{font-size:10px}.reset-confirm div{gap:6px;margin-top:8px;display:flex}.reset-confirm button{background:#fff;border:1px solid #d9b7b7;border-radius:4px;min-height:29px;padding:0 9px;font-size:9px}.reset-confirm button:last-child{color:#fff;border-color:var(--red);background:var(--red)}.support-card{color:#fff;background:linear-gradient(145deg, var(--brand), var(--brand-dark));border-radius:9px;padding:18px;box-shadow:0 8px 20px #002f4f29}.support-card strong{font-size:13px}.support-card p{color:#cbdce6;margin:6px 0 13px;font-size:9px}.support-card button{width:100%;min-height:34px;color:var(--brand);cursor:pointer;background:#fff;border:0;border-radius:5px;justify-content:center;align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.toast{z-index:150;color:#fff;min-height:43px;box-shadow:var(--shadow-lg);background:#21313c;border-radius:7px;align-items:center;gap:8px;padding:0 15px;font-size:11px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:24px;left:calc(50% + 121px);transform:translate(-50%)}.toast svg{color:#6dc994}.mobile-sidebar{display:none}@keyframes drawer-in{0%{opacity:.6;transform:translate(30px)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)}}.rule-form>.rule-row{border-bottom:1px solid #edf0f1;justify-content:space-between;align-items:center;gap:20px;min-height:69px;padding:11px 0;display:flex}.rule-form .rule-row>div{align-items:center;gap:6px;display:flex}.profile-summary>.employee-avatar{color:#fff;flex:0 0 64px;font-size:21px;line-height:1;display:grid}.profile-summary>div{min-width:0}.clock-person>.employee-avatar{color:#fff;width:48px;height:48px;font-size:16px;line-height:1;display:grid}.clock-person>div{min-width:0}@media (max-width:1180px){.sidebar{width:215px}.app-column{margin-left:215px}.topbar{padding-inline:20px}.page,.demo-banner{padding-inline:22px}.home-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr;display:grid}.today-panel{min-width:0}.settings-layout{grid-template-columns:1fr}.settings-side{grid-template-columns:1fr 1fr 1fr;display:grid}.legend-inline{display:none!important}.toast{left:calc(50% + 107px)}}@media (max-width:900px){.sidebar{display:none}.app-column{margin-left:0}.topbar{height:58px;padding:0 14px}.menu-button{place-items:center;display:grid}.period-chip,.header-icon:first-of-type{display:none}.company-button{font-size:12px}.industry-switch.compact{display:none}.demo-banner{padding:8px 15px}.mobile-sidebar{z-index:90;display:block;position:fixed;inset:0}.mobile-overlay{background:#0e1a236b;border:0;position:absolute;inset:0}.mobile-sidebar>aside{z-index:1;color:#fff;background:var(--sidebar);flex-direction:column;width:270px;height:100%;display:flex;position:relative;box-shadow:10px 0 30px #0003}.mobile-close{place-items:center;display:grid}.page{padding:20px 16px 78px}.kpi-grid,.attendance-stats{grid-template-columns:1fr 1fr}.attendance-stats>div:nth-child(2){border-right:0}.attendance-stats>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.approval-summary-grid{grid-template-columns:1fr 1fr}.employee-overview{grid-template-columns:1fr 1fr 1fr}.employee-overview>div:nth-child(3){border-right:0}.employee-overview>div:nth-child(-n+3){border-bottom:1px solid var(--border)}.settings-side{grid-template-columns:1fr}.toast{bottom:75px;left:50%}.consult-cta{bottom:15px;right:16px}}@media (max-width:640px){body{font-size:13px}.topbar{gap:5px}.company-button{white-space:nowrap;text-overflow:ellipsis;max-width:170px;overflow:hidden}.demo-banner{align-items:flex-start}.demo-banner a{display:none}.page-heading{align-items:flex-start}.page-heading h1{font-size:21px}.page-heading p{max-width:250px;font-size:10px}.page-actions .button{width:38px;padding:0}.page-actions .button svg{width:17px}.kpi-grid{gap:9px}.kpi-card{min-height:110px;padding:13px}.kpi-value{font-size:23px}.home-grid,.side-stack{display:block}.side-stack .panel{margin-top:10px}.presence-summary{grid-template-columns:1fr 1fr}.presence-summary>div:nth-child(2){border-right:0}.presence-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.today-row{grid-template-columns:34px 1fr auto}.location-cell{display:none}.today-row .presence-badge{grid-column:3}.extension-note{grid-template-columns:35px 1fr}.extension-note a{grid-column:1/3;justify-content:center}.toolbar{flex-wrap:wrap}.toolbar-spacer{display:none}.shift-toolbar .select-wrap{width:100%}.shift-toolbar .select-wrap select{flex:1}.shift-summary-bar{gap:13px;padding-inline:3px}.shift-summary-bar small{display:none}.table-scroll{max-height:58vh}.shift-table .sticky-employee{width:145px;min-width:145px;max-width:145px}.attendance-stats{display:grid}.attendance-toolbar .segmented{order:3;width:100%}.attendance-toolbar .segmented button{flex:1;justify-content:center}.attendance-toolbar .button.secondary{display:none}.form-grid.two{grid-template-columns:1fr}.approval-summary-grid{gap:7px}.approval-toolbar .cutoff-note,.approval-toolbar .button{display:none}.employee-overview{grid-template-columns:1fr 1fr}.employee-overview>div{min-height:65px}.employee-overview>div:nth-child(3){border-right:1px solid var(--border)}.employee-overview>div:nth-child(2n){border-right:0}.employee-overview>div:nth-child(-n+4){border-bottom:1px solid var(--border)}.employee-toolbar .search-field{width:100%}.employee-toolbar .button{display:none}.industry-cards{grid-template-columns:1fr}.industry-cards button{min-height:72px}.label-preview{flex-direction:column;align-items:flex-start;gap:6px}.rule-form>label{flex-direction:column;align-items:flex-start;gap:8px}.boundary-grid{grid-template-columns:1fr}.clock-demo-page{padding:16px 8px 80px}.clock-device{border-width:5px;border-radius:23px}.consult-cta span{display:none}.consult-cta{justify-content:center;width:46px;height:46px;padding:0}.drawer{width:100%}.pattern-options{grid-template-columns:1fr}.rule-form>.rule-row{flex-direction:column;align-items:flex-start;gap:8px}.company-name{text-overflow:ellipsis;max-width:170px;font-size:12px;overflow:hidden}.employee-filter-wrap{width:100%}.employee-filter-wrap .button{display:inline-flex}.employee-filter-wrap>.employee-filter-trigger{justify-content:center;width:100%}.employee-filter-popover{width:min(340px,100vw - 52px)}.topbar{padding-inline:10px}.menu-button,.header-icon,.avatar{flex:0 0 40px;width:40px;height:40px}.company-name{max-width:calc(100vw - 158px)}.demo-banner{padding:8px 12px;font-size:10px;line-height:1.55}.page{padding:18px 12px calc(72px + env(safe-area-inset-bottom))}.page-heading{gap:10px;margin-bottom:16px}.page-heading>div:first-child{min-width:0}.page-heading p{max-width:220px}.page-actions{flex:none}.page-actions .button{white-space:nowrap;width:auto;min-height:40px;padding:0 10px;font-size:10px}.page-actions .button:not(:hover){font-size:10px}.button{min-height:42px}.month-control{justify-content:space-between;width:100%}.month-control button{width:40px;height:40px}.month-control strong{min-width:112px}.shift-toolbar .month-control{flex-wrap:wrap;justify-content:flex-start}.shift-toolbar .month-control strong{flex:1}.shift-toolbar .month-state{margin-left:auto}.shift-summary-bar{gap:16px;min-height:52px;padding:0 8px;overflow-x:auto}.shift-summary-bar>div{flex:none}.table-scroll,.table-responsive{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain}.table-pagination>span:nth-child(2){display:none}.table-pagination:after{content:"横にスワイプして確認";color:#7c878e;white-space:nowrap;margin-left:auto;font-size:9px}.attendance-table th:first-child,.attendance-table td:first-child,.employee-table th:first-child,.employee-table td:first-child{z-index:2;background:#fff;position:sticky;left:0;box-shadow:5px 0 10px #182c390d}.attendance-table thead th:first-child,.employee-table thead th:first-child{z-index:4;background:#f8f9fa}.attendance-toolbar .button.primary{width:100%}.approval-table th:first-child,.approval-table td:first-child{z-index:3;background:#fff;position:sticky;left:0}.approval-table th:nth-child(2),.approval-table td:nth-child(2){z-index:2;background:#fff;position:sticky;left:38px;box-shadow:5px 0 10px #182c390d}.approval-table thead th:first-child,.approval-table thead th:nth-child(2){z-index:4;background:#f8f9fa}.approval-summary-grid button{grid-template-columns:9px minmax(0,1fr) auto;min-height:90px;padding:12px}.approval-summary-grid button>span:not(.summary-status){text-overflow:ellipsis;overflow:hidden}.approval-summary-grid strong{font-size:22px}.approve-button,.text-action{min-height:38px;padding-inline:10px}.more-button{width:38px;height:38px}.data-table input[type=checkbox]{width:18px;height:18px}.employee-overview>div:last-child{border-right:0;grid-column:1/-1}.employee-filter-options{grid-template-columns:1fr}.employee-filter-popover{inset:auto 10px max(10px, env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 90px);position:fixed;overflow-y:auto}.employee-filter-actions{position:sticky;bottom:0}.drawer-header{min-height:70px;padding:13px 15px}.drawer-content{padding:16px}.drawer-footer{min-height:66px;padding:10px 12px max(10px, env(safe-area-inset-bottom))}.drawer-footer .button{flex:1}.toast{width:calc(100vw - 24px);bottom:calc(14px + env(safe-area-inset-bottom));justify-content:center}}@media (max-width:900px){.help-action{display:none}.notification-action .header-icon{display:grid}.notification-popover{width:min(350px,100vw - 20px);position:fixed;top:58px;right:10px}.profile-popover{position:fixed;top:58px;right:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
