:root{--color-bg:#f4f1ea;--color-surface:#fffdf8;--color-surface-2:#efebe1;--color-border:#e5e0d3;--color-text:#2f3a2f;--color-text-muted:#667064;--color-primary:#3f7a55;--color-primary-soft:#dfeae0;--color-accent:#d9a441;--color-accent-soft:#f7ecd6;--color-info:#7d92b8;--color-danger:#b8584b;--radius-card:16px;--radius-pill:999px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-synthesis-weight:none;font-family:Hiragino Maru Gothic ProN,Yu Gothic,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}h1{font-size:24px}h2{font-size:17px}.muted{color:var(--color-text-muted);font-size:13px}.app-shell{min-height:100vh;padding-left:220px}.sidebar{background:var(--color-surface-2);border-right:1px solid var(--color-border);flex-direction:column;gap:28px;width:220px;padding:24px 16px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;display:flex}.brand img{width:146px;height:auto}.brand-full{justify-content:center}.brand-full img{width:160px}.main-nav{gap:4px;display:grid}.main-nav a{border-radius:var(--radius-pill);color:#596459;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.main-nav a.active{color:#fff;background:var(--color-primary)}.main-nav svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:17px;height:17px}.user-card{border-top:1px solid var(--color-border);grid-template-columns:34px 1fr;align-items:center;gap:8px;margin-top:auto;padding-top:16px;display:grid}.user-card .avatar{background:var(--color-primary-soft);width:34px;height:34px;color:var(--color-primary);border-radius:50%;place-items:center;font-weight:700;display:grid}.user-card strong,.user-card small{font-size:12px;display:block}.user-card small{color:var(--color-text-muted);margin-top:2px}.user-card form{grid-column:1/-1}.app-content{padding:36px clamp(24px,4vw,64px)}.page{max-width:1280px;margin:auto}.read-only-notice{border:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);background:var(--color-accent-soft);color:#82601c;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:1280px;margin:0 auto 20px;padding:10px 16px;font-size:.9rem;display:flex}.app-error{max-width:640px;margin:40px auto}.app-error-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.read-only-notice strong{border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;padding:2px 10px;font-size:.8rem}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-header p{color:var(--color-text-muted);font-size:13px}.dashboard-header-actions{align-items:center;gap:10px;display:flex}.pending-approvals-button{align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:inline-flex}.notification-menu{position:relative}.notification-menu summary{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;list-style:none;display:grid;position:relative}.notification-menu summary::-webkit-details-marker{display:none}.notification-menu summary:hover,.notification-menu[open] summary{border-color:var(--color-primary);background:var(--color-primary-soft)}.notification-menu svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px}.notification-count{border:2px solid var(--color-surface);border-radius:var(--radius-pill);color:#fff;background:var(--color-danger);place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.notification-panel{z-index:20;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;width:min(380px,100vw - 32px);padding:18px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #2f3a2f24}.notification-panel h2{margin:0 0 12px;font-size:16px}.notification-panel ul{margin:0;padding:0;list-style:none}.notification-panel li{white-space:pre-line;padding:10px 0;font-size:13px}.notification-panel li+li{border-top:1px solid var(--color-border)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:20px 24px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-header h2{margin:0}.badge{border-radius:var(--radius-pill);background:var(--color-primary-soft);align-items:center;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge-success{color:var(--color-primary)}.badge-warning{color:#8a641e;background:var(--color-accent-soft)}.badge-info{color:#4d6388;background:#e4e9f2}.badge-muted{color:#697069;background:#ecece8}.badge-danger{color:var(--color-danger);background:#f5e2df}.status-chip{border-radius:var(--radius-pill);white-space:nowrap;color:color-mix(in srgb, var(--chip-color) 70%, black);background:color-mix(in srgb, var(--chip-color) 18%, white);align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:11px;font-weight:700;display:inline-flex}.status-chip i{background:var(--chip-color);border-radius:50%;width:8px;height:8px}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:9px 16px;font-weight:700}.button:disabled{opacity:.55;cursor:wait}.button-primary{color:#fff;background:var(--color-primary)}.button-outline{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.button-ghost{color:var(--color-text);background:0 0}.button-danger{color:#fff;background:var(--color-danger)}.button-small{padding:5px 9px;font-size:11px}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dialog.confirmation-modal::backdrop{background:#0f172a73}.dialog.confirmation-modal{width:min(520px,100vw - 40px)}.confirmation-modal[open]{gap:16px;display:grid}.confirmation-modal h2,.confirmation-modal p{margin:0}.stat-card{gap:8px;display:grid}.stat-label{color:var(--color-text-muted);font-size:12px}.stat-value{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(18px,2.2vw,27px)}.stat-value small{margin-left:4px;font-size:13px}.period-nav{align-items:center;gap:18px;display:flex}.period-nav a{border:1px solid var(--color-border);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.schedule-range-switch{background:var(--color-surface-2);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.schedule-period-control{justify-items:center;gap:6px;display:grid}.schedule-range-switch a{width:auto;min-width:42px;height:26px;color:var(--color-text-muted);border:0;border-radius:7px;place-items:center;padding:0 8px;font-size:11px;text-decoration:none;display:grid}.schedule-range-switch a.active{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-soft);font-weight:700}.period-picker{display:inline-flex;position:relative}.period-picker-button{border-radius:var(--radius-pill);color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:6px 12px;transition:background .15s,border-color .15s;display:inline-flex}.period-picker-button:hover,.period-picker-button:focus-visible,.period-picker-button[aria-expanded=true]{border-color:var(--color-border);background:var(--color-surface-2)}.period-popover{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:300px;padding:14px;animation:.15s ease-out period-popover-in;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 18px 48px #2f3a2f2e}@keyframes period-popover-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.period-popover-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.period-popover-head strong{font-size:14px}.period-popover-head button,.period-popover-foot button{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0}.period-popover-head button{border-radius:50%;place-items:center;width:30px;height:30px;font-size:18px;display:grid}.period-popover-head button:hover{background:var(--color-surface-2);color:var(--color-text)}.period-calendar{gap:2px;display:grid}.period-calendar-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.period-calendar-row [role=columnheader]{color:var(--color-text-muted);text-align:center;padding:4px 0;font-size:11px;font-weight:700}.period-day,.period-month{color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;font-size:13px;transition:background .12s;display:grid}.period-day{height:34px}.period-day:hover:not(:disabled),.period-month:hover:not(:disabled){background:var(--color-primary-soft)}.period-day.sun,.period-calendar-row [role=columnheader].sun{color:#b8584b}.period-day.sat,.period-calendar-row [role=columnheader].sat{color:#4a6fa5}.period-day.today,.period-month.today{box-shadow:inset 0 0 0 1.5px var(--color-primary);font-weight:700}.period-day.selected,.period-month.selected{background:var(--color-primary);color:#fff;box-shadow:none;font-weight:700}.period-months{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.period-month{height:40px}.period-popover-foot{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.period-popover.align-start{animation-name:period-popover-in-start;left:0;transform:none}.dialog .date-field>.period-popover{width:min(300px,100%);margin-top:2px;animation-name:period-popover-in-start;position:static;transform:none}@keyframes period-popover-in-start{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.period-clear{border-radius:var(--radius-pill);padding:6px 12px;font-size:12px;font-weight:700}.period-clear:hover{background:var(--color-surface-2);color:var(--color-text)}.calendar-icon{fill:none;width:16px;height:16px;stroke:var(--color-primary);stroke-width:1.6px;stroke-linecap:round;flex:none}.date-field,.date-field-control{position:relative}.date-field-button{border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex}.date-field-button:hover:not(:disabled),.date-field-button[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.date-field-button:disabled{background:var(--color-surface-2);color:var(--color-text-muted);cursor:not-allowed}.date-field-button.placeholder{color:var(--color-text-muted);font-weight:500}.field .date-field-input{opacity:0;pointer-events:none;border:0;width:100%;height:1px;padding:0;position:absolute;inset:auto 0 0}.period-today{border-radius:var(--radius-pill);padding:6px 12px;font-size:12px;font-weight:700;color:var(--color-primary)!important}.period-today:hover:not(:disabled){background:var(--color-primary-soft)}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:12px 10px}.data-table th{color:var(--color-text-muted);font-size:11px}.field{gap:6px;font-size:12px;font-weight:700;display:grid}.field input,.field select,.field textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fff;border-radius:9px;padding:10px 12px}.field textarea{resize:vertical;min-height:100px}.field>select{text-overflow:ellipsis;white-space:nowrap;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23667064' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") right 12px center/16px no-repeat;min-height:40px;padding-right:38px;font-weight:600;transition:border-color .15s,box-shadow .15s;overflow:hidden}.field>select:hover:not(:disabled),.field>select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.field>select:has(option[value=""]:checked){color:var(--color-text-muted);font-weight:500}.field>select:disabled{background-color:var(--color-surface-2);color:var(--color-text-muted);cursor:not-allowed}.field>select[aria-invalid=true]{border-color:var(--color-danger)}.field>select option{color:var(--color-text);font-weight:500}@supports (appearance:base-select){.field>select{appearance:base-select}.field>select::picker(select){appearance:base-select}.field>select{align-items:center;display:flex}.field>select::picker-icon{display:none}.field>select:open{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%233f7a55' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 10 4-4 4 4'/%3E%3C/svg%3E")}.field>select::picker(select){width:max-content;min-width:anchor-size(width);border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;max-width:calc(100vw - 32px);max-height:min(320px,50vh);margin-block:6px;padding:6px;box-shadow:0 14px 36px #2f3a2f2e}.field>select option{cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:6px 10px;font-size:13px;display:flex}.field>select option::checkmark{color:var(--color-primary);order:1;margin-left:auto;font-weight:700}.field>select option:hover,.field>select option:focus-visible{background:var(--color-primary-soft);outline:none}.field>select option:checked{color:var(--color-primary);font-weight:700}.field>select option:disabled{color:var(--color-text-muted);cursor:default;font-weight:500}.field>select option:disabled:hover{background:0 0}}.duration-field{border:0;min-width:0;margin:0;padding:0}.duration-field>legend{padding:0}.duration-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px;display:grid}.overwrite-target-list{background:var(--color-surface-2);border-radius:9px;gap:4px;margin:0;padding:10px 12px 10px 28px;font-size:13px;display:grid}.time-select-field{border:0;min-width:0;margin:0;padding:0}.time-select-field>legend{padding:0}.time-select{border:1px solid var(--color-border);background:#fff;border-radius:9px;align-items:center;gap:2px;height:40px;margin-top:6px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:flex}.time-select:hover,.time-select:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.time-select[data-invalid=true]{border-color:var(--color-danger)}.time-select-icon{fill:none;width:18px;height:18px;stroke:var(--color-text-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-right:6px}.field .time-select select{font-variant-numeric:tabular-nums;text-align:center;text-align-last:center;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;width:auto;min-width:0;height:30px;padding:0 6px;font-size:16px;font-weight:700;transition:background .15s}.field .time-select select:hover,.field .time-select select:focus-visible{background:var(--color-primary-soft);outline:none}@supports (appearance:base-select){.field .time-select select{appearance:base-select}.field .time-select select::picker(select){appearance:base-select}.field .time-select select::picker-icon{display:none}.field .time-select select{justify-content:center;align-items:center;line-height:1;display:flex}.field .time-select select::picker(select){grid-template-columns:repeat(var(--tile-columns,6), var(--tile-width,44px));border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;gap:4px;margin-top:6px;padding:8px;box-shadow:0 14px 36px #2f3a2f2e}.field .time-select select:open::picker(select){display:grid}.field.duration-field .time-select option.duration-unit{pointer-events:none;text-align:right;width:100%;height:auto;color:var(--color-text-muted);grid-column:1/-1;justify-items:end;padding:2px 4px 6px;font-size:12px;font-weight:500}.field .time-select select option{font-variant-numeric:tabular-nums;height:40px;color:var(--color-text);cursor:pointer;border-radius:9px;place-items:center;font-size:16px;font-weight:700;display:grid}.field .time-select select option::checkmark{display:none}.field .time-select select option:hover,.field .time-select select option:focus-visible{background:var(--color-primary-soft);outline:none}.field .time-select select option:checked{background:var(--color-primary);color:#fff}.field .time-select select option[value=""]{height:32px;color:var(--color-text-muted);grid-column:1/-1;font-size:13px;font-weight:600}.field .time-select select option[value=""]:checked{background:var(--color-surface-2);color:var(--color-text-muted)}.field .time-select select option[value=""]:disabled{display:none}}.time-select-separator{color:var(--color-text-muted);font-size:17px;font-weight:700}.field-output{border:1px solid var(--color-border);background:var(--color-bg);width:100%;min-height:39px;color:var(--color-text);border-radius:9px;padding:10px 12px;display:block}.field-error,.form-error{color:var(--color-danger);font-size:12px}.checkbox{align-items:center;gap:8px;display:flex}.empty-state{color:var(--color-text-muted);text-align:center;padding:40px 20px}.dialog{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:min(560px,100vw - 32px);padding:22px}.dialog::backdrop{background:#26302880}.dialog header{justify-content:space-between;align-items:center;display:flex}.dialog header h2{margin:0}.dialog-header-actions{align-items:center;display:flex}.dialog-header-icon-button{padding:9px 6px}.dialog-header-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.confirm-dialog{width:min(440px,100vw - 32px)}.work-record-dialog{width:min(760px,100vw - 32px)}.filter-bar.project-select-filters{grid-template-columns:minmax(120px,1fr) minmax(0,3fr)}.confirm-dialog>p{margin:16px 0}.confirm-dialog-actions{justify-content:flex-end}.dialog-secondary-form{margin-top:16px}.project-quick-edit-dialog header p,.task-dialog header p{color:var(--color-text-muted);margin:4px 0 0}.task-dialog header{margin-bottom:14px}.task-dialog header p{font-size:13px}.dialog-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.progress-bar{border-radius:var(--radius-pill);background:var(--color-border);height:12px;display:flex;overflow:hidden}.progress-bar span{min-width:0}.spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);opacity:0;border-top-color:currentColor;border-radius:50%;flex:none;animation:0s linear .15s forwards spinner-appear,.7s linear .15s infinite spinner-rotate;display:inline-block}@keyframes spinner-appear{to{opacity:1}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-surface-2), var(--color-border), var(--color-surface-2));background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{to{background-position-x:-200%}}.filter-results{position:relative}.filter-results-overlay{z-index:1;border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 60%, transparent);color:var(--color-primary);place-items:start center;display:grid;position:absolute;inset:0}.filter-results-overlay>.spinner{margin-top:min(120px,40%);position:sticky;top:calc(50vh - 18px)}.page-loading{min-height:calc(100vh - 72px);color:var(--color-primary);place-items:center;display:grid}.toolbar{justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 0;display:flex}.toolbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.all-work-filters{gap:14px;display:grid}.chip-group{border:0;gap:8px;margin:0;padding:0;display:grid}.chip-group legend{padding:0;font-size:12px;font-weight:700}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:6px 14px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative}.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.chip:has(input:checked){border-color:var(--color-primary);background:var(--color-primary);color:#fff}.chip:has(input:focus-visible){box-shadow:0 0 0 3px var(--color-primary-soft)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px;display:grid}.duration-stats{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.form-grid,.stack{gap:16px;display:grid}.application-form-card,.application-form-embedded{gap:22px;display:grid}.applications-header-actions{flex-wrap:wrap;flex:none;gap:12px;display:flex}.applications-tabs-row{justify-content:space-between;align-items:center;gap:20px;min-width:0;display:flex}.applications-tabs-row .tabs{min-width:0}.application-form-header h2{margin:0 0 4px}.application-form-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.application-form-header>div{min-width:0}.application-form-header p{color:var(--color-text-muted);margin:0;font-size:13px}.application-form-header .application-form-guidance{color:var(--color-text);margin-top:8px;line-height:1.6}.application-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}.application-form .form-grid>.field{align-content:start}.application-form fieldset:not(.chip-group):not(.duration-field):not(.time-select-field):not(.plain-fieldset){border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;padding:18px}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.application-form-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;padding-top:18px;display:flex}.application-form-actions .success-message{margin-right:auto}.application-draft{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);gap:18px;min-width:0;padding:20px;display:grid}.application-draft+.application-draft{margin-top:4px}.application-draft-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.application-draft-header h3{margin:0;font-size:15px}.application-draft-header-switch{margin-left:auto;font-size:13px}.inline-form{align-items:end;gap:12px;display:flex}.attachment-list{margin:0;padding-left:18px;font-size:13px}.attachment-upload{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.attachment-upload .field{flex:240px}.attachment-upload .field small{font-weight:400}.inline-form .field{max-width:140px}.recurring-status-form{flex-wrap:wrap}.recurring-status-form .field{max-width:none}.recurring-status-form .field,.recurring-status-form .button{white-space:nowrap}.weekend{color:var(--color-danger)}.text-link{color:var(--color-primary);font-size:12px;font-weight:700}.allocation-legend{flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12px;display:flex}.allocation-legend i{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.record-list{gap:12px;display:grid}.work-record-card .card-header{flex-wrap:wrap;gap:8px 16px}.record-color-legend{color:var(--color-text-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px 12px;margin-left:auto;font-size:11px;font-weight:500;display:flex}.record-color-legend span{align-items:center;gap:5px;display:inline-flex}.record-color-legend i{border-radius:50%;flex:none;width:8px;height:8px}.employee-record-list{padding-top:12px}.details-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:14px}.details-card summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plain-list{gap:8px;margin:0;padding:12px 0 0;list-style:none;display:grid}.plain-list li{border-top:1px solid var(--color-border);grid-template-columns:minmax(160px,1fr) minmax(100px,auto) minmax(180px,2fr) auto;gap:10px;padding-top:8px;display:grid}.muted-row{background:var(--color-bg);color:var(--color-text-muted)}.daily-report-readonly{gap:6px;padding-top:14px;display:grid}.daily-report-readonly h3,.daily-report-readonly p{margin:0}.daily-report-readonly p{white-space:pre-wrap;margin-bottom:8px}.record-item{background:#faf9f5;border-left:5px solid;border-radius:9px;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:12px 14px;display:grid}.record-item-readonly{grid-template-columns:1fr auto}.record-item-actions{flex-wrap:wrap;gap:8px;display:flex}.record-item h3{margin:0 0 7px;font-size:14px}.record-item p{white-space:pre-line;margin:4px 0;font-size:12px}.date-pill{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:7px 12px;font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:stretch;gap:18px;display:grid}.dashboard-side{flex-direction:column;min-height:0;display:flex}.dashboard-side .card{flex-direction:column;flex:1;min-height:0;display:flex}.clock-time{letter-spacing:.04em;font-size:42px;font-weight:800}.clock-meta{color:var(--color-text-muted);gap:18px;margin:14px 0 18px;font-size:12px;display:flex}.clock-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.labor-cost-total{justify-items:end;gap:2px;display:grid}.labor-cost-total strong{color:var(--color-text);font-size:20px;font-weight:800}.labor-cost-total small{color:var(--color-text-muted);font-size:11px}.labor-cost-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.segmented{border-radius:var(--radius-pill);background:var(--color-surface-2);padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:6px 14px;font-size:12px;font-weight:700}.segmented button[aria-selected=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px #0000001f}.labor-cost-body{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.labor-cost-chart-scroll{overflow-x:auto}.labor-cost-chart-scroll:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.labor-cost-chart-note{margin:8px 0 0}.labor-cost-chart{width:100%;height:auto;display:block}.labor-cost-chart .tick line{stroke:var(--color-border);stroke-dasharray:3 4}.labor-cost-chart text{fill:var(--color-text-muted);font-size:11px}.labor-cost-chart text.value{fill:var(--color-text);font-weight:700}.labor-cost-chart text.label{font-weight:600}.weekly-chart{--weekly-chart-color:#6a9578;width:100%;height:auto}.weekly-chart line{stroke:var(--color-border)}.weekly-chart rect{fill:var(--weekly-chart-color)}.weekly-chart rect.overtime{fill:var(--color-accent)}.weekly-chart text{fill:var(--color-text-muted);font-size:11px}.weekly-chart text.worked-hours{fill:var(--weekly-chart-color);font-weight:600}.member-list,.assignment-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.member-list li,.assignment-list li{border-bottom:1px solid var(--color-border);align-items:center;gap:9px;padding-bottom:9px;font-size:12px;display:flex}.member-list .badge,.assignment-list .badge{margin-left:auto}.member-list-scroll{flex:1;min-height:0;overflow-y:auto}.member-name{gap:2px;display:grid}.member-name small{color:var(--color-text-muted)}.avatar{background:var(--color-primary-soft);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.assignment-list div{gap:3px;display:grid}.assignment-list small{color:var(--color-text-muted)}.filter-bar{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end;gap:12px;display:grid}.filter-bar .checkbox,.filter-bar .switch{min-height:40px}.filter-bar-switches{flex-wrap:wrap;grid-column:1/-1;gap:8px 20px;display:flex}.settings-projects-table .cell-nowrap{white-space:nowrap}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex;position:relative}.filter-bar .switch>span:last-child{white-space:nowrap}.switch input[type=checkbox]{opacity:0;width:1px;height:1px;margin:0;position:absolute}.switch-track{background:var(--color-border);border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.switch-track:after{content:"";background:var(--color-surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-primary);outline-offset:2px}.attendance-edit input,.attendance-edit select{min-width:0;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;padding:4px 6px}.attendance-edit .time-select-field{min-width:120px}.attendance-edit .time-select{height:34px;margin-top:0;padding:0 6px}.attendance-edit .time-select-icon{width:15px;height:15px;margin-right:2px}.field.attendance-time .time-select select{height:28px;padding:0 4px;font-size:14px}.field.attendance-time .time-select-separator{font-size:14px}.attendance-unit-switch{white-space:nowrap;font-size:12px}.attendance-unit-switch .switch{font-size:12px}.attendance-edit input[type=number]{width:72px}.attendance-edit input[type=text]{width:160px}.attendance-edit td{white-space:nowrap}.table-sub{color:var(--color-text-muted);margin-top:4px;display:block}.margin{gap:4px;min-width:90px;font-size:11px;display:grid}.margin i{border-radius:var(--radius-pill);background:var(--color-primary);height:5px;display:block}.margin.negative{color:var(--color-danger)}.status-steps{gap:7px;margin:0;padding:0;list-style:none;display:flex}.status-steps li{color:var(--color-text-muted);justify-items:center;gap:3px;font-size:9px;display:grid}.status-steps i{background:var(--color-border);border-radius:50%;width:8px;height:8px}.status-steps li.reached{color:var(--color-primary)}.status-steps li.reached i{background:var(--color-primary)}.status-steps li small{color:var(--color-text-muted);font-size:9px}.status-steps.timeline{flex-wrap:wrap;gap:14px}.status-steps.timeline li{min-width:72px;font-size:11px}.status-steps.timeline i{width:12px;height:12px}.form-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.project-form{max-width:760px}.detail-grid{grid-template-columns:140px 1fr;gap:10px;margin:0;display:grid}.detail-grid dt{color:var(--color-text-muted)}.detail-grid dd{margin:0}.page-stack{gap:16px;display:grid}.page-heading{justify-content:space-between;align-items:flex-start;display:flex}.page-heading h1{margin:0}.eyebrow{color:var(--color-primary);letter-spacing:.16em;font-size:10px;font-weight:800}.tabs{gap:6px;display:flex;overflow-x:auto}.tabs a{border-radius:var(--radius-pill);color:var(--color-text-muted);padding:8px 14px;font-size:12px;font-weight:700}.tabs a.active{color:#fff;background:var(--color-primary)}.subpage-header{gap:10px;margin-bottom:8px;display:grid}.subpage-breadcrumb{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.subpage-breadcrumb a{color:var(--color-primary);font-weight:700;text-decoration:none}.subpage-breadcrumb a:hover{text-decoration:underline}.subpage-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.subpage-heading h1{margin:0}.subpage-heading .eyebrow{margin:0 0 4px}.subpage-heading p.muted{max-width:64ch;margin:6px 0 0}.subpage-actions{flex-wrap:wrap}.app-content:has(.manage-page){padding-inline:24px}.manage-page{max-width:none}.manage-page .field,.manage-page .chip,.manage-page .status-chip{font-size:14px}.manage-page>.card,.manage-page>.filter-results>.card{padding:16px}.manage-page,.manage-page>.filter-results>.page-stack{grid-template-columns:minmax(0,1fr)}.manage-page>.page-header{flex-wrap:wrap;gap:16px}.manage-request-tabs{border:1px solid var(--color-border);border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-surface) 86%, var(--color-primary-soft));flex-wrap:wrap;max-width:100%;padding:7px;box-shadow:0 5px 18px #2f3a2f0d}.manage-period-fields{flex-wrap:wrap;align-items:end;gap:12px 16px;display:flex}.manage-period-fields>.date-field{flex:0 200px}.manage-period-presets{flex-wrap:wrap;flex:1 0 100%;gap:6px;display:flex}.manage-period-presets .button{min-width:64px;padding:10px 12px;font-size:13px}.manage-results-header{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.manage-results-header>p{margin:0;font-weight:700}.manage-page>.filter-results{min-height:100vh}.manage-request-tabs a{background:#fff;border:1px solid #0000;flex:none;font-size:14px}.manage-request-tabs a:hover{border-color:var(--color-primary-soft);color:var(--color-primary)}.manage-request-tabs a.active{border-color:var(--color-primary);box-shadow:0 3px 10px #3f7a5538}.manage-requests-table{min-width:0}.manage-requests-table>.table-scroll>.data-table{font-size:14px}.manage-requests-table>.table-scroll>.data-table>:is(thead,tbody)>tr>:is(th,td){font-size:inherit;white-space:nowrap;padding:8px}.manage-requests-table>.table-scroll>.data-table>tbody>tr>td>.button{padding:6px 8px;font-size:14px;line-height:1.4}.manage-requests-table .dialog{white-space:normal}.manage-staggered-details{grid-template-columns:minmax(0,1fr)}.manage-staggered-details>.table-scroll>.data-table{table-layout:fixed}.manage-staggered-details>.table-scroll>.data-table>:is(thead,tbody)>tr>:is(th,td){overflow-wrap:anywhere}.employee-attendance-page{gap:18px}.employee-attendance-tabs{border:1px solid var(--color-border);border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-surface) 86%, var(--color-primary-soft));padding:7px;box-shadow:0 5px 18px #2f3a2f0d}.employee-attendance-tabs a{background:#fff;border:1px solid #0000;flex:none;padding:9px 16px}.employee-attendance-tabs a:hover{border-color:var(--color-primary-soft);color:var(--color-primary)}.employee-attendance-tabs a.active{border-color:var(--color-primary);box-shadow:0 3px 10px #3f7a5538}.employee-timecard-shell{border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;overflow:hidden;box-shadow:0 10px 30px #2f3a2f14}.timecard-summary{background:var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1px;margin:0;display:grid}.timecard-summary>div{background:color-mix(in srgb, var(--color-primary-soft) 35%, white);min-width:0;padding:8px 10px}.timecard-summary dt{color:var(--color-text-muted);letter-spacing:.04em;margin-bottom:2px;font-size:9px;font-weight:700}.timecard-summary dd{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:700;overflow:hidden}.timecard-day-columns{background:var(--color-surface-2);gap:16px;padding:12px;display:grid;overflow-x:auto}.timecard-day-columns>.table-scroll{border:1px solid var(--color-border);background:#fff;border-radius:10px;overflow:hidden}.timecard-day-columns.standard{grid-template-columns:minmax(960px,1fr)}.timecard-day-columns.standard .employee-timecard{min-width:960px;font-size:12px}.timecard-day-columns.standard .employee-timecard th,.timecard-day-columns.standard .employee-timecard td{height:34px;padding:5px 8px}.timecard-day-columns.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-layout-tabs{align-self:flex-start}.app-shell:has(.employee-attendance-page.compact-view){height:100dvh;min-height:0;padding-bottom:0;padding-left:0;overflow:hidden}:is(.app-shell:has(.employee-attendance-page.compact-view)>.sidebar,.settings-shell:has(.employee-attendance-page.compact-view)>.settings-nav){display:none}.app-shell:has(.employee-attendance-page.compact-view)>.app-content{height:100%;padding:14px 16px;overflow:hidden}.settings-shell:has(.employee-attendance-page.compact-view){width:100%;max-width:none;height:100%;margin:0;display:block}.settings-shell:has(.employee-attendance-page.compact-view)>.settings-content{width:100%;max-width:none;height:100%}.employee-attendance-page.compact-view{grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:max-content minmax(0,1fr);gap:8px 12px;width:100%;max-width:none;height:100%;min-height:0;display:grid}.employee-attendance-page.compact-view>.button,.employee-attendance-page.compact-view>.attendance-layout-tabs{place-self:center start}.employee-attendance-page.compact-view>.employee-attendance-tabs,.employee-attendance-page.compact-view>.toolbar,.employee-attendance-page.compact-view>.employee-timecard-shell{grid-column:1/-1;min-width:0}.employee-attendance-page.compact-view .page-header{margin-bottom:4px}.employee-attendance-page.compact-view .page-header h1{font-size:28px}.employee-attendance-page.compact-view .page-header p{font-size:14px}.employee-attendance-page.compact-view .tabs a{padding:8px 14px;font-size:12px}.employee-attendance-page.compact-view .toolbar{min-height:40px;margin-bottom:0;padding:2px 0}.compact-attendance-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.compact-attendance-summary span{background:var(--color-primary-soft);color:var(--color-text-muted);white-space:nowrap;border-radius:8px;padding:5px 7px;font-size:10px}.compact-attendance-summary strong{color:var(--color-text);font-variant-numeric:tabular-nums;margin-left:3px;font-size:13px}.employee-attendance-page.compact-view .timecard-day-columns.compact .employee-timecard{table-layout:fixed;min-width:0;height:100%}.employee-attendance-page.compact-view .employee-timecard{font-size:clamp(11px,.85vw,14px)}.employee-attendance-page.compact-view .employee-timecard th,.employee-attendance-page.compact-view .employee-timecard td{height:auto;padding:clamp(1px,.4dvh,5px) clamp(3px,.4vw,8px)}.employee-attendance-page.compact-view .employee-timecard th{white-space:nowrap;line-height:1.15}.employee-attendance-page.compact-view .employee-timecard th:first-child{width:11%}.employee-attendance-page.compact-view .employee-timecard th:nth-child(2){width:5%}.employee-attendance-page.compact-view .employee-timecard th:nth-child(3){width:30%}.employee-attendance-page.compact-view .employee-timecard th:nth-child(4),.employee-attendance-page.compact-view .employee-timecard th:nth-child(5),.employee-attendance-page.compact-view .employee-timecard th:nth-child(6){width:9%}.employee-attendance-page.compact-view .employee-timecard th:nth-child(7){width:15%}.employee-attendance-page.compact-view .employee-timecard th:nth-child(8){width:12%}.employee-attendance-page.compact-view .timecard-summary dt{font-size:12px}.employee-attendance-page.compact-view .timecard-summary dd{font-size:17px}.employee-attendance-page.compact-view .timecard-summary>div{padding:10px 12px}.employee-attendance-page.compact-view .employee-timecard-shell,.employee-attendance-page.compact-view .timecard-day-columns.compact,.employee-attendance-page.compact-view .timecard-day-columns.compact>.table-scroll{height:100%;min-height:0}.employee-attendance-page.compact-view .timecard-day-columns.compact{gap:12px;padding:10px;overflow:hidden}.employee-timecard{border-collapse:collapse;background:#fff;width:100%;min-width:570px;font-size:10px}.employee-timecard th,.employee-timecard td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);white-space:nowrap;height:25px;padding:3px 5px}.employee-timecard th{background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.employee-timecard th:nth-child(3){width:30%}.timecard-reason{justify-content:space-between;align-items:center;gap:6px;display:flex}.timecard-reason .attendance-category{white-space:normal;overflow-wrap:anywhere;min-width:0}.employee-timecard .timecard-columns th{z-index:1;background:var(--color-primary);color:#fff;text-align:center;position:sticky;top:0}.employee-timecard tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-surface-2) 36%, white)}.employee-timecard tbody tr:hover td{background:color-mix(in srgb, var(--color-primary-soft) 45%, white)}.employee-timecard td:nth-child(n+4):nth-child(-n+8){text-align:right;font-variant-numeric:tabular-nums}.employee-timecard .timecard-holiday-name{white-space:normal;overflow-wrap:anywhere;font-size:.75em;line-height:1.1;display:block}.employee-timecard .timecard-holiday td{background:#fcf6f5}.employee-timecard .timecard-holiday td:first-child,.employee-timecard .timecard-holiday td:nth-child(2),.employee-timecard .timecard-holiday td:nth-child(3){color:var(--color-danger)}@media (max-width:1100px){.timecard-summary{grid-template-columns:repeat(4,minmax(120px,1fr))}}.summary-matrix tbody th small{margin-top:3px;display:block}.summary-matrix td,.summary-matrix thead th:not(:first-child){text-align:right}.summary-matrix thead th:not(:first-child):not(:last-child){text-align:left;writing-mode:vertical-rl;height:110px}.summary-matrix tfoot{font-weight:800}.web-report-sheet{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:16px;padding:20px 24px;display:grid}.web-report-parties{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.web-report-client,.web-report-company{min-width:0;margin:0}.web-report-client strong{font-size:18px}.web-report-client span{color:var(--color-text-muted);margin-left:6px;font-size:12px}.web-report-company{color:var(--color-text-muted);font-size:13px}.web-report-terms{border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 28px;margin:0;padding-top:14px;display:grid}.web-report-terms>div{grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.web-report-terms dt{color:var(--color-text-muted);font-size:12px}.web-report-terms dd{margin:0;font-size:14px;font-weight:700}.web-report-table-scroll{overflow-x:auto}.web-report-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:660px;font-size:13px}.web-report-table th,.web-report-table td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:9px 12px}.web-report-table thead th{background:var(--color-surface-2);color:var(--color-text-muted);white-space:nowrap;font-size:12px}.web-report-table tbody th{background:var(--color-bg);white-space:nowrap;font-weight:700}.web-report-table tfoot th,.web-report-table tfoot td{background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.web-report-table tfoot th{text-align:right}.web-report-col-date{font-variant-numeric:tabular-nums;width:112px}.web-report-col-type{width:116px}.web-report-col-minutes{text-align:right;font-variant-numeric:tabular-nums;width:76px}.web-report-col-worker{width:116px}.web-report-content{white-space:pre-wrap;word-break:break-word;line-height:1.6}.web-report-weekday{color:var(--color-text-muted);margin-left:2px;font-size:12px;font-weight:400}.web-report-weekday-0{color:var(--color-danger)}.web-report-weekday-6{color:var(--color-info)}.gantt-scroll{--gantt-row-height:78px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);cursor:grab;overflow-x:auto;container-type:inline-size}.gantt-scroll.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.gantt-board{--gantt-label-column:min(var(--gantt-label-width,320px), max(200px, calc(100cqi - 240px)));min-width:1050px}.gantt-row{grid-template-columns:var(--gantt-label-column) repeat(var(--gantt-day-count), minmax(var(--gantt-column-min,80px), 1fr));display:grid;position:relative}.gantt-task{grid-template-rows:minmax(40px,auto) 30px}.gantt-dates{z-index:4;background:var(--color-surface);position:sticky;top:0}.gantt-row>:first-child{z-index:3;background:var(--color-surface);position:sticky;left:0}.gantt-dates>.gantt-label-heading,.gantt-dates>span{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:center;padding:10px}.gantt-column-resizer{z-index:1;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;width:13px;position:absolute;top:0;bottom:-1px;right:-7px}.gantt-column-resizer:after{content:"";border-radius:var(--radius-pill);background:var(--color-text-muted);opacity:.35;width:3px;height:20px;transition:height .12s,opacity .12s,background-color .12s;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.gantt-column-resizer:hover:after,.gantt-column-resizer:focus-visible:after,.gantt-column-resizer.is-resizing:after{background:var(--color-primary);opacity:1;height:100%}.gantt-column-resizer:focus-visible{outline:none}@media (pointer:coarse){.gantt-column-resizer{width:23px;right:-12px}.gantt-column-resizer:after{left:10px}}.gantt-dates span small{margin-top:2px;display:block}.gantt-board.is-daily{--gantt-saturday:color-mix(in srgb, var(--color-info) 12%, var(--color-surface));--gantt-holiday:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface));--gantt-today:color-mix(in srgb, var(--color-accent) 24%, var(--color-surface));--gantt-month-line:color-mix(in srgb, var(--color-text-muted) 55%, transparent)}.gantt-dates>.gantt-month{text-align:left;padding:6px 0;font-size:13px;font-weight:700}.gantt-month>span{left:calc(var(--gantt-label-column) + 8px);padding:0 8px;position:sticky}.gantt-dates>.gantt-day{font-variant-numeric:tabular-nums;justify-items:center;gap:1px;padding:4px 0;font-size:12px;line-height:1.2;display:grid}.gantt-dates>.gantt-day small{color:var(--color-text-muted);margin:0;font-size:10px}.gantt-dates>.gantt-day.saturday,.gantt-dates>.gantt-day.saturday small{color:var(--color-info)}.gantt-dates>.gantt-day.sunday,.gantt-dates>.gantt-day.sunday small,.gantt-dates>.gantt-day.holiday,.gantt-dates>.gantt-day.holiday small{color:var(--color-danger)}.gantt-dates>.gantt-day.saturday,.gantt-days i.saturday{background:var(--gantt-saturday)}.gantt-dates>.gantt-day.sunday,.gantt-dates>.gantt-day.holiday,.gantt-days i.sunday,.gantt-days i.holiday{background:var(--gantt-holiday)}.gantt-dates>.gantt-day.today{background:var(--color-accent);color:var(--color-text);font-weight:700}.gantt-dates>.gantt-day.today small{color:var(--color-text)}.gantt-days i.today{background:var(--gantt-today);box-shadow:inset 2px 0 0 var(--color-accent), inset -2px 0 0 var(--color-accent)}.gantt-dates>.month-start,.gantt-days i.month-start{border-left:2px solid var(--gantt-month-line)}.gantt-group header{background:var(--color-surface-2);border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:12px;display:flex}.gantt-group header div:nth-child(2){display:grid}.gantt-group header>.avatar{z-index:2;flex:none;position:sticky;left:12px}.gantt-group header>.avatar+div{z-index:2;background:var(--color-surface-2);padding-right:8px;position:sticky;left:52px}.gantt-group header small{color:var(--color-text-muted)}.gantt-group header>span{margin-left:auto;font-size:12px}.gantt-group .gantt-company-header{background:var(--color-accent-soft);padding:10px 12px}.gantt-company-summary{width:calc(var(--gantt-label-column) - 24px);background:var(--color-accent-soft);align-items:center;gap:12px;display:flex;position:sticky;left:12px}.gantt-company-summary h2{margin:0;font-size:14px;line-height:1.5}.gantt-company-summary span{color:var(--color-text-muted);white-space:nowrap;margin-left:auto;font-size:12px}.gantt-task>div:first-child{z-index:2;min-height:var(--gantt-row-height);background:var(--color-surface);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);align-items:center;padding:4px 12px;display:flex}.gantt-task>.gantt-project-summary{z-index:4;box-shadow:1px 0 0 var(--color-border);grid-row:1/3}.gantt-task>div.gantt-project-summary{z-index:4;align-content:center;display:grid}.gantt-project-summary small{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-task>div:first-child strong{min-width:0;line-height:1.35}.gantt-project-summary strong>a,.gantt-project-trigger{vertical-align:top;max-width:100%;display:inline-block}.gantt-project-name{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.gantt-project-meta{align-items:center;gap:6px;min-width:0;margin-top:2px;display:flex}.gantt-project-meta>*{flex:none}.gantt-project-meta>small:first-child{flex:0 auto;min-width:0}.gantt-project-trigger{color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.gantt-project-trigger:hover{text-decoration:underline}.gantt-compact .contract-period-unset{color:var(--color-danger)}.gantt-days{grid-area:1/2/3/-1;grid-template-columns:subgrid;display:grid}.gantt-days i{min-height:var(--gantt-row-height);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.gantt-bar{z-index:1;border-left:5px solid var(--bar-color);background:color-mix(in srgb, var(--bar-color) 22%, white);min-width:0;height:24px;color:inherit;cursor:pointer;border-radius:7px;grid-row:1;align-self:start;align-items:center;gap:8px;margin:0 4px;padding:2px 7px;font-size:12px;line-height:1;text-decoration:none;display:flex;overflow:hidden}button.gantt-bar{text-align:left;border-top:0;border-bottom:0;border-right:0;font-family:inherit}.gantt-bar-link{min-width:0;color:inherit;flex:1;align-self:stretch;align-items:center;text-decoration:none;display:flex}.gantt-bar>span,.gantt-bar-link>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-bar:hover,.gantt-bar-link:hover{text-decoration:underline}.gantt-bar .button{margin-left:auto;padding:2px 5px;font-size:9px}.gantt-milestones{z-index:2;place-self:end center;gap:4px;padding:4px;display:grid}.gantt-marker{border:1px solid color-mix(in srgb, var(--marker-color) 35%, white);background:color-mix(in srgb, var(--marker-color) 10%, white);min-width:72px;color:var(--marker-color);text-shadow:0 0 2px #fff;cursor:default;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:3px 5px;font-size:10px;line-height:1;display:flex}.gantt-marker small,.gantt-marker time{color:var(--color-text);white-space:nowrap;font-size:10px}.gantt-marker.contract{border-color:var(--color-border);background:var(--color-surface)}.gantt-marker.is-today{border:2px solid var(--color-accent);font-weight:700}.gantt-legend{border:1px solid var(--color-border);border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--color-surface-2);border-bottom:0;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;font-size:11px;display:flex}.gantt-legend+.gantt-scroll{border-radius:0 0 var(--radius-card) var(--radius-card)}.gantt-legend span{align-items:center;gap:5px;display:inline-flex}.gantt-legend i{background:var(--legend-color,#3f7a55);border-radius:999px;width:18px;height:7px}.gantt-legend i.contract{border:1px solid var(--color-border);background:var(--color-surface);height:12px}.gantt-legend i.day{border:1px solid var(--color-border);border-radius:3px;width:12px;height:12px}.gantt-legend i.day.today{border-color:var(--color-accent);background:var(--color-accent)}.gantt-legend i.day.saturday{background:color-mix(in srgb, var(--color-info) 12%, var(--color-surface))}.gantt-legend i.day.holiday{background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface))}.gantt-legend em{color:var(--color-danger);font-style:normal}.gantt-project-summary .status-chip{justify-self:start}.gantt-member{grid-template-rows:36px}.gantt-member>.gantt-member-summary{z-index:4;border-right:1px solid var(--color-border);border-bottom:1px dashed var(--color-border);background:var(--color-surface-2);min-width:0;box-shadow:1px 0 0 var(--color-border);align-items:center;gap:8px;padding:0 12px 0 30px;font-size:12px;display:flex}.gantt-member-summary:before{content:"";background:color-mix(in srgb, var(--member-color,var(--color-border)) 45%, transparent);width:2px;position:absolute;top:0;bottom:0;left:17px}.gantt-member-avatar{background:var(--member-color);width:22px;height:22px;box-shadow:0 0 0 2px var(--color-surface);color:#fff;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;line-height:1;display:grid}.gantt-member-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.gantt-member-summary small{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.gantt-member.is-empty>.gantt-member-summary{color:var(--color-text-muted)}.gantt-member .gantt-days{grid-row:1}.gantt-member .gantt-days i{border-bottom-style:dashed;min-height:36px}.gantt-member-bar{z-index:1;background:linear-gradient(90deg, var(--member-color), color-mix(in srgb, var(--member-color) 78%, white));min-width:0;height:22px;box-shadow:0 1px 3px color-mix(in srgb, var(--member-color) 45%, transparent);color:#fff;white-space:nowrap;border-radius:999px;grid-row:1;align-self:center;align-items:center;gap:6px;margin:0 4px;padding:0 10px;font-size:11px;font-weight:600;line-height:1;display:flex;overflow:hidden}.gantt-member-bar>*{text-overflow:ellipsis;overflow:hidden}.gantt-member-bar small{opacity:.9;flex:none;font-size:10px;font-weight:400}.gantt-member-bar.is-planned{border:1.5px dashed var(--member-color);background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--member-color) 16%, white) 0 6px, color-mix(in srgb, var(--member-color) 6%, white) 6px 12px);box-shadow:none;color:color-mix(in srgb, var(--member-color) 80%, black)}.gantt-member-stack{align-items:center;display:inline-flex}.gantt-member-stack .gantt-member-avatar{width:18px;height:18px;font-size:10px}.gantt-member-stack .gantt-member-avatar+.gantt-member-avatar{margin-left:-5px}.gantt-member-stack small{margin-left:4px;font-size:11px}.gantt-legend i.member{background:linear-gradient(90deg,#2f6fb0,#c0612b)}.gantt-member-task>.gantt-member-summary{background:var(--color-surface);border-bottom-style:dotted;padding-left:44px;font-size:12px}.gantt-task-dot{background:var(--member-color);border-radius:2px;flex:none;width:8px;height:8px;transform:rotate(45deg)}.gantt-task-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-task-bar{background:color-mix(in srgb, var(--member-color) 14%, var(--color-surface));height:20px;box-shadow:inset 4px 0 0 var(--member-color);color:var(--color-text);text-align:left;border-radius:6px;font-family:inherit}.gantt-task-bar small{color:var(--color-text-muted)}.gantt-member-bar.gantt-task-bar{overflow:visible}.gantt-task-bar>*{flex:none;overflow:visible}button.gantt-task-bar{cursor:pointer;border:0}button.gantt-task-bar:hover,button.gantt-task-bar:focus-visible{background:color-mix(in srgb, var(--member-color) 26%, var(--color-surface))}.gantt-task-add{border:1px dashed var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:3px 10px;font-size:12px}.gantt-task-add:hover,.gantt-task-add:focus-visible{border-color:var(--color-accent);color:var(--color-accent)}.gantt-task-add.is-icon{place-items:center;width:22px;height:22px;margin-left:0;padding:0;line-height:1;display:grid}.gantt-member-footer{grid-template-rows:32px}.gantt-member-footer>.gantt-member-summary{border-bottom:1px solid var(--color-border);gap:10px}.gantt-member-footer .gantt-days i{border-bottom-style:solid;min-height:32px}.task-dialog .dialog-actions>.button{flex:1}.task-dialog-delete{justify-content:flex-start;margin-top:12px;display:flex}.gantt-legend i.member.task{background:#dae5f1;border-radius:3px;box-shadow:inset 3px 0 #2f6fb0}.gantt-legend i.member.is-planned{background:#edeff3;border:1px dashed #4f5d8a;height:9px}.daily-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:18px;display:grid}.summary-list,.recent-summaries{gap:10px;margin:0;padding:0;list-style:none;display:grid}.summary-list li{border-bottom:1px solid var(--color-border);padding-bottom:10px;font-size:13px}.recent-summaries li+li{border-top:1px solid var(--color-border)}.recent-summaries a{grid-template-columns:1fr auto;gap:5px 12px;padding:11px 0;font-size:12px;display:grid}.recent-summaries a>span{color:var(--color-text-muted);grid-column:1}.recent-summaries .badge{justify-self:end}.settings-shell{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:24px;display:grid}.settings-nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:3px;max-height:calc(100vh - 48px);padding:12px;display:grid;position:sticky;top:24px;overflow-y:auto}.settings-nav a{color:var(--color-text-muted);border-radius:9px;flex:none;padding:9px 12px;font-size:12px;font-weight:700}.settings-nav a.active{color:#fff;background:var(--color-primary)}.settings-content{min-width:0}.approval-route-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;display:grid}.row-actions{align-items:center;gap:6px;display:flex}.permission-menu-list{border:1px solid var(--color-border);border-radius:8px;max-height:min(60vh,680px);overflow-y:auto}.permission-menu-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(180px,1fr) 80px 80px;align-items:center;min-height:42px;padding:0 14px;display:grid}.permission-menu-row label{align-items:center;gap:4px;font-weight:600;display:flex}.permission-menu-row.disabled{color:var(--color-text-muted);background:var(--color-surface-2)}.permission-menu-group{padding:12px 14px 4px;display:block}.color-code-field{align-items:stretch;gap:8px;display:flex}.field .color-code-field input[type=color]{cursor:pointer;flex:none;width:48px;height:auto;min-height:40px;padding:3px}.field .color-code-field input[type=text]{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.color-value{align-items:center;gap:6px;display:inline-flex}.color-value i{border:1px solid var(--color-border);border-radius:4px;width:14px;height:14px}.info-content{white-space:pre-line}.toast{z-index:1000;color:#183c24;background:#eef9f1;border:1px solid #a8ccb3;border-radius:12px;max-width:min(420px,100vw - 32px);padding:14px 18px;font-weight:700;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #183c2430}.login-page{background:linear-gradient(145deg, var(--color-bg), #e7eddf);align-content:center;place-items:center;gap:28px;min-height:100vh;display:grid}.login-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:24px;gap:26px;width:min(420px,100vw - 32px);padding:36px;display:grid;box-shadow:0 18px 50px #4052401a}.login-heading{text-align:center}.login-card h1{margin-bottom:6px}.login-form{gap:18px;display:grid}.login-page footer{color:var(--color-text-muted);font-size:11px}@media (max-width:800px){.app-shell{padding-left:0;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.sidebar{z-index:10;width:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom));overscroll-behavior-x:contain;scrollbar-width:none;border-top:1px solid var(--color-border);border-right:0;flex-direction:row;align-items:stretch;gap:6px;position:fixed;inset:auto 0 0;overflow-x:auto}.sidebar::-webkit-scrollbar{display:none}.sidebar>.brand,.sidebar>.user-card>.avatar,.sidebar>.user-card>div{display:none}.sidebar>.user-card{border-top:0;border-left:1px solid var(--color-border);flex:none;margin:0;padding:0 4px 0 6px;display:flex}.main-nav{flex:none;gap:2px;display:flex}.main-nav a{white-space:nowrap;border-radius:12px;flex-direction:column;flex:none;justify-content:center;gap:3px;min-width:58px;padding:6px 8px;font-size:10px;line-height:1.2}.main-nav svg{width:22px;height:22px}.app-content{padding:24px 16px}.app-content:has(.manage-page){padding-inline:16px}.application-form-card{padding:18px 16px}.applications-tabs-row{flex-direction:column;align-items:flex-start}.application-form-header{align-items:flex-start}.application-form-header>.button{flex:none}.application-form .form-grid{grid-template-columns:1fr}.application-form-actions .button{width:100%}.application-draft{padding:16px 14px}.page-loading{min-height:calc(100vh - 120px)}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.member-list-scroll{max-height:60vh}.daily-grid,.settings-shell{grid-template-columns:minmax(0,1fr)}.settings-nav{max-height:none;padding:8px;display:flex;position:static;overflow:auto hidden}.settings-nav a{white-space:nowrap}.record-item{grid-template-columns:1fr auto}}.company-info>*{min-width:0}.company-info .page-heading .muted{margin:6px 0 0}.company-info-period{gap:8px;display:grid}.company-info-period .filter-bar{grid-template-columns:repeat(auto-fit,minmax(160px,220px))}.company-info-period>.muted{margin:0;font-size:12px}.paid-leave-empty{margin:0 0 12px}.company-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.kpi-card{gap:6px}.kpi-card .stat-value{font-variant-numeric:normal;font-size:clamp(22px,2.4vw,30px)}.kpi-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.card-subtitle{color:var(--color-text-muted);letter-spacing:.04em;margin:18px 0 10px;font-size:12px;font-weight:700}.member-value{font-variant-numeric:tabular-nums;margin-left:auto}.trend-chart{width:100%;height:auto}.trend-chart .grid line{stroke:var(--color-border)}.trend-chart text{fill:var(--color-text-muted);font-size:11px}.trend-chart text.value,.trend-chart text.current{fill:var(--color-text);font-weight:700}.trend-chart .past{opacity:.4}.chart-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:14px;margin:0 0 6px;padding:0;font-size:12px;list-style:none;display:flex}.chart-legend li{align-items:center;gap:6px;display:flex}.chart-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.chart-table{margin-top:6px}.chart-table summary{cursor:pointer;color:var(--color-text-muted);font-size:12px}.leave-ring-layout{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:20px;display:grid}.leave-ring-summary{text-align:center;justify-items:center;gap:4px;display:grid}.leave-ring-summary p{margin:0}.paid-leave-note{margin:16px 0 0;line-height:1.7}.leave-ring{width:150px;height:150px}.leave-ring .track{stroke:var(--color-primary-soft)}.leave-ring .fill{stroke:var(--color-primary);stroke-linecap:round}.leave-ring text.rate{fill:var(--color-text);font-size:26px;font-weight:700}.leave-ring text.caption{fill:var(--color-text-muted);font-size:11px}.hbar-list{gap:12px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.hbar-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;display:grid}.hbar-value{font-variant-numeric:tabular-nums}.hbar-track{border-radius:var(--radius-pill);background:var(--color-primary-soft);grid-column:1/-1;height:8px;overflow:hidden}.hbar-fill{border-radius:var(--radius-pill);background:var(--color-primary);height:100%;display:block}.hbar-fill.accent{background:var(--color-accent)}.sales-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 8px;display:grid}.sales-summary div{background:var(--color-surface-2);border-radius:12px;padding:12px 14px}.sales-summary dt{color:var(--color-text-muted);font-size:11px}.sales-summary dd{margin:4px 0 0;font-size:18px;font-weight:700}.compliance-summary{gap:8px;display:flex}.compliance-note{margin-bottom:12px;line-height:1.7}.compliance-table{min-width:760px}.compliance-table th,.compliance-table td{white-space:nowrap;vertical-align:middle}.grant-cell{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.obligation-progress{gap:5px;min-width:140px;display:grid}.obligation-progress .progress-bar{height:6px}.obligation-fill{border-radius:var(--radius-pill);background:var(--color-primary);height:100%;display:block}.obligation-fill.warning{background:var(--color-accent)}.obligation-fill.at_risk{background:var(--color-danger)}@media (max-width:1000px){.company-info-grid{grid-template-columns:1fr}.leave-ring-layout{grid-template-columns:1fr;justify-items:stretch}.leave-ring-summary{justify-items:center}}:is(.data-table tbody tr:has(.attendance-staggered)>td,.employee-timecard tbody tr:has(.attendance-staggered)>td){background:#edf3fc}:is(.data-table tbody tr:has(.attendance-approved-work)>td,.employee-timecard tbody tr:has(.attendance-approved-work)>td){background:#fff4e5}:is(.data-table tbody tr:has(.attendance-approved-leave)>td,.employee-timecard tbody tr:has(.attendance-approved-leave)>td){background:#edf6eb}.attendance-staggered{color:#36577d;font-weight:700}.attendance-category{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.employee-timecard .attendance-category .badge{font-size:inherit;padding:1px 4px;line-height:1.2}.attendance-color-legend{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.attendance-color-legend>li{align-items:center;gap:6px;display:inline-flex}.attendance-color-legend>li>span{background:#edf3fc;border:1px solid #8ba5c7;border-radius:3px;flex:none;width:14px;height:14px}.attendance-color-legend>li:has(.attendance-staggered){color:#36577d}.attendance-color-legend .attendance-approved-work{background:#fff4e5;border-color:#d6a76d}.attendance-color-legend .attendance-approved-leave{background:#edf6eb;border-color:#98b98d}.attendance-period-legend{flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.period-day:disabled,.period-month:disabled,.period-today:disabled{opacity:.3;cursor:not-allowed}.calendar-tone-schedule{--tone-bg:#ece7f5;--tone-fg:#4f3d78;--tone-accent:#7a62b3}.calendar-tone-status{--tone-bg:var(--color-surface);--tone-fg:var(--color-text);--tone-accent:var(--chip-color,#8f9aa6)}.calendar-tone-leave{--tone-bg:#f6e4e0;--tone-fg:#94463b;--tone-accent:#c9695b}.calendar-tone-holiday{--tone-bg:var(--color-accent-soft);--tone-fg:#82601c;--tone-accent:var(--color-accent)}.calendar-tone-staggered{--tone-bg:#e4e9f2;--tone-fg:#465c80;--tone-accent:var(--color-info)}.calendar-tone-task{--tone-bg:#edf3ee;--tone-fg:var(--color-text);--tone-accent:var(--chip-color,var(--color-primary))}@media (min-width:801px){.app-content:has(.calendar-page){padding-block:20px}}.calendar-page{flex-direction:column;gap:10px;max-width:1440px;height:calc(100dvh - 40px);min-height:600px;display:flex}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex;position:relative}.calendar-header h1{margin:0;font-size:20px}.calendar-filters{align-items:flex-end;gap:10px;display:flex}.calendar-panel{position:relative}.calendar-panel summary,.calendar-detail-toggle{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);min-height:34px;color:var(--color-text);font:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700;list-style:none;display:inline-flex}.calendar-panel summary::-webkit-details-marker{display:none}.calendar-panel summary:after{border-right:1.8px solid var(--color-text-muted);border-bottom:1.8px solid var(--color-text-muted);content:"";width:7px;height:7px;margin:-3px 2px 0;transition:transform .15s;transform:rotate(45deg)}.calendar-panel details[open] summary:after{margin-top:3px;transform:rotate(-135deg)}.calendar-panel summary:hover,.calendar-detail-toggle:hover,.calendar-panel details[open] summary,.calendar-detail-toggle[aria-expanded=true]{border-color:var(--color-primary)}.calendar-detail-toggle[aria-expanded=true]{background:var(--color-primary-soft);color:var(--color-primary)}.calendar-panel summary:focus-visible,.calendar-detail-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.calendar-panel-summary{max-width:220px;color:var(--color-text-muted);text-overflow:ellipsis;font-weight:600;overflow:hidden}.calendar-panel-body{z-index:40;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #2f3a2f2e}.calendar-legend-panel .calendar-panel-body{width:340px}.calendar-filters .field{gap:4px;width:190px}.calendar-filters .field select{padding-block:7px}.calendar-header-actions{align-items:center;gap:8px;display:flex}.calendar-location-button{white-space:nowrap;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:12px;display:inline-flex}.calendar-location-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:15px;height:15px}.calendar-employee-filter{gap:4px;width:190px;font-size:12px;font-weight:700;display:grid;position:relative}.calendar-employee-filter-button{border:1px solid var(--color-border);min-height:40px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23667064' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") right 12px center/16px no-repeat;border-radius:9px;align-items:center;gap:6px;padding:7px 38px 7px 12px;font-weight:600;display:flex;overflow:hidden}.calendar-employee-filter-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-employee-filter-button b{border-radius:var(--radius-pill);background:var(--color-primary-soft);min-width:20px;color:var(--color-primary);text-align:center;flex:none;margin-left:auto;padding:1px 6px;font-size:11px}.calendar-employee-filter-button[aria-expanded=true],.calendar-employee-filter-button:focus-visible{border-color:var(--color-primary);outline:none}.calendar-employee-popover{z-index:30;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;gap:8px;width:280px;padding:10px;font-weight:400;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #2f3a2f2e}.calendar-employee-popover-head{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:12px;font-weight:700;display:flex}.calendar-employee-popover-head button{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-primary);font:inherit;cursor:pointer;padding:3px 10px}.calendar-employee-popover-head button:disabled{color:var(--color-text-muted);cursor:default;opacity:.6}.employee-checklist{gap:6px;display:grid}.employee-checklist-search{border:1px solid var(--color-border);width:100%;font:inherit;background:#fff;border-radius:8px;padding:7px 10px;font-size:13px}.employee-checklist-list{gap:1px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.employee-checklist-list label{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:600;display:flex}.employee-checklist-list label:hover{background:var(--color-primary-soft)}.employee-checklist-list input{width:16px;height:16px;accent-color:var(--color-primary);margin:0}.employee-checklist-list input:disabled+span{color:var(--color-text-muted)}.employee-checklist-empty{color:var(--color-text-muted);padding:10px 8px;font-size:12px}.calendar-schedule-members{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.calendar-schedule-members legend{align-items:center;gap:8px;margin-bottom:6px;padding:0;font-size:12px;font-weight:700;display:flex}.calendar-schedule-members legend span{border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);padding:1px 8px;font-size:11px}.calendar-schedule-members .employee-checklist-list{border:1px solid var(--color-border);background:#fff;border-radius:9px;max-height:168px;padding:4px}.calendar-location-dialog{width:min(480px,100vw - 32px)}.calendar-location-dialog[open]{gap:16px;display:grid}.calendar-location-dialog header{align-items:flex-start}.calendar-location-dialog header p{color:var(--color-text-muted);margin:4px 0 0;font-size:12px}.calendar-location-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.calendar-location-list{gap:8px;display:grid}.calendar-location-list h3{color:var(--color-text-muted);margin:0;font-size:12px}.calendar-location-list ul{border:1px solid var(--color-border);border-radius:10px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.calendar-location-list li{justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:6px 8px 6px 14px;font-size:14px;display:flex}.calendar-location-list li+li{border-top:1px solid var(--color-border)}.calendar-location-empty{color:var(--color-text-muted);text-align:center;margin:0;padding:16px 0;font-size:13px}.calendar-board{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;display:grid}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.calendar-toolbar-panels{align-items:center;gap:8px;display:flex}.calendar-toolbar-nav{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.calendar-nav{align-items:center;gap:14px;display:flex}.calendar-views{border-radius:var(--radius-pill);background:var(--color-surface-2);padding:3px;display:inline-flex}.calendar-views a{border-radius:var(--radius-pill);min-width:40px;color:var(--color-text-muted);text-align:center;padding:5px 12px;font-size:12px;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.calendar-views a:hover{color:var(--color-text)}.calendar-views a[aria-current=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px #0000001f}.calendar-views a:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.calendar-nav .period-nav{gap:8px}.calendar-nav .period-picker-button strong{text-align:center;min-width:112px;font-size:17px}.calendar-legend{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calendar-legend-item{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);cursor:pointer;align-items:center;gap:7px;padding:5px 7px 5px 10px;font-size:12px;font-weight:700;transition:background .15s,opacity .15s;display:inline-flex}.calendar-legend-item i,.calendar-detail-section h3 i,.calendar-event-eyebrow i{background:var(--tone-accent);border-radius:3px;width:10px;height:10px}.calendar-tone-status.calendar-legend-item i,.calendar-detail-section.calendar-tone-status h3 i{background:#8f9aa6;transform:rotate(45deg)scale(.85)}.calendar-tone-task.calendar-legend-item i,.calendar-detail-section.calendar-tone-task h3 i{background:var(--color-primary);border-radius:50%}.calendar-legend-item[aria-pressed=true]{border-color:var(--tone-accent);background:var(--tone-bg)}.calendar-tone-status.calendar-legend-item[aria-pressed=true]{background:var(--color-surface-2);border-color:#8f9aa6}.calendar-legend-item[aria-pressed=false]{color:var(--color-text-muted);opacity:.6}.calendar-legend-item[aria-pressed=false] i{background:0 0;outline:1.5px solid}.calendar-legend-count{border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;text-align:center;background:#ffffffb3;min-width:22px;padding:1px 6px}.calendar-legend-note{color:var(--color-text-muted);font-size:12px}.calendar-layout{grid-template-columns:minmax(0,1fr) 300px;gap:14px;min-height:0;display:grid}.calendar-board:not(.is-month) .calendar-layout{grid-template-columns:minmax(0,1fr)}@media (min-width:801px){.calendar-layout.is-detail-closed{grid-template-columns:minmax(0,1fr)}.calendar-layout.is-detail-closed .calendar-detail{display:none}}.calendar-month{grid-template-rows:auto repeat(var(--calendar-weeks), minmax(0, 1fr));border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-height:0;display:grid;overflow:hidden}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;display:grid}.calendar-weekdays>div{border-bottom:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);text-align:center;padding:8px 0;font-size:12px;font-weight:700}.calendar-weekdays>.is-sunday{color:var(--color-danger)}.calendar-weekdays>.is-saturday{color:#4d6388}.calendar-cell{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);cursor:pointer;flex-direction:column;gap:3px;min-width:0;min-height:0;padding:5px 6px 6px;display:flex;overflow:hidden}.calendar-week>.calendar-cell:last-child{border-right:0}.calendar-week:last-child>.calendar-cell{border-bottom:0}.calendar-cell.is-outside{cursor:default;background:repeating-linear-gradient(-45deg,#f6f3ec,#f6f3ec 6px,#f1ede4 6px 12px)}.calendar-cell.is-sunday{background-color:#fbf3f1}.calendar-cell.is-saturday{background-color:#f3f5f9}.calendar-cell:not(.is-outside):hover{background-image:linear-gradient(#3f7a550a,#3f7a550a)}.calendar-cell.is-selected{box-shadow:inset 0 0 0 2px var(--color-primary);background-image:linear-gradient(#3f7a5514,#3f7a5514)}.calendar-day-head{flex:none;align-items:center;gap:6px;min-width:0;display:flex}.calendar-day-number{width:26px;height:26px;color:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:13px;font-weight:700;display:grid}.calendar-day-number:focus-visible,.calendar-chip:focus-visible,.calendar-more:focus-visible,.calendar-add-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.calendar-cell.is-sunday .calendar-day-number{color:var(--color-danger)}.calendar-cell.is-saturday .calendar-day-number{color:#4d6388}.calendar-cell.is-today .calendar-day-number{background:var(--color-primary);color:#fff}.calendar-holiday-name{min-width:0;color:var(--color-danger);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.calendar-add{flex:none;margin-left:auto}.calendar-add-button{border:1px solid var(--color-border);background:var(--color-surface);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:opacity .15s,background .15s,color .15s;display:grid}.calendar-cell .calendar-add-button{opacity:.55}.calendar-cell:hover .calendar-add-button,.calendar-cell.is-selected .calendar-add-button,.calendar-add-button:focus-visible,.calendar-add-button[aria-expanded=true]{border-color:var(--color-primary);color:var(--color-primary);opacity:1}.calendar-add .calendar-add-button:hover,.calendar-add .calendar-add-button[aria-expanded=true]{border-color:var(--color-primary);background:var(--color-primary);color:#fff;opacity:1}.calendar-add-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:12px;height:12px}.calendar-add-menu{z-index:30;border:1px solid var(--color-border);background:var(--color-surface);cursor:default;border-radius:12px;gap:8px;width:200px;padding:10px;display:grid;position:fixed;box-shadow:0 12px 32px #2f3a2f2e}.calendar-add-menu-title{margin:0;padding:0 6px;font-size:12px;font-weight:700}.calendar-add-menu-group{gap:1px;display:grid}.calendar-add-menu-group>span{color:var(--color-text-muted);letter-spacing:.08em;padding:2px 6px;font-size:10px;font-weight:800}.calendar-add-menu-group button{color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 8px;font-size:13px;font-weight:700}.calendar-add-menu-group button:hover,.calendar-add-menu-group button:focus-visible{background:var(--color-primary-soft);color:var(--color-primary);outline:none}.calendar-add-spinner{border:2px solid color-mix(in srgb, currentcolor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite calendar-add-spin}@keyframes calendar-add-spin{to{transform:rotate(360deg)}}.calendar-day-events{flex-direction:column;flex:auto;gap:3px;min-height:0;display:flex;overflow:hidden}.calendar-chip{background:var(--tone-bg);width:100%;min-width:0;height:22px;color:var(--tone-fg);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:6px;flex:none;align-items:center;gap:4px;padding:0 6px;font-size:11px;line-height:1;display:flex}.calendar-chip:hover{border-color:var(--tone-accent)}.calendar-chip b{flex:none;font-weight:800}.calendar-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-chip.calendar-tone-status{border-color:var(--color-border);border-left:3px solid var(--tone-accent);padding-left:5px}.calendar-chip.calendar-tone-status b{color:var(--tone-accent);filter:brightness(.8)}.calendar-chip.calendar-tone-task{border-left:3px solid var(--tone-accent);padding-left:5px}.calendar-chip.calendar-tone-task b{color:var(--color-text-muted);font-weight:700}.calendar-chip.calendar-tone-schedule b{font-variant-numeric:tabular-nums}.calendar-chip.is-pending{border:1px dashed var(--tone-accent);background:var(--color-surface)}.calendar-more{height:22px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-self:flex-start;padding:0 6px;font-size:11px;font-weight:700}.calendar-more:hover{background:var(--color-surface-2);color:var(--color-text)}.calendar-day-dots{display:none}.calendar-detail{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);align-content:start;gap:14px;min-height:0;padding:18px 18px 20px;display:grid;overflow-y:auto}.calendar-detail-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-detail-header h2{margin:0;font-size:18px}.calendar-detail-close{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin-left:auto;padding:0;font-size:18px;line-height:1;display:grid}.calendar-detail-close:hover,.calendar-detail-close:focus-visible{background:var(--color-surface-2);color:var(--color-text)}.calendar-detail-holiday{color:var(--color-danger);font-size:12px;font-weight:700}.calendar-detail-empty{color:var(--color-text-muted);text-align:center;margin:0;padding:24px 0;font-size:13px}.calendar-detail-section{gap:8px;display:grid}.calendar-detail-section h3{align-items:center;gap:7px;margin:0;font-size:13px;display:flex}.calendar-detail-section h3 span{color:var(--color-text-muted);margin-left:auto;font-size:11px}.calendar-detail-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.calendar-detail-list li{background:var(--tone-bg);border-radius:10px;gap:2px;padding:8px 10px;font-size:13px;display:grid}.calendar-tone-status .calendar-detail-list li{border:1px solid var(--color-border)}.calendar-detail-list li.calendar-detail-task{border-left:3px solid var(--chip-color)}.calendar-detail-list li.calendar-detail-schedule{border-left:3px solid var(--tone-accent)}.calendar-detail-schedule small{overflow-wrap:anywhere}.calendar-detail-time{color:var(--tone-fg);font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.calendar-detail-edit{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.calendar-detail-edit:hover,.calendar-detail-edit:focus-visible{border-color:var(--tone-accent);color:var(--tone-fg);outline:none}.calendar-detail-line{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.calendar-detail-line a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.calendar-detail-list small{color:var(--color-text-muted);font-size:11px}.calendar-status-mark{background:var(--chip-color);width:9px;height:9px;transform:rotate(45deg)}.calendar-timegrid{--gutter:52px;--line:var(--color-border);--line-soft:#efeadf;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;min-height:0;display:flex;overflow:hidden}.calendar-timegrid-head,.calendar-timegrid-canvas{grid-template-columns:var(--gutter) repeat(var(--days), minmax(0, 1fr));display:grid}.calendar-timegrid-head,.calendar-timegrid-allday,.calendar-timegrid-body{scrollbar-gutter:stable}.calendar-timegrid-head{border-bottom:1px solid var(--line);background:var(--color-surface-2);flex:none;overflow-y:hidden}.calendar-timegrid-day{border-left:1px solid var(--line);cursor:pointer;align-items:center;gap:6px;min-width:0;padding:7px 8px;transition:background .15s;display:flex}.calendar-timegrid-day:hover{background:#3f7a550a}.calendar-timegrid-day.is-selected{background:var(--color-primary-soft);box-shadow:inset 0 -3px 0 var(--color-primary)}.calendar-timegrid-weekday{color:var(--color-text-muted);flex:none;font-size:12px;font-weight:700}.calendar-timegrid-day.is-sunday .calendar-day-number,.calendar-timegrid-day.is-sunday .calendar-timegrid-weekday{color:var(--color-danger)}.calendar-timegrid-day.is-saturday .calendar-day-number,.calendar-timegrid-day.is-saturday .calendar-timegrid-weekday{color:#4d6388}.calendar-timegrid-day.is-today .calendar-day-number{background:var(--color-primary);color:#fff}.calendar-timegrid-day .calendar-add-button{opacity:.55}.calendar-timegrid-day:hover .calendar-add-button,.calendar-timegrid-day.is-selected .calendar-add-button{border-color:var(--color-primary);color:var(--color-primary);opacity:1}.calendar-timegrid-gutter{color:var(--color-text-muted);justify-content:flex-end;align-items:flex-start;padding:7px 8px 0 0;font-size:11px;font-weight:700;display:flex}.calendar-timegrid-allday{grid-template-columns:var(--gutter) minmax(0, 1fr);border-bottom:1px solid var(--line);flex:none;max-height:34%;display:grid;overflow-y:auto;box-shadow:0 4px 8px -6px #2f3a2f2e}.calendar-allday-lanes{grid-auto-rows:22px;grid-auto-flow:dense;grid-template-columns:repeat(var(--days), minmax(0, 1fr));background:linear-gradient(to right, var(--line) 1px, transparent 1px) 0 0 / calc(100% / var(--days)) 100%, linear-gradient(#3f7a5514, #3f7a5514) calc(var(--selected) * 100% / (var(--days) - 1)) 0 / calc(100% / var(--days)) 100% no-repeat;cursor:pointer;align-content:start;gap:3px 0;min-height:34px;padding:5px 0 6px;display:grid;position:relative}.calendar-allday-more{grid-column:2;grid-template-columns:repeat(var(--days), minmax(0, 1fr));background:linear-gradient(to right, var(--line) 1px, transparent 1px) 0 0 / calc(100% / var(--days)) 100%;align-items:center;padding:0 0 5px;display:grid}.calendar-allday-count{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;justify-self:start;margin-inline:3px;padding:1px 8px;font-size:11px;font-weight:700}.calendar-allday-count:hover{border-color:var(--color-primary);color:var(--color-primary)}.calendar-allday-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.calendar-allday-toggle:hover{color:var(--color-primary)}.calendar-timegrid.is-single .calendar-allday-more{background:0 0;grid-template-columns:1fr}.calendar-allday-lanes .calendar-allday-item{justify-self:stretch;width:auto;min-width:0;margin-inline:3px}.calendar-allday-item.continues-before{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.calendar-allday-item.continues-after{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.calendar-chip small{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;font-size:10px;overflow:hidden}.calendar-chip span+small{padding-left:6px}.calendar-timegrid-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.calendar-timegrid-canvas{height:calc(var(--hour-height) * 24)}.calendar-timegrid-hours{position:relative}.calendar-timegrid-hours span{top:calc(var(--hour) * var(--hour-height));color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:11px;line-height:1;position:absolute;right:8px;transform:translateY(-50%)}.calendar-timegrid-column{border-left:1px solid var(--line);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% var(--hour-height), linear-gradient(var(--line-soft) 1px, transparent 1px) 0 calc(var(--hour-height) / 2) / 100% var(--hour-height);min-width:0;position:relative}.calendar-timegrid-column.is-sunday{background-color:#fbf3f1}.calendar-timegrid-column.is-saturday{background-color:#f3f5f9}.calendar-timegrid-column.is-selected{background-color:#3f7a550d}.calendar-timegrid-column.can-add{cursor:pointer}.calendar-timed-event{top:calc(var(--start) * var(--hour-height) / 60 + 1px);left:calc(var(--column) * (100% - 6px) / var(--columns) + 2px);z-index:1;width:calc((100% - 6px) / var(--columns) - 2px);height:calc(var(--duration) * var(--hour-height) / 60 - 2px);border:0;border-left:3px solid var(--tone-accent);background:var(--tone-bg);min-width:0;box-shadow:0 0 0 1px var(--color-surface);color:var(--tone-fg);text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;gap:1px;padding:3px 6px;font-size:11px;line-height:1.35;transition:box-shadow .15s;display:flex;position:absolute;overflow:hidden}.calendar-timed-event:hover{z-index:2;box-shadow:0 0 0 1px var(--color-surface), 0 4px 12px #2f3a2f29}.calendar-timed-event:focus-visible{z-index:2;outline:2px solid var(--color-primary);outline-offset:1px}.calendar-timed-event>*{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.calendar-timed-event b{font-variant-numeric:tabular-nums;font-size:10px;font-weight:800}.calendar-timed-event strong{font-size:12px}.calendar-timed-location,.calendar-timed-event small{color:color-mix(in srgb, var(--tone-fg) 75%, transparent)}.calendar-timed-event.is-short{flex-direction:row;align-items:center;gap:6px;padding-block:0}.calendar-timed-event.is-short>*{flex:none}.calendar-timed-event.is-short strong{flex:0 auto;min-width:0}.calendar-timed-event.is-short small,.calendar-timed-event.is-narrow b,.calendar-timegrid:not(.is-single) .calendar-timed-event.is-short .calendar-timed-location{display:none}.calendar-timed-event>.calendar-timed-members{white-space:normal;flex-wrap:wrap;flex:1 1 0;align-content:flex-start;gap:2px 3px;min-height:0;margin:2px 0 0;padding:0;list-style:none;display:flex;overflow:hidden}.calendar-timed-members li{border-radius:var(--radius-pill);max-width:100%;color:var(--tone-fg);text-overflow:ellipsis;white-space:nowrap;background:#ffffffb3;padding:0 5px;font-size:10px;font-weight:600;line-height:16px;overflow:hidden}.calendar-timed-event.is-short>.calendar-timed-members{flex-wrap:nowrap;flex:1 1 0;margin:0}.calendar-timed-event.is-short .calendar-timed-members li{flex:none}.calendar-timed-event.is-short strong{flex:none;max-width:60%}.calendar-timegrid:not(.is-single) .calendar-timed-event:not(.is-short){gap:0;padding:2px 5px 1px}.calendar-timegrid:not(.is-single) .calendar-timed-event:not(.is-short)>.calendar-timed-when{line-height:12px}.calendar-timegrid:not(.is-single) .calendar-timed-event:not(.is-short)>strong{line-height:15px}.calendar-timegrid:not(.is-single) .calendar-timed-event:not(.is-short)>.calendar-timed-members{gap:1px 2px;margin-top:1px}.calendar-timegrid:not(.is-single) .calendar-timed-members li{padding:0 4px;line-height:14px}.calendar-timed-when{align-items:baseline;gap:6px;min-width:0;display:flex}.calendar-timed-when b{flex:none}.calendar-timed-location{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.calendar-timed-event.is-narrow .calendar-timed-when:not(:has(.calendar-timed-location)){display:none}.calendar-timegrid:not(.is-single) .calendar-timed-event.is-overlapped{--slot:calc((100% - 6px) / var(--columns));width:calc(min(var(--slot) * 1.7, var(--slot) * (var(--columns) - var(--column))) - 2px)}.calendar-now-line{top:calc(var(--start) * var(--hour-height) / 60);z-index:3;background:var(--color-danger);pointer-events:none;height:2px;position:absolute;left:0;right:0}.calendar-now-line:before{content:"";background:var(--color-danger);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.calendar-slot-ghost{top:calc(var(--start) * var(--hour-height) / 60 + 1px);height:calc(var(--hour-height) / 2 - 2px);border:1px dashed var(--color-primary);color:var(--color-primary);font-variant-numeric:tabular-nums;pointer-events:none;background:#dfeae0cc;border-radius:6px;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:flex;position:absolute;left:2px;right:4px}@media (hover:none){.calendar-slot-ghost{display:none}}.calendar-timegrid.is-single{--gutter:60px}.calendar-timegrid.is-single .calendar-allday-lanes{cursor:default;background:0 0;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:26px;gap:5px 8px;padding-inline:8px}.calendar-timegrid.is-single .calendar-allday-lanes .calendar-allday-item{border-radius:6px;height:26px;margin:0;font-size:12px}.calendar-timegrid.is-single .calendar-timegrid-day{padding-inline:12px}.calendar-timegrid.is-single .calendar-timegrid-day.is-selected{box-shadow:none;background:0 0}.calendar-timegrid.is-single .calendar-timegrid-column.is-selected{background-color:#0000}.calendar-timegrid.is-single .calendar-timed-event{left:calc(var(--column) * (100% - 16px) / var(--columns) + 6px);width:calc((100% - 16px) / var(--columns) - 4px);padding:5px 10px;font-size:12px}.calendar-timegrid.is-single .calendar-timed-event strong{font-size:13px}.calendar-timegrid.is-single .calendar-timed-event:not(.is-short){grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(160px,34%) minmax(0,1fr);align-content:start;gap:0 16px;display:grid}.calendar-timegrid.is-single .calendar-timed-event:not(.is-short)>:not(.calendar-timed-members){grid-column:1}.calendar-timegrid.is-single .calendar-timed-event:not(.is-short){padding-block:3px 2px}.calendar-timegrid.is-single .calendar-timed-event:not(.is-short)>.calendar-timed-when{font-size:11px;line-height:13px}.calendar-timegrid.is-single .calendar-timed-event:not(.is-short)>strong{line-height:15px}.calendar-timegrid.is-single .calendar-timed-event:not(.is-short)>small{white-space:normal;font-size:11px;line-height:13px}.calendar-timegrid.is-single .calendar-timed-event:not(.is-short)>.calendar-timed-members{border-left:1px solid color-mix(in srgb, var(--tone-accent) 30%, transparent);grid-area:1/2/-1;align-self:stretch;margin:0;padding-left:14px}.calendar-timegrid.is-single .calendar-timed-members li{padding:1px 8px;font-size:11px}.calendar-entry-dialog{width:min(760px,100vw - 32px);max-height:calc(100dvh - 48px)}.calendar-entry-dialog[open]{flex-direction:column;gap:14px;display:flex}.calendar-entry-dialog header{align-items:flex-start}.calendar-entry-dialog h2{font-size:19px}.calendar-entry-body{min-height:0;margin:0 -22px;padding:0 22px;overflow-y:auto}.calendar-entry-loading{min-height:160px;color:var(--color-primary);place-items:center;display:grid}.calendar-entry-footer{border-top:1px solid var(--color-border);justify-content:flex-end;padding-top:10px;font-size:12px;display:flex}.calendar-entry-footer a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.calendar-event-dialog{width:min(440px,100vw - 32px)}.calendar-event-dialog[open]{gap:16px;display:grid}.calendar-event-dialog header{align-items:flex-start}.calendar-event-dialog h2{font-size:19px}.calendar-event-eyebrow{color:var(--color-text-muted);align-items:center;gap:6px;margin:0 0 4px;font-size:12px;font-weight:700;display:flex}.calendar-tone-status.calendar-event-dialog .calendar-event-eyebrow i{transform:rotate(45deg)scale(.85)}.calendar-tone-task.calendar-event-dialog .calendar-event-eyebrow i{border-radius:50%}.calendar-event-rows{border-top:1px solid var(--color-border);margin:0;display:grid}.calendar-event-rows>div{border-bottom:1px solid var(--color-border);grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px 0;font-size:14px;display:grid}.calendar-event-rows dt{color:var(--color-text-muted);font-size:13px}.calendar-event-rows dd{margin:0}.calendar-tone-schedule .calendar-event-rows dd{overflow-wrap:anywhere;white-space:pre-wrap}.calendar-event-actions{justify-content:flex-end}@media (max-width:1100px){.calendar-page{height:auto;min-height:0}.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-month,.calendar-timegrid{height:max(480px,100dvh - 200px)}}@media (max-width:800px){input:not([type=checkbox],[type=radio],[type=color],[type=file]),select,textarea,.field.attendance-time .time-select select{font-size:16px}h1{font-size:21px}.card{padding:16px}.button{white-space:nowrap}.page-stack,.stack,.form-grid,.company-info-grid{grid-template-columns:minmax(0,1fr)}.form-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.field select{padding-inline:8px 4px}.field>select{background-position:right 8px center;padding-right:30px}.date-field-button{gap:6px;padding-inline:8px;font-size:14px}.page-header,.page-heading{flex-wrap:wrap;gap:12px;position:relative}.page-header>div:first-child,.page-heading>div:first-child{flex:180px;min-width:0}.dashboard-header-actions,.toolbar-actions{flex-wrap:wrap}.card-header{flex-wrap:wrap;gap:6px 12px}.toolbar{flex-wrap:wrap;gap:10px}.labor-cost-head,.inline-form{flex-wrap:wrap}.inline-form .field{flex:140px;max-width:none}.tabs a{white-space:nowrap;flex:none}.applications-tabs-row>.tabs{align-self:stretch}.filter-bar>.switch,.filter-bar>.checkbox{grid-column:1/-1}.notification-menu{position:static}.notification-panel{width:auto;top:100%;left:0;right:0}.table-scroll>.data-table{width:max-content;min-width:100%}.data-table th,.data-table td{padding:10px 8px}.data-table th{white-space:nowrap}.data-table td{max-width:260px}.manage-staggered-details>.table-scroll>.data-table{width:100%}.data-table .dialog{white-space:normal}.period-popover:not(.dialog .period-popover){width:min(300px,100vw - 32px);height:fit-content;margin:auto;animation-name:period-popover-in-start;position:fixed;inset:0;transform:none;box-shadow:0 0 0 100vmax #26302859,0 18px 48px #2f3a2f2e}.dialog .form-columns:has(.date-field){grid-template-columns:minmax(0,1fr)}.timecard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.timecard-summary dd{white-space:normal}.plain-list li{grid-template-columns:minmax(0,1fr);gap:4px}.detail-grid{grid-template-columns:96px minmax(0,1fr)}.permission-menu-row{grid-template-columns:minmax(0,1fr) 60px 60px;padding:0 10px}.dialog{padding:18px 16px}.compliance-summary{flex-wrap:wrap;justify-content:flex-end}.compliance-summary .badge{white-space:nowrap}.calendar-filters .field,.calendar-employee-filter{flex:1;width:auto;min-width:0}.calendar-panel,.calendar-toolbar-panels{position:static}.calendar-toolbar{position:relative}.calendar-panel-body,.calendar-legend-panel .calendar-panel-body{width:auto;left:0}.calendar-panel-summary{max-width:110px}.calendar-detail-toggle,.calendar-detail-close{display:none}.calendar-toolbar-panels{justify-content:flex-end}.calendar-employee-popover{width:min(300px,100vw - 32px)}.calendar-toolbar{flex-flow:column;align-items:stretch}.calendar-toolbar-nav,.calendar-nav{justify-content:space-between}.calendar-month{grid-template-rows:auto repeat(var(--calendar-weeks), 64px);height:auto}.calendar-cell{align-items:center;padding:4px 2px 6px}.calendar-holiday-name,.calendar-day-events,.calendar-cell-add{display:none}.calendar-day-dots{flex-wrap:wrap;justify-content:center;gap:3px;max-width:34px;display:flex}.calendar-day-dots i{background:var(--tone-accent);border-radius:50%;width:6px;height:6px}.calendar-day-dots i.calendar-tone-status{--tone-accent:#8f9aa6}.calendar-day-dots i.calendar-tone-task{--tone-accent:var(--color-primary)}.calendar-nav .period-picker-button strong{white-space:nowrap;min-width:0;font-size:15px}.calendar-views{flex:100%}.calendar-views a{flex:1}.calendar-timegrid{--gutter:38px;height:72dvh}.calendar-timegrid-day{flex-direction:column;gap:1px;padding:5px 0}.calendar-timegrid.is-single .calendar-timegrid-day{flex-direction:row}.calendar-timegrid-day .calendar-holiday-name,.calendar-timegrid .calendar-timegrid-add{display:none}.calendar-timegrid-hours span{font-size:10px;right:5px}.calendar-timegrid:not(.is-single) .calendar-allday-item,.calendar-timegrid:not(.is-single) .calendar-timed-event{padding-inline:3px;font-size:10px}.calendar-timegrid:not(.is-single) .calendar-allday-item b,.calendar-timegrid:not(.is-single) .calendar-timed-location,.calendar-timegrid:not(.is-single) .calendar-timed-event b,.calendar-timegrid:not(.is-single) .calendar-timed-members{display:none}.calendar-timegrid:not(.is-single) .calendar-timed-event strong{font-size:10px}.calendar-timegrid.is-single .calendar-allday-lanes{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.weekly-chart text{font-size:20px}.trend-chart text{font-size:16px}}
