@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#20292d;font-synthesis:none;--ink:#20292d;--muted:#606b72;--green:#155d4b;--line:#e1e5e7;--soft:#f4f6f6;--white:#fff;-webkit-font-smoothing:antialiased;background:#f4f5f6;font-family:Geist Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;color:#737d81}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{letter-spacing:-.65px;font-size:23px;font-weight:650;line-height:1.3}h2{letter-spacing:-.3px;font-size:16px;font-weight:600;line-height:1.45}h3{font-size:14px;font-weight:550;line-height:1.5}p{color:var(--muted);font-size:13px;line-height:1.6}small{font-size:12px}button{transition:background-color .12s,color .12s}button:active:not(:disabled){filter:brightness(.94)}.app{min-height:100dvh}.sidebar{border-right:1px solid var(--line);z-index:10;background:#fff;flex-direction:column;width:204px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand,.login-brand{color:var(--ink);letter-spacing:-.8px;align-items:center;gap:10px;font-size:23px;font-weight:700;text-decoration:none;display:flex}.brand{margin-bottom:38px;padding:0 10px}.brand img{width:30px;height:30px}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#59646a;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;min-height:46px;padding:12px;font-size:13px;display:flex}.sidebar nav button.active{color:var(--green);background:#eaf2ee;font-weight:600}.sidebar nav button:hover{background:#f0f4f2}.sidebar-bottom{margin-top:auto}.organisation{color:var(--muted);margin:20px 10px;font-size:12px;display:block}.profile{border:0;border-top:1px solid var(--line);text-align:left;width:100%;min-height:62px;color:var(--ink);background:0 0;align-items:center;gap:10px;padding:14px 4px 0;display:flex}.profile strong{font-size:12px;font-weight:550;display:block}.profile small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.avatar{color:#4b5b60;background:#e9edee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:600;display:inline-flex}.avatar.small{width:32px;height:32px;font-size:11px}.workspace{margin-left:204px}.topbar{z-index:8;isolation:isolate;background:linear-gradient(90deg,#f8fbfbfa 0%,#f8fbfbd1 42%,#f8fbfb14 100%),url(/header-dts.webp) 50% 54%/cover no-repeat;border-bottom:0;justify-content:space-between;align-items:flex-end;height:148px;padding:22px 32px;display:flex;position:relative;overflow:hidden}.topbar:after{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#0000,#10212514);height:36px;position:absolute;inset:auto 0 0}.topbar h1{color:#14282b;letter-spacing:-1.1px;text-shadow:0 1px #ffffff8f;font-size:30px;font-weight:720}.topbar-mark{border-radius:9px;width:34px;height:34px;display:none;position:absolute;top:20px;left:32px;box-shadow:0 5px 18px #1335302e}.topbar-actions{position:absolute;top:16px;right:28px}.topbar-daily{height:174px;padding-bottom:52px}.account-button{background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:4px;display:grid}.account-button:hover{background:#ffffff94}.topbar .account-button .avatar{color:#fff;background:#155d4b;box-shadow:0 5px 18px #0b372f3d}.content{max-width:1056px;margin:auto;padding:28px 32px 48px}.focused-content{max-width:824px}.bottom-nav{display:none}.daily-screen{z-index:9;gap:16px;margin-top:-52px;display:grid;position:relative}.day-log-panel{color:#fff;background:linear-gradient(135deg,#165a49 0%,#0b3e35 100%);border:1px solid #09372fb3;border-radius:14px;padding:20px;box-shadow:0 10px 24px #0c312b33}.day-log-heading{justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.day-log-status{color:#ffffffb8;align-items:center;gap:6px;font-size:11px;font-weight:450;display:inline-flex}.day-log-status i{background:#ffffff85;border-radius:50%;width:6px;height:6px}.day-log-status.recorded{color:#fff}.day-log-status.recorded i{background:#c8de92}.day-log-facts{grid-template-columns:1fr 1fr;margin-top:18px;display:grid}.day-log-facts>div{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.day-log-facts>div+div{border-left:1px solid #fff3;padding-left:24px}.day-log-facts span{color:#ffffffad;align-items:center;gap:8px;min-height:18px;font-size:12px;display:flex}.day-log-facts strong{letter-spacing:-.25px;font-variant-numeric:tabular-nums;font-size:20px;font-weight:550;line-height:1.15}.day-log-facts small{color:#ffffffb8;font-variant-numeric:tabular-nums;font-size:11px;line-height:1.3}.day-log-facts small.early{color:#c8de92}.day-log-facts small.late{color:#ffcfa6}.button{border:1px solid var(--green);background:var(--green);color:#fff;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 18px;font-size:14px;font-weight:550;display:inline-flex}.button:hover:not(:disabled){background:#104b3b}.button:not(.secondary):focus-visible{outline-offset:-4px;outline:2px solid #fff}.button:disabled{color:#667279;background:#e9edee;border-color:#e4e8e9}.button.secondary{color:var(--ink);background:#fff;border-color:#d9dfe1}.button.secondary:hover:not(:disabled){background:var(--soft)}.day-saved{border-top:1px solid var(--line);color:var(--green);justify-content:center;align-items:center;gap:6px;padding-top:14px;font-size:12px;display:flex}.day-action{z-index:6;border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex;position:sticky;bottom:16px;box-shadow:0 10px 24px -12px #10232d47}.day-action>div{min-width:0}.day-action strong{font-size:14px;font-weight:600;display:block}.day-action p{margin-top:4px;font-size:12px}.day-action .button{min-width:122px}.unfinished-row{color:#5e6b72;align-items:center;gap:12px;padding:4px 6px;display:flex}.unfinished-row>div{flex:1;align-items:baseline;gap:10px;display:flex}.unfinished-row strong{color:var(--ink);font-size:13px;font-weight:500}.unfinished-row span{color:var(--muted);font-size:12px}.text-button{min-height:44px;color:var(--green);background:0 0;border:0;padding:10px 8px;font-size:13px;font-weight:550}.text-button:hover:not(:disabled){background:#ecf2ee;border-radius:6px}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.section-heading{justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.section-heading p{margin-top:4px;font-size:12px}.small-button{color:#43555b;border:1px solid var(--line);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:9px 12px;font-size:12px;font-weight:550;display:inline-flex}.small-button:hover:not(:disabled){background:var(--soft)}.small-button.accent{color:var(--green);background:#ecf3ef;border:0}.icon-button{color:#5d6b73;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-button:hover{background:var(--soft);color:var(--ink)}.icon-button.add{color:var(--green);background:#edf3ef}.task{border-top:1px solid #e9edee;align-items:flex-start;gap:7px;padding:14px 16px;display:flex;position:relative}.task.has-reschedule .task-body{padding-right:26px}.task-reschedule{background:var(--ink);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:10px;right:12px}.task-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.status-action{border:1px solid var(--line);min-width:88px;min-height:44px;color:var(--ink);background:#fff;border-radius:7px;flex:auto;padding:8px 10px;font-size:12px;font-weight:550}.status-action:hover:not(.selected){background:var(--soft)}.status-action.selected{border-color:var(--ink);color:var(--ink);background:#20292d14;font-weight:600}.task-remark{margin-top:10px}.task-remark .text-button{align-items:center;gap:6px;padding-inline:0;display:inline-flex}.task-remark-input{width:100%;min-height:0;font-size:13px}.task-remark-actions{align-items:center;gap:10px;margin-top:8px;display:flex}.task-remark-text{color:#56646b;overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:1.5}.task-body{flex:1;min-width:0}.task h3{color:var(--ink);overflow-wrap:anywhere;font-size:14px;line-height:1.5}.task-title{color:inherit;text-align:left;width:100%;min-height:44px;font-size:inherit;font-weight:inherit;line-height:inherit;background:0 0;border:0;margin-block:-7px -2px;padding:0}.task-title:hover{color:var(--green);text-underline-offset:3px;text-decoration:underline}.task.completed h3{color:#6b777d}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px 12px;margin-top:5px;font-size:11px;display:flex}.task-meta>span:first-child{min-width:90px}.due{align-items:center;gap:4px;display:inline-flex}.due.overdue{color:#a44239}.health{color:#56646b;align-items:center;gap:6px;margin-top:5px;font-size:11px;line-height:1.5;display:inline-flex}.health i{border-radius:50%;flex-shrink:0;width:6px;height:6px}.task-tags{flex-wrap:wrap;align-items:center;gap:10px;margin-top:5px;display:flex}.task-tags .health{margin-top:0}.completion{background:var(--soft);color:#56646b;border-radius:4px;align-items:center;padding:1px 7px;font-size:10px;font-weight:550;display:inline-flex}.completion.completed{color:var(--green);background:#eaf2ee}.completion.cancelled{color:#94655f;background:#f4eeee}.task.cancelled h3{color:#7b858a;text-decoration:line-through}.carry-button{margin-top:3px}.delay{color:#b0432f;font-weight:600}.pending-tag{color:#a4422f;background:#fdeee9;border-radius:4px;margin-top:5px;padding:2px 7px;font-size:10px;font-weight:550;display:inline-flex}.locked-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.locked-field span{color:var(--muted);font-size:12px}.locked-field strong{overflow-wrap:anywhere;font-size:14px;font-weight:550}.delay-note{color:#b0432f;margin:-8px 0 16px;font-size:12px}.updates-block{border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.updates-heading{margin-bottom:10px;font-size:13px;font-weight:600}.update-item{background:var(--soft);border-radius:8px;margin-bottom:8px;padding:10px 12px}.update-item p{overflow-wrap:anywhere;font-size:13px}.update-item small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.update-input{margin:8px 0}.removal-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.removal-actions .button{min-height:40px}.empty{text-align:center;padding:30px 20px}.empty h3{font-size:14px;font-weight:500}.empty p{margin-top:5px;font-size:12px}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search{flex:1;min-width:0}.toolbar>.button{min-height:44px;padding:10px 14px;font-size:12px}.tabs{background:#e9edef;border:1px solid #dfe4e6;border-radius:8px;gap:3px;margin-bottom:18px;padding:3px;display:flex}.tabs button{color:#5d6a72;white-space:nowrap;background:0 0;border:0;border-radius:5px;flex:1;min-height:44px;padding:10px 12px;font-size:12px;font-weight:500}.tabs button.selected{color:var(--ink);background:#fff;box-shadow:0 1px 3px #1f30331a}.tabs button:hover:not(.selected){background:#f4f6f6}.settings-tabs{scrollbar-width:none;background:#f1f2f4;border-color:#e3e7e9;border-radius:12px;gap:4px;padding:5px;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{color:#4f5b61;border-radius:9px;flex:none;align-items:center;gap:8px;min-height:40px;padding:10px 14px;font-size:12.5px;font-weight:550;display:inline-flex}.settings-tabs button.selected{background:var(--green);color:#fff}.settings-tabs button.selected:hover{background:#104b3b}.settings-tabs button svg{flex-shrink:0}@media (width<=700px){.settings-tabs button svg{display:none}}.field{flex-direction:column;gap:8px;margin-bottom:18px;font-size:13px;font-weight:500;display:flex}.field small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}.field-error>.field>span,.field-error .field small{color:#a44239}.field-error textarea,.field-error input[type=date],.field-error .date-display{background:#fdf6f5;border-color:#bb4848}input,select,textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #ced6da;border-radius:8px;min-height:46px;padding:11px 12px;font-size:14px;line-height:1.4}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #72a394}input::placeholder,textarea::placeholder{color:#9ba5aa;opacity:.72;font-size:13px;font-style:italic}input[readonly]{color:#667279;background:#f2f4f5}select{appearance:none;cursor:pointer;background:#f9fafa}input[type=color]{width:100%;max-width:120px;padding:4px}textarea{resize:vertical}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.date-control{position:relative}.date-display{min-height:46px;color:var(--ink);pointer-events:none;background:#fff;border:1px solid #ced6da;border-radius:8px;align-items:center;gap:8px;padding:11px 12px;font-size:14px;line-height:1.4;display:flex}.date-control input[type=date]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:11px 12px;position:absolute;inset:0}.date-control:focus-within input[type=date]{opacity:1}.date-control:focus-within .date-display{visibility:hidden}.date-control.locked .date-display{color:#667279;background:#f2f4f5}.date-control.locked input[type=date]{cursor:default}.segmented{background:#e9edef;border:1px solid #dfe4e6;border-radius:8px;flex-wrap:wrap;gap:3px;padding:3px;display:flex}.segmented button{color:#5d6a72;white-space:nowrap;background:0 0;border:0;border-radius:5px;flex:auto;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 12px;font-size:12px;font-weight:500;display:inline-flex}.segmented button:disabled{cursor:default;color:#98a2a7}.segmented button .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.segmented button.selected{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 3px #1f30331a}.segmented button:hover:not(.selected){background:#f4f6f6}dialog{width:min(500px,100% - 40px);max-height:min(90dvh,860px);color:var(--ink);overscroll-behavior:contain;background:#fff;border:1px solid #dfe4e6;border-radius:14px;padding:0 24px 24px;position:fixed;box-shadow:0 18px 70px #172c3530}dialog[open]{animation:.16s ease-out sheet-enter}dialog::backdrop{background:#14212c60}.modal-heading{z-index:2;background:#fff;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:16px 0;display:flex;position:sticky;top:0}.modal-heading h2{font-size:18px;font-weight:600}.modal-heading .icon-button{margin-right:-8px}.modal-actions{z-index:2;border-top:1px solid var(--line);background:#fff;justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;padding:18px 0 2px;display:flex;position:sticky;bottom:-24px}.modal-actions>.button{flex:1}.modal-actions>.text-button{text-align:left;flex:1}.danger{color:#a44239}.sheet-note,dialog form>p{color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.6}.modal-error{color:#8d3e2c;background:#fff0e9;border-radius:8px;margin-bottom:18px;padding:12px;font-size:12px}.checkout-summary{padding:12px 0 24px}.checkout-summary>strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:36px;font-weight:600}.checkout-summary>strong>span{color:#78858c;font-size:24px;font-weight:400}.checkout-summary p{margin-top:5px;font-size:12px}.report-progress{color:var(--muted);margin-bottom:12px;font-size:12px;font-weight:550}.report-task{border:1px solid var(--line);background:var(--soft);border-radius:10px;margin-bottom:16px;padding:12px 14px}.report-remark{margin-bottom:14px}.report-remark .text-button{align-items:center;gap:6px;padding-inline:0;display:inline-flex}.report-followup[aria-hidden=true]{visibility:hidden}.report-when{display:grid}.report-when>*{grid-area:1/1}.report-summary h3{margin-bottom:10px;font-size:15px;font-weight:600}.report-list{flex-direction:column;gap:8px;margin-bottom:20px;list-style:none;display:flex}.report-list li{border-radius:8px;overflow:hidden}.report-item{text-align:left;border:0;border-left:3px solid var(--line);background:var(--soft);cursor:pointer;width:100%;color:inherit;padding:10px 12px;display:block}.report-item:hover{filter:brightness(.98)}.report-item.completed{background:#eaf2ee;border-left-color:#23775c}.report-item.in_progress{background:#edf2f8;border-left-color:#3f6db0}.report-item.cancelled{background:#f6ecec;border-left-color:#bb4848}.report-item.not_started{background:#f2f4f5;border-left-color:#96a0a5}.report-list strong{overflow-wrap:anywhere;font-size:13px;font-weight:550;display:block}.report-list small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.report-sweep{border:1px solid var(--line);border-radius:10px;margin-bottom:4px;padding:14px}.report-sweep strong{font-size:13px;font-weight:600}.report-sweep p{color:var(--muted);margin:5px 0 8px;font-size:12px;line-height:1.5}.report-sweep .text-button{align-items:center;gap:6px;padding-inline:0;display:inline-flex}.account-summary{text-align:center;padding:14px 0 22px}.account-summary>.avatar{width:54px;height:54px;margin-bottom:14px;font-size:17px}.account-summary p{overflow-wrap:anywhere;margin-top:5px}.account-details{margin:0 0 20px;font-size:13px}.account-details>div{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:15px 0;display:flex}.account-details dt{color:var(--muted)}.account-details dd{text-align:right;margin:0}.account-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.account-actions .button{white-space:normal;width:100%;min-height:48px;padding-inline:10px;line-height:1.35}.dev-roles{background:#f7f9f9;border:1px dashed #c5d0d4;border-radius:10px;margin:0 0 18px;padding:14px}.dev-roles-title{letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:10px;font-weight:600}.dev-roles-list{gap:6px;display:grid}.dev-role{border:1px solid var(--line);min-height:44px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.dev-role small{color:var(--muted);font-size:11px}.dev-role.selected{border-color:var(--green);color:var(--green);background:#eaf2ee;font-weight:600}.dev-role.selected small{color:var(--green)}.topbar-actions{align-items:center;gap:8px;display:flex}.dev-console-toggle{color:#fff;background:#1f3033;border:1px solid #b9c6cb;border-radius:50%;place-items:center;width:44px;height:44px;padding:4px;display:grid;position:relative}.dev-console-toggle[aria-expanded=true]{background:var(--green);border-color:var(--green)}.dev-console-badge{background:#f0b429;border:1px solid #1f3033;border-radius:50%;width:9px;height:9px;position:absolute;top:3px;right:3px}.dev-console-scrim{z-index:39;background:0 0;position:fixed;inset:0}.dev-console-panel{z-index:40;background:#fff;border:1px solid #c5d0d4;border-radius:12px;width:min(300px,100vw - 32px);padding:14px;position:fixed;top:82px;right:16px;box-shadow:0 14px 40px #172c3530}.dev-console-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.dev-console-head strong{font-size:13px;font-weight:600}.dev-console-now{font-variant-numeric:tabular-nums;font-size:13px}.dev-console-offset{color:var(--muted);margin-top:2px;font-size:11px}.dev-console-buttons{grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0;display:grid}.dev-console-buttons button{border:1px solid var(--line);background:#f7f9f9;border-radius:8px;min-height:40px;padding:8px 6px;font-size:12px;font-weight:550}.dev-console-buttons button.reset{border-color:var(--green);color:var(--green);background:#eaf2ee}.dev-console-absolute{color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.dev-console-absolute input{min-height:40px}.dev-console-absolute button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:8px;min-height:40px;padding:0 12px;font-size:12px;font-weight:550}.dev-console-absolute button:disabled{color:#667279;background:#e9edee;border-color:#e4e8e9}.dev-console-reset{color:#a4422f;background:#fdf1ee;border:1px solid #dcb6ae;border-radius:8px;width:100%;min-height:40px;margin-top:12px;padding:8px 12px;font-size:12px;font-weight:600}.dev-console-note{color:var(--muted);margin-top:12px;font-size:10px;line-height:1.5}.stats-grid{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px;padding:22px 0;display:grid}.stat{padding:0 22px}.stat+.stat{border-left:1px solid var(--line)}.stat span{color:var(--muted);font-size:12px;display:block}.stat strong{letter-spacing:-.8px;font-variant-numeric:tabular-nums;margin-top:7px;font-size:28px;font-weight:550;display:block}.overview-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.people-stack{flex-direction:column;gap:18px;display:flex}.inline-field{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.inline-field input,.inline-field select{width:auto}.distribution{gap:14px;padding:0 20px 22px;display:grid}.distribution>div>div:first-child{justify-content:space-between;align-items:center;margin-bottom:7px;font-size:12px;display:flex}.distribution strong{font-variant-numeric:tabular-nums;font-weight:550}.bar{background:#edf0f1;border-radius:2px;height:4px;overflow:hidden}.bar i{background:#66897c;border-radius:2px;height:100%;display:block}.health-summary{padding:0 20px 16px}.health-summary>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.health-summary>div:first-child{border-top:0}.health-summary .health{margin:0;font-size:12px}.health-summary strong{font-size:16px;font-weight:500}.muted{color:var(--muted);font-size:12px}.person-detail{border-top:1px solid var(--line)}.person-detail summary{cursor:pointer;align-items:center;gap:12px;padding:17px 20px;list-style:none;display:flex}.person-detail summary::-webkit-details-marker{display:none}.person-detail summary:hover{background:#fafbfb}.person-label{flex:1;min-width:0}.person-label strong{font-size:13px;font-weight:550;display:block}.person-label small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.person-count{color:var(--muted);white-space:nowrap;font-size:11px}.attendance{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.attendance i{background:currentColor;border-radius:50%;width:7px;height:7px}.attendance.green{color:#23775c;background:#eaf2ee}.attendance.yellow{color:#8a6414;background:#fbf3df}.attendance.red{color:#b0432f;background:#fbecea}.attendance.grey{background:var(--soft);color:#67757c}.disclosure:after{content:"+";color:#66767d;font-size:19px}details[open] .disclosure:after{content:"−"}.person-content{background:#f7f9f9;padding:8px 10px}.person-content>p{padding:5px 10px 12px;font-size:11px}.removal-note{border-top:1px solid var(--line);padding:16px 20px}.removal-note strong{font-size:13px;font-weight:550}.removal-note p{margin-top:6px;font-size:12px}.removal-note small{color:var(--muted);margin-top:8px;font-size:11px;display:block}.removed-panel{margin-top:18px}.staff-toolbar{align-items:stretch;gap:12px;margin-bottom:16px;display:flex}.staff-search{min-width:0;min-height:46px;color:var(--muted);background:#fff;border:1px solid #ced6da;border-radius:10px;flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.staff-search:focus-within{outline-offset:1px;outline:2px solid #72a394}.staff-search input{background:0 0;border:0;flex:1;min-height:44px;padding:0}.staff-search input:focus{outline:none}.staff-view{max-width:760px;margin-inline:auto}.staff-list{gap:14px;display:grid}.staff-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.staff-card-main{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar head actions""avatar body actions";align-items:start;gap:12px 16px;display:grid}.staff-avatar{color:#4b5b60;background:#e9edee;border-radius:50%;grid-area:avatar;place-items:center;width:56px;height:56px;font-size:16px;font-weight:600;display:grid;position:relative}.staff-avatar .presence{background:#34a853;border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;bottom:1px;right:1px}.staff-card-head{grid-area:head;min-width:0}.staff-card-head h3{overflow-wrap:anywhere;font-size:15px;font-weight:600}.staff-card-body{grid-area:body;min-width:0}.staff-email{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:12px}.staff-tags{flex-wrap:wrap;gap:8px;display:flex}.badge{text-align:left;border-radius:7px;align-items:center;max-width:100%;padding:4px 10px;font-size:11.5px;font-weight:550;display:inline-flex}.badge.position{color:#1f6b4f;background:#e4f1ea}.badge.department{color:#5b4bb0;background:#eceafd}.badge.role{color:#40545d;background:#e9eef0}.staff-meta{flex-wrap:wrap;gap:8px 16px;margin-top:12px;display:flex}.staff-meta-item{color:#56646b;align-items:center;gap:6px;max-width:100%;font-size:12px;display:inline-flex}.staff-meta-item svg{color:#8a969b;flex-shrink:0}.staff-note{color:#7c888e;margin-top:12px;font-size:12px;font-style:italic}.staff-card-actions{flex-direction:column;grid-area:actions;align-items:flex-end;gap:12px;display:flex}.staff-card-actions-top{align-items:center;gap:6px;display:flex}.status-pill{color:#2f7d4f;align-items:center;gap:6px;font-size:12px;font-weight:550;display:inline-flex}.status-pill i{background:#34a853;border-radius:50%;width:8px;height:8px}.status-pill.off{color:var(--muted)}.status-pill.off i{background:#b0b8bc}.staff-menu{position:relative}.staff-menu summary{color:#5d6b73;cursor:pointer;border-radius:8px;place-items:center;width:36px;height:36px;list-style:none;display:grid}.staff-menu summary::-webkit-details-marker{display:none}.staff-menu summary:hover{background:var(--soft)}.staff-menu-list{z-index:6;border:1px solid var(--line);background:#fff;border-radius:10px;gap:2px;min-width:196px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #172c3520}.staff-menu-list button{min-height:42px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:7px;padding:10px 12px;font-size:13px}.staff-menu-list button:hover:not(:disabled){background:var(--soft)}.tag{color:#606e75;background:#f0f2f3;border-radius:4px;margin-left:4px;padding:2px 5px;font-size:10px;font-weight:400;display:inline-block}.setting-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:15px 20px;display:flex;position:relative}.setting-row:hover{background:var(--soft)}.setting-row .icon-button:after{content:"";position:absolute;inset:0}.setting-info{flex:1;min-width:0}.setting-info p{margin-top:6px;font-size:12px}.color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.settings-note{margin-top:16px;font-size:11px}.settings-form{padding:8px 20px 20px}.settings-form .modal-actions{border-top:1px solid var(--line);padding-top:16px}.settings-page{max-width:720px;margin-inline:auto}.settings-profile{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex;box-shadow:0 1px 2px #1f30330a}.settings-profile-info{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-profile-info strong{letter-spacing:.4px;overflow-wrap:anywhere;font-size:15px;font-weight:700}.settings-profile-info span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.settings-profile-info small{color:var(--muted);font-size:11px}.avatar.xl{color:#fff;background:#1f3033;width:52px;height:52px;font-size:15px}.settings-group{margin-top:22px}.settings-group-title{letter-spacing:.9px;text-transform:uppercase;color:#46535a;margin-bottom:10px;padding-bottom:7px;font-size:11px;font-weight:700;display:inline-block;position:relative}.settings-group-title:after{content:"";background:var(--green);border-radius:2px;width:30px;height:3px;position:absolute;bottom:0;left:0}.settings-item{border:1px solid var(--line);text-align:left;width:100%;min-height:56px;color:var(--ink);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:12px 16px;display:flex}.settings-item+.settings-item{margin-top:8px}.settings-item:hover{background:#fafbfb}.settings-item-icon{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.settings-item-label{flex:1;font-size:14px;font-weight:600}.settings-back{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:8px;align-items:center;padding:8px 16px;font-size:13px;font-weight:550;display:inline-flex}.settings-back:hover{background:var(--soft)}.settings-detail-header{align-items:center;gap:12px;margin:14px 0 18px;display:flex}.settings-detail-header h2{font-size:19px;font-weight:650}.settings-item-actions{justify-content:flex-end;margin:4px 0 10px;display:flex}.notice{color:#355446;background:#edf4ef;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:12px}.offline{border-radius:0;align-items:center;gap:8px;margin:0;display:flex}.error-toast{z-index:30;color:#8d3e2c;background:#fff2eb;border:1px solid #e7c3b3;border-radius:10px;align-items:center;gap:10px;max-width:min(600px,100% - 24px);padding:8px 12px 8px 16px;font-size:13px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #182b321a}.loading{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;display:flex}.loading img{width:40px;height:40px}.login{width:100%;max-width:420px;min-height:100dvh;margin:auto;padding:80px 24px 40px}.login-brand{margin-bottom:48px}.login-brand img{width:36px;height:36px}.login-card h1{margin-bottom:10px;font-size:26px}.login-card>p{font-size:13px}.login-card form{margin-top:30px}.password-rule{color:var(--muted);margin:-6px 0 18px;font-size:12px;line-height:1.5;display:block}.login-card .button{width:100%}.login-card>.button{margin-top:14px}.login-card .login-help{margin-top:24px;font-size:12px}.login-card .notice{margin:18px 0 0}.demo-link{align-items:center;min-height:44px;margin-top:28px;font-size:12px;text-decoration:none;display:inline-flex}@keyframes sheet-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1000px){.sidebar{width:184px;padding-inline:14px}.workspace{margin-left:184px}.content{padding:24px}.topbar{padding-inline:24px}.topbar-actions{right:20px}.staff-row{padding-inline:16px}.overview-grid{grid-template-columns:1fr}.stat{padding-inline:18px}}@media (width<=700px){.sidebar{display:none}.workspace{margin:0}.topbar{height:calc(158px + env(safe-area-inset-top));padding:calc(20px + env(safe-area-inset-top)) 20px 20px;background-position:58% 54%}.topbar-daily{height:calc(184px + env(safe-area-inset-top));padding-bottom:54px}.topbar h1{font-size:30px}.topbar-mark{top:calc(18px + env(safe-area-inset-top));border-radius:8px;width:32px;height:32px;display:block;left:20px}.topbar-actions{top:calc(12px + env(safe-area-inset-top));right:14px}.content{padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.bottom-nav{padding:5px 8px calc(5px + env(safe-area-inset-bottom));z-index:10;background:#fff;border-top:1px solid #dfe4e6;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#67757c;background:0 0;border:0;border-radius:7px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;min-width:52px;min-height:54px;padding:7px 3px;font-size:10px;font-weight:450;display:flex}.bottom-nav button.active{color:var(--green);font-weight:600}.day-log-panel{border-radius:10px;padding:17px}.day-log-heading{font-size:12px}.day-log-status{font-size:10px}.day-log-facts{margin-top:16px}.day-log-facts>div+div{padding-left:20px}.day-log-facts strong{font-size:18px}.day-action{bottom:calc(72px + env(safe-area-inset-bottom));padding:14px 16px}.day-action .button{min-width:108px}.unfinished-row{gap:9px;padding:0 3px}.unfinished-row>div{gap:8px}.unfinished-row strong{font-size:12px}.unfinished-row span{font-size:11px}.daily-screen{gap:12px;margin-top:-48px}.panel{border-radius:10px}.section-heading{padding:16px}.section-heading h2{font-size:15px}.section-heading p{font-size:11px}.task{gap:4px;padding:13px 13px 13px 6px}.task h3{font-size:14px}.task-meta{margin-top:3px;font-size:11px}.health{margin-top:4px;font-size:11px}input,select,textarea{font-size:16px}input[type=date],input[type=time]{min-height:46px}.date-display{font-size:16px}.toolbar{gap:10px}.toolbar>.button{padding-inline:12px;font-size:12px}.tabs{gap:2px}.tabs button{padding:9px 6px;font-size:11px}.stats-grid{border-radius:10px;margin-bottom:14px;padding:17px 0}.stat{padding-inline:13px}.stat span{font-size:10px}.stat strong{font-size:25px}.overview-grid{gap:14px;margin-bottom:14px}.people-stack{gap:14px}.inline-field{flex-direction:column;flex:1;align-items:stretch;gap:7px;min-width:0;font-size:11px;display:flex}.inline-field input,.inline-field select{width:100%;font-size:16px}.distribution{gap:12px;padding:0 16px 20px}.health-summary{padding:0 16px 8px}.person-detail summary{gap:10px;padding:16px 13px}.person-label strong{font-size:13px}.person-label small,.person-count{font-size:10px}.staff-card{padding:14px}.staff-card-main{grid-template-areas:"avatar head actions""body body body";gap:10px 11px}.staff-avatar{width:44px;height:44px;font-size:13px}.staff-avatar .presence{width:11px;height:11px}.staff-card-head h3{font-size:14px}.staff-tags{gap:6px}.staff-meta{gap:5px 12px;margin-top:9px}.staff-note{margin-top:9px}.staff-card-actions{gap:9px}.setting-row{gap:10px;padding:14px 16px}.setting-row h3{font-size:13px}.setting-info p{font-size:11px;line-height:1.5}.setting-row>.icon-button{margin-right:-7px}.settings-note{font-size:10px}dialog{width:100%;max-width:none;max-height:92dvh;padding:0 20px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:18px 18px 0 0;margin:0;inset:auto 0 0;box-shadow:0 -8px 40px #15263020}.modal-heading{margin-bottom:12px;padding:12px 0}.modal-heading h2{font-size:18px}.modal-actions{bottom:calc(-20px - env(safe-area-inset-bottom));padding:16px 0 calc(2px + env(safe-area-inset-bottom))}.modal-actions>.button{padding-inline:12px;font-size:13px}.form-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:18px;font-size:13px}.login{padding-top:max(72px,12dvh)}.login-brand{margin-bottom:40px}.error-toast{top:calc(8px + env(safe-area-inset-top));width:calc(100% - 24px)}}@media (width<=360px){.content{padding-inline:12px}.topbar{padding-inline:16px}.topbar-mark{left:16px}.topbar-actions{right:10px}.day-log-status{font-size:9px}.day-log-facts strong{font-size:17px}.stat{padding-inline:10px}.toolbar>.button{padding-inline:10px;font-size:11px}.tabs button{font-size:10px}}@media (width<=700px){.dev-console-panel{right:12px;top:calc(64px + env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
