@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1d302d;--muted:#798680;--green:#20624e;--line:#e5eae6;--bg:#f5f7f4}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:13px}button,select,input{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #82bca5;outline-offset:2px}aside{position:fixed;inset:0 auto 0 0;width:228px;background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column}.brand{font-size:30px;font-weight:800;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px;letter-spacing:-1.5px}.logo{display:inline-flex;background:var(--green);color:white;border-radius:12px;width:38px;height:38px;align-items:center;justify-content:center;font-size:32px}.dot{color:#60a27f;margin-left:-10px}.workspace{margin:40px 10px 28px;font-size:9px;letter-spacing:1.7px;color:var(--muted);line-height:2}.workspace b{display:block;letter-spacing:0;color:var(--ink);font-size:18px}.workspace small{display:block;letter-spacing:0;font-size:11px}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:13px 11px;border-radius:7px;font-size:16px;color:#7d8782}nav button span{font-size:12px;font-weight:600}nav button.active{background:#eaf3ed;color:var(--green)}nav i{font-size:10px;font-style:normal;background:#f4e5cf;color:#966c33;padding:2px 6px;border-radius:5px}.aside-bottom{margin-top:auto;font-size:11px;padding:15px 10px}.aside-bottom small{display:block;color:var(--muted);line-height:1.8;margin-top:10px}.online{display:inline-block;width:6px;height:6px;border-radius:50%;background:#63a681;margin-right:6px}main{margin-left:228px}header{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.crumb{font-size:11px;color:#78847f}.crumb span{margin:0 14px;color:#bec5bf}.header-right{display:flex;align-items:center;gap:20px}.demo{font-size:9px;letter-spacing:1px;color:#8e986f;background:#f1f3e8;padding:5px 8px;border-radius:4px}select{border:1px solid var(--line);padding:8px;border-radius:7px;background:#fff;color:var(--ink)}.header-right select{border:0;font-size:11px}.avatar{width:34px;height:34px;border-radius:50%;background:#e2ece4;display:grid;place-items:center;font-size:11px;font-weight:800}.icon{position:relative;font-size:24px}.icon b{position:absolute;top:0;right:-5px;border-radius:50%;font-size:8px;color:white;background:#c48150;width:13px;height:13px;display:grid;place-items:center}.content{padding:33px 36px 20px;max-width:1750px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#8c9a8f;font-weight:700}h1{font-size:30px;margin:8px 0;letter-spacing:-1px}p{color:var(--muted);line-height:1.7;margin:8px 0}.today{font-size:10px;font-weight:800;letter-spacing:1px;text-align:right}.today span{display:block;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:0;margin-top:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 18px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;min-height:115px}.stat:first-child{background:#235d4b;color:white;border-color:#235d4b}.stat label{font-size:11px;color:#829087}.stat:first-child label{color:#c0d6c9}.stat strong{display:block;font-size:29px;letter-spacing:-1px;margin:9px 0 3px;font-weight:700}.stat strong small{font-size:12px;font-weight:500;letter-spacing:0}.stat span{font-size:10px;color:#849287}.stat:first-child span{color:#c0d6c9}.stat .mini{float:right;font-size:20px;color:#96afa0}.notice{display:flex;align-items:center;gap:12px;border:1px solid #e9dec6;background:#fcf8ed;border-radius:7px;padding:12px 16px;margin-bottom:25px;font-size:11px;color:#80663b}.notice button{margin-left:auto;font-size:11px;font-weight:700}.panel{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 21px;gap:12px;flex-wrap:wrap}.tabs{display:flex;gap:5px;background:#f3f5f1;border-radius:7px;padding:4px}.tabs button{padding:8px 15px;font-size:11px;border-radius:5px;color:#7e8b82}.tabs button.selected{background:#fff;box-shadow:0 1px 4px #172c1710;color:var(--green);font-weight:800}.tabs small{font-size:9px;opacity:.6;margin-left:5px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{background:white;border:1px solid #dfe5df;border-radius:6px;padding:9px 12px;font-size:11px;font-weight:600}.primary{background:var(--green);color:#fff;border-radius:6px;padding:10px 16px;font-weight:700;font-size:12px}.primary:disabled{opacity:.4;cursor:default}.subbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px 18px;gap:10px;flex-wrap:wrap}.month{font-weight:800;font-size:13px}.month button{font-size:19px;color:#8a968b;padding:0 9px}.subbar input{padding:9px 12px;border:1px solid var(--line);border-radius:6px;width:180px;font-size:11px}.toggle{font-size:11px;display:flex;align-items:center;gap:7px}.toggle input{width:auto;accent-color:var(--green)}.table-wrap{overflow:auto;max-height:610px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:10px}th,td{border-bottom:1px solid #eef1ed;text-align:center;min-width:29px;height:35px;padding:0 2px}thead th{background:#f6f8f4;color:#8b968d;font-weight:500;position:sticky;top:0;z-index:3;height:45px}thead small{display:block;font-size:8px;margin-top:4px;color:#a3aca4}th.person,td.person{position:sticky;left:0;background:white;z-index:2;min-width:190px;text-align:left;padding-left:20px;border-right:1px solid var(--line)}thead th.person{z-index:4;background:#f6f8f4}td.person button{font-size:10px;text-align:left;width:100%;padding:9px 0;font-weight:600}td.person .you{font-size:8px;color:#4d8769;background:#dcece0;padding:2px 4px;margin-left:5px;border-radius:3px}.count{min-width:40px;color:#7e8c81;border-right:1px solid #edf0ec}.weekend{background:#fafbf9}.today-col{background:#f0f5eb}.cell{width:25px;height:26px;border-radius:4px;font-size:10px;padding:0}.c-С{color:#48775b;background:#e7f0e5}.c-А{background:#eeeafa;color:#8875a8}.c-Н{background:#e6eef9;color:#6a83a4}.c-Р{background:#fcf0da;color:#b68e4d}.c-ОТ{background:#f0f0ec;color:#969b91;font-size:8px}.mine td{background:#f0f7ef}.mine td.person{background:#eaf4e8;box-shadow:inset 3px 0 #458563}.cell.picked{outline:2px solid #2b7554;outline-offset:1px}.cell.editable:hover{outline:1px solid var(--green)}tfoot td{font-weight:700;background:#f6f8f4;position:sticky;bottom:0;z-index:3}tfoot td.person{background:#f6f8f4;font-size:10px}.legend{padding:16px 20px;display:flex;gap:17px;flex-wrap:wrap;font-size:10px;color:#8a9388}.legend span{display:flex;gap:6px;align-items:center}.legend b{border-radius:3px;padding:4px;font-size:9px;font-weight:500}.lower{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:20px}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:22px}h2{font-size:15px;margin:0 0 15px}.card h2 button{float:right;font-size:10px;color:var(--green)}.shift-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f1f3ef}.shift-item:last-child{border-bottom:0}.datebox{background:#f1f5ef;border-radius:7px;padding:8px;width:44px;text-align:center;font-size:18px;font-weight:700}.datebox small{display:block;font-size:8px;font-weight:400}.shift-item strong{font-size:11px}.shift-item p{font-size:10px;margin:3px 0}.badge{margin-left:auto;font-size:9px;padding:5px 8px;border-radius:5px;background:#eaf2e7;color:#518061}.badge.warn{background:#fbf0da;color:#a98640}.badge.danger{background:#fae9e6;color:#b46f62}.docs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.doc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.doc-symbol{font-size:27px;color:#779a82}.doc-date{font-size:23px;font-weight:700;margin-top:18px}.doc-foot{border-top:1px solid var(--line);padding-top:14px;margin-top:20px;font-size:11px;color:#7f8b81}.progress{height:4px;background:#edf1e8;border-radius:5px;margin-top:18px}.progress span{display:block;height:100%;background:#74a681;border-radius:5px}.profile-head{display:flex;align-items:center;gap:20px;margin-bottom:20px}.profile-head .avatar{width:65px;height:65px;font-size:22px}.memo-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:16px;border-bottom:1px solid var(--line);padding:14px 5px;font-size:12px;line-height:1.6}.memo-row.head{font-weight:700;color:#53735c}.muted{color:var(--muted)}footer{display:flex;justify-content:space-between;color:#9aa397;font-size:9px;margin:24px 0 0}.empty{padding:50px;text-align:center;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:14px;padding:30px;width:450px;max-width:94vw;box-shadow:0 20px 100px #15362630;color:var(--ink)}dialog::backdrop{background:#183a3440;backdrop-filter:blur(3px)}dialog label{display:block;margin-top:18px;font-size:12px}dialog select{display:block;width:100%;margin-top:8px}.close{float:right;font-size:25px}.hint{font-size:11px;margin:20px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#214a3b;color:white;padding:14px 22px;border-radius:8px;z-index:10;opacity:0;pointer-events:none;transition:.2s;font-size:12px}#toast.show{opacity:1}.draft{font-size:10px;color:#b08043}.admin-note{background:#f1f5ec;padding:12px 20px;color:#6a7d60;font-size:11px}.selected-date{color:var(--green);font-size:11px;padding:0 22px 12px}
@media(min-width:1600px){th,td{min-width:34px}}@media(max-width:1100px){aside{width:190px;padding:26px 12px}main{margin-left:190px}.content{padding:25px 22px}header{padding:0 22px}.stats{gap:10px}.stat{padding:15px}.toolbar{align-items:flex-start}.today{display:none}}@media(max-width:760px){aside{position:static;width:100%;padding:15px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:24px}.logo{width:30px;height:30px}.workspace,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:13px;gap:4px}nav button{white-space:nowrap;padding:10px;font-size:13px}nav button span{font-size:10px}nav i{display:none}main{margin:0}header{height:60px;padding:0 16px}.crumb{font-size:10px}.header-right{gap:8px}.demo{display:none}.content{padding:23px 15px}h1{font-size:26px}.intro p{font-size:11px}.stats{grid-template-columns:1fr 1fr;margin-top:20px}.stat{min-height:100px}.stat strong{font-size:24px}.notice{font-size:10px;align-items:flex-start}.notice button{white-space:nowrap}.toolbar{padding:14px 10px}.tabs button{padding:8px 11px}.tabs small{display:none}.subbar{padding:0 12px 15px}.subbar input{width:145px}.lower,.docs-grid{grid-template-columns:1fr}th.person,td.person{min-width:152px;padding-left:10px}.table-wrap{max-height:540px}.legend{gap:10px;padding:13px}footer span:last-child{display:none}.memo-row{grid-template-columns:52px 1fr 1fr;font-size:10px;gap:8px}.card{padding:17px}.actions{gap:5px}}
/* Full-width, one-team workspace */
aside{position:fixed;inset:0 auto 0 0;width:260px;height:100dvh;padding:28px 20px;z-index:30;transform:translateX(-101%);transition:transform .22s ease;box-shadow:8px 0 35px #173b241a;overflow:auto;display:flex}.menu-open aside{transform:translateX(0)}#menu-backdrop{position:fixed;inset:0;z-index:25;background:#18332c66;width:100%;height:100%;cursor:default}#menu-backdrop[hidden]{display:none}#menu-close{position:absolute;right:15px;top:12px;font-size:28px;color:#738478}.drawer-role{margin:25px 10px}.drawer-role label{display:block;font-size:11px;margin-bottom:8px;color:var(--muted)}.drawer-role select{width:100%}aside nav{display:grid;overflow:visible;margin-top:0;gap:8px}aside .workspace{display:block}aside .aside-bottom{display:block}aside nav button span{font-size:12px}main{margin-left:0}header{height:54px;padding:0 18px;gap:18px}.crumb{margin-right:auto}.header-right{gap:15px}.content{max-width:none;padding:18px}.schedule-page .intro,.schedule-page #stats,.schedule-page #notice,.schedule-page footer{display:none}.schedule-page .content{padding:10px 12px}.schedule-page .toolbar{padding:10px 14px}.schedule-page .subbar{padding:0 14px 10px}.schedule-page .panel{border-radius:7px}.shift-pager{display:flex;gap:8px;align-items:center}.shift-pager>.btn{font-size:20px;padding:3px 11px}.schedule-page .selected-date{display:none}.schedule-page .admin-note{display:none}.schedule-page .table-wrap{max-height:calc(100dvh - 205px);min-height:0}.schedule-page th,.schedule-page td{height:clamp(24px,calc((100dvh - 257px)/22),42px)}.schedule-page thead th{height:42px}.schedule-page th.person,.schedule-page td.person{min-width:185px;padding-left:16px}.schedule-page .cell{height:24px;width:26px}.extra-info{border-top:1px solid var(--line)}.extra-info summary{cursor:pointer;padding:10px 16px;font-size:11px;color:#7b8d7e}.extra-info .hint{margin:6px 20px}.extra-info .lower{padding:0 16px 16px}.schedule-page .toolbar .actions{margin-left:auto}.schedule-page tbody .person button{padding:4px 0}.schedule-page table{min-width:1120px}.schedule-page .count{width:42px}.schedule-page tfoot td{height:30px}.menu-open{overflow:hidden}
@media(min-width:1250px){.schedule-page table{table-layout:fixed;min-width:0}.schedule-page th.person,.schedule-page td.person{width:190px;min-width:190px}.schedule-page th,.schedule-page td{min-width:0}.schedule-page .cell{width:85%;max-width:35px}}
@media(max-width:760px){header{padding:0 12px;height:50px}.crumb{font-size:10px}.crumb span{margin:0 5px}.avatar{width:28px;height:28px}.header-right{gap:9px}#menu-open{padding:7px 9px}#menu-open span{display:none}aside .workspace{margin-top:30px}aside nav button{padding:13px 11px}.schedule-page .content{padding:5px}.schedule-page .toolbar{padding:8px;gap:8px}.shift-pager{gap:3px;width:100%;justify-content:space-between}.tabs{flex:1;justify-content:center}.tabs button{padding:8px 10px}.tabs small{display:inline;font-size:8px;margin-left:3px}.schedule-page .subbar{padding:4px 8px 8px}.schedule-page .subbar .actions{gap:8px}.schedule-page .table-wrap{max-height:calc(100dvh - 235px)}.schedule-page th.person,.schedule-page td.person{min-width:145px;padding-left:9px}.schedule-page td{height:29px}.schedule-page .toolbar .actions{width:100%;justify-content:flex-end}.schedule-page .subbar input{width:145px}.extra-info .lower{padding:0 8px 8px}.today{display:none}}
@media(prefers-reduced-motion:reduce){aside{transition:none}}
/* Brighter accents and readable schedule */
:root{--ink:#16392e;--muted:#596e63;--green:#08764f;--line:#cddfd3;--bg:#edf6f0}
header{border-bottom:2px solid #c4dfcd}.brand .logo,.primary{background:#08764f}.avatar{background:#c7ecd3;color:#125d39}.crumb{color:#466455}.btn{border-color:#b7d0c0;color:#285d40}.btn:hover{background:#e7f6eb}.panel{border-color:#b6d2c0}.schedule-page .toolbar{background:#f1faf4}.tabs{background:#d9efdf}.tabs button{color:#305b40;font-size:12px;font-weight:700}.tabs button.selected{background:#08764f;color:#fff;box-shadow:0 2px 5px #08764f30}.tabs small{opacity:1}.shift-pager>.btn{color:#08764f;border-color:#94c5a5}.month{font-size:15px;color:#164e32}.month button{color:#167b4e}.schedule-page thead th{background:#d9efdf;color:#16472d;font-size:14px;font-weight:800;border-bottom:2px solid #8dbd9e;border-right:1px solid #c0ddca}.schedule-page thead th.person{background:#d9efdf;font-size:12px}.schedule-page thead small{color:#476c53;font-size:10px;font-weight:600}.schedule-page thead .weekend{background:#ffedcf;color:#7e480f}.schedule-page thead .weekend small{color:#82511f}.schedule-page thead .today-col{background:#08764f;color:#fff}.schedule-page thead .today-col small{color:#fff}.schedule-page td{border-bottom:1px solid #d9e5dc;border-right:1px solid #e1eae3}.schedule-page tbody tr:nth-child(even):not(.mine) td{background:#f5faf6}.schedule-page tbody tr:nth-child(even):not(.mine) td.person{background:#f0f7f2}.schedule-page tbody td.person button{color:#274632;font-size:11px;font-weight:700}.schedule-page td.count{color:#205d39;font-weight:800;font-size:12px}.cell{font-size:12px;font-weight:800;color:#8b9c91;border:1px solid transparent}.c-С{background:#a9e7bd;color:#14552b;border-color:#75c892}.c-Н{background:#bed9ff;color:#224c89;border-color:#8db9f2}.c-А{background:#ddc8fc;color:#603590;border-color:#bb97ed}.c-Р{background:#ffe2a1;color:#795006;border-color:#e9be60}.c-ОТ{background:#e1e7ec;color:#485967;border-color:#bac8d2;font-size:10px}.mine td{background:#e0f6e8}.mine td.person{background:#ceefd9;box-shadow:inset 4px 0 #0a8b51}.mine .cell.picked,.cell.picked{outline:2px solid #007742;outline-offset:1px;box-shadow:0 0 0 3px #b5ebc8}.person .you{background:#08764f!important;color:#fff!important}.schedule-page tfoot td,.schedule-page tfoot td.person{background:#d9efdf;color:#1d5132;border-top:2px solid #9fcbae;font-size:12px}.legend{color:#355442}.legend b{font-weight:800;border-width:1px;border-style:solid;min-width:24px;text-align:center}.extra-info summary{color:#376648}.extra-info summary:hover{background:#eaf7ee}nav button.active{background:#d2efdd;color:#086b43}nav button{color:#496957}.toggle{color:#345641}
/* One blue highlight for personal working dates */
.schedule-page thead th.my-work-date{background:#a8ddff;color:#123f65;border-bottom:2px solid #4098d2;border-right-color:#87c8f2}.schedule-page thead th.my-work-date small{color:#123f65}.schedule-page .cell.my-work-cell{background:#a8ddff;color:#123f65;border-color:#4098d2}.schedule-page .cell.my-work-cell.picked{outline-color:#2277ae;box-shadow:0 0 0 3px #d5edff}

/* Expand one employee row above the unchanged schedule. */
#employee-dialog{width:calc(100vw - 40px);max-width:1600px;padding:22px;border:2px solid #66b993;overflow:auto;box-shadow:0 25px 100px #123e4255;max-height:90dvh}#employee-dialog[open]{animation:strip-forward .22s ease-out}#employee-dialog::backdrop{background:#18332c52;backdrop-filter:blur(1px)}.strip-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px}.strip-heading h2{margin:6px 0 0;font-size:20px}.strip-total{margin-left:auto;white-space:nowrap;font-size:12px;color:#286344}.employee-strip{display:grid;grid-template-columns:repeat(31,minmax(0,1fr));border:1px solid #a9d2b8;border-radius:7px;overflow:hidden}.strip-day{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 1px;border-right:1px solid #c9e2d1;background:#f1faf4}.strip-day strong{font-size:15px;color:#214e34}.strip-day small{font-size:9px;color:#4c725a}.strip-day>span{font-size:12px;font-weight:800;min-width:24px;min-height:28px;display:grid;place-items:center;border-radius:4px;padding:2px}.strip-day.strip-blue{background:#a8ddff}.strip-day.strip-blue strong,.strip-day.strip-blue small{color:#123f65}.strip-day.strip-blue>span{background:#a8ddff;color:#123f65;border-color:#4098d2}.strip-note{font-size:10px;color:#547160;margin-top:17px;line-height:1.7}.schedule-page tbody tr:hover td{box-shadow:inset 0 1px #72bb8e,inset 0 -1px #72bb8e}.schedule-page tbody td.person button{cursor:zoom-in}.schedule-page .cell:not(.editable){cursor:zoom-in}@keyframes strip-forward{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1000px){.employee-strip{grid-template-columns:repeat(16,minmax(0,1fr))}.strip-day{border-bottom:1px solid #c9e2d1}}@media(max-width:600px){#employee-dialog{width:calc(100vw - 20px);padding:14px}.employee-strip{grid-template-columns:repeat(7,minmax(0,1fr))}.strip-heading{gap:9px;flex-wrap:wrap;margin-bottom:14px}.strip-heading h2{font-size:17px}.strip-heading .eyebrow{font-size:8px}.strip-total{font-size:10px}.strip-day{gap:4px;padding:6px 1px}.strip-note{font-size:9px}}@media(prefers-reduced-motion:reduce){#employee-dialog[open]{animation:none}}
