:root{--ink:#172b35;--muted:#728089;--line:#e2e8e9;--green:#14815e;--bg:#f3f6f5;--nav:#123b37}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:14px system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #57b99a}aside{background:var(--nav);color:#fff;flex-direction:column;width:222px;padding:32px 20px;display:flex;position:fixed;inset:0 auto 0 0}.logo{letter-spacing:-2px;font-size:30px;font-weight:850}.logo span{color:#b0d86c}.brand{letter-spacing:3px;opacity:.65;margin-top:3px;font-size:10px}.navlabel{letter-spacing:2px;color:#92b4ad;margin:48px 12px 12px;font-size:10px}nav button{text-align:left;color:#c4d7d2;background:0 0;border:0;border-radius:9px;width:100%;margin:5px 0;padding:14px;display:block}nav button.active{color:#fff;background:#ffffff18;font-weight:650}.sidefoot{color:#acc7bf;margin-top:auto;font-size:12px;line-height:1.8}.sidefoot strong{color:#fff}main{max-width:1600px;margin-left:222px;padding:0 42px 40px}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;height:82px;display:flex}.crumb{color:var(--muted);font-size:12px}.profile{align-items:center;gap:10px;display:flex}.avatar{color:#285341;background:#dce9df;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:700;display:grid}select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;padding:8px}.demo{color:#7d6827;background:#fff8df;border:1px solid #eee2b5;border-radius:7px;margin:22px 0;padding:10px 14px;font-size:12px}.heading{justify-content:space-between;align-items:center;margin:25px 0 23px;display:flex}.eyebrow{color:var(--green);letter-spacing:1.5px;text-transform:uppercase;font-size:11px;font-weight:700}h1{letter-spacing:-1px;margin:7px 0;font-size:29px}h2{margin:0;font-size:17px}p{color:var(--muted);margin:6px 0;line-height:1.6}.date{color:#62766d;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 15px;font-size:13px}.cards{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:23px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:19px}.card .label{color:var(--muted);font-size:12px}.metric{letter-spacing:-1px;margin:9px 0;font-size:27px;font-weight:700}.metric small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:500}.hint{color:var(--muted);font-size:11px}.green{color:var(--green)}.orange{color:#b16b23}.bar{background:#edf1ee;border-radius:4px;height:4px;margin:13px 0 8px;overflow:hidden}.bar i{background:#42967c;width:78%;height:100%;display:block}.layout{grid-template-columns:minmax(0,1fr) 285px;gap:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.panelhead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:21px 23px;display:flex}.badge{color:#577367;background:#eff5f1;border-radius:20px;padding:6px 10px;font-size:11px}.pad{padding:23px}.actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.action{text-align:left;border:0;border-radius:9px;padding:15px;font-size:15px;font-weight:700}.action small{opacity:.85;margin:5px 0 0;font-size:11px;font-weight:400;display:block}.arrive{color:#fff;background:#14815e}.leave{color:#4b3e14;background:#f3ce60}.fields{grid-template-columns:1fr 1fr 1fr;gap:15px;margin-top:24px;display:grid}label{color:var(--muted);margin-bottom:7px;font-size:11px;display:block}input{width:100%;color:var(--ink);background:#fbfcfb;border:1px solid #dbe3e0;border-radius:7px;padding:10px}.result{border-top:1px dashed var(--line);color:var(--muted);justify-content:space-between;gap:12px;margin-top:19px;padding:14px 0 0;font-size:12px;display:flex}.result strong{color:var(--ink)}.section{justify-content:space-between;align-items:center;padding:20px 23px 13px;display:flex}.section small{color:var(--muted)}.tablehead,.workrow{grid-template-columns:113px 1fr;align-items:center;gap:15px;padding:9px 23px;display:grid}.tablehead{color:var(--muted);letter-spacing:1px;text-transform:uppercase;background:#f7f9f8;font-size:10px}.workrow{border-top:1px solid #f0f3f1;min-height:54px}.time{color:#52655d;font-variant-numeric:tabular-nums;font-size:12px}.workrow textarea{resize:vertical;width:100%;height:36px;min-height:36px;max-height:110px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:5px;padding:8px;font-size:12px}.workrow textarea:hover,.workrow textarea:focus{background:#fafcfb;border-color:#d3e2db}.lunch{color:#7b815b;background:#f7f8f1;font-size:12px}.bottom{border-top:1px solid var(--line);background:#fafcfb;justify-content:space-between;align-items:center;padding:17px 23px;display:flex}.btn{color:#345d4d;background:#fff;border:1px solid #d6e1dc;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:600}.btn.primary{background:var(--nav);color:#fff;border-color:var(--nav)}.right .panel{margin-bottom:18px}.summary{border-bottom:1px solid #edf1ef;justify-content:space-between;padding:11px 0;font-size:12px;display:flex}.summary:last-child{border:0}.summary span{color:var(--muted)}.bigtime{letter-spacing:-1.5px;margin:10px 0;font-size:35px;font-weight:700}.timeline{gap:5px;height:7px;margin-top:18px;display:flex}.timeline i{background:#5b9c81;border-radius:3px;flex:4}.timeline i:nth-child(2){background:#e8cc76;flex:.5}.right .btn{width:100%;margin-top:12px}.note{color:var(--muted);font-size:11px;line-height:1.6}.toast{color:#fff;z-index:20;background:#173e32;border-radius:10px;max-width:90%;padding:14px 23px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 7px 30px #0002}[hidden]{display:none!important}.view{animation:.2s fade}@keyframes fade{0%{opacity:.5}to{opacity:1}}.wideTable{border-collapse:collapse;text-align:left;width:100%}.wideTable th,.wideTable td{border-bottom:1px solid var(--line);padding:18px;font-size:13px}.wideTable th{color:var(--muted);font-size:11px;font-weight:500}.request{border-bottom:1px solid var(--line);padding:18px 0}dialog{border:0;border-radius:15px;width:min(440px,92vw);padding:28px;box-shadow:0 20px 90px #0003}dialog::backdrop{background:#102e2855}dialog input,dialog select{width:100%;margin-bottom:15px}dialog .actions{margin-top:20px}.footer{color:var(--muted);justify-content:space-between;margin-top:24px;font-size:11px;display:flex}@media (min-width:1500px){main{margin-right:auto}}@media (max-width:1100px){aside{width:185px}main{margin-left:185px;padding:0 25px 30px}.layout{grid-template-columns:1fr}.right{grid-template-columns:1fr 1fr;gap:18px;display:grid}.cards{gap:9px}.card{padding:15px}.metric{font-size:24px}}@media (max-width:750px){aside{width:100%;padding:16px 20px;display:block;position:static}.brand,.navlabel,.sidefoot{display:none}.logo{font-size:24px}nav{gap:4px;margin-top:12px;display:flex}nav button{text-align:center;margin:0;padding:9px;font-size:12px}main{margin:0;padding:0 16px 25px}.top{height:66px}.crumb{display:none}.profile{justify-content:space-between;width:100%}.cards{grid-template-columns:1fr 1fr}.heading{align-items:start}.date{padding:8px;font-size:11px}h1{font-size:24px}.right{display:block}.pad,.panelhead,.section{padding:17px}.workrow,.tablehead{grid-template-columns:95px 1fr;gap:8px;padding:9px 14px}.fields{gap:8px}.result{flex-wrap:wrap}.wideTable th,.wideTable td{padding:11px;font-size:11px}.footer{gap:20px;line-height:1.6}}a{color:var(--green)}.login-wrap{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{background:var(--nav);color:#fff;flex-direction:column;justify-content:center;padding:70px;display:flex}.login-brand h1{margin:55px 0 20px;font-size:52px}.login-brand p{color:#c2d8ce;max-width:380px}.login-card{align-self:center;width:100%;max-width:490px;margin:auto;padding:35px}.login-card h1{margin:18px 0}.login-card label{color:var(--ink);margin:20px 0}.login-card input{margin-top:8px}.login-card .btn{width:100%;padding:14px}.textbutton{color:var(--green);background:0 0;border:0;padding:15px 0}.error{color:#9c382e;background:#fff0ed;border-radius:7px;padding:12px}.notice{color:#776123;background:#fff8df;border-radius:7px;padding:14px;line-height:1.6}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spacer{flex:1}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.formgrid label input,.formgrid label select{margin-top:6px}.contract{background:#f6f9f7;border-radius:9px;margin:14px 0;padding:18px}.settings-card{border-bottom:1px solid var(--line);padding:22px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;display:flex}.toolbar input{width:auto}.table-scroll{overflow-x:auto}.modal{z-index:10;background:#0b2e2566;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:14px;width:480px;max-height:90vh;padding:26px;overflow:auto}.modal-content label{margin-top:16px}.modal-content input,.modal-content select,.modal-content textarea{width:100%;margin-top:6px}.modal-content textarea{border:1px solid var(--line);border-radius:7px;min-height:80px;padding:10px}.note strong{color:var(--ink)}.task-input{min-height:45px!important}.badge.warn{color:#94721f;background:#fff5d8}button:disabled{cursor:not-allowed}.request .btn{margin:10px 10px 0 0}.workspace-main{min-height:100vh}.settings-card input[type=checkbox]{width:auto}.top button{font-size:11px}.empty{text-align:center;color:var(--muted);padding:34px;line-height:1.8}@media (max-width:750px){.login-wrap{grid-template-columns:1fr}.login-brand{padding:25px}.login-brand h1{margin:20px 0 0;font-size:30px}.login-brand p{display:none}.login-card{padding:28px}.formgrid{grid-template-columns:1fr}.row{gap:8px}.heading{gap:12px}.settings-card{padding:16px}}.company-logo{background:#fff;border-radius:10px;flex-shrink:0;width:100%;max-width:182px;padding:12px;display:block}.company-logo img{object-fit:contain;width:100%;height:auto;display:block}.login-brand .company-logo{max-width:270px;padding:18px}.login-card .company-logo{max-width:170px}@media (max-width:750px){aside .company-logo{max-width:150px}.login-brand .company-logo{max-width:190px;padding:12px}}.request-count{color:#173a31;background:#f3ce60;border-radius:20px;margin-left:8px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.correction-details{border:1px solid var(--line);background:#f3f6f5;border-radius:10px;max-width:760px;margin:14px 0;padding:12px}.correction-details .wideTable th,.correction-details .wideTable td{padding:12px}.correction-details .note{margin:8px 0 0}.all-day-fill{background:#f3f8f6;border-top:1px solid #e0e8e5;padding:18px 24px}.all-day-controls{align-items:center;gap:12px;display:flex}.all-day-controls input{flex:1;min-width:0}.all-day-controls button{white-space:nowrap}.all-day-fill .note{margin:10px 0 0}@media (max-width:640px){.all-day-controls{flex-direction:column;align-items:stretch}.all-day-fill{padding:16px}}.todo-board{margin-bottom:24px}.todo-toolbar,.todo-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.todo-toolbar label{min-width:130px;margin:0}.todo-toolbar .row{align-self:end}.todo-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:20px;display:grid}.todo-card{background:#fff;border:1px solid #dce6e2;border-radius:12px;min-width:0;padding:20px}.todo-card h3{overflow-wrap:anywhere;margin:14px 0 8px;font-size:18px}.todo-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.todo-done{background:#f4f9f6}.todo-actions{margin-top:16px}.todo-modal{max-width:720px!important}.todo-modal form{margin:18px 0}.todo-events>div{overflow-wrap:anywhere;border-bottom:1px solid #dce6e2;padding:12px 0}.todo-events p{white-space:pre-wrap;margin:6px 0}.todo-slots{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0;display:grid}.todo-slots label{border:1px solid #dce6e2;border-radius:8px;align-items:center;gap:10px;margin:0;padding:12px;display:flex}.todo-slots input{flex-shrink:0;width:18px;height:18px}.todo-slots small{overflow-wrap:anywhere;display:block}.todo-board.compact .todo-list{max-height:430px;overflow:auto}.todo-board .panelhead{gap:14px}.todo-board .note{line-height:1.7}@media (max-width:640px){.todo-list,.todo-slots{grid-template-columns:1fr}.todo-board .panelhead{flex-wrap:wrap}.todo-toolbar{align-items:stretch}.todo-actions .btn,.todo-toolbar label{flex:1}}.day-with-todos{grid-template-columns:minmax(300px,.8fr) minmax(480px,1.6fr);align-items:start}.day-with-todos>.todo-board{grid-area:1/1/span 2;max-height:calc(100vh - 32px);margin-bottom:0;position:sticky;top:16px;overflow:auto}.day-with-todos>.todo-board .todo-list{grid-template-columns:1fr;max-height:none;overflow:visible}.day-with-todos>.todo-board .panelhead{flex-wrap:wrap}.day-with-todos>.right{grid-column:2;grid-template-columns:1fr 1fr;gap:16px;display:grid}.todo-drag-handle{color:#176550;cursor:grab;-webkit-user-select:none;user-select:none;background:#eff8f3;border:1px dashed #78a99a;border-radius:7px;margin:12px 0;padding:10px 12px;font-size:13px}.todo-drag-handle:active{cursor:grabbing}.workrow.drop-ready{outline-offset:-3px;outline:1px dashed #a5c7bb}.workrow.drop-active{outline-offset:-2px;background:#dff5e8;outline:2px solid #298b65}.day-with-todos .all-day-controls{flex-wrap:wrap}.day-with-todos .fields{gap:10px}@media (max-width:1100px){.day-with-todos{grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr)}.day-with-todos>.right{grid-template-columns:1fr}}@media (max-width:850px){.day-with-todos{grid-template-columns:1fr}.day-with-todos>.todo-board{grid-area:auto;max-height:none;position:static}.day-with-todos>.right{grid-column:auto}.todo-drag-handle{display:none}.day-with-todos>.todo-board .todo-list{max-height:450px;overflow:auto}}.todo-board .panelhead{padding:16px 18px}.todo-board>.pad{padding:12px 16px}.todo-toolbar{gap:8px}.todo-toolbar .btn{padding:8px 10px}.todo-toolbar label{min-width:110px;font-size:11px}.todo-toolbar input,.todo-toolbar select{padding:8px}.todo-compact-list,.day-with-todos>.todo-board .todo-compact-list{flex-direction:column;gap:0;margin-top:12px;display:flex}.todo-line{background:#fff;border-bottom:1px solid #e2e9e5;align-items:center;gap:8px;min-height:48px;padding:5px 6px;display:flex}.todo-line:hover{background:#f1f7f4}.todo-line[draggable=true]{cursor:grab}.todo-line-title{text-align:left;min-width:0;color:var(--ink);font:inherit;cursor:inherit;background:0 0;border:0;flex:1;padding:6px 0;font-size:14px}.todo-line-title span{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.todo-line-title small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.todo-check{color:#36826a;cursor:pointer;background:0 0;border:0;flex:0 0 26px;width:26px;height:28px;padding:0;font-size:24px}.todo-line.is-done .todo-line-title span{color:var(--muted);text-decoration:line-through}.todo-grip{color:#7a958b;cursor:grab;font-size:20px}.todo-star{color:#b58a28}.todo-feedback{color:#36775e;margin-top:8px;display:block}.todo-board .todo-modal{width:min(640px,100%)}.workrow.drop-active textarea{background:#dff5e8}@media (pointer:coarse){.todo-grip{display:none}}.todo-overlay{z-index:1000;isolation:isolate;background:#0b2e257a}.todo-overlay>.todo-modal{opacity:1;background:#fff;width:min(640px,100%);position:relative;box-shadow:0 24px 80px #0b2e2540}.todo-overlay .note{line-height:1.7}.todo-zone-heading{margin:20px 0 8px;font-size:14px}.todo-completed{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.todo-completed summary{cursor:pointer;color:#567568;padding:8px 0;font-weight:650}.todo-completed .todo-line{background:#f7faf8}.plans-layout{grid-template-columns:minmax(300px,.8fr) minmax(450px,1.3fr);align-items:start;gap:22px;display:grid}.plan-list-row{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:#fff;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;display:flex}.plan-list-row.selected{background:#eaf5ef}.plan-list-row>div:first-child{flex:1;min-width:150px}.plan-list-row small,.plan-stage small{color:var(--muted);margin-top:6px;display:block}.plan-progress{width:100%}.plan-progress progress{width:100%;height:7px;accent-color:var(--green)}.plan-detail h3{margin:24px 0 10px;font-size:15px}.plan-prose{white-space:pre-wrap;overflow-wrap:anywhere}.plan-status,.plan-add-stage{flex-wrap:wrap;align-items:end;gap:10px;margin:18px 0;display:flex}.plan-status label,.plan-add-stage label{flex:1;min-width:140px;margin:0}.plan-status select{width:100%}.plan-stage{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.plan-stage input{width:20px;height:20px}.plan-linked{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.plan-linked small{width:100%;color:var(--muted)}.plan-detail textarea{border:1px solid var(--line);border-radius:8px;width:100%;min-height:80px;padding:10px}.plan-detail .todo-events strong{margin-top:7px;display:block}.plan-detail .todo-events{max-height:500px;overflow:auto}@media (max-width:1000px){.plans-layout{grid-template-columns:1fr}}.plan-stage-group{border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:14px}.plan-stage-group>.plan-stage{margin-bottom:12px;padding-top:0}.plan-stage-group>.plan-stage>span{flex:1}.stage-tasks{border-left:3px solid #d8e9df;margin:12px 0 0 8px;padding-left:14px}.stage-tasks .plan-linked strong{flex:1;min-width:120px}.plan-unassigned{background:#fff9e8;border-radius:10px;margin:20px 0;padding:16px}.plan-stage-group .plan-stage{flex-wrap:wrap}.time-progress{grid-template-columns:1fr 1fr;gap:18px;margin:0 0 24px;display:grid}.progress-card{background:#fff;border:1px solid #dce6e3;border-radius:16px;align-items:center;gap:22px;padding:22px 26px;display:flex}.progress-card h2{margin:10px 0 8px;font-size:21px}.progress-card p{margin:0 0 8px;font-size:13px}.progress-card small{color:#687c8a;font-size:11px;line-height:1.6;display:block}.progress-card.deficit h2{color:#b63838}.time-ring{color:#13866d;flex:0 0 112px;width:112px;height:112px;position:relative}.time-ring.negative{color:#c44848}.time-ring svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.time-ring circle{fill:none;stroke-width:8px}.time-ring .ring-track{stroke:#edf2f0}.time-ring .ring-fill{stroke:currentColor;stroke-linecap:round}.time-ring .ring-extra{stroke:#66b83e;stroke-width:4px;stroke-linecap:round}.time-ring strong{place-items:center;font-size:24px;display:grid;position:absolute;inset:0}.progress-card .eyebrow{font-size:10px}@media (max-width:1100px){.time-progress{grid-template-columns:1fr}}@media (max-width:500px){.progress-card{gap:14px;padding:18px}.time-ring{flex-basis:88px;width:88px;height:88px}.progress-card h2{font-size:18px}}.session-list{background:#f2f7f5;border-radius:10px;margin-top:18px;padding:14px 18px}.session-list h3{margin:0 0 8px}.session-list p{margin:6px 0;font-size:13px}.session-list small{color:#657d79}.bonus-panel{margin:0 0 24px}.bonus-panel .panelhead{flex-wrap:wrap;gap:15px}.bonus-total{color:#13866d;margin-left:auto;font-size:28px}.bonus-total small{color:var(--muted);font-size:12px}.bonus-parts{grid-template-columns:repeat(3,1fr);gap:24px;padding:20px 26px;display:grid}.bonus-parts>div{gap:10px;display:grid}.bonus-parts span{color:var(--muted);font-size:12px}.bonus-parts strong{font-size:15px}.bonus-parts progress{accent-color:#13866d;width:100%;height:8px}.bonus-summary{color:var(--muted);flex-wrap:wrap;gap:15px;font-size:12px;display:flex;padding-top:0!important}.bonus-details{border-top:1px solid var(--line)}.bonus-details>summary{cursor:pointer;padding:20px 26px;font-weight:600}.bonus-target{border-bottom:1px solid var(--line);padding:18px 0}.bonus-target p{white-space:pre-wrap}.bonus-form{background:#f3f7f5;border-radius:12px;margin-top:20px;padding:18px}.bonus-form input,.bonus-form select,.bonus-form textarea{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;padding:10px}.bonus-form label{margin:12px 0;display:block}.bonus-rules p{margin-bottom:16px;line-height:1.7}.bonus-panel .error{margin:16px}@media (max-width:650px){.bonus-parts{grid-template-columns:1fr;gap:16px}.bonus-total{margin-left:0}}.manual-start{border:1px solid var(--line);background:#f3f7f5;border-radius:10px;margin:14px 0 22px;padding:14px 18px}.manual-start summary{cursor:pointer;font-size:13px;font-weight:600}.manual-start .row{align-items:end;margin-top:14px}.manual-start label{margin:0}.manual-start input{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:7px;padding:10px;display:block}
