:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,sans-serif;color-scheme:light;--text:#172033;--sub:#758198;--muted:#96a1b2;--glass:rgba(255,255,255,.70);--glass2:rgba(255,255,255,.54);--stroke:rgba(255,255,255,.87);--outline:rgba(92,117,154,.13);--shadow:0 18px 58px rgba(37,56,96,.08),0 2px 9px rgba(37,56,96,.035);--bg:#edf2f9;--accent:#2969e8;--accentSoft:rgba(54,111,240,.10);--green:#119b70;--greenBg:rgba(60,206,147,.11);--blueBg:rgba(48,119,235,.11);--warn:#b77a27;--radius:23px;--sidebarW:230px}
:root[data-theme="dark"]{color-scheme:dark;--text:#eef3fc;--sub:#a5b0c5;--muted:#8492a9;--glass:rgba(25,36,55,.77);--glass2:rgba(21,31,48,.68);--stroke:rgba(164,191,227,.16);--outline:rgba(160,188,228,.13);--shadow:0 20px 60px rgba(0,4,16,.30);--bg:#0d1422;--accent:#78abff;--accentSoft:rgba(79,135,239,.18);--green:#60d7ad;--greenBg:rgba(40,178,130,.16);--blueBg:rgba(57,107,194,.22);--warn:#f2c072}
*{box-sizing:border-box}html{height:100%;overflow-x:hidden}body{margin:0;min-width:320px;min-height:100%;color:var(--text);background:radial-gradient(900px 650px at 87% 6%,rgba(117,168,248,.24),transparent 67%),radial-gradient(750px 600px at 13% 80%,rgba(149,206,206,.19),transparent 65%),var(--bg);transition:background .26s,color .26s;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}svg{display:block}a{color:inherit}.app{display:flex;min-height:100vh;min-height:100dvh}.sidebar{width:var(--sidebarW);flex-shrink:0;position:sticky;top:0;height:100vh;height:100dvh;border-right:1px solid var(--stroke);padding:31px 16px 20px 22px;display:flex;flex-direction:column;background:var(--glass2);backdrop-filter:blur(35px);-webkit-backdrop-filter:blur(35px)}.branding{display:flex;align-items:center;gap:10px;text-align:left;white-space:nowrap}.logo{background:#141518;color:white;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:14px;width:45px;height:45px;letter-spacing:-.6px;flex-shrink:0}.brand-name{font-size:22px;font-weight:750;letter-spacing:-.8px;color:var(--text);line-height:1.02}.brand-caption{font-size:11px;color:var(--sub);margin-top:2px;letter-spacing:.03em}.nav{display:grid;gap:7px;margin-top:45px}.navbtn{display:flex;align-items:center;gap:13px;border:1px solid transparent;border-radius:17px;padding:13px 14px;background:transparent;color:var(--sub);font-size:14px;font-weight:550;text-align:left}.navbtn.active{color:var(--accent);border-color:var(--stroke);background:var(--accentSoft);box-shadow:0 4px 18px rgba(56,106,184,.08)}.navbtn:hover{background:var(--glass2)}.navbtn svg{width:19px;height:19px;flex-shrink:0}.sidebar-foot{margin-top:auto;display:grid;gap:12px}.small-profile{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--stroke);border-radius:17px;padding:11px;background:var(--glass);color:var(--text)}.avatar{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:linear-gradient(145deg,#c7d7f0,#e8edf7);color:#4c6898;font-size:12px;font-weight:700}.main{width:100%;min-width:0;padding:18px max(24px,calc((100vw - 1480px)/2)) 50px;flex:1}.topbar{height:57px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.topbrand{display:none}.topactions{display:flex;align-items:center;gap:10px}.search-top{min-width:210px;max-width:410px;width:36vw;flex:1}.input-search{width:100%;border-radius:17px;background:var(--glass2);border:1px solid var(--stroke);color:var(--text);outline:none;padding:13px 17px;backdrop-filter:blur(15px)}.input-search::placeholder{color:var(--muted)}.icon-btn{height:42px;width:42px;border-radius:15px;background:var(--glass);border:1px solid var(--stroke);display:grid;place-items:center;color:var(--sub);flex-shrink:0;box-shadow:0 4px 17px rgba(15,40,86,.035)}.icon-btn:hover{color:var(--accent);background:var(--accentSoft)}.icon-btn svg{width:19px;height:19px}.profile-mini{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#d8e1ee,#c1cbdc);border:2px solid var(--glass);font-weight:700;color:#334;display:grid;place-items:center}.glass{background:var(--glass);backdrop-filter:blur(28px) saturate(1.22);-webkit-backdrop-filter:blur(28px) saturate(1.22);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:var(--radius)}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.pagehead h1{font-size:30px;letter-spacing:-.9px;margin:0;font-weight:740}.subline{color:var(--sub);font-size:13px;margin:7px 0 0}.row{display:flex;align-items:center;gap:10px}.flex{display:flex;gap:14px;flex-wrap:wrap}.grow{flex:1}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:27px 1px 13px}.section-title h2{font-size:20px;letter-spacing:-.45px;margin:0}.pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;border-radius:999px;padding:7px 11px;white-space:nowrap}.pill.green{background:var(--greenBg);color:var(--green)}.pill.blue{background:var(--blueBg);color:var(--accent)}.pill.gray{background:rgba(136,155,183,.14);color:var(--sub)}.pill.amber{background:rgba(234,174,79,.14);color:var(--warn)}.dot{width:8px;height:8px;border-radius:100%;background:currentColor;display:inline-block;flex-shrink:0}.ghostbtn,.primarybtn,.optionbtn{border-radius:14px;background:var(--glass2);border:1px solid var(--stroke);padding:10px 14px;color:var(--text);font-weight:600;font-size:13px;white-space:nowrap}.ghostbtn:hover,.optionbtn:hover{background:var(--accentSoft)}.primarybtn{background:#2b6de8;color:white;border-color:transparent}.primarybtn:hover{filter:brightness(1.05)}.today{padding:18px 21px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sun{font-size:27px;filter:drop-shadow(0 2px 8px rgba(245,180,28,.2))}.today-title{font-size:16px;font-weight:750}.small{font-size:12px;color:var(--sub)}.theme-toggle{display:flex;align-items:center;background:var(--accentSoft);border:1px solid var(--stroke);border-radius:24px;padding:3px;gap:4px}.theme-toggle button{border:0;width:43px;height:35px;border-radius:19px;color:var(--sub);background:transparent;font-size:19px}.theme-toggle button.selected{background:var(--glass);color:var(--accent);box-shadow:0 4px 13px rgba(25,61,107,.11)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;padding:16px 6px}.stat{padding:3px 18px;border-right:1px solid var(--outline);text-align:center}.stat:last-child{border:0}.stat strong{font-size:25px;font-weight:740}.stat-label{font-size:12px;color:var(--sub);margin-top:6px}.stats-wrap{max-width:830px}.posts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.post{padding:17px;min-width:0}.post-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.object-title{font-weight:720;font-size:15px;line-height:1.25}.post-sub{font-size:12px;color:var(--sub);margin-top:5px}.person-row{display:flex;align-items:center;justify-content:space-between;margin-top:19px;gap:10px}.person-row .row{min-width:0}.person{font-weight:660;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amount{white-space:nowrap;font-weight:680;font-size:13px}.progress{height:8px;overflow:hidden;border-radius:20px;background:rgba(125,154,188,.19);margin-top:18px}.progress>span{height:100%;display:block;border-radius:20px;background:linear-gradient(90deg,#40cda6,#13b883);transition:width 1s}.progress-foot{display:flex;justify-content:space-between;color:var(--sub);font-size:12px;margin-top:9px}.flatcard{padding:14px 17px}.metricrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric{padding:19px}.metric strong{display:block;font-size:24px;margin-top:6px}.metric span{color:var(--sub);font-size:12px}.mini-list{display:grid;gap:10px}.listrow{padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;color:var(--text);background:var(--glass);border:1px solid var(--stroke);border-radius:17px}.listrow:hover{border-color:rgba(64,121,222,.35)}.listrow .name{font-weight:690;font-size:14px}.listrow .sub{color:var(--sub);font-size:12px;margin-top:4px}.details-grid{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(340px,1.15fr);gap:16px;align-items:start}.details{padding:21px;min-width:0}.details h2{font-size:22px;margin:4px 0 13px;letter-spacing:-.5px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.info{padding:12px;border:1px solid var(--outline);background:var(--glass2);border-radius:14px;min-width:0}.info .val{font-weight:650;font-size:13px;overflow-wrap:anywhere;margin-top:5px}.info .key{font-size:11px;color:var(--sub)}.subsection{font-weight:730;font-size:14px;margin:24px 0 10px}.objectlist{max-height:calc(100dvh - 230px);overflow:auto;padding-right:3px}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}.filters select,.filters input[type=date]{background:var(--glass);border:1px solid var(--stroke);border-radius:14px;padding:11px 13px;color:var(--text);max-width:100%;min-width:0}.shift-group{padding:17px;margin:12px 0}.shift-entry{margin-top:10px;padding:13px 14px;display:grid;grid-template-columns:1.4fr .8fr auto;align-items:center;gap:12px;border-radius:14px;background:var(--glass2);border:1px solid var(--outline)}.shift-entry .sub{color:var(--sub);font-size:12px;margin-top:4px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:17px}.cal-day{min-height:66px;border:1px solid var(--outline);border-radius:13px;background:var(--glass2);color:var(--text);padding:9px 7px;text-align:left;font-size:13px}.cal-day.selected{border-color:var(--accent);background:var(--accentSoft)}.cal-day small{display:block;font-size:10px;color:var(--sub);margin-top:5px}.cal-label{text-align:center;font-size:11px;color:var(--sub);padding:8px 0}.footer-note{font-size:12px;color:var(--sub);padding:16px 2px}.backdrop{position:fixed;inset:0;background:rgba(7,14,27,.38);z-index:20;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.drawer,.modal{position:fixed;z-index:22;background:var(--glass);backdrop-filter:blur(44px);-webkit-backdrop-filter:blur(44px);border:1px solid var(--stroke);box-shadow:0 28px 95px rgba(0,0,0,.2);color:var(--text)}.drawer{right:0;top:0;height:100vh;height:100dvh;width:min(370px,90vw);padding:22px;overflow:auto;animation:slideIn .24s ease}.modal{top:50%;left:50%;transform:translate(-50%,-50%);border-radius:24px;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;animation:fadeIn .22s ease}.modal-close{position:absolute;top:16px;right:16px}.overlayhead{font-size:20px;font-weight:720;padding-right:50px;margin-bottom:10px}.drawer hr{border:0;border-top:1px solid var(--outline);margin:20px 0}.drow{width:100%;background:transparent;border:0;color:var(--text);padding:17px 3px;text-align:left;border-bottom:1px solid var(--outline)}.bottom-nav{display:none}.demo-note{display:inline-flex;align-items:center;border-radius:999px;background:var(--accentSoft);color:var(--accent);padding:6px 10px;font-size:10px;font-weight:750;letter-spacing:.03em}.page-content{max-width:1160px;margin:0 auto}.empty{text-align:center;padding:38px;color:var(--sub)}@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translate(-50%,-47%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:1100px){:root{--sidebarW:190px}.main{padding:18px 20px 42px}.sidebar{padding-left:14px}.posts-grid{grid-template-columns:1fr}.details-grid{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr)}}@media (max-width:790px){.sidebar{display:none}.main{padding:15px 14px calc(112px + env(safe-area-inset-bottom))}.topbar{height:58px;margin-bottom:22px}.topbrand{display:flex}.search-top{display:none}.pagehead h1{font-size:26px}.bottom-nav{position:fixed;z-index:10;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));height:72px;border-radius:23px;border:1px solid var(--stroke);background:var(--glass);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 5px}.bottom-nav button{min-width:0;background:transparent;border:0;border-radius:17px;color:var(--sub);font-size:9.5px;font-weight:560;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0 1px}.bottom-nav button.active{background:var(--accentSoft);color:var(--accent);font-weight:720}.bottom-nav svg{width:21px;height:21px}.pagehead{align-items:center}.details-grid{grid-template-columns:1fr}.objectlist{max-height:none}.metricrow{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:last-child{grid-column:span 2}.posts-grid{grid-template-columns:1fr}.shift-entry{grid-template-columns:1fr auto}.shift-entry .s-amount{grid-column:2;grid-row:1}.shift-entry .s-time{grid-column:1}}@media(max-width:390px){.main{padding-left:10px;padding-right:10px}.topbrand .brand-name{font-size:20px}.logo{width:40px;height:40px;border-radius:12px}.topactions{gap:5px}.icon-btn{width:37px;height:37px;border-radius:13px}.profile-mini{width:34px;height:34px}.post{padding:14px}.today{padding:14px}.stats{padding:11px 2px}.stat{padding:2px 8px}.stat strong{font-size:21px}.stat-label{font-size:10px}.pagehead h1{font-size:23px}.info-grid{grid-template-columns:1fr}.calendar{gap:4px;padding:12px}.cal-day{min-height:60px;padding:6px 4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Accessible narrow content and natural wrapping in cards. */
.post .person-row > .row {flex:1;min-width:0}
.post .person-row > .row > div:last-child {min-width:0}
.post .person-row .person {white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.flatcard .row > div {min-width:0}
.flatcard .person {white-space:normal;overflow-wrap:anywhere}
.listrow > div {min-width:0}
.listrow .name {overflow-wrap:anywhere}
@media(max-width:390px){.post .person-row{gap:6px}.post .person-row > div:last-child{text-align:right;flex-shrink:0}.bottom-nav{height:66px}.main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}}

.monthbar{display:flex;align-items:center;justify-content:center;gap:15px;margin:13px 0}
.monthbar .optionbtn{width:40px;height:40px;display:grid;place-items:center;padding:0}
.cal-day .cal-post{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(max-width:790px){.cal-day .cal-post{display:none}}
