:root{--ink:#23402b;--muted:#7e8a78;--green:#78bd2b;--deep:#285731;--orange:#fa9635;--paper:#f7f8f2;--line:#e6ebdf;--shadow:0 9px 30px #29482905;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:#fff;padding:10px 15px;border-radius:11px;font-weight:600;transition:background .15s}button:hover{background:#eff5e7}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--deep);color:white;border-color:var(--deep)}button.orange{background:var(--orange);border-color:var(--orange);color:#412c11}button.link{border:0;background:transparent;padding:4px;color:var(--deep)}button.danger{color:#b95644}button.small{font-size:12px;padding:7px 10px}input,select{border:1px solid #dce4d3;background:white;border-radius:9px;padding:10px;min-width:0}input[type=checkbox]{accent-color:var(--deep);width:17px;height:17px;cursor:pointer}input[type=number]{max-width:150px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffb26a;outline-offset:2px}a{color:var(--deep)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.7px;margin-bottom:8px}h2{font-size:19px;letter-spacing:-.3px}h3{font-size:15px}p{line-height:1.6}small,.muted{color:var(--muted)}.hidden,[hidden]{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:750;color:#7c8c70}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cluster{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stack{display:grid;gap:14px}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;gap:9px;align-items:center;font-size:25px;font-weight:800;letter-spacing:-1px}.brand-mark{background:var(--green);width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;color:white;font-size:18px;box-shadow:10px -8px 0 -7px #fa9635}.brand-sub{margin:8px 0 34px 39px;font-size:11px;color:var(--muted)}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#9ba591;padding:0 12px;margin:14px 0 8px}.sidebar nav button{display:flex;gap:10px;align-items:center;width:100%;border:0;background:transparent;border-radius:12px;font-weight:500;margin:4px 0;padding:12px;color:#71806b;text-align:left}.sidebar nav button.active{background:#edf5df;color:#325d25;font-weight:700}.nav-icon{width:22px;font-size:17px}.sidebar nav button.active .nav-icon{color:#70b62a}.sidebar-foot{margin-top:auto;border-radius:16px;background:#f7f8ef;padding:15px}.sidebar-foot img{width:70px;height:70px;object-fit:contain;float:right;margin-top:-35px}.sidebar-foot p{font-size:11px;margin:7px 0 0;color:#869078}.main{min-width:0;padding:28px 34px 50px;max-width:1900px;width:100%;margin:auto}.topbar{margin-bottom:26px}.breadcrumb{font-size:12px;color:#88957d;margin-bottom:10px}.topbar h1{margin:0}.topbar .avatar{width:34px;height:34px;background:#f9dfbf;font-size:11px}.datepick{background:white;border-radius:11px;border:1px solid var(--line);padding:9px}.datepick input{border:0;padding:2px;width:128px;font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;background:#eef4e5;color:#4a6c39;padding:5px 9px;font-size:11px;border-radius:7px;white-space:nowrap}.badge.orange{background:#fff0de;color:#a46020}.badge.gray{background:#f0f1ed;color:#818b7a}.badge.red{background:#fcebe6;color:#b35d4b}.demo-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px dashed #dbe4cf;background:#f0f4e8;border-radius:10px;padding:9px 13px;font-size:11px;color:#7d8b70;margin-bottom:20px}.hero{position:relative;overflow:hidden;border-radius:22px;background:#eaf5d4;padding:28px 30px;min-height:190px;display:flex;align-items:center;justify-content:space-between;gap:15px}.hero:before{content:'';position:absolute;right:30px;width:280px;height:280px;border-radius:50%;border:1px solid #c8df9c}.hero .hero-copy{position:relative;z-index:1;max-width:70%}.hero h2{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin:10px 0}.hero p{max-width:500px;color:#748365;margin:0 0 17px;font-size:12px}.hero img{width:205px;height:190px;object-fit:contain;position:relative;transform:rotate(3deg)}.hero .eyebrow{color:#6d9044}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:19px 20px;box-shadow:var(--shadow)}.card .kpi-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#86917b}.card strong{display:block;font-size:27px;letter-spacing:-.7px;margin:13px 0 6px;font-weight:700}.card .sub{font-size:10px;color:#8b967f}.kpi-icon{border-radius:8px;width:27px;height:27px;display:grid;place-items:center;background:#edf5e1;color:#77a749;font-size:15px}.kpi-icon.orange{color:#e8983e;background:#fff0da}.panel{background:white;border:1px solid var(--line);border-radius:17px;padding:23px;box-shadow:var(--shadow);margin:20px 0}.panel>h2{margin-bottom:10px}.panel .subtitle{color:#8a957f;font-size:11px;margin:5px 0 0}.two-col{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:20px}.two-col>.panel{margin:0}.scroll{overflow:auto;max-width:100%;scrollbar-width:thin}.table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap;margin-top:18px}.table th{text-align:left;background:#f8faf4;color:#8a967e;font-size:10px;text-transform:uppercase;letter-spacing:.4px;padding:12px 10px;font-weight:600}.table td{padding:13px 10px;border-bottom:1px solid #edf0e6}.table tr:last-child td{border-bottom:0}.person{display:flex;align-items:center;gap:10px;text-align:left}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:37px;height:37px;background:#e9f2d9;border-radius:12px;font-size:12px;font-weight:700;color:#5b7c3e}.person b{font-size:12px;display:block}.person small{font-size:10px;display:block;margin-top:4px}.dot{display:inline-block;width:8px;height:8px;flex-shrink:0;background:var(--event);border-radius:50%;margin-right:5px}.legend{display:flex;flex-wrap:wrap;gap:16px;color:#7b8970;font-size:11px}.section-title{margin:0}.mini-event{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0e6}.mini-event:last-child{border:0}.mini-event .time{font-size:11px;width:42px;color:#8c967f}.mini-event .event-copy{border-left:3px solid var(--event);padding-left:12px;flex:1}.mini-event p{font-size:10px;margin:5px 0 0;color:#8d967f}.mini-event b{font-size:12px}.progress{height:7px;background:#edf2e6;border-radius:9px;overflow:hidden;margin:11px 0}.progress>span{height:100%;display:block;background:var(--green);border-radius:9px}.distribution{margin-top:20px;display:grid;gap:17px}.distrow{font-size:11px}.distrow .progress{margin:8px 0 0;height:6px}.tip{display:flex;gap:12px;background:#fff4df;padding:15px;border-radius:12px;margin-top:20px}.tip p{font-size:11px;color:#9b845e;margin:4px 0}.tip b{font-size:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:22px 0}.tabs button{border:0;border-radius:0;background:none;color:#8d9783;padding:12px 15px}.tabs button.active{color:#365f28;border-bottom:3px solid var(--green);font-weight:700}.employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.employee-card{background:white;border:1px solid var(--line);border-radius:17px;padding:23px}.rate-pills{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.rate-pill{font-size:10px;padding:7px 9px;background:var(--light);border-radius:8px;border:1px solid color-mix(in srgb,var(--event) 20%,white)}.rate-pill b{display:block;margin-top:4px}.profile-head{display:flex;align-items:center;gap:15px}.profile-head .avatar{width:60px;height:60px;font-size:20px;border-radius:19px}.profile-head h2{margin:0 0 7px;font-size:23px}.rates-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rate-box{padding:18px;background:var(--light);border:1px solid color-mix(in srgb,var(--event) 20%,white);border-radius:13px}.rate-box strong{display:block;font-size:23px;margin:12px 0}.template-grid{display:grid;grid-template-columns:repeat(5,minmax(155px,1fr));gap:12px;min-width:825px}.template-day{border:1px solid var(--line);border-radius:12px;background:#fcfdf9;padding:12px}.template-day h3{font-size:12px;margin:3px 0 16px}.template-event{border-left:3px solid var(--event);background:var(--light);border-radius:8px;padding:12px 10px;margin-bottom:10px;position:relative}.template-event b{font-size:11px;display:block}.template-event p{font-size:10px;color:#7d8a71;margin:6px 0}.template-event .row button{padding:3px 5px;font-size:10px}.template-event strong{font-size:11px}.add-slot{width:100%;border-style:dashed;background:transparent;font-size:11px;color:#90a17f}.review-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.review-tools input[type=date]{width:155px}.period-nav{display:flex;align-items:center;gap:8px}.review-day{margin-top:20px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.review-day-head{padding:12px 16px;background:#f7f9f2;display:flex;justify-content:space-between;align-items:center}.review-day-head b{font-size:12px}.check-cell label{display:flex;align-items:center;gap:9px}.status-done{color:#5f9035}.status-pending{color:#c08b2b}.status-cancelled{color:#a1a89a;text-decoration:line-through}.status-absent{color:#a18baf}.callout{border:1px solid #dae6c9;background:#f3f8e9;border-radius:12px;padding:13px 16px;color:#6e8457;font-size:12px;line-height:1.6}.callout.orange{background:#fff5e9;border-color:#f1dfc7;color:#a67a3e}.empty{padding:45px 20px;text-align:center;color:#95a085}.empty b{display:block;color:#6d815c;margin-bottom:10px}.calendar-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;margin-top:22px}.layers{border-right:1px solid var(--line);padding-right:18px}.layers h3{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#94a086;margin:18px 0 13px}.layers label{display:flex;align-items:center;gap:8px;font-size:11px;margin:12px 0;line-height:1.4}.layers input{width:14px;height:14px;flex-shrink:0}.cal-toolbar{margin-bottom:18px}.segmented{display:inline-flex;background:#f2f5eb;padding:3px;border-radius:10px;gap:2px}.segmented button{border:0;background:transparent;color:#8d9981;padding:7px 13px;font-size:11px}.segmented button.active{background:white;color:#3d602e;box-shadow:0 2px 6px #29482909}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:925px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.cal-day{min-height:350px;background:#fff;border-right:1px solid var(--line);padding:9px}.cal-day:last-child{border-right:0}.cal-day.weekend{background:#fafbf7}.day-head{display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px 0 14px;color:#919d83;font-size:10px}.day-head b{font-size:19px;font-weight:650;color:#61734e}.day-head.today b{width:33px;height:33px;background:var(--green);color:white;border-radius:50%;display:grid;place-items:center;margin-top:-7px}.cal-event{display:block;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--event) 22%,white);border-left:3px solid var(--event);border-radius:7px;padding:8px 7px;background:var(--light);margin:7px 0;font-size:10px;min-height:60px;font-weight:400}.cal-event:hover{filter:brightness(.98);background:var(--light)}.cal-event b{display:block;margin:5px 0;font-size:10px}.cal-event small{font-size:9px;color:#7d8a70}.cal-event.cancelled{opacity:.5;text-decoration:line-through}.cal-event.absent{opacity:.45;border-style:dashed}.cal-event.done{box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--event) 15%,transparent)}.cal-employee{font-size:9px;display:block;margin-top:6px;color:#718261}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:820px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.month-label{padding:12px;text-align:center;background:#f8faf4;font-size:10px;color:#89977a}.month-cell{min-height:128px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:8px}.month-cell.outside{background:#fafbf7;color:#b7bfaf}.month-date{display:flex;justify-content:space-between;margin-bottom:8px;font-size:11px}.month-pill{font-size:9px;padding:5px 6px;border-left:3px solid var(--event);background:var(--light);margin-top:4px;border-radius:3px}.month-more{font-size:9px;padding:6px 0;color:#87967a}.timeline{min-width:660px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.timeline-head,.timeline-row{display:grid;grid-template-columns:150px minmax(0,1fr);border-bottom:1px solid var(--line)}.timeline-head{background:#f8faf4;font-size:10px;color:#8b987e}.timeline-head>div:first-child{padding:13px}.time-axis{position:relative;height:40px;margin-right:15px}.time-axis span{position:absolute;top:13px;transform:translateX(-50%)}.time-axis span:first-child{transform:none}.timeline-row>.person{padding:14px 10px;background:#fff;font-size:11px;align-items:flex-start}.timeline-row .person b{font-size:10px;margin-top:5px}.timeline-row .avatar{width:27px;height:27px;font-size:9px;border-radius:8px}.track{position:relative;min-height:110px;margin-right:15px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(10% - 1px),#f0f3eb calc(10% - 1px),#f0f3eb 10%)}.track .cal-event{position:absolute;top:13px;height:82px;margin:0;overflow:hidden;padding:8px 5px}.calendar-bottom{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#94a086;margin-top:18px}.chart-bars{display:flex;height:130px;align-items:end;gap:25px;margin:25px 0 30px}.chart-bar{position:relative;flex:1;border-radius:7px 7px 0 0;background:var(--green);min-height:3px}.chart-bar span{position:absolute;bottom:-23px;white-space:nowrap;font-size:10px;width:100%;text-align:center;color:#86937b}.chart-bar b{position:absolute;top:-20px;font-size:10px;width:100%;text-align:center}.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.activity-card{border:1px solid var(--line);border-radius:15px;padding:22px;background:var(--light)}.activity-card .symbol{font-size:25px;color:var(--event);margin-bottom:14px;display:block}.activity-card p{font-size:11px;color:#89957b;margin-bottom:0}.toast{position:fixed;bottom:22px;right:26px;background:#2e5133;color:white;border-radius:12px;padding:13px 20px;box-shadow:0 8px 25px #19351b25;z-index:50;max-width:450px;font-size:12px}.toast.error{background:#a75944}dialog{border:0;border-radius:20px;padding:0;width:min(550px,calc(100vw - 30px));max-height:90vh;box-shadow:0 20px 100px #18311b25}dialog::backdrop{background:#1f3a2a66;backdrop-filter:blur(3px)}.modal-body{padding:28px}.modal-body h2{margin-bottom:20px;font-size:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px;font-size:12px;margin-bottom:16px}.field input,.field select{width:100%;max-width:none}.field.full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:17px;border-top:1px solid var(--line);margin-top:10px}.form-error{color:#bc6148;font-size:12px;min-height:16px}.login-page{min-height:100vh;display:grid;place-items:center;background:#eef6dd}.login-card{width:min(430px,90vw);padding:35px;border:1px solid #dbe8c5;border-radius:24px;background:white}.login-mascot{width:120px;height:120px;object-fit:contain;float:right;margin-top:-75px}.login-card h1{font-size:28px;margin:30px 0 8px}.login-card p{color:#8b987d;font-size:12px}.login-card .primary{width:100%}.login-card .field{margin-top:20px}.save-indicator{font-size:10px;color:#94a086;margin-top:22px}.bottombar{margin-top:26px;font-size:10px;color:#a6af9a;display:flex;justify-content:space-between}.mobile-brand{display:none}.template-weekend{margin-top:14px}.warning-count{color:#c18439}.review-bulk{border:1px solid #e0e9d3;background:#f6faee;border-radius:13px;padding:16px;margin-top:20px}.table input.time{width:88px;padding:7px;font-size:11px}.table .money-input{width:100px}.visually-hidden{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
@media(min-width:1500px){.main{padding:35px 50px}.hero{min-height:210px}.hero img{width:230px;height:210px}}
@media(max-width:1150px){.layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:25px 12px}.brand{font-size:22px}.main{padding:25px 22px}.two-col{grid-template-columns:1fr}.cards{gap:10px}.card{padding:16px}.card strong{font-size:23px}.rates-grid,.activity-grid{grid-template-columns:repeat(2,1fr)}.calendar-layout{grid-template-columns:155px minmax(0,1fr);gap:12px}.hero h2{font-size:26px}.hero img{width:160px}}
@media(max-width:760px){.layout{display:block}.sidebar{position:static;width:100%;height:auto;padding:14px;border-right:0;border-bottom:1px solid var(--line)}.brand-sub,.nav-label,.sidebar-foot{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:13px;gap:4px}.sidebar nav button{width:auto;white-space:nowrap;font-size:11px;margin:0;padding:9px}.nav-icon{display:none}.main{padding:20px 15px}h1{font-size:25px}.hero{padding:22px;min-height:190px}.hero h2{font-size:23px}.hero img{width:110px;height:130px}.hero .hero-copy{max-width:72%}.hero p{font-size:11px}.cards{grid-template-columns:1fr 1fr}.card strong{font-size:24px}.employee-grid{grid-template-columns:1fr}.panel{padding:17px}.calendar-layout{display:block}.layers{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:5px 12px}.layers h3{width:100%;margin:8px 0 0}.layers label{margin:4px 0;font-size:10px}.calendar-layout>.scroll{width:100%}.topbar{gap:20px}.datepick input{width:115px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.demo-banner{align-items:flex-start}.review-tools{align-items:stretch}.person b{font-size:11px}.rate-box{padding:13px}.rate-box strong{font-size:20px}}

.track .cal-event{font-size:9px}.track .cal-event small{font-size:8px;line-height:1.3}.track .cal-event b{font-size:10px}
