:root{--ink:#17332b;--muted:#6d7972;--green:#234d3d;--lime:#d8f379;--paper:#f5f6f0;--line:#e2e7df;--white:#fff;--red:#a43531}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--green);border:1px solid var(--green);color:white;border-radius:9px;padding:12px 19px;font-weight:650;cursor:pointer;line-height:1.4;text-align:center}button:hover,.button:hover{filter:brightness(.93)}button:disabled{opacity:.55;cursor:wait}.button.small,.small{font-size:12px;padding:9px 12px}.secondary{background:transparent;color:var(--green);border-color:var(--line)}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;margin-bottom:17px}input,select,textarea{width:100%;background:#fff;border:1px solid #d8dfd6;border-radius:7px;color:var(--ink);padding:11px 12px;min-width:0;font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid #93b552;outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #93b552;outline-offset:3px}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,40px);line-height:1.18;letter-spacing:-1.4px;font-weight:650;margin-bottom:12px}h2{font-size:18px;letter-spacing:-.4px;margin-bottom:0}h3{font-size:17px}p{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;display:block;margin-bottom:14px;color:var(--muted)}.brand{font-size:36px;letter-spacing:-2px;font-weight:900;line-height:.9;display:block}.brand span{display:block;font-size:8px;font-weight:650;letter-spacing:3.7px;margin-top:12px;margin-left:3px}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:37px 25px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.nav-label{font-size:9px;letter-spacing:1.5px;color:#9aa39c;margin:62px 0 18px 10px;font-weight:650}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;gap:14px;padding:11px 13px;border-radius:7px;font-weight:550;color:var(--muted);font-size:13px}.sidebar nav a.active{background:#edf2e7;color:var(--green)}.sidebar nav a span{font-size:18px;line-height:1.2;width:18px;text-align:center}.sidebar-bottom{margin-top:auto;padding:30px 10px 0;border-top:1px solid var(--line);font-size:12px}.sidebar-bottom strong,.sidebar-bottom small{display:block}.sidebar-bottom small{color:var(--muted);font-size:10px;margin:2px 0 13px}.sidebar-bottom>a{display:block;text-decoration:underline;font-size:11px}.avatar{background:#e9eddc;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;margin-bottom:10px;font-weight:750}.logout{background:none;color:var(--muted);border:0;font-size:11px;padding:9px 0}.main{padding:0 42px 26px;max-width:1700px;width:100%}.topbar{height:79px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:9px;font-weight:650;letter-spacing:1.1px;color:var(--muted)}.today{display:flex;align-items:center;gap:13px;letter-spacing:.4px}.dot{height:5px;width:5px;background:#95b94e;border-radius:50%;display:inline-block}.page-heading{margin:36px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.page-heading p{font-size:12px;margin-bottom:0}.page-heading .eyebrow{margin-bottom:10px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:28px}.stat{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:23px 25px}.stat>span{font-size:12px;font-weight:600}.stat>strong{display:block;font-size:49px;letter-spacing:-2px;font-weight:600;line-height:1.1;margin:16px 0 13px}.stat strong small{font-size:15px;letter-spacing:0;font-weight:400}.stat p{font-size:10px;margin:0}.stat.highlight{background:var(--lime);border-color:var(--lime)}.stat.highlight p{color:#405538}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:24px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.panel-title>a{font-size:11px}.panel-title p{margin:8px 0 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:24px}.rest-card{background:#e9eddc;border-radius:12px;padding:29px;margin-bottom:24px;position:relative;overflow:hidden}.rest-card .eyebrow{font-size:8px}.rest-card h2{font-size:28px;line-height:1.16;font-weight:600;position:relative;z-index:1}.rest-card p{font-size:11px;max-width:230px;position:relative;margin:35px 0 20px}.rest-card a{font-size:11px;font-weight:650}.mini-sun{position:absolute;right:15px;top:55px;font-size:150px;color:#c0cd96;line-height:1}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:normal}th{text-align:left;text-transform:uppercase;letter-spacing:.8px;font-size:8px;color:var(--muted);font-weight:600;padding:0 12px 15px;border-bottom:1px solid var(--line)}td{padding:17px 12px;border-bottom:1px solid #edf0e9;vertical-align:top}th:first-child,td:first-child{padding-left:0}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}td strong{font-weight:600}details{min-width:95px;max-width:340px}details p{font-size:11px;overflow-wrap:anywhere;margin:13px 0}details form{margin:15px 0}summary{font-size:11px;cursor:pointer;color:var(--green);white-space:nowrap}details[open]{min-width:210px}details label{font-size:10px}.badge{font-size:9px;display:inline-block;padding:5px 9px;border-radius:5px;white-space:nowrap}.badge.pending,.calendar-event.pending{background:#fff1d0;color:#886319}.badge.approved,.calendar-event.approved{background:#e8f0de;color:#41613a}.badge.rejected{background:#fae7e3;color:#a14239}.badge.cancelled{background:#eef0ec;color:#6d7972}.empty{text-align:center;padding:48px 16px}.empty>span{font-size:30px;color:#a6b77e}.empty h3{margin:12px 0 5px;font-weight:550}.empty p{font-size:12px;margin:0}.notice{padding:14px 17px;border:1px solid #dddcc7;border-radius:8px;background:#fbf8e9;margin-bottom:22px;font-size:12px}.notice.ok{background:#edf4e4;border-color:#d8e9c7}.notice.error{background:#fdefe8;border-color:#f2d2c4;color:#9b352c}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 17px}.form-grid .wide{grid-column:1/-1}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.two-col .form-grid{grid-template-columns:1fr 1fr}.hint{font-size:11px;line-height:1.7}.filters{display:flex;gap:12px;align-items:flex-end;margin-bottom:22px}.filters label{margin-bottom:0;min-width:160px}.panel-title .filters{margin:0}.balance-number{display:inline-block;border-radius:50%;background:#edf3df;padding:7px 12px;font-weight:700}fieldset{border:1px solid var(--line);border-radius:7px;padding:7px 10px;margin:0 0 17px;min-width:0}legend{font-size:11px;font-weight:600}.weekdays{display:flex;gap:9px;flex-wrap:wrap}.weekdays label{flex-direction:row;align-items:center;margin:6px 0;font-size:10px;gap:3px}.weekdays input{width:auto;accent-color:var(--green)}.calendar-wrap{overflow:auto}.calendar{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));min-width:700px;border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-head{padding:12px;text-align:center;font-size:9px;letter-spacing:1px;color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day{min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px;font-size:11px}.calendar-day.off{background:#f8f9f5}.calendar-day.is-today{background:#f7faed;box-shadow:inset 0 0 0 1px #91a95b}.calendar-event{display:block;padding:5px;border-radius:4px;font-size:9px;margin-top:5px;overflow-wrap:anywhere}.calendar-event small{font-size:8px}.legend{display:flex;gap:10px}code{font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.account-panel{max-width:560px}footer{display:flex;justify-content:space-between;font-size:9px;color:#929b92;margin-top:35px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:var(--green);color:#f3f5e8;padding:45px 9%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-story>.brand{margin-bottom:80px}.login-story .eyebrow{color:#c7d9b3;font-size:9px}.login-story h1{font-size:clamp(38px,4.2vw,67px);font-weight:500;line-height:1.1;letter-spacing:-2.5px}.login-story p{color:#c5d4c5;max-width:315px;font-size:13px}.login-story>small{font-size:9px;color:#b1c5b5;margin-top:60px}.sun-art{width:230px;height:155px;margin-top:40px;position:relative;overflow:hidden;border-bottom:1px solid #849c65}.sun-art div{width:175px;height:175px;border-radius:50%;background:var(--lime);position:absolute;top:35px;left:28px}.sun-art:after{content:"";position:absolute;bottom:0;left:0;right:0;border-top:1px solid #d6e8c0;box-shadow:0 -15px 0 -0.2px #94b078,0 -31px 0 -0.2px #94b078}.login-form{display:flex;align-items:center;justify-content:center;padding:55px 50px;background:#fafbf6}.login-form>div{max-width:355px;width:100%}.login-form h2{font-size:31px;line-height:1.2;letter-spacing:-1px;margin-bottom:18px;font-weight:600}.login-form p{font-size:12px;margin-bottom:32px}.login-form button{width:100%;justify-content:space-between;margin-top:6px}.login-form .hint{font-size:10px;margin:25px 0 0;max-width:290px}.login-form .eyebrow{font-size:9px}
@media(min-width:1600px){.main{padding-left:60px;padding-right:60px}.stat{padding:28px}}@media(max-width:1100px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:33px 17px}.main{padding:0 24px 24px}.dashboard-grid{grid-template-columns:1fr}.rest-card{display:none}.form-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.stats{gap:12px}.stat{padding:20px 17px}.stat p{font-size:9px}.page-heading h1{font-size:31px}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:22px 19px 13px;border-bottom:1px solid var(--line);border-right:0}.brand{font-size:29px}.brand span{font-size:7px;margin-top:9px}.nav-label{display:none}.sidebar nav{display:flex;overflow:auto;gap:5px;margin-top:24px}.sidebar nav a{font-size:11px;padding:8px 10px;white-space:nowrap;gap:6px}.sidebar nav a span{font-size:14px}.sidebar-bottom{padding:0;margin:10px 0 0;border:0;display:flex;align-items:center;gap:12px}.sidebar-bottom .avatar,.sidebar-bottom>small{display:none}.sidebar-bottom strong{font-size:10px;margin-right:auto}.sidebar-bottom>a,.logout{font-size:10px}.main{padding:0 18px 20px}.topbar{height:52px;font-size:8px}.page-heading{margin:25px 0;display:block}.page-heading h1{font-size:28px}.page-heading>.button{margin-top:19px;font-size:12px}.stats{gap:8px}.stat{padding:16px 11px;border-radius:9px}.stat>span{font-size:10px;line-height:1.3;display:block;min-height:26px}.stat>strong{font-size:34px;margin:10px 0}.stat strong small{font-size:10px}.stat p{font-size:8px;line-height:1.4}.panel{padding:18px 15px}.panel-title h2{font-size:16px}.panel-title{flex-wrap:wrap}.form-grid,.two-col .form-grid{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login-story{padding:28px 28px 32px;min-height:280px}.login-story>.brand{margin-bottom:45px}.login-story h1{font-size:39px;margin-bottom:12px}.login-story p{margin:0;font-size:11px}.login-story>small,.sun-art{display:none}.login-form{padding:38px 28px}.login-form>div{max-width:450px}.login-form h2{font-size:27px}td{min-width:80px}.filters{flex-wrap:wrap}.calendar-day{min-height:95px}}

.check-label{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.5}.check-label input{width:auto;flex-shrink:0;margin-top:3px;accent-color:var(--green)}.danger{background:#fff1ee;color:#9a332b;border-color:#e6c8c2}.deadline-late{color:#a14239!important}.manual-panel{max-width:none}.manual-panel>summary{font-size:14px;font-weight:650;white-space:normal}.manual-panel>p{font-size:12px;margin-top:16px}.manual-panel form{margin-top:20px}.manual-panel h2{margin-top:25px}
