@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Lora:wght@400;500;600&display=swap";:root{color:#263931;font-synthesis:none;--green:#164f43;--line:#e2e9e5;--muted:#738078;--serif:"Lora",Georgia,serif;background:#f7f9f8;font-family:DM Sans,system-ui,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #39977d}button{transition:background .15s,color .15s}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font:500 2.65rem/1.2 var(--serif);letter-spacing:-.035em}h2{font-size:1.12rem;font-weight:650}h3{font-size:1.15rem}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:.875rem}.eyebrow{letter-spacing:.15em;color:#718579;margin-bottom:12px;font-size:.75rem;font-weight:650;display:block}.brand-mark{-o-object-fit:contain;object-fit:contain;flex-shrink:0;width:38px;height:38px;display:block}.brand{align-items:center;gap:10px;display:flex}.brand strong,.login-brand strong{letter-spacing:-.06em;font-size:1.45rem;font-weight:650}.location-pill{letter-spacing:.13em;color:#708278;background:#eef3f0;border:1px solid #dfe8e2;border-radius:5px;padding:6px 9px;font-size:.6875rem;font-weight:600}.danger-button,.danger-text,.primary,.quiet,.secondary,.text-button{white-space:nowrap;border:0;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:40px;padding:10px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.primary{background:var(--green);color:#fff;box-shadow:0 2px 3px #164f4310}.primary:hover:not(:disabled){background:#0c3e33}.primary>span{font-size:1.2rem;font-weight:400}.secondary{color:#3b5145;background:#fff;border:1px solid #d9e3dd}.secondary:hover:not(:disabled){background:#f3f7f4}.quiet{color:#5b6e62;background:0 0}.quiet:hover{background:#edf2ee}.text-button{color:var(--green);text-underline-offset:4px;background:0 0;justify-content:flex-start;padding:7px 0;text-decoration:underline}.danger-text{color:#a53e3e;background:0 0}.danger-button{color:#fff;background:#ab4040}.wide{width:100%}.icon-button{border:1px solid var(--line);color:#4e6557;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;display:inline-flex}.icon-button:hover{background:#edf2ee}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:20px;display:grid}.login-page{background:radial-gradient(at 50% 35%,#e8f1ec,#f7f9f8 65%);flex-direction:column;min-height:100vh;padding:56px 24px 30px}.login-brand,.login-page{align-items:center;display:flex}.login-brand{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:50px}.login-brand .location-pill{margin-left:8px}.login-card{background:#fff;border:1px solid #dce6de;border-radius:16px;width:min(100%,480px);padding:38px;box-shadow:0 12px 50px #193e2710}.login-card h1{margin-bottom:14px;font-size:2.2rem}.login-card>p{color:var(--muted);margin-bottom:28px;font-size:.9375rem}.login-card form{gap:17px;display:grid}label{gap:8px;font-size:.875rem;font-weight:550;display:grid}input,select{color:#293b30;background:#fff;border:1px solid #d4dfd7;border-radius:7px;width:100%;min-width:0;padding:11px 12px}input::placeholder{color:#98a39c}label small{color:var(--muted);font-size:.8125rem;font-weight:400;line-height:1.5}.login-foot{color:#84928a;margin-top:28px;font-size:.8125rem}.demo-login{border-top:1px solid var(--line);margin-top:27px;padding-top:23px}.demo-tag{letter-spacing:.08em;color:#89692e;white-space:nowrap;background:#f1e9d5;border-radius:4px;padding:5px 8px;font-size:.6875rem;font-weight:600}.demo-login p{color:var(--muted);margin:12px 0 15px;font-size:.875rem}.demo-actions{gap:9px;display:flex}.demo-actions button{flex:1}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:5;background:#fff;flex-direction:column;width:220px;height:100vh;padding:30px 18px;display:flex;position:fixed}.sidebar .brand{margin-left:10px}.sidebar .brand strong{letter-spacing:-.03em;font-size:1.05rem;line-height:1.25}.workspace-label{letter-spacing:.15em;color:#839187;margin:42px 12px 20px;font-size:.625rem;font-weight:650}.workspace-label span{letter-spacing:0;color:#65776b;margin-top:8px;font-size:.8125rem;font-weight:400;display:block}.sidebar nav{gap:6px;display:grid}.sidebar nav>button{color:#6c7c72;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;min-height:44px;padding:13px 12px;font-size:.875rem;display:flex}.sidebar nav>button>span{width:20px;font-size:1.2rem}.sidebar nav>button.active{color:var(--green);background:#eaf2ed;font-weight:650}.sidebar nav>button:hover{background:#f1f5f2}.nav-count{background:#d5e8db;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:.75rem}.sidebar-bottom{margin-top:auto}.location{color:#52665a;align-items:center;gap:11px;margin:0 10px 26px;font-size:.8125rem;display:flex}.location>span{color:#7c9684;font-size:1.45rem}.location small{color:#8a978e;margin-top:5px;font-size:.75rem;display:block}.profile{border:0;border-top:1px solid var(--line);text-align:left;color:#38503e;background:0 0;align-items:center;gap:10px;width:100%;padding:18px 5px 0;font-size:.8125rem;display:flex}.profile small{color:#8b978f;margin-top:5px;font-size:.75rem;display:block}.profile-menu{margin-left:auto;font-size:1.15rem}.avatar{--person:#164f43;background:color-mix(in srgb,var(--person) 12%,#fff);width:34px;height:34px;color:var(--person);letter-spacing:.03em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:700;display:inline-flex}.workspace{flex-direction:column;flex:1;min-width:0;margin-left:220px;display:flex}.topbar{border-bottom:1px solid var(--line);color:#6d7b71;background:#fff;justify-content:space-between;height:74px;padding:0 40px;font-size:.875rem}.topbar,.topbar>div{align-items:center;display:flex}.topbar>div{gap:16px}.main-content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:36px 40px 28px}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:29px;display:flex}.page-heading .eyebrow{margin-bottom:10px;font-size:.625rem}.page-heading p{color:#829086;margin-top:12px;font-size:.875rem}.page-heading .primary{align-self:center;margin-top:8px}.summary-strip{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 1fr 1.4fr;margin-bottom:26px;padding:18px 10px;display:grid}.summary-strip>div{align-items:center;gap:13px;padding:0 23px;display:flex}.summary-strip>div+div{border-left:1px solid var(--line)}.stat-icon{color:#6d8f78;background:#edf4ef;border:1px solid #e3ece6;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.15rem;display:flex}.summary-strip strong{font-size:1.1rem;font-weight:600;display:block}.summary-strip em{font-size:.875rem;font-style:normal;font-weight:450}.summary-strip small{color:#8a968e;margin-top:5px;font-size:.75rem;display:block}.calendar-layout{grid-template-columns:minmax(0,1fr) 230px;gap:26px;display:grid}.calendar-panel{border:1px solid var(--line);background:#fff;border-radius:10px;align-self:start;overflow:hidden}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:22px 20px;display:flex}.month-navigation{align-items:center;gap:13px;display:flex}.month-navigation h2{font:500 1.35rem var(--serif);white-space:nowrap}.month-arrows{gap:4px;display:flex}.today-button{border:1px solid var(--line);min-height:32px;padding:5px 10px;font-size:.8125rem}.filter-label select{max-width:180px;padding:8px 25px 8px 10px;font-size:.8125rem}.weekday-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfdfc;grid-template-columns:repeat(7,1fr);display:grid}.weekday-row span{color:#8b978e;padding:13px 14px;font-size:.6875rem;font-weight:550}.weekday-row span:nth-last-child(-n+2){color:#a7b0aa}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.day-cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:111px;padding:9px 5px;position:relative;overflow:hidden}.day-cell:nth-child(7n){border-right:0}.day-cell.weekend{background:#f7f9f7}.day-cell.other-month{background:#fafcfb}.other-month .day-number{opacity:.35}.day-number{color:#566b5d;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin:0 0 5px 4px;padding:0;font-size:.75rem;display:flex}.day-number.today{background:var(--green);color:#fff;opacity:1}.day-number:hover:not(:disabled):not(.today){background:#e4ede6}.day-number:disabled{opacity:1;color:#859589}.other-month .day-number:disabled{opacity:.35}.public-holiday{background:#fffcf5!important}.holiday-name{color:#9a7a36;overflow-wrap:anywhere;margin:3px 6px 7px;font-size:.625rem;font-weight:550;line-height:1.45;display:block}.calendar-event{background:color-mix(in srgb,var(--person) 12%,#fff);width:100%;color:var(--person);text-align:left;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;min-height:24px;margin-top:4px;padding:5px 4px;font-size:.625rem;line-height:1.25;display:flex}.calendar-event:hover{filter:brightness(.96)}.calendar-event.pending{border:1px dashed color-mix(in srgb,var(--person) 45%,#fff);background:color-mix(in srgb,var(--person) 4%,#fff)}.event-dot{background:var(--person);border-radius:50%;flex-shrink:0;width:4px;height:4px}.event-full,.event-short{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-short{display:none}.pending-mark{flex-shrink:0;margin-left:auto}.calendar-legend{color:#849087;flex-wrap:wrap;gap:20px;padding:17px 20px;font-size:.6875rem;display:flex}.calendar-legend>span{align-items:center;gap:6px;display:flex}.legend-square{border-radius:2px;width:9px;height:9px;display:inline-block}.legend-square.approved{background:#8cab98}.legend-square.pending{background:#f5f8f5;border:1px dashed #8cab98}.legend-square.holiday{background:#f1ddb0}.calendar-aside{padding-top:6px}.section-label{justify-content:space-between;align-items:center;display:flex}.section-label h2{font-size:.9375rem}.section-label>span{color:#929b94;font-size:.6875rem}.side-section>p{margin-top:8px;font-size:.75rem}.upcoming-item{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:flex-start;gap:10px;width:100%;padding:20px 0;display:flex}.upcoming-item:hover{background:#eff4f0}.upcoming-item strong{color:#465d4f;font-size:.8125rem;font-weight:600;display:block}.upcoming-item small{color:#859188;margin-top:7px;font-size:.75rem;display:block}.upcoming-meta{color:#8a978e;margin-top:8px;font-size:.6875rem;display:block}.status-text.pending{color:#a07839;margin-left:5px;font-weight:500}.holiday-section .eyebrow{letter-spacing:.12em;margin-bottom:8px;font-size:.5625rem}.holiday-section h2{font:500 1.15rem var(--serif)}.holiday-section>p{margin-top:7px;font-size:.75rem}.holiday-row{color:#5b705c;gap:11px;margin-top:19px;font-size:.75rem}.holiday-date,.holiday-row{align-items:center;display:flex}.holiday-date{color:#526e53;background:#f8fbf5;border:1px solid #dbe5d7;border-radius:5px;flex-direction:column;flex-shrink:0;justify-content:center;width:35px;height:42px;font-size:.875rem}.holiday-date small{text-transform:uppercase;margin-top:2px;font-size:.5625rem}.holiday-row>span:last-child>small{color:#8d9b89;margin-top:5px;font-size:.6875rem;display:block}.holiday-section .text-button{margin-top:14px;font-size:.75rem}.calendar-note{color:#8e9b90;margin:18px 7px;font-size:.6875rem;line-height:1.65}.app-footer{color:#98a49b;margin-top:15px;padding:0 40px 25px;font-size:.6875rem}.app-footer,.notice{justify-content:space-between;display:flex}.notice{color:var(--green);background:#e8f3ec;border:1px solid #cce3d3;border-radius:7px;gap:12px;margin-bottom:18px;padding:13px 17px;font-size:.875rem}.notice button{color:inherit;background:0 0;border:0;font-size:1.2rem}.error{color:#a04440;background:#fff2f0;border-radius:6px;padding:11px 13px;font-size:.875rem;line-height:1.5}.year-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;font-size:.875rem;display:flex}.year-toolbar label{align-items:center;gap:10px;display:flex}.year-toolbar select{width:105px}.my-stats{gap:18px;margin-bottom:25px;display:flex}.my-stats>div{border:1px solid var(--line);background:#fff;border-radius:9px;flex:1;padding:22px 28px}.my-stats strong{font:500 2.15rem var(--serif);color:var(--green);display:block}.my-stats span{color:var(--muted);margin-top:8px;font-size:.875rem;display:block}.requests-panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:25px;padding:24px}.panel-heading,.requests-panel>h2{margin-bottom:14px}.panel-heading{justify-content:space-between;gap:12px}.panel-heading,.request-row{align-items:center;display:flex}.request-row{border-top:1px solid var(--line);gap:18px;padding:20px 0;font-size:.875rem}.request-row>div:not(.row-actions){flex:1;min-width:0}.request-row strong{font-weight:550}.request-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:7px;font-size:.8125rem;display:block}.badge{text-transform:capitalize;color:#718477;white-space:nowrap;background:#edf1ee;border-radius:5px;padding:5px 9px;font-size:.75rem;font-weight:550;display:inline-block}.badge.approved{color:#3b7954;background:#e6f1e9}.badge.pending{color:#a0803c;background:#fbf0db}.badge.declined{color:#a45b57;background:#fbe7e5}.badge.cancelled{color:#ce0101;background:#ffcaca}.row-actions{flex-shrink:0;gap:8px;display:flex}.approval-setting{background:#eef4ef;border:1px solid #d8e5dc;border-radius:10px;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px;padding:25px;display:flex}.approval-setting p{color:#617969;margin-top:8px;font-size:.875rem}.approval-setting small{color:#87988b;margin-top:8px;font-size:.75rem;line-height:1.6;display:block}.switch{background:#bac7be;border:0;border-radius:18px;flex-shrink:0;width:48px;height:28px;padding:3px}.switch span{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;display:block;box-shadow:0 1px 3px #0002}.switch.on{background:var(--green)}.switch.on span{transform:translate(20px)}.count-badge{color:#5b7b62;background:#edf3ee;border-radius:4px;margin-left:8px;padding:3px 7px;font-size:.75rem;display:inline-flex}.empty-inline{color:var(--muted);align-items:center;gap:10px;padding:24px 0 5px;font-size:.875rem;display:flex}.empty-inline>span{color:#6d9c7a}.empty-state{text-align:center;justify-items:center;gap:17px;padding:45px 20px;display:grid}.empty-state p{color:var(--muted);font-size:.875rem}.empty-icon{color:#9ab69f;font-size:2.5rem}.empty-small{color:var(--muted);padding:25px 0;font-size:.8125rem}.empty-small button{font-size:.8125rem;display:block}.inactive-user{opacity:.65}.modal{border:1px solid var(--line);color:#293f30;background:#fff;border-radius:14px;width:min(520px,100% - 32px);max-height:calc(100dvh - 40px);padding:0;box-shadow:0 18px 100px #163a2730}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#15382d60}.modal-inner{padding:34px;position:relative}.modal-close{border:0;font-size:1.5rem;position:absolute;top:15px;right:15px}.modal h2{font:500 1.8rem/1.25 var(--serif);letter-spacing:-.025em;margin-bottom:15px;padding-right:18px}.modal p{margin-bottom:23px;font-size:.875rem}.modal form{gap:18px;display:grid}.modal form p{margin:0}.modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;margin-top:5px;display:flex}.date-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.quote-box{background:#f1f6f1;border:1px solid #dbe8dd;border-radius:8px;padding:19px}.quote-box>strong{color:#406b48;font-size:1.15rem;font-weight:600;display:block}.quote-box>small{color:#7f9582;margin-top:8px;font-size:.75rem;line-height:1.6;display:block}.quote-holiday{color:#9a7a36;font-size:.8125rem;display:block}.quote-box .error,.quote-holiday{margin-top:12px}.detail-date{margin-bottom:16px!important;font-size:1.1rem!important}.modal .badge{margin-bottom:20px}.modal .quote-box{margin-bottom:0}.modal .quote-box+.error{margin-top:16px}.modal .quote-box+.modal-actions{margin-top:20px}.all-holidays{margin-bottom:20px}.all-holidays>div{border-top:1px solid var(--line);justify-content:space-between;gap:14px;padding:13px 0;font-size:.8125rem;display:flex}.all-holidays strong{white-space:nowrap;color:#7e8c81;font-weight:500}.profile-actions{gap:12px;display:flex}@media (width>=1500px){.day-cell{min-height:135px}.calendar-event{font-size:.75rem}.day-number,.weekday-row span{font-size:.8125rem}.holiday-name{font-size:.75rem}}@media (width<=1200px){.sidebar{width:195px;padding-left:12px;padding-right:12px}.workspace{margin-left:195px}.main-content{padding:30px 26px}.topbar{padding:0 26px}.calendar-layout{grid-template-columns:minmax(0,1fr) 200px;gap:18px}.calendar-toolbar{padding:18px 14px}.month-navigation{gap:8px}.month-navigation h2{font-size:1.18rem}.today-button{display:none}.summary-strip>div{padding:0 15px}.summary-strip strong{font-size:1rem}.summary-strip em{font-size:.8125rem}.calendar-event .event-full{display:none}.calendar-event .event-short{display:block}.row-actions .quiet{padding:8px;font-size:.8125rem}}@media (width<=1020px){.calendar-layout{grid-template-columns:1fr}.calendar-aside{grid-template-columns:1fr 1fr;gap:24px;display:grid}.holiday-section{margin-top:0}.calendar-note{grid-column:1/-1;margin-top:0}.day-cell{min-height:116px}.calendar-event{font-size:.75rem}.calendar-event .event-full{display:block}.calendar-event .event-short{display:none}.summary-strip>div{gap:9px;padding:0 12px}.stat-icon{display:none}.team-row{flex-wrap:wrap}.team-row .row-actions{justify-content:flex-end;width:100%}.admin-request .row-actions{flex-direction:column}.app-footer{padding-left:26px;padding-right:26px}}@media (width<=760px){h1{font-size:2.1rem}.sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;padding:15px 18px 0;position:relative}.sidebar .brand{margin-left:0}.brand-mark{width:32px;height:32px}.sidebar .brand strong{font-size:1.05rem}.sidebar .brand{padding-right:44px}.sidebar nav{gap:3px;margin-top:17px;display:flex;overflow-x:auto}.sidebar nav>button{white-space:nowrap;border-radius:6px 6px 0 0;flex:1;gap:6px;padding:12px 9px;font-size:.8125rem}.sidebar nav>button>span{width:auto;font-size:1.1rem}.location,.workspace-label{display:none}.sidebar-bottom{position:absolute;top:13px;right:18px}.profile{border:0;width:auto;padding:0}.profile>span:not(.avatar){display:none}.profile .avatar{width:36px;height:36px;font-size:.75rem}.app-shell{display:block}.workspace{margin-left:0}.topbar{height:47px;padding:0 18px;font-size:.75rem}.topbar>div{gap:8px}.main-content{padding:26px 18px 20px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:22px}.page-heading .eyebrow{letter-spacing:.1em;font-size:.5625rem}.page-heading p{max-width:220px;margin-top:9px;font-size:.8125rem}.page-heading .primary{align-self:flex-start;min-height:39px;margin-top:27px;padding:10px 12px;font-size:.8125rem}.summary-strip{margin-bottom:21px;padding:14px 0}.summary-strip>div{padding:0 10px;display:block}.summary-strip strong{font-size:.875rem}.summary-strip em{margin-top:3px;font-size:.75rem;display:block}.summary-strip small{font-size:.625rem;line-height:1.5}.calendar-toolbar{gap:7px;padding:15px 11px}.month-navigation{gap:9px}.month-navigation h2{font-size:1.125rem}.icon-button{width:28px;height:28px}.filter-label select{max-width:119px;padding:7px 4px;font-size:.75rem}.weekday-row span{padding:10px 7px;font-size:.625rem}.day-cell{min-height:100px;padding:6px 2px}.day-number{width:25px;height:25px;margin-left:2px;font-size:.75rem}.calendar-event{gap:3px;min-height:23px;padding:4px 3px;font-size:.625rem}.calendar-event .event-full{display:none}.calendar-event .event-short{display:block}.event-dot{width:3px;height:3px}.pending-mark{display:none}.holiday-name{margin:4px 3px;font-size:.625rem;line-height:1.45}.calendar-legend{gap:12px;padding:13px 10px;font-size:.625rem}.calendar-aside{grid-template-columns:1fr;gap:18px;padding-top:5px}.side-section{padding:9px 2px}.side-section>p{font-size:.8125rem}.upcoming-item{padding:16px 0}.upcoming-item strong{font-size:.875rem}.upcoming-item small{font-size:.8125rem}.upcoming-meta{font-size:.75rem}.holiday-section{padding:22px}.holiday-row{font-size:.8125rem}.calendar-note{margin:0;font-size:.75rem}.app-footer{gap:10px;padding:5px 18px 20px;font-size:.625rem}.requests-panel{padding:19px 16px}.request-row{flex-wrap:wrap;gap:12px}.request-row>.secondary{margin-left:auto}.request-row .badge{font-size:.6875rem}.requests-panel h2{font-size:1rem}.my-stats{gap:10px}.my-stats>div{padding:20px 16px}.my-stats span{font-size:.8125rem;line-height:1.5}.year-toolbar{font-size:.75rem}.approval-setting{align-items:flex-start;gap:20px;padding:20px}.approval-setting h2{font-size:1rem}.approval-setting small{font-size:.75rem}.admin-request .row-actions{flex-direction:row;justify-content:flex-end;width:100%}.team-row .row-actions{justify-content:flex-start;gap:4px;padding-left:44px}.empty-inline{line-height:1.6}.modal-inner{padding:30px 23px 25px}.modal h2{font-size:1.65rem}.date-fields{gap:10px}.date-fields input{padding:10px 8px;font-size:.875rem}.login-page{padding-top:30px}.login-brand{margin-bottom:30px}.login-card{padding:28px 25px}.login-card h1{font-size:1.95rem}.demo-actions{flex-wrap:wrap}.demo-actions button{white-space:normal}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.calendar-event,.calendar-legend,.day-number,.holiday-name,.weekday-row span{font-size:.75rem}.summary-strip small{font-size:.8125rem}.upcoming-item strong{font-size:.875rem}.upcoming-item small,.upcoming-meta{font-size:.8125rem}.holiday-row{font-size:.875rem}.app-footer,.calendar-note,.holiday-section .eyebrow,.holiday-section .text-button,.holiday-section>p,.section-label>span,.topbar .demo-tag{font-size:.75rem}@media (width<=760px){.calendar-event,.summary-strip small{font-size:.75rem}.event-dot{display:none}.calendar-legend,.holiday-name{font-size:.75rem}.calendar-toolbar,.month-navigation{flex-wrap:wrap}.date-fields{grid-template-columns:1fr}.day-cell{min-height:110px}.team-row .row-actions{flex-wrap:wrap;padding-left:0}.page-heading{flex-wrap:wrap}.page-heading .primary{margin-top:0}.page-heading p{max-width:none}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip>div:nth-child(3){border-left:0;border-top:1px solid var(--line);grid-column:1/-1;margin-top:13px;padding-top:13px}.summary-strip>div:nth-child(3) strong{align-items:baseline;gap:7px;display:flex}.summary-strip>div:nth-child(3) strong em{margin-top:0}}.holiday-short,.nav-mobile{display:none}.sidebar nav>button>.nav-desktop{font-size:inherit;width:auto}.holiday-name{text-align:left;background:0 0;border:0;width:calc(100% - 12px);padding:0}.holiday-name:hover{text-underline-offset:2px;text-decoration:underline}@media (width<=760px){.sidebar nav>button{justify-content:center;gap:5px;padding:12px 7px;font-size:.875rem}.sidebar nav>button>.nav-desktop,.sidebar nav>button>span:first-child{display:none}.sidebar nav>button>.nav-mobile{font-size:inherit;width:auto;display:inline}.holiday-full{display:none}.holiday-short{white-space:nowrap;display:block}.holiday-name{width:calc(100% - 2px);margin-left:1px;font-size:.75rem}.topbar{gap:8px}.topbar>div{gap:5px}.topbar .demo-tag{font-size:.625rem}.location-pill{padding:5px 6px}}.year-day.has-leave.weekend{color:#506858}.year-day.has-leave.is-holiday{border-color:#c39738}.year-day.has-leave:hover{filter:brightness(.96)}.calendar-layout{display:block}.annual-panel{overflow:visible}.annual-toolbar{padding:22px 24px}.year-navigation{align-items:center;gap:16px;display:flex}.year-navigation h2{font:500 1.7rem var(--serif)}.year-navigation .secondary{min-height:34px;padding:7px 12px;font-size:.8125rem}.annual-legend{color:#657a6c;flex-wrap:wrap;align-items:center;gap:19px;padding:0 24px 16px;font-size:.8125rem;display:flex}.annual-legend>span{align-items:center;gap:7px;display:flex}.annual-legend .muted{margin-left:auto;font-size:.75rem}.team-color-key{border-top:1px solid var(--line);flex-wrap:wrap;gap:7px;padding:14px 20px;display:flex}.person-key{color:#657a6c;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:7px;padding:7px 9px;font-size:.8125rem;display:flex}.person-key i{border-radius:50%;width:8px;height:8px}.person-key.selected,.person-key:hover{color:var(--green);background:#eaf2ed;border-color:#d6e6dc}.year-month-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;padding:25px 24px 28px;display:grid}.mini-month{min-width:0}.mini-month h3{font:500 1.12rem var(--serif);margin:0 0 16px 5px}.mini-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:6px;display:grid}.mini-weekdays>span{text-align:center;color:#86948a;padding:3px 0;font-size:.75rem}.mini-weekdays>span:nth-last-child(-n+2){color:#a0aba3}.mini-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.year-day{color:#506858;background:#fff;border:1px solid #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;height:39px;padding:3px 0;font-size:.875rem;display:flex}.year-day.weekend{color:#99a69d;background:#f4f7f4}.year-day.has-leave{background:#edf3ef}.year-day.is-holiday{color:#907031;background:#faf0d9;border-color:#f1e2bd}.year-day.is-today{border-color:var(--green)}.year-day.is-today .year-day-number{color:var(--green);font-weight:700}.year-day:hover:not(.blank){background:#dfebe2;border-color:#8bad96}.year-day.blank{pointer-events:none;background:0 0}.booking-icons{gap:1px;max-width:100%;display:flex}.booking-icon,.booking-icons{justify-content:center;align-items:center;height:12px}.booking-icon{flex-shrink:0;width:10px;font-size:.625rem;font-style:normal;line-height:1;display:inline-flex}.booking-icon.pending{opacity:.45}.annual-legend .booking-icon{width:16px;height:18px;font-size:1rem}.year-day{gap:2px}.booking-icons small{color:#5b6c60;font-size:.625rem;line-height:1}.calendar-aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:28px 0 0;display:grid}.holiday-section{margin-top:0}.calendar-note{grid-column:1/-1;margin-top:0}.day-holiday-note{color:#907031;background:#faf0d9;border-radius:6px;padding:11px 13px}.day-bookings{margin:14px 0 24px}.day-booking-row{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:inherit;background:0 0;align-items:center;gap:12px;padding:16px 0;display:flex}.day-booking-row>span:nth-child(2){flex:1;min-width:0}.day-booking-row strong{font-size:.875rem;font-weight:550;display:block}.day-booking-row small{color:var(--muted);margin-top:6px;font-size:.8125rem;display:block}.day-booking-row .badge{margin-bottom:0}.day-booking-row:hover{background:#f1f6f1}@media (width>=1280px){.year-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1100px){.year-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-legend .muted{width:100%;margin-left:0}}@media (width<=700px){.year-month-grid{grid-template-columns:1fr;gap:30px;padding:22px 15px}.annual-toolbar{padding:18px 15px}.year-navigation{gap:10px}.year-navigation h2{font-size:1.4rem}.annual-legend{gap:12px;padding:0 15px 16px;font-size:.75rem}.annual-toolbar .filter-label{width:100%}.annual-toolbar .filter-label select{max-width:none;font-size:.875rem}.team-color-key{gap:4px;padding:12px 10px}.person-key{padding:7px;font-size:.8125rem}.year-day{height:44px}.mini-month h3{font-size:1.2rem}.mini-weekdays>span{font-size:.8125rem}.calendar-aside{grid-template-columns:1fr;gap:18px}.year-navigation .secondary{font-size:.8125rem}.day-booking-row{flex-wrap:wrap}.day-booking-row .badge{font-size:.75rem}}.my-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-balance{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:22px;padding:24px}.holiday-balance .panel-heading{flex-wrap:wrap;gap:12px}.holiday-balance .panel-heading>strong{color:var(--green);font-size:1.25rem}.balance-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0;display:grid}.balance-breakdown span{color:var(--muted);font-size:.8125rem}.balance-breakdown strong{color:#263931;margin-top:5px;font-size:1.25rem;display:block}.allowance-row small{line-height:1.6}.filter-label input{width:90px}@media (width<=760px){.holiday-balance{padding:20px 16px}.balance-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}}.sidebar{width:260px;height:100dvh}.workspace{margin-left:260px}.sidebar>.brand,.sidebar>.sidebar-bottom,.sidebar>.workspace-label,.sidebar>nav{flex-shrink:0}.sidebar .calendar-aside{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:20px;min-height:0;margin:22px 0 18px;padding:0 6px 0 0;display:flex;overflow-y:auto}.sidebar .side-section{padding:0}.sidebar .section-label h2{font-size:1rem}.sidebar .upcoming-item{gap:8px;padding:12px 0}.sidebar .upcoming-item .avatar{flex-shrink:0;width:30px;height:30px;font-size:.6875rem}.sidebar .upcoming-item>span:last-child{overflow-wrap:anywhere;min-width:0}.sidebar .upcoming-item strong{font-size:.8125rem}.sidebar .upcoming-item small,.sidebar .upcoming-meta{font-size:.75rem;line-height:1.5}.sidebar .holiday-row{gap:8px;font-size:.75rem}.sidebar .calendar-note{grid-column:auto;margin:0;font-size:.6875rem}.sidebar .calendar-aside+.sidebar-bottom,.sidebar .profile{margin-top:0}@media (width<=760px){.sidebar{width:100%;height:auto;padding-bottom:0;position:relative}.workspace{margin-left:0}.sidebar .calendar-aside{flex:none;gap:16px;max-height:240px;margin:16px 0;padding:0 4px 0 0}.sidebar .side-section{padding:0}.sidebar .sidebar-bottom{margin-top:0}}.sidebar-accordion>summary{cursor:pointer;color:#465d4f;align-items:center;gap:10px;min-height:36px;padding:5px;font-size:.875rem;font-weight:600;list-style:none;display:flex}.sidebar-accordion>summary::-webkit-details-marker{display:none}.sidebar-accordion>summary small{color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:400}.sidebar-accordion>summary:after{content:"▸";color:var(--muted);margin-left:auto;font-size:1rem}.sidebar-accordion>summary small+:after{margin-left:0}.sidebar-accordion[open]>summary:after{content:"▾"}.sidebar-accordion[open]>summary{margin-bottom:12px}.sidebar-accordion>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}.sidebar .calendar-aside{gap:12px}.year-day.has-birthday{box-shadow:inset 0 0 0 1px #d5a766}.day-birthdays{background:#fff5e3;border-radius:8px;margin-bottom:16px;padding:12px 14px}.day-birthdays p{margin:0;font-size:.875rem}.day-birthdays p+p{margin-top:10px}.register-link{margin-top:12px}.mobile-menu-toggle{display:none}@media (width<=760px){.sidebar{min-height:66px;padding-bottom:14px}.sidebar .brand{padding-right:88px}.mobile-menu-toggle{border:1px solid var(--line);width:36px;height:36px;color:var(--green);background:#fff;border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;display:flex;position:absolute;top:13px;right:64px}.mobile-menu-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}.sidebar nav{margin-top:16px;display:none;overflow:visible}.sidebar nav.is-open{border-top:1px solid var(--line);gap:6px;padding:8px 0;display:grid}.sidebar nav>button{border-radius:7px;flex:none;justify-content:flex-start;min-height:44px;padding:12px;font-size:.875rem}.sidebar nav>button>span:first-child{width:20px;font-size:1.1rem;display:inline}.sidebar nav>button>.nav-desktop{width:auto;font-size:inherit;display:inline}.sidebar nav>button>.nav-mobile{display:none}.sidebar nav .nav-count{margin-left:auto}}.year-day.is-school-holiday{border-bottom:3px solid #6b9dce}.legend-square.school-holiday{background:#edf5fc;border:1px solid #6b9dce;border-bottom-width:3px}.school-holiday-toggle{color:#506858;cursor:pointer;align-items:center;gap:7px;font-size:.8125rem;display:flex}.school-holiday-toggle input{width:16px;height:16px;accent-color:var(--green);margin:0}.day-school-holiday-note{color:#426483;background:#edf5fc;border-left:3px solid #6b9dce;border-radius:6px;padding:12px 14px}.sidebar .school-holiday-section{background:#f2f7fc;border-color:#d7e5f2}.school-holiday-period{border-top:1px solid #d7e5f2;padding:10px 0}.school-holiday-period strong{color:#426483;font-size:.75rem;display:block}.school-holiday-period small{color:var(--muted);margin-top:4px;font-size:.6875rem;line-height:1.5;display:block}.school-holiday-notice{color:var(--muted);padding:0 24px 16px;font-size:.75rem}@media (width<=760px){.annual-toolbar{flex-wrap:wrap}.school-holiday-toggle{font-size:.75rem}.school-holiday-notice{padding:0 12px 12px}}.document-link{justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.notice .document-link{margin-left:10px;font-size:.8125rem;text-decoration:underline}.summary-month-button{align-items:center;gap:inherit;width:100%;min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;display:flex}.summary-month-button:hover{background:#f1f6f2}.summary-month-button:focus-visible{outline:2px solid var(--green);outline-offset:6px}.mini-month{scroll-margin-top:20px}.mini-month:focus-visible{outline:2px solid var(--green);outline-offset:8px;border-radius:4px}@media (width<=760px){.summary-month-button{display:block}}.yearly-report-form{flex-wrap:wrap;align-items:flex-end;gap:16px;margin:20px 0;display:flex}.yearly-report-form label{flex:1;min-width:140px}.yearly-report-form .primary{min-height:44px}.yearly-report-panel>p{line-height:1.6}@media (width<=760px){.yearly-report-form{gap:12px}.yearly-report-form .primary{width:100%}}.sidebar-shortcuts,.sidebar-toggle{display:none}.sidebar nav>button>.nav-label{width:auto;font-size:inherit}@media (width>=761px){.sidebar{padding-top:60px;transition:width .2s}.workspace{transition:margin-left .2s}.sidebar-toggle{border:1px solid var(--line);width:32px;height:32px;color:var(--green);background:#fff;border-radius:7px;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:flex;position:absolute;top:14px;right:18px}.sidebar-toggle:hover{background:#edf2ee}.sidebar-collapsed .sidebar{width:80px;padding-left:12px;padding-right:12px}.sidebar-collapsed .workspace{margin-left:80px}.sidebar-collapsed .sidebar-toggle{right:24px}.sidebar-collapsed .sidebar .brand{justify-content:center;margin-left:0}.sidebar-collapsed .brand strong,.sidebar-collapsed .profile>span:not(.avatar),.sidebar-collapsed .sidebar .calendar-aside,.sidebar-collapsed .workspace-label{display:none}.sidebar-collapsed .sidebar nav{margin-top:30px}.sidebar-collapsed .sidebar nav>button{justify-content:center;min-height:46px;padding:12px;position:relative}.sidebar-collapsed .sidebar nav>button>.nav-desktop,.sidebar-collapsed .sidebar nav>button>.nav-label,.sidebar-collapsed .sidebar nav>button>.nav-mobile{display:none}.sidebar-collapsed .sidebar nav .nav-count{margin:0;padding:1px 4px;font-size:.625rem;position:absolute;top:2px;right:0}.sidebar-collapsed .sidebar-shortcuts{border-top:1px solid var(--line);gap:6px;margin-top:20px;padding-top:16px;display:grid}.sidebar-shortcuts button{color:#6c7c72;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;min-height:44px;font-size:1.3rem;display:flex}.sidebar-shortcuts button:hover{color:var(--green);background:#edf2ee}.sidebar-collapsed .sidebar .sidebar-bottom{margin-top:auto}.sidebar-collapsed .profile{justify-content:center;padding:18px 0 0}}.sick-note-checkbox{cursor:pointer;align-items:center;gap:10px;display:flex}.sick-note-checkbox input{width:18px;height:18px;accent-color:var(--green);margin:0;padding:0}.annual-toolbar{flex-wrap:wrap;gap:14px}.absence-type-filter{gap:6px;font-size:.8125rem}.annual-toolbar .absence-type-filter select{width:150px;max-width:none}@media (width<=760px){.annual-toolbar .absence-type-filter select{width:100%}}.year-day.is-indonesia-holiday{border-top:3px solid #cf5e62}.legend-square.indonesia-holiday{background:#fdebed;border:1px solid #cf5e62;border-top-width:3px}.indonesia-holiday-notice{color:var(--muted);padding:0 24px 16px;font-size:.75rem}.indonesia-holiday-notice a{text-underline-offset:3px;text-decoration:underline}.day-indonesia-holiday-note{color:#924448;background:#fdebed;border-left:3px solid #cf5e62;border-radius:6px;margin-top:10px;padding:12px 14px}.day-indonesia-holiday-note small{margin-top:5px;display:block}@media (width<=760px){.indonesia-holiday-notice{padding:0 12px 12px}}.sidebar .indonesia-holiday-section{background:#fff5f5;border-color:#f0d4d6}.indonesia-holiday-period{border-top:1px solid #f0d4d6;padding:10px 0}.indonesia-holiday-period strong{color:#924448;font-size:.75rem;display:block}.indonesia-holiday-period small{color:var(--muted);margin-top:4px;font-size:.6875rem;line-height:1.5;display:block}.indonesia-holiday-section>.school-holiday-toggle,.indonesia-holiday-section>p{margin:10px 0}.sidebar .indonesia-holiday-section .text-button{white-space:normal}.legend-square.event-square{background:#dcecff;border:1px solid #2878c8}.event-legend,.event-title{color:#2878c8}.event-title{margin:16px 0;font-weight:600}.year-day.has-event{border-right:3px solid #2878c8}.badge.event-badge{color:#2878c8;background:#e7f1fc}.event-booking-form .primary{background:#2878c8}.event-booking-form .primary:hover:not(:disabled){background:#1d60a4}.year-day.is-upper-austria-holiday{border-left:3px solid #9265b8}.legend-square.upper-austria-holiday{background:#f3eafa;border:1px solid #9265b8;border-left-width:3px}.sidebar .upper-austria-holiday-section{background:#f8f3fc;border-color:#e3d5ee}.upper-austria-holiday-period{border-top:1px solid #e3d5ee;padding:10px 0}.upper-austria-holiday-period strong{color:#704a91;font-size:.75rem;display:block}.upper-austria-holiday-period small{color:var(--muted);margin-top:4px;font-size:.6875rem;line-height:1.5;display:block}.school-holiday-section>.school-holiday-toggle,.upper-austria-holiday-section>.school-holiday-toggle,.upper-austria-holiday-section>p{margin:10px 0}.sidebar .upper-austria-holiday-section .text-button{white-space:normal}.day-upper-austria-holiday-note{color:#704a91;background:#f3eafa;border-left:3px solid #9265b8;border-radius:6px;margin-top:10px;padding:12px 14px}.day-upper-austria-holiday-note small{margin-top:5px;display:block}.sidebar .sidebar-accordion>:not(summary){padding:5px}
