:root{
  --bg:#0c1222; --panel:rgba(255,255,255,.075); --panel-2:rgba(255,255,255,.11); --line:rgba(255,255,255,.13);
  --text:#eef4ff; --muted:#9fabca; --soft:#dbe7ff; --primary:#7c5cff; --primary2:#21d4fd; --good:#36e6a2; --warn:#ffba4a; --bad:#ff5f72;
  --shadow:0 26px 90px rgba(0,0,0,.35); --r:24px; --r2:17px; --font:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box} html{height:100%} body{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg);overflow-x:hidden}
body.light{--bg:#edf4ff;--panel:rgba(255,255,255,.68);--panel-2:rgba(255,255,255,.92);--line:rgba(20,39,78,.12);--text:#0b172c;--muted:#63728c;--soft:#182944;--shadow:0 24px 80px rgba(70,89,120,.18)}
button,input,textarea,select{font:inherit} button{cursor:pointer} a{color:#9adaff;text-decoration:none}.hidden{display:none!important}
.bg-orb{position:fixed;border-radius:999px;filter:blur(20px);opacity:.42;pointer-events:none;z-index:-1}.orb-a{width:420px;height:420px;background:#325cff;top:-110px;left:-110px}.orb-b{width:360px;height:360px;background:#28d4ff;right:-120px;top:24%}.orb-c{width:340px;height:340px;background:#a241ff;bottom:-150px;left:35%}
.glass,.auth-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.install-needed,.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{width:min(450px,94vw);border-radius:30px;padding:28px}.brand-row,.side-top{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:19px;background:linear-gradient(135deg,var(--primary),var(--primary2));font-weight:900;letter-spacing:-.05em}.brand-mark.small{width:42px;height:42px;border-radius:15px;font-size:14px}.brand-row h1{margin:0;font-size:30px;letter-spacing:-.04em}.brand-row p{margin:3px 0 0;color:var(--muted)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:16px;padding:5px;margin:22px 0}.auth-tabs button{border:0;background:transparent;color:var(--muted);border-radius:12px;padding:10px;font-weight:800}.auth-tabs button.active{background:var(--panel-2);color:var(--text)}
.auth-form{display:grid;gap:10px}.auth-form label,.field label{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.auth-form input,.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:rgba(0,0,0,.22);color:var(--text);border-radius:15px;padding:13px 14px;outline:none}.light .auth-form input,.light .field input,.light .field textarea,.light .field select{background:rgba(255,255,255,.75)}.field textarea{min-height:96px;resize:vertical}.tiny{font-size:12px;color:var(--muted);line-height:1.4}.captcha-line{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:var(--soft);background:rgba(255,255,255,.05)}.captcha-line button{border:0;border-radius:10px;background:var(--panel-2);color:var(--text);width:34px;height:30px}
.primary-btn,.ghost-btn,.icon-btn,.danger-btn,.ok-btn,.plain-btn{border:1px solid var(--line);border-radius:15px;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;font-weight:850}.primary-btn{border:0;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 15px 40px rgba(34,139,255,.25)}.ghost-btn,.icon-btn,.plain-btn{background:var(--panel-2)}.danger-btn{background:rgba(255,95,114,.16);border-color:rgba(255,95,114,.3)}.ok-btn{background:rgba(54,230,162,.15);border-color:rgba(54,230,162,.28)}.wide{width:100%}.icon-btn{width:44px;padding:0;position:relative}.icon-btn em{position:absolute;top:-5px;right:-5px;background:var(--bad);color:white;border-radius:999px;min-width:18px;height:18px;font-size:11px;font-style:normal;display:grid;place-items:center}
.shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;padding:18px;min-height:100vh}.sidebar{border-radius:var(--r);padding:18px;display:flex;flex-direction:column;position:sticky;top:18px;height:calc(100vh - 36px)}.side-top b{display:block}.side-top span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.nav{display:grid;gap:8px;margin:28px 0;flex:1}.nav button{display:flex;align-items:center;gap:12px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:16px;padding:13px;text-align:left}.nav button span{width:30px;height:30px;display:grid;place-items:center;background:rgba(255,255,255,.06);border-radius:11px}.nav button.active{background:var(--panel-2);border-color:var(--line);color:var(--text)}
.content{min-width:0;padding-bottom:82px}.topbar{border-radius:var(--r);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:18px;z-index:10}.eyebrow{margin:0 0 3px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.topbar h2{margin:0;font-size:26px;letter-spacing:-.04em}.top-actions{display:flex;align-items:center;gap:10px}.view{display:none;animation:fade .22s ease}.view.active{display:block}@keyframes fade{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:18px;backdrop-filter:blur(18px)}.section-title{display:flex;align-items:end;justify-content:space-between;margin:22px 0 12px}.section-title h3{margin:0;font-size:22px;letter-spacing:-.04em}.section-title p{margin:4px 0 0;color:var(--muted)}
.stat-card{position:relative;overflow:hidden;min-height:118px}.stat-card:after{content:"";position:absolute;right:-25px;bottom:-35px;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,rgba(124,92,255,.38),rgba(33,212,253,.24))}.stat-card b{display:block;font-size:34px;letter-spacing:-.06em}.stat-card span{color:var(--muted);font-weight:750}.pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.07);font-size:12px;font-weight:850;color:var(--soft)}.pill.good{color:#9effd0;background:rgba(54,230,162,.12);border-color:rgba(54,230,162,.25)}.pill.warn{color:#ffd89a;background:rgba(255,186,74,.13);border-color:rgba(255,186,74,.25)}.pill.bad{color:#ffbec6;background:rgba(255,95,114,.13);border-color:rgba(255,95,114,.25)}.pill.info{color:#b9d6ff;background:rgba(66,145,255,.13);border-color:rgba(66,145,255,.25)}
.task-card{display:grid;gap:12px;border-left:4px solid rgba(124,92,255,.8)}.task-card.completed{border-left-color:var(--good)}.task-card.disapproved{border-left-color:var(--bad)}.task-card.overdue{border-left-color:var(--warn)}.task-top{display:flex;justify-content:space-between;gap:12px}.task-top h4{margin:0;font-size:17px}.task-top p{margin:5px 0 0;color:var(--muted);font-size:13px}.task-meta{display:flex;flex-wrap:wrap;gap:8px}.task-actions{display:flex;flex-wrap:wrap;gap:8px}.file-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.06);color:var(--soft)}
.timeline-wrap{display:grid;grid-template-columns:86px 1fr;gap:12px}.time-ruler{display:grid;grid-template-rows:repeat(16,44px);color:var(--muted);font-size:12px;text-align:right;padding-top:2px}.timeline{position:relative;min-height:704px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));overflow:hidden}.timeline:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,rgba(255,255,255,.07) 44px);pointer-events:none}.time-block{position:absolute;left:12px;right:12px;border-radius:15px;padding:10px 12px;background:linear-gradient(135deg,rgba(124,92,255,.86),rgba(33,212,253,.64));box-shadow:0 12px 30px rgba(0,0,0,.22);overflow:hidden;min-height:38px}.time-block small{display:block;opacity:.82}.time-block.conflict{background:linear-gradient(135deg,rgba(255,95,114,.9),rgba(255,186,74,.72));outline:2px solid rgba(255,255,255,.18)}.time-block.done{background:linear-gradient(135deg,rgba(54,230,162,.84),rgba(33,212,253,.52))}.time-block.dis{background:linear-gradient(135deg,rgba(255,95,114,.9),rgba(150,55,80,.72))}.empty-state{border:1px dashed var(--line);border-radius:var(--r);padding:24px;text-align:center;color:var(--muted);background:rgba(255,255,255,.04)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px}.table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.table tr:last-child td{border-bottom:0}.user-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.avatar{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#344fdf,#28d4ff);display:grid;place-items:center;font-weight:900}.user-line{display:flex;align-items:center;gap:12px}.user-line b{display:block}.user-line span{color:var(--muted);font-size:13px}.split{display:flex;gap:10px;flex-wrap:wrap}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.filters .field{min-width:180px}
.drawer{position:fixed;right:18px;top:18px;bottom:18px;width:min(420px,calc(100vw - 36px));border-radius:var(--r);z-index:30;padding:18px;overflow:auto}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.drawer-head h3{margin:0}.stack{display:grid;gap:10px}.notice,.notif{padding:14px;border-radius:18px;background:var(--panel-2);border:1px solid var(--line)}.notif.unread{outline:1px solid rgba(33,212,253,.45)}.notif h4,.notice h4{margin:0 0 5px}.notif p,.notice p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;background:rgba(17,25,43,.92);color:white;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px 16px;z-index:99;box-shadow:var(--shadow);transition:.22s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.54);display:grid;place-items:center;z-index:60;padding:18px}.modal-card{width:min(760px,96vw);max-height:92vh;overflow:auto;border:1px solid var(--line);background:rgba(13,20,37,.92);backdrop-filter:blur(25px);border-radius:28px;padding:20px;box-shadow:var(--shadow)}.light .modal-card{background:rgba(246,250,255,.94)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-head h3{margin:0;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.assignment-row{display:grid;grid-template-columns:1.2fr .8fr .7fr .7fr 42px;gap:8px;align-items:end;margin-bottom:8px}.assignment-row button{height:42px}.bottom-nav{display:none}
@media(max-width:1100px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.shell{display:block;padding:12px}.sidebar{display:none}.content{padding-bottom:94px}.topbar{top:12px;border-radius:22px}.topbar h2{font-size:20px}.top-actions{gap:7px}.top-actions .primary-btn b{display:none}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.bottom-nav{display:grid;position:fixed;left:12px;right:12px;bottom:12px;grid-template-columns:repeat(4,1fr);z-index:40;border-radius:22px;padding:7px}.bottom-nav button{border:0;background:transparent;color:var(--muted);font-weight:800;display:grid;gap:2px;place-items:center;border-radius:16px;padding:7px 4px}.bottom-nav button.active{background:var(--panel-2);color:var(--text)}.bottom-nav span{font-size:11px}.timeline-wrap{grid-template-columns:54px 1fr}.time-ruler{font-size:10px}.time-block{left:8px;right:8px;padding:8px;font-size:12px}.form-grid,.assignment-row{grid-template-columns:1fr}.drawer{inset:12px;width:auto}.auth-card{padding:22px;border-radius:24px}}

/* v2 refinements */
.profile-chip{width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:0;cursor:pointer}.profile-chip:hover{opacity:.92}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.small-avatar{width:42px;height:42px;border-radius:15px;font-size:14px}.top-avatar{width:34px;height:34px;border-radius:12px;font-size:12px}.big-avatar{width:82px;height:82px;border-radius:26px;font-size:24px}.profile-top{overflow:hidden}.profile-preview{display:flex;align-items:center;gap:15px;padding:12px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.055)}
.field select,.auth-form select{appearance:auto;color:var(--text)!important;background:rgba(5,10,22,.72)!important;color-scheme:dark}.field select option,.auth-form select option{background:#111a2d;color:#eef4ff}.light .field select option{background:#f4f7ff;color:#0b172c}.field input[type="date"],.field input[type="time"],.field input[type="datetime-local"]{color-scheme:dark}.light .field input[type="date"],.light .field input[type="time"],.light .field input[type="datetime-local"]{color-scheme:light}
.team-picker{margin-bottom:16px}.team-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.team-head h3{margin:0;font-size:22px}.team-head p{margin:4px 0 0;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.team-person{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.055);color:var(--text);text-align:left;padding:12px;min-height:72px}.team-person.active{background:linear-gradient(135deg,rgba(124,92,255,.28),rgba(33,212,253,.16));border-color:rgba(105,184,255,.35)}.team-person small{display:block;color:var(--muted);font-size:12px;line-height:1.35}.team-person .dot{position:absolute;right:12px;top:12px;width:10px;height:10px;border-radius:99px;background:#8590a6}.team-person .dot.present{background:var(--warn)}.team-person .dot.on{background:var(--good);box-shadow:0 0 0 4px rgba(54,230,162,.12)}
.special-list{display:grid;gap:10px}.special-card{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.055);padding:14px}.special-card h4{margin:8px 0 4px}.special-card p{margin:0;color:var(--muted);font-size:13px}.special-card small{display:block;margin-top:7px;color:var(--soft)}.special-card.completed{border-color:rgba(54,230,162,.28)}.special-card.disapproved{border-color:rgba(255,95,114,.35)}
.slim{margin:14px 0 8px}.dash-main{align-items:start}.time-ruler{grid-auto-rows:46px}.timeline{min-height:368px}.timeline:before{background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(100% - 1px),rgba(255,255,255,.07) 100%)}.time-block{white-space:normal}.time-block b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-block small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-grid{grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr)}.table{min-width:620px}.compact-table{min-width:560px}.table td,.table th{vertical-align:middle}.notif-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.status-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.pro-user-card{display:grid;gap:14px;align-items:stretch}.user-card-main{display:flex;justify-content:space-between;gap:12px;align-items:center}.mini-stats{display:flex;gap:10px}.mini-stats span{min-width:70px;text-align:center;border:1px solid var(--line);border-radius:16px;padding:9px;background:rgba(255,255,255,.05)}.mini-stats b{display:block;font-size:20px}.mini-stats small{color:var(--muted);font-size:11px}.user-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.report-access{display:flex;gap:7px;align-items:end;border:1px solid var(--line);border-radius:16px;padding:8px;background:rgba(255,255,255,.04)}.report-access label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.report-access select{min-height:40px;border-radius:12px;border:1px solid var(--line);background:rgba(5,10,22,.72);color:var(--text);padding:8px}.people-grid-full .user-card{min-height:170px}.primary-btn:disabled,.ok-btn:disabled,.ghost-btn:disabled{opacity:.55;cursor:not-allowed}.time-fields.hidden{display:none!important}.modal-card .notice b{display:block;margin-bottom:4px}
@media(max-width:1250px){.report-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.table{min-width:560px}}
@media(max-width:820px){.top-avatar{width:30px;height:30px}.profile-top{width:40px}.team-grid{grid-template-columns:1fr}.team-person{min-height:64px}.special-card,.user-card-main{display:grid}.mini-stats{width:100%;display:grid;grid-template-columns:1fr 1fr}.report-access{width:100%;display:grid;grid-template-columns:1fr 1fr auto}.table{min-width:520px}.compact-table{min-width:500px}.notif-tools{grid-template-columns:1fr}.top-actions .profile-top{display:inline-flex}.timeline-wrap{grid-template-columns:58px 1fr}.modal-card{border-radius:22px}.special-card{gap:10px}}

/* v3 timeline and workflow refinements */
.topbar{position:relative;top:auto;z-index:3;margin-bottom:18px}.content{padding-top:0}.view{scroll-margin-top:18px}
.field select,.auth-form select,.ampm-row select,.report-access select{background:#10192d!important;color:#eef4ff!important;border:1px solid var(--line);color-scheme:dark}.field select option,.auth-form select option,.ampm-row select option,.report-access select option{background:#10192d!important;color:#eef4ff!important}.light .field select,.light .auth-form select,.light .ampm-row select,.light .report-access select{background:#ffffff!important;color:#0b172c!important;color-scheme:light}.light .field select option,.light .auth-form select option,.light .ampm-row select option,.light .report-access select option{background:#ffffff!important;color:#0b172c!important}
.ampm-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.ampm-row select{min-height:44px;border-radius:14px;padding:10px}
.assignment-row-ampm{grid-template-columns:1.15fr .85fr .95fr .95fr .65fr 42px}.timeline{overflow:hidden}.timeline-wrap.full-timeline-wrap{grid-template-columns:96px 1fr}.timeline-full{min-height:1728px}.time-block{border:0;color:var(--text);text-align:left;line-height:1.25}.time-block:hover{filter:brightness(1.08);transform:translateY(-1px)}.time-block em{position:absolute;right:8px;bottom:7px;font-size:10px;font-style:normal;background:rgba(0,0,0,.22);border-radius:999px;padding:3px 7px}.time-block small+small{opacity:.7}.focus-grid{grid-template-columns:minmax(520px,1.1fr) minmax(320px,.9fr);align-items:start}.timeline-modal{width:min(1440px,98vw);max-height:96vh}.timeline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.task-section-list{gap:18px}.task-bucket{display:grid;gap:10px}.task-bucket .section-title{padding:0 2px}.special-card{position:relative;overflow:hidden}.special-card:before{content:"";position:absolute;inset:0 0 0 auto;width:10px;background:linear-gradient(180deg,var(--primary),var(--primary2));opacity:.9}.special-card.mode-today{background:linear-gradient(135deg,rgba(54,230,162,.14),rgba(255,255,255,.045))}.special-card.mode-tomorrow{background:linear-gradient(135deg,rgba(33,212,253,.15),rgba(255,255,255,.045))}.special-card.mode-this_week{background:linear-gradient(135deg,rgba(124,92,255,.16),rgba(255,255,255,.045))}.special-card.mode-this_month{background:linear-gradient(135deg,rgba(255,186,74,.14),rgba(255,255,255,.045))}.special-card.mode-this_year{background:linear-gradient(135deg,rgba(255,95,114,.13),rgba(255,255,255,.045))}.report-summary .stat-card{min-height:96px}.report-total-note{margin-bottom:16px;color:var(--muted)}.report-total-note b{color:var(--text);font-size:22px;margin-right:6px}.compact-table{min-width:720px}.team-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.team-person{align-items:flex-start}.team-person .avatar{flex:0 0 auto}.team-person small+small{margin-top:2px;color:#c5d5f5}.modal-card .task-card{margin-top:8px}
@media(max-width:1100px){.focus-grid{grid-template-columns:1fr}.timeline-wrap.full-timeline-wrap{grid-template-columns:72px 1fr}.assignment-row-ampm{grid-template-columns:1fr 1fr}.assignment-row-ampm .danger-btn{grid-column:1/-1}.compact-table{min-width:620px}}
@media(max-width:820px){.topbar{margin-bottom:14px}.timeline-wrap.full-timeline-wrap,.timeline-wrap{grid-template-columns:64px 1fr}.time-ruler{font-size:10px}.ampm-row{grid-template-columns:1fr 1fr 1fr}.focus-grid{display:block}.focus-grid>.card{margin-bottom:12px}.timeline-modal{padding:14px}.report-summary{grid-template-columns:1fr!important}.assignment-row-ampm{grid-template-columns:1fr}.content{padding-bottom:110px}}


/* v3 base - requested mobile navigation and report usability fixes */
.bottom-nav{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bottom-nav button{touch-action:manipulation;pointer-events:auto}.bottom-nav span{pointer-events:none}.drawer{z-index:90}.modal{z-index:130}
.report-cards{display:none}.report-row-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:18px;padding:13px;background:rgba(255,255,255,.055);min-width:0}.report-row-card b{display:block}.report-row-card span{display:block;color:var(--muted);font-size:12px}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.report-metrics span{border:1px solid var(--line);border-radius:14px;padding:8px;background:rgba(255,255,255,.045);min-width:0}.report-metrics b{font-size:14px;color:var(--text);white-space:nowrap}.bad-text,.bad-text b{color:#ffbec6!important}.report-filters{gap:10px}.soft-loading{opacity:.72}
@media(max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .shell{width:100%;max-width:100vw;overflow-x:hidden}
  .content{width:100%;max-width:100%;overflow-x:hidden;padding-bottom:112px}
  .topbar{max-width:100%;z-index:25}.top-actions{flex-shrink:0}.top-actions .icon-btn{width:40px;min-width:40px}.top-actions .primary-btn{min-width:48px;padding-inline:13px}
  .bottom-nav{display:grid!important;z-index:120;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));box-shadow:0 14px 50px rgba(0,0,0,.45)}
  .bottom-nav button{min-height:52px;font-size:18px;position:relative;z-index:1}.bottom-nav button.hidden{display:none!important}
  .section-title{display:grid;gap:10px;align-items:start}.section-title .filters{width:100%}
  .filters{display:grid;width:100%;grid-template-columns:1fr;align-items:stretch}.filters .field,.filters button{width:100%;min-width:0}.filters .field input,.filters .field select{min-width:0;width:100%}
  .report-filters{display:grid;grid-template-columns:1fr!important;gap:10px}
  #reportBody{min-width:0;overflow:hidden}.report-grid{display:grid;grid-template-columns:1fr!important;gap:14px}.report-grid .card{overflow:hidden}
  .report-summary{grid-template-columns:1fr 1fr!important;gap:10px}.report-summary .stat-card{min-height:92px;padding:14px}.report-summary .stat-card b{font-size:25px}
  .report-cards{display:grid;gap:10px}.report-table-wrap{display:none}.report-metrics{grid-template-columns:1fr 1fr}.report-metrics span:last-child{grid-column:1/-1}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table,.compact-table{min-width:0;width:100%;font-size:13px}
  .card{max-width:100%;overflow:hidden}.task-card,.notice,.notif,.special-card{overflow:hidden}.task-meta .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}


/* final stable patch: cache-safe UI and timeline stability */
.topbar{position:relative!important;top:auto!important;z-index:5!important;margin-bottom:18px!important}
.content{padding-top:0!important;min-width:0!important}.view{min-width:0!important}
.time-block.compact-block{display:flex!important;align-items:center!important;padding:0 12px!important;min-height:38px!important}
.time-block.compact-block b{width:100%;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:14px!important;line-height:1.1!important}
.time-block.compact-block small,.time-block.compact-block em{display:none!important}
.time-block.full-block b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.time-block.full-block small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.timeline-wrap{min-width:0!important}.timeline{min-width:0!important}
.timeline-modal{width:min(1560px,98vw)!important;max-height:96vh!important;overflow:auto!important}
.focus-grid{display:grid!important;grid-template-columns:minmax(720px,1fr) minmax(340px,390px)!important;gap:16px!important;align-items:start!important}
.focus-timeline-card{min-width:0!important;overflow:hidden!important}.focus-side{min-width:0!important}.focus-side .card{overflow:hidden!important}
.special-card h4,.task-card h4,.notice h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
select,input,textarea,button{max-width:100%}.field{min-width:0!important}.filters{min-width:0!important}

@media(max-width:980px){
  .focus-grid{display:block!important}.focus-grid>.card,.focus-side>.card{margin-bottom:12px!important}
  .timeline-modal{width:98vw!important;padding:14px!important}.timeline-wrap.full-timeline-wrap{grid-template-columns:70px 1fr!important}
}
@media(max-width:820px){
  .shell{display:block!important;padding:12px!important;max-width:100vw!important;overflow-x:hidden!important}.sidebar{display:none!important}
  .content{width:100%!important;max-width:100%!important;overflow-x:hidden!important;padding-bottom:118px!important}
  .topbar{position:relative!important;top:auto!important;margin-bottom:14px!important;display:flex!important;gap:10px!important}
  .topbar h2{font-size:22px!important}.top-actions{gap:7px!important;flex-shrink:0!important}.top-actions .primary-btn b{display:none!important}
  .grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr!important}.dash-main{grid-template-columns:1fr!important}
  .card{max-width:100%!important;overflow:hidden!important;padding:15px!important}.section-title{display:grid!important;gap:10px!important;align-items:start!important}.section-title .split{width:100%}
  .timeline-wrap,.timeline-wrap.full-timeline-wrap{grid-template-columns:58px minmax(0,1fr)!important;gap:8px!important}.time-ruler{font-size:10px!important}.time-block.compact-block{padding:0 9px!important}.time-block.compact-block b{font-size:13px!important}
  .bottom-nav{display:grid!important;position:fixed!important;left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important;z-index:120!important;pointer-events:auto!important}
  .bottom-nav button{pointer-events:auto!important;min-height:54px!important}
  .report-cards{display:grid!important;gap:10px!important}.report-table-wrap{display:none!important}.table-wrap{max-width:100%!important;overflow-x:auto!important}.report-grid{grid-template-columns:1fr!important}.report-summary{grid-template-columns:1fr 1fr!important;gap:10px!important}.report-summary .stat-card{min-height:90px!important}.report-metrics{grid-template-columns:1fr 1fr!important}.report-metrics span:last-child{grid-column:1/-1!important}
  .modal{padding:10px!important}.modal-card{width:calc(100vw - 20px)!important;max-height:94vh!important;border-radius:22px!important}.timeline-modal{width:calc(100vw - 20px)!important}
  .form-grid,.assignment-row,.assignment-row-ampm{grid-template-columns:1fr!important}.task-meta{display:grid!important;grid-template-columns:1fr!important}.task-actions{display:grid!important}.task-actions button{width:100%!important}
}

/* v3 category + special calendar patch */
.task-modal-card{width:min(1060px,96vw)!important}
.assign-panel{border:1px solid var(--line);border-radius:24px;padding:14px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));overflow:hidden}
.assign-title{margin:0 0 12px!important;align-items:center!important}
.assign-title h3{font-size:22px}.assign-title p{max-width:720px}
.assign-rows{display:grid;gap:12px}
.pro-assign-row{display:grid!important;grid-template-columns:minmax(260px,1.35fr) minmax(160px,.75fr) minmax(220px,1fr) minmax(220px,1fr) 54px!important;gap:12px!important;margin:0!important;padding:12px;border:1px solid var(--line);border-radius:20px;background:rgba(0,0,0,.13);align-items:end;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.pro-assign-row .field label{display:block;margin-bottom:6px}.pro-assign-row .field select,.pro-assign-row .field input{min-height:54px;border-radius:17px;font-weight:750}.pro-assign-row .ampm-row{grid-template-columns:1fr 1fr 1fr;gap:8px}.pro-assign-row .ampm-row select{min-height:54px;border-radius:17px;text-align:center}.remove-assign{height:54px!important;border-radius:18px!important;font-size:20px!important}.time-fields.hidden{display:none!important}.assignment-row-ampm:has(.time-fields.hidden){grid-template-columns:minmax(260px,1fr) minmax(140px,.35fr) 54px!important}
.task-category-tabs{display:flex;gap:10px;overflow:auto;padding:2px 2px 12px;margin:2px 0 12px;scrollbar-width:thin}.task-cat{flex:0 0 auto;border:1px solid var(--line);background:rgba(255,255,255,.055);color:var(--soft);border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:10px;min-height:46px;font-weight:850}.task-cat b{min-width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:12px}.task-cat.active{background:linear-gradient(135deg,rgba(124,92,255,.45),rgba(33,212,253,.22));color:var(--text);border-color:rgba(145,190,255,.35)}
.task-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 16px}.category-card{position:relative;overflow:hidden;min-height:112px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));color:var(--text);text-align:left;padding:15px;display:grid;align-content:space-between;gap:9px}.category-card:after{content:"";position:absolute;right:-32px;bottom:-42px;width:115px;height:115px;border-radius:50%;background:linear-gradient(135deg,rgba(124,92,255,.36),rgba(33,212,253,.22))}.category-card small{position:relative;color:var(--muted);line-height:1.35}.category-card b{position:relative;font-size:18px;letter-spacing:-.03em}.category-card em{position:absolute;right:14px;top:14px;min-width:36px;height:36px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.1);font-style:normal;font-weight:900}
.special-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:12px}.special-period{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.045);overflow:hidden;min-width:0}.special-period-head{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}.special-period-head span{font-weight:900}.special-period-head b{min-width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.1)}.special-period-list{display:grid}.special-day-task{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;display:grid;gap:7px;padding:13px}.special-day-task:last-child{border-bottom:0}.special-day-task:hover{background:rgba(255,255,255,.055)}.special-day-task b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.special-day-task small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.special-day-task em{font-style:normal;color:#9effd0;font-size:12px;font-weight:850}.special-day-task.completed{background:linear-gradient(135deg,rgba(54,230,162,.09),transparent)}.special-day-task.disapproved{background:linear-gradient(135deg,rgba(255,95,114,.1),transparent)}.special-card{width:100%;border:1px solid var(--line);color:var(--text);text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:20px;background:rgba(255,255,255,.05)}.special-card:hover{filter:brightness(1.06)}.special-card h4{margin:7px 0 3px}.special-card p{margin:0 0 5px;color:var(--muted);line-height:1.35}.special-card small{color:var(--muted)}
.focus-grid-pro{grid-template-columns:minmax(680px,1.2fr) minmax(360px,.8fr)!important}.special-focus-card{max-height:calc(96vh - 160px);overflow:auto}.timeline-modal-pro .focus-side .task-card{padding:14px}.timeline-modal-pro .task-card .task-top p{display:none}
@media(max-width:1180px){.pro-assign-row{grid-template-columns:1fr 1fr!important}.remove-assign{width:100%!important;grid-column:1/-1}.task-modal-card{width:min(860px,96vw)!important}.focus-grid-pro{grid-template-columns:1fr!important}.special-focus-card{max-height:none}}
@media(max-width:820px){.task-modal-card{width:calc(100vw - 20px)!important}.assign-panel{padding:12px}.assign-title{display:grid!important;gap:10px!important}.assign-title button{width:100%}.pro-assign-row,.assignment-row-ampm:has(.time-fields.hidden){grid-template-columns:1fr!important;padding:11px!important}.pro-assign-row .field select,.pro-assign-row .field input,.pro-assign-row .ampm-row select{min-height:48px}.task-category-tabs{gap:8px;margin-left:-2px;margin-right:-2px}.task-cat{min-height:42px;padding:9px 11px}.task-category-grid{grid-template-columns:1fr}.category-card{min-height:96px}.special-calendar{grid-template-columns:1fr}.special-period-head{padding:11px}.special-day-task{padding:12px}.focus-grid-pro{display:block!important}.special-focus-card{max-height:none}.timeline-modal-pro .focus-side{display:grid!important;gap:12px!important}}

/* v3 compact task categories + realtime notification patch */
.live-notif{position:fixed;top:18px;right:22px;width:min(390px,calc(100vw - 28px));z-index:260;display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border-radius:22px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,rgba(28,39,68,.96),rgba(18,139,162,.88));box-shadow:0 24px 80px rgba(0,0,0,.38);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);opacity:0;transform:translateY(-24px) scale(.96);pointer-events:none;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s ease}
.live-notif.show{opacity:1;transform:translateY(0) scale(1)}
.live-notif.sink{opacity:0;transform:translate(var(--to-x,160px),var(--to-y,-20px)) scale(.16);transition:transform .72s cubic-bezier(.48,-.15,.68,1.12),opacity .62s ease}
.live-notif .live-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);flex:0 0 auto}
.live-notif b{display:block;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-notif p{margin:4px 0 0;color:#d7e6ff;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bell-pulse{animation:bellPulse 1.15s ease both!important}@keyframes bellPulse{0%{transform:scale(1)}18%{transform:scale(1.16) rotate(-7deg);box-shadow:0 0 0 0 rgba(33,212,253,.45)}48%{transform:scale(1.08) rotate(6deg);box-shadow:0 0 0 14px rgba(33,212,253,0)}78%{transform:scale(1.12) rotate(-3deg)}100%{transform:scale(1)}}
.task-category-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;padding:0 0 12px!important}.task-cat{width:100%;justify-content:space-between;min-width:0}.task-cat span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-mini-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.mini-summary-card{position:relative;overflow:hidden;min-height:96px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));padding:14px;display:grid;align-content:space-between}.mini-summary-card:after{content:"";position:absolute;right:-35px;bottom:-38px;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,rgba(124,92,255,.34),rgba(33,212,253,.22))}.mini-summary-card span{position:relative;color:var(--muted);font-weight:850;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.mini-summary-card b{position:relative;font-size:30px;letter-spacing:-.05em}.mini-summary-card small{position:relative;color:var(--muted)}
.focus-task-panel{position:sticky;top:0;z-index:3;border-color:rgba(33,212,253,.26)!important;background:linear-gradient(135deg,rgba(33,212,253,.13),rgba(255,255,255,.05))!important}.focus-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.focus-panel-head h3{margin:8px 0 0;font-size:20px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-proof-box{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:20px;background:rgba(0,0,0,.14)}.focus-task-panel .task-card{margin:0!important;box-shadow:none!important}.focus-task-panel .task-card .task-top p{display:block!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:980px){.task-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.task-mini-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-task-panel{position:relative;top:auto}.live-notif{top:12px;right:12px;left:12px;width:auto}}
@media(max-width:520px){.task-category-tabs{grid-template-columns:1fr 1fr!important;gap:8px!important}.task-cat{padding:9px 10px!important}.task-cat span{font-size:12px}.task-mini-summary{grid-template-columns:1fr 1fr;gap:8px}.mini-summary-card{min-height:82px;padding:11px}.mini-summary-card b{font-size:24px}.live-notif{border-radius:18px;padding:12px}.live-notif .live-icon{width:36px;height:36px;border-radius:14px}.live-notif b{font-size:14px}.live-notif p{font-size:12px}}

.notif.opening{opacity:.72;transform:scale(.995);pointer-events:none}

/* v3 light-sync + mobile focus timeline + report calendar patch */
body.modal-open{overflow:hidden!important;touch-action:none}
body.modal-open .modal:not(.hidden){overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.timeline-modal-pro{overscroll-behavior:contain;scroll-behavior:auto!important}
.timeline-modal-pro .focus-timeline-card,.timeline-modal-pro .special-focus-card,.timeline-modal-pro .focus-side{overscroll-behavior:contain}
.timeline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline-actions #focusLiveBadge{margin-right:auto}
.report-calendar-card{margin-bottom:16px;overflow:hidden!important;background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(33,212,253,.055))!important}
.calendar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.calendar-head h3{margin:8px 0 2px;font-size:26px;letter-spacing:-.04em}.calendar-head p{margin:0;color:var(--muted)}
.calendar-totals{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.calendar-totals span{min-width:112px;border:1px solid var(--line);background:rgba(255,255,255,.065);border-radius:18px;padding:10px 12px}.calendar-totals b{display:block;font-size:20px;letter-spacing:-.04em}.calendar-totals small{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.calendar-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}.calendar-week-row span{text-align:center;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.work-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.work-day{min-height:132px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.052);padding:10px;display:flex;flex-direction:column;gap:9px;position:relative;overflow:hidden}.work-day:after{content:"";position:absolute;right:-32px;bottom:-42px;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,rgba(124,92,255,.2),rgba(33,212,253,.12));pointer-events:none}.work-day.present-day{border-color:rgba(54,230,162,.28);background:linear-gradient(135deg,rgba(54,230,162,.13),rgba(255,255,255,.04))}.work-day.has-disapproved{border-color:rgba(255,95,114,.28)}.work-day.muted-day{opacity:.42}.work-day.outside-range{filter:saturate(.55)}.work-day-top{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}.work-day-top b{font-size:18px}.work-day-top em{font-style:normal;font-size:10px;font-weight:900;color:#9effd0;background:rgba(54,230,162,.12);border:1px solid rgba(54,230,162,.24);border-radius:999px;padding:4px 7px}.work-day-top em.away{color:var(--muted);background:rgba(255,255,255,.05);border-color:var(--line)}.work-day-metrics{display:grid;gap:5px;position:relative}.work-day-metrics span{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--muted);font-size:12px}.work-day-metrics strong{color:var(--text);font-size:12px}.bad-text,.work-day-metrics .bad-text strong{color:#ffbec6!important}
@media(max-width:980px){.calendar-head{display:grid;align-items:start}.calendar-totals{justify-content:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-totals span{min-width:0}.work-calendar-grid{display:grid;grid-template-columns:1fr;gap:10px}.calendar-week-row{display:none}.work-day{min-height:auto;border-radius:18px}.work-day.muted-day{display:none}.work-day.outside-range{display:none}.work-day-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.work-day-metrics span{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:7px 8px}.timeline-modal-pro{max-height:94vh!important}.timeline-modal-pro .timeline-actions{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,rgba(12,18,34,.96),rgba(12,18,34,.78));backdrop-filter:blur(14px);padding:8px 0;border-radius:16px}.light .timeline-modal-pro .timeline-actions{background:linear-gradient(180deg,rgba(237,244,255,.96),rgba(237,244,255,.78))}}
@media(max-width:520px){.calendar-totals{grid-template-columns:1fr 1fr}.calendar-totals span:last-child{grid-column:1/-1}.calendar-head h3{font-size:22px}.work-day-top b{font-size:17px}.work-day-metrics{grid-template-columns:1fr}.timeline-actions #focusLiveBadge{margin-right:0}.timeline-actions button{flex:1 1 100%}}

/* special task expected hours */
.special-hours-field input{font-weight:900;text-align:center}.special-hours-field label:after{content:" · reports";color:var(--muted);font-weight:700;font-size:11px}

/* v3 scroll/back/community patch */
.bottom-nav{grid-template-columns:repeat(5,1fr)!important}
body.modal-open{overflow:hidden!important;touch-action:auto!important}
.modal{overflow-y:auto!important;align-items:start!important;place-items:start center!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important}
.modal-card{margin:auto 0!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overscroll-behavior:contain!important}
.timeline-modal-pro,.timeline-modal-pro *,.timeline-full,.timeline-wrap,.focus-timeline-card{touch-action:pan-y!important}
.timeline-modal-pro{width:min(1500px,98vw)!important;max-height:none!important;margin:0 auto!important;overflow:visible!important}
.timeline-modal-pro .focus-grid-pro{align-items:start}.timeline-modal-pro .focus-timeline-card{min-width:0}.timeline-modal-pro .timeline{overflow:hidden!important}.timeline-modal-pro .time-block{touch-action:pan-y!important}
.community-compose textarea{min-height:110px}.community-feed{margin-bottom:20px}.community-post{display:grid;gap:14px}.community-post-head{display:flex;align-items:center;gap:12px}.community-post-head div{min-width:0}.community-post-head b{display:block}.community-post-head span{display:block;color:var(--muted);font-size:12px}.community-post-head .danger-btn{margin-left:auto}.community-body{margin:0;color:var(--soft);line-height:1.6;word-break:break-word}.community-post .task-meta{margin-top:0}
@media(max-width:820px){.bottom-nav span{font-size:10px}.bottom-nav button{padding:6px 2px}.timeline-modal-pro{width:calc(100vw - 14px)!important;padding:14px!important}.timeline-modal-pro .focus-grid-pro{display:block!important}.full-timeline-wrap{grid-template-columns:50px minmax(0,1fr)!important}.timeline-modal-pro .focus-timeline-card{padding:12px!important}.timeline-modal-pro .time-block{font-size:12px;padding:8px 9px}.community-post-head{align-items:flex-start}.community-post-head .danger-btn{padding:8px 10px;min-height:36px}}


/* v3 fullscreen swipe repair: make the focus modal the real scroll container */
#proofModal.modal:not(.hidden){
  overflow:hidden!important;
  align-items:start!important;
  place-items:start center!important;
  touch-action:none!important;
}
#proofModal .timeline-modal-pro{
  height:calc(100dvh - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  margin:0 auto!important;
  padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;
}
#proofModal .timeline-modal-pro .focus-timeline-card,
#proofModal .timeline-modal-pro .special-focus-card,
#proofModal .timeline-modal-pro .timeline-wrap,
#proofModal .timeline-modal-pro .timeline,
#proofModal .timeline-modal-pro .time-ruler,
#proofModal .timeline-modal-pro .special-calendar,
#proofModal .timeline-modal-pro .special-period,
#proofModal .timeline-modal-pro .special-period-list,
#proofModal .timeline-modal-pro .special-day-task,
#proofModal .timeline-modal-pro .time-block{
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
}
#proofModal .timeline-modal-pro .timeline,
#proofModal .timeline-modal-pro .time-ruler,
#proofModal .timeline-modal-pro .special-calendar{
  cursor:grab;
}
#proofModal .timeline-modal-pro.is-dragging .timeline,
#proofModal .timeline-modal-pro.is-dragging .time-ruler,
#proofModal .timeline-modal-pro.is-dragging .special-calendar{
  cursor:grabbing;
}
@media(max-width:820px){
  #proofModal.modal:not(.hidden){padding:7px!important}
  #proofModal .timeline-modal-pro{
    width:calc(100vw - 14px)!important;
    height:calc(100dvh - 14px)!important;
    max-height:calc(100dvh - 14px)!important;
    border-radius:22px!important;
  }
}


/* v3 smooth fullscreen timeline scrolling patch */
#proofModal.modal:not(.hidden){
  overflow:hidden!important;
  touch-action:auto!important;
}
#proofModal .timeline-modal-pro{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scroll-behavior:auto!important;
  scrollbar-gutter:stable both-edges;
  will-change:scroll-position;
  transform:translateZ(0);
  contain:paint;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
#proofModal .timeline-modal-pro .focus-timeline-card,
#proofModal .timeline-modal-pro .special-focus-card,
#proofModal .timeline-modal-pro .timeline-wrap,
#proofModal .timeline-modal-pro .timeline,
#proofModal .timeline-modal-pro .time-ruler,
#proofModal .timeline-modal-pro .special-calendar,
#proofModal .timeline-modal-pro .special-period,
#proofModal .timeline-modal-pro .special-period-list,
#proofModal .timeline-modal-pro .special-day-task,
#proofModal .timeline-modal-pro .time-block{
  touch-action:pan-y!important;
  -webkit-user-select:none;
  user-select:none;
}
#proofModal .timeline-modal-pro .time-block,
#proofModal .timeline-modal-pro .special-day-task{
  cursor:pointer!important;
}
#proofModal .timeline-modal-pro .timeline,
#proofModal .timeline-modal-pro .time-ruler,
#proofModal .timeline-modal-pro .special-calendar{
  cursor:default!important;
}
#proofModal .timeline-modal-pro.is-dragging .timeline,
#proofModal .timeline-modal-pro.is-dragging .time-ruler,
#proofModal .timeline-modal-pro.is-dragging .special-calendar{
  cursor:default!important;
}
@media(max-width:820px){
  #proofModal .timeline-modal-pro{
    height:calc(100dvh - 14px)!important;
    max-height:calc(100dvh - 14px)!important;
  }
}

/* v3 smooth swipe bridge patch: keep modal scroll smooth while allowing swipe over timeline/calendar */
#proofModal .timeline-modal-pro{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-behavior:auto!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  contain:layout paint;
}
#proofModal .timeline-modal-pro .timeline-wrap,
#proofModal .timeline-modal-pro .timeline,
#proofModal .timeline-modal-pro .time-ruler,
#proofModal .timeline-modal-pro .time-block,
#proofModal .timeline-modal-pro .special-focus-card,
#proofModal .timeline-modal-pro .special-calendar,
#proofModal .timeline-modal-pro .special-period,
#proofModal .timeline-modal-pro .special-period-list,
#proofModal .timeline-modal-pro .special-day-task{
  touch-action:none!important;
}
#proofModal .timeline-modal-pro input,
#proofModal .timeline-modal-pro textarea,
#proofModal .timeline-modal-pro select,
#proofModal .timeline-modal-pro .inline-proof-box,
#proofModal .timeline-modal-pro .task-actions,
#proofModal .timeline-modal-pro .file-link{
  touch-action:auto!important;
}
@media (hover:hover){
  #proofModal .timeline-modal-pro .timeline,
  #proofModal .timeline-modal-pro .special-calendar{cursor:grab!important}
}


/* v3 timed day timeline smoothness patch */
#proofModal .timeline-modal-pro{
  scroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  backface-visibility:hidden;
}
#proofModal .timeline-modal-pro .focus-timeline-card,
#proofModal .timeline-modal-pro .timeline-wrap,
#proofModal .timeline-modal-pro .timeline,
#proofModal .timeline-modal-pro .time-ruler,
#proofModal .timeline-modal-pro .time-block{
  touch-action:none!important;
  will-change:auto;
  transform:translateZ(0);
}
#proofModal .timeline-modal-pro .timeline{
  contain:paint;
}
#proofModal .timeline-modal-pro.is-dragging,
#proofModal .timeline-modal-pro.is-dragging *{
  scroll-behavior:auto!important;
  user-select:none!important;
}
#proofModal .timeline-modal-pro.is-dragging .time-block{
  pointer-events:none;
}
@media (hover:hover){
  #proofModal .timeline-modal-pro .timeline{cursor:grab!important}
  #proofModal .timeline-modal-pro.is-dragging .timeline{cursor:grabbing!important}
}

/* v3 center popup task details inside full-screen timeline */
#proofModal .timeline-modal-pro{position:relative!important;}
#focusTaskPanel.focus-task-pop-layer{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  pointer-events:auto!important;
}
#focusTaskPanel.focus-task-pop-layer.hidden{display:none!important;}
#focusTaskPanel .focus-task-dim{
  position:absolute;
  inset:0;
  background:rgba(2,6,18,.58);
  backdrop-filter:blur(10px);
}
#focusTaskPanel .focus-task-popup{
  position:relative;
  z-index:1;
  width:min(680px,calc(100vw - 28px));
  max-height:min(84vh,780px);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(16,25,48,.96),rgba(10,16,32,.94));
  box-shadow:0 30px 90px rgba(0,0,0,.46);
  animation:taskPopupIn .18s ease-out;
}
.light #focusTaskPanel .focus-task-popup{
  background:linear-gradient(145deg,rgba(248,251,255,.98),rgba(227,237,255,.96));
  box-shadow:0 30px 90px rgba(62,92,155,.24);
}
#focusTaskPanel .focus-panel-head{
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
#focusTaskPanel .focus-panel-head h3{margin:5px 0 0;font-size:20px;line-height:1.2;}
#focusTaskPanel .focus-task-scroll{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:16px;
}
#focusTaskPanel .task-card{margin:0!important;background:rgba(255,255,255,.055);}
#focusTaskPanel .inline-proof-box{margin-top:12px;}
@keyframes taskPopupIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:720px){
  #focusTaskPanel.focus-task-pop-layer{padding:10px!important;align-items:center!important;}
  #focusTaskPanel .focus-task-popup{width:calc(100vw - 18px);max-height:86vh;border-radius:24px;}
  #focusTaskPanel .focus-panel-head{padding:14px;}
  #focusTaskPanel .focus-task-scroll{padding:12px;}
}

/* final patch: native smooth focus scrolling + centered task details */
#proofModal.task-detail-modal-open{
  display:grid!important;
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  overflow-y:auto!important;
  padding:18px!important;
  touch-action:pan-y!important;
}
#proofModal.task-detail-modal-open .task-detail-card{
  margin:0!important;
  width:min(760px,96vw)!important;
  max-height:min(92vh,820px)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  animation:taskPopupIn .16s ease-out;
}
#proofModal .timeline-modal-pro.native-focus-scroll{
  height:calc(100dvh - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  contain:layout paint!important;
  will-change:auto!important;
}
#proofModal .timeline-modal-pro.native-focus-scroll .focus-timeline-card,
#proofModal .timeline-modal-pro.native-focus-scroll .timeline-wrap,
#proofModal .timeline-modal-pro.native-focus-scroll .timeline,
#proofModal .timeline-modal-pro.native-focus-scroll .time-ruler,
#proofModal .timeline-modal-pro.native-focus-scroll .time-block,
#proofModal .timeline-modal-pro.native-focus-scroll .special-focus-card,
#proofModal .timeline-modal-pro.native-focus-scroll .special-calendar,
#proofModal .timeline-modal-pro.native-focus-scroll .special-period,
#proofModal .timeline-modal-pro.native-focus-scroll .special-period-list,
#proofModal .timeline-modal-pro.native-focus-scroll .special-day-task{
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
}
#proofModal .timeline-modal-pro.native-focus-scroll .timeline,
#proofModal .timeline-modal-pro.native-focus-scroll .time-ruler,
#proofModal .timeline-modal-pro.native-focus-scroll .special-calendar{
  cursor:default!important;
}
#proofModal .timeline-modal-pro.native-focus-scroll .time-block,
#proofModal .timeline-modal-pro.native-focus-scroll .special-day-task{
  pointer-events:auto!important;
  cursor:pointer!important;
}
#proofModal > #focusTaskPanel.focus-task-pop-layer{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  pointer-events:auto!important;
}
#proofModal > #focusTaskPanel.focus-task-pop-layer.hidden{display:none!important;}
#proofModal > #focusTaskPanel .focus-task-dim{position:absolute;inset:0;background:rgba(2,6,18,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#proofModal > #focusTaskPanel .focus-task-popup{position:relative;z-index:1;width:min(700px,calc(100vw - 28px));max-height:min(86vh,800px);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:28px;outline:none}
#proofModal > #focusTaskPanel .focus-task-scroll{overflow:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overscroll-behavior:contain!important}
@media(max-width:820px){
  #proofModal .timeline-modal-pro.native-focus-scroll{height:calc(100dvh - 14px)!important;max-height:calc(100dvh - 14px)!important}
  #proofModal > #focusTaskPanel.focus-task-pop-layer{padding:9px!important}
  #proofModal > #focusTaskPanel .focus-task-popup{width:calc(100vw - 18px);max-height:86vh;border-radius:24px}
}


/* v3 final timed timeline scroll fix: tall timed area scrolls natively when cursor/finger is over it */
#proofModal .timeline-modal-pro.focus-scroll-v4{
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
#proofModal .timeline-modal-pro.focus-scroll-v4 .focus-timeline-card.timed-scroll-zone{
  max-height:calc(100dvh - 166px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  scrollbar-gutter:stable;
}
#proofModal .timeline-modal-pro.focus-scroll-v4 .focus-timeline-card.timed-scroll-zone .timeline-wrap,
#proofModal .timeline-modal-pro.focus-scroll-v4 .focus-timeline-card.timed-scroll-zone .timeline,
#proofModal .timeline-modal-pro.focus-scroll-v4 .focus-timeline-card.timed-scroll-zone .time-ruler,
#proofModal .timeline-modal-pro.focus-scroll-v4 .focus-timeline-card.timed-scroll-zone .time-block{
  touch-action:pan-y!important;
}
#proofModal .timeline-modal-pro.focus-scroll-v4 .focus-timeline-card.timed-scroll-zone .timeline{
  overflow:hidden!important;
}
@media(max-width:820px){
  #proofModal .timeline-modal-pro.focus-scroll-v4 .focus-timeline-card.timed-scroll-zone{
    max-height:calc(100dvh - 156px)!important;
  }
}


/* v3 FINAL scrollability fix: one parent scroll, no nested dead zones */
#proofModal .timeline-modal-pro.focus-scroll-final{
  height:calc(100dvh - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  scroll-behavior:auto!important;
  contain:none!important;
  will-change:scroll-position!important;
}
#proofModal .timeline-modal-pro.focus-scroll-final .focus-grid-pro,
#proofModal .timeline-modal-pro.focus-scroll-final .focus-side{
  overflow:visible!important;
  max-height:none!important;
}
#proofModal .timeline-modal-pro.focus-scroll-final .focus-timeline-card,
#proofModal .timeline-modal-pro.focus-scroll-final .focus-timeline-card.timed-scroll-zone,
#proofModal .timeline-modal-pro.focus-scroll-final .special-focus-card{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:auto!important;
}
#proofModal .timeline-modal-pro.focus-scroll-final .timeline-wrap,
#proofModal .timeline-modal-pro.focus-scroll-final .timeline,
#proofModal .timeline-modal-pro.focus-scroll-final .time-ruler,
#proofModal .timeline-modal-pro.focus-scroll-final .time-block,
#proofModal .timeline-modal-pro.focus-scroll-final .special-calendar,
#proofModal .timeline-modal-pro.focus-scroll-final .special-period,
#proofModal .timeline-modal-pro.focus-scroll-final .special-period-list,
#proofModal .timeline-modal-pro.focus-scroll-final .special-day-task{
  touch-action:pan-y!important;
  -ms-touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:auto!important;
}
#proofModal .timeline-modal-pro.focus-scroll-final .timeline{
  overflow:hidden!important;
  contain:paint!important;
}
#proofModal .timeline-modal-pro.focus-scroll-final .time-block,
#proofModal .timeline-modal-pro.focus-scroll-final .special-day-task{
  pointer-events:auto!important;
  cursor:pointer!important;
}
#proofModal .timeline-modal-pro.focus-scroll-final.is-focus-dragging .time-block,
#proofModal .timeline-modal-pro.focus-scroll-final.is-focus-dragging .special-day-task{
  pointer-events:none!important;
}
#proofModal .timeline-modal-pro.focus-scroll-final #focusTaskPanel,
#proofModal .timeline-modal-pro.focus-scroll-final #focusTaskPanel *{
  touch-action:auto!important;
}
@media(max-width:820px){
  #proofModal .timeline-modal-pro.focus-scroll-final{
    height:calc(100dvh - 12px)!important;
    max-height:calc(100dvh - 12px)!important;
  }
  #proofModal .timeline-modal-pro.focus-scroll-final .timeline-actions{
    position:sticky;
    top:0;
    z-index:5;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
}

/* 2026-08-06 final workflow polish */
body.logged-out #shell, body.logged-out .bottom-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.logged-out #authView{display:grid!important}
.password-wrap{position:relative;display:flex;align-items:center}.password-wrap input{padding-right:54px;width:100%}.eye-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.07);color:var(--text);display:grid;place-items:center;padding:0}
.file-select-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.file-chip,.file-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:rgba(255,255,255,.07);border-radius:999px;padding:6px 8px;max-width:100%}.file-chip b,.file-pill a{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip button,.file-pill button{border:0;background:rgba(255,95,114,.2);color:#ffd7dc;border-radius:999px;width:24px;height:24px;display:grid;place-items:center;padding:0}.file-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.completion-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.completion-choice label,.check-line{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:16px;padding:12px;color:var(--text);font-weight:800}.percent-live{display:inline-flex;margin-top:6px}.task-card.incomplete{border-color:rgba(255,186,74,.38);box-shadow:0 0 0 1px rgba(255,186,74,.08) inset}.warn-text{color:#ffd89a}.daily-template-list{display:grid;gap:10px;margin-top:14px}.daily-template-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:18px;padding:12px}.daily-template-row span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.voice-creature{position:fixed;right:18px;bottom:98px;z-index:90;display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 30px));opacity:0;transform:translateY(18px) scale(.96);transition:.35s ease;pointer-events:none}.voice-creature.talking{opacity:1;transform:translateY(0) scale(1)}.creature-globe{width:50px;height:50px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#7c5cff,#25d0ff);box-shadow:0 16px 40px rgba(37,208,255,.28);animation:creatureFloat 1.8s ease-in-out infinite}.creature-line{border:1px solid var(--line);background:rgba(15,23,42,.88);backdrop-filter:blur(20px);border-radius:20px;padding:12px 14px;font-weight:850;color:#fff;box-shadow:var(--shadow)}@keyframes creatureFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.work-day{border:1px solid var(--line);background:rgba(255,255,255,.045);color:var(--text);text-align:left;border-radius:18px;padding:10px;min-height:112px}.work-day:hover{filter:brightness(1.08);transform:translateY(-1px)}
.timeline .time-block{box-sizing:border-box;min-width:0}.timeline .time-block b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.timeline .time-block small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.timeline .time-block.full-block{z-index:2}.timeline .time-block.full-block:nth-child(odd){z-index:3}
#proofModal > #focusTaskPanel.focus-task-pop-layer{position:fixed!important;inset:0!important;z-index:95!important;display:grid!important;place-items:center!important;padding:14px!important}.focus-task-dim{position:absolute;inset:0;background:rgba(0,0,0,.46);backdrop-filter:blur(5px)}#proofModal > #focusTaskPanel .focus-task-popup{background:rgba(13,20,37,.96)!important;border:1px solid var(--line);box-shadow:0 30px 110px rgba(0,0,0,.6)}
.report-day-modal{width:min(1350px,98vw)!important}
@media(max-width:820px){.completion-choice{grid-template-columns:1fr}.daily-template-row{display:grid}.voice-creature{left:12px;right:12px;bottom:92px}.creature-line{font-size:13px}.file-chip b,.file-pill a{max-width:190px}.work-day{min-height:104px;padding:8px}.timeline .time-block{padding:8px 9px!important}.timeline .time-block small{font-size:10px}}


/* 2026-08-06 no-overlap timeline final patch
   Visual lanes are calculated in JS using rendered block height. These CSS rules
   make sure blocks respect the calculated lane widths and never cover each other. */
.timeline{position:relative!important;overflow:hidden!important;isolation:isolate!important;}
.timeline .time-block{
  position:absolute!important;
  right:auto!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.13)!important;
}
.timeline .time-block b,
.timeline .time-block small{
  max-width:100%!important;
  min-width:0!important;
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.timeline .time-block.full-block{padding:10px 12px!important;}
.timeline .time-block.compact-block{padding:0 10px!important;}
@media(max-width:820px){
  .timeline .time-block.full-block{padding:8px 9px!important;}
  .timeline .time-block.full-block b{font-size:12px!important;}
  .timeline .time-block.full-block small{font-size:10px!important;}
}

/* 2026-08-06 daily + sound visibility patch */
.daily-page-grid{align-items:stretch}
.daily-help-card .task-mini-summary{margin-top:12px}
.sound-settings-card{background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(33,212,253,.10),rgba(255,255,255,.045))}
@media(max-width:820px){
  .bottom-nav{grid-template-columns:repeat(6,1fr)!important;gap:3px!important;padding:6px!important}
  .bottom-nav button{min-height:50px!important;font-size:15px!important;padding:5px 1px!important}
  .bottom-nav span{font-size:9px!important;line-height:1.05!important;white-space:nowrap!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .daily-page-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .daily-help-card .task-mini-summary{grid-template-columns:1fr!important}
}


/* Daily tasks shown on dashboard */
.daily-dashboard-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.daily-dash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:18px;min-width:0}
.daily-dash-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f5f7ff}
.daily-dash-row span{display:block;margin-top:4px;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.daily-dash-row em{font-style:normal;font-size:12px;color:#84f7cb;border:1px solid rgba(82,255,191,.25);background:rgba(58,255,182,.10);padding:7px 10px;border-radius:999px;white-space:nowrap}
@media(max-width:720px){.daily-dashboard-list{grid-template-columns:1fr}.daily-dash-row{align-items:flex-start;flex-direction:column}.daily-dash-row em{align-self:flex-start}}

/* 2026-08-06 attendance + overdue + approval workflow patch */
.bottom-nav{grid-template-columns:repeat(7,1fr)!important}
.task-card.review{border-color:rgba(33,212,253,.42);box-shadow:0 0 0 1px rgba(33,212,253,.10) inset;background:linear-gradient(135deg,rgba(33,212,253,.08),rgba(255,255,255,.045))}
.attention-day .task-bucket{display:grid;gap:12px}.attention-day .section-title h3{font-size:20px}
.range-shortcuts{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;margin-top:2px}.range-shortcuts button{border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:999px;padding:10px 12px;font-weight:850}.range-shortcuts button:hover{filter:brightness(1.1)}
.report-filters #attendancePdf{white-space:nowrap}.report-access select[data-user-role]{min-width:110px}
.task-card.disapproved .ok-btn[data-complete]{background:linear-gradient(135deg,rgba(54,230,162,.92),rgba(33,212,253,.72));border-color:rgba(54,230,162,.42)}
@media(max-width:820px){.bottom-nav{grid-template-columns:repeat(6,1fr)!important;left:8px!important;right:8px!important}.bottom-nav button{min-height:48px!important}.bottom-nav span{font-size:8.5px!important}.range-shortcuts{display:grid;grid-template-columns:1fr 1fr}.report-filters #attendancePdf,.report-filters #loadReport,.report-filters #clearData,.report-filters #purgeWorkData{width:100%}.report-access{grid-template-columns:1fr!important}}
.timeline .time-block.review{background:linear-gradient(135deg,rgba(33,212,253,.82),rgba(124,92,255,.66))!important;outline:2px solid rgba(118,228,255,.18)}
.special-day-task.review,.special-card.review{border-color:rgba(33,212,253,.32);background:linear-gradient(135deg,rgba(33,212,253,.12),rgba(124,92,255,.09))}

/* 2026-08-07 pfp + password + mobile icon polish */
.avatar,
.brand-mark,
.top-avatar,
.small-avatar,
.big-avatar{
  aspect-ratio:1 / 1!important;
  flex:0 0 auto!important;
}
.avatar{
  border-radius:50%!important;
  overflow:hidden!important;
}
.avatar img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
  display:block!important;
}
.big-avatar{border-radius:50%!important;}
.profile-preview .avatar{box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.user-tools [data-pass-user]{background:rgba(124,92,255,.13)}
@media(max-width:820px){
  .content{padding-bottom:104px!important;}
  .topbar{gap:8px!important;padding:10px 11px!important;border-radius:22px!important;align-items:center!important;}
  .topbar h2{font-size:18px!important;letter-spacing:-.02em!important;white-space:nowrap!important;}
  .topbar .eyebrow{font-size:9px!important;}
  .top-actions{gap:5px!important;align-items:center!important;flex-wrap:nowrap!important;}
  .top-actions .icon-btn,
  .top-actions .profile-top{width:38px!important;height:38px!important;min-width:38px!important;border-radius:14px!important;padding:0!important;}
  #newTaskBtn{width:40px!important;height:38px!important;min-width:40px!important;padding:0!important;border-radius:14px!important;}
  #newTaskBtn b{display:none!important;}
  #newTaskBtn span{font-size:21px!important;line-height:1!important;}
  #notifBtn{position:relative!important;}
  #notifBtn em{right:-4px!important;top:-6px!important;min-width:18px!important;height:18px!important;font-size:10px!important;}
  .bottom-nav{left:8px!important;right:8px!important;bottom:8px!important;padding:6px!important;gap:3px!important;border-radius:22px!important;overflow-x:auto!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;}
  .bottom-nav::-webkit-scrollbar{display:none!important;}
  .bottom-nav button{min-width:46px!important;min-height:48px!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;}
  .bottom-nav span{font-size:8.5px!important;line-height:1.05!important;white-space:nowrap!important;}
  .user-tools{gap:8px!important;}
  .user-tools > button{width:100%!important;}
}


/* 2026-08-07 instant overdue refresh + task range + mobile nav symmetry */
.toast{z-index:10050!important;bottom:auto!important;top:max(14px,env(safe-area-inset-top))!important;left:50%!important;max-width:min(560px,calc(100vw - 28px));text-align:center;pointer-events:none}
.toast.show{transform:translateX(-50%) translateY(0)!important}
.task-filter-card{align-items:end}.task-filter-card .full{flex-basis:100%}.task-range-shortcuts{display:flex;gap:8px;flex-wrap:wrap}.range-btn{border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--muted);border-radius:999px;padding:9px 12px;font-weight:900}.range-btn.active{background:linear-gradient(135deg,rgba(124,92,255,.34),rgba(33,212,253,.24));color:var(--text);border-color:rgba(154,218,255,.32)}
.attention-day{transition:opacity .18s ease, transform .18s ease}.task-card.is-removing,.attention-day.is-removing{opacity:.45;transform:scale(.99);pointer-events:none}
@media(max-width:820px){
  .bottom-nav{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;padding:6px 5px!important;gap:3px!important;overflow:visible!important;border-radius:22px!important;align-items:center!important;justify-items:center!important;}
  .bottom-nav button{min-width:0!important;width:100%!important;min-height:50px!important;padding:5px 1px!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;text-align:center!important;line-height:1!important;}
  .bottom-nav span{font-size:8px!important;line-height:1.05!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;text-align:center!important;}
  .task-range-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.range-btn{width:100%;padding:10px 8px}.task-filter-card .field{width:100%}
}
@media(max-width:360px){.bottom-nav span{font-size:7.2px!important}.bottom-nav button{min-height:48px!important}.bottom-nav{left:5px!important;right:5px!important;padding:5px 4px!important;gap:2px!important}}

/* Universal TaskClock date controls: always display DD-MM-YYYY regardless of device/browser locale. */
.tc-date-control{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center;width:100%;min-width:0}
.tc-date-display{width:100%;min-width:0;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.tc-date-picker-btn{height:42px;width:42px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.06);color:var(--text);cursor:pointer;font-size:16px;display:grid;place-items:center}
.tc-date-picker-btn:hover{background:rgba(255,255,255,.1)}
.tc-date-native{position:absolute!important;right:0!important;top:0!important;width:42px!important;height:42px!important;opacity:0!important;pointer-events:auto!important;cursor:pointer!important;z-index:3}
.tc-datetime-control{display:grid;grid-template-columns:minmax(180px,1fr) minmax(190px,auto);gap:10px;align-items:end;width:100%}
.tc-datetime-control .tc-dt-time{margin:0}
@media(max-width:640px){.tc-datetime-control{grid-template-columns:1fr}.tc-date-control{grid-template-columns:minmax(0,1fr) 44px}.tc-date-picker-btn{height:44px;width:44px}.tc-date-native{width:44px!important;height:44px!important}}

/* 2026-08-12 admin visibility + notices layout + PWA polish */
.admin-notices-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:16px;align-items:start}
.admin-notice-side{min-width:0}
.notice-publish-card,.sound-settings-card,.device-settings-card{min-width:0;overflow:hidden}
.notice-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.notice-expiry-field .tc-datetime-control{grid-template-columns:minmax(220px,1fr) minmax(220px,260px);align-items:center}
.notice-expiry-field .tc-dt-time{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.notice-expiry-field .tc-dt-time select{width:100%;min-width:0}
.admin-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.admin-inline-actions>*{flex:1 1 160px}
.device-settings-card .check-line,.sound-settings-card .check-line{padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.045)}
.admin-title{align-items:center}
.admin-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.admin-metric{min-height:116px;display:flex;flex-direction:column;justify-content:center}
.admin-metric>span{color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.admin-metric>b{font-size:30px;line-height:1.1;margin:7px 0 4px}
.admin-metric>small{color:var(--muted);line-height:1.35}
.admin-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-tool-card{width:100%;min-width:0;text-align:left;color:var(--text);display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:18px;backdrop-filter:blur(18px)}
button.admin-tool-card{cursor:pointer}
button.admin-tool-card:hover{border-color:rgba(120,186,255,.35);background:rgba(255,255,255,.09)}
.admin-tool-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(33,212,253,.18));font-size:22px;font-weight:900}
.admin-tool-card h3{margin:1px 0 5px;font-size:18px}
.admin-tool-card p{margin:0;color:var(--muted);line-height:1.5}
.admin-tool-card em{align-self:center;color:#9adaff;font-style:normal;font-weight:850;white-space:nowrap}
.admin-device-card,.admin-maintenance-card{grid-template-columns:48px minmax(0,1fr)}
.admin-device-card .admin-inline-actions{grid-column:2}
.admin-maintenance-card .grow{min-width:0}
.admin-history-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:14px}
.account-device-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
#refreshAppBtn.spin-once{animation:tc-spin .45s linear}
@keyframes tc-spin{to{transform:rotate(360deg)}}

@media(max-width:1250px){
  .admin-notices-grid{grid-template-columns:1fr}
  .admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-history-form{grid-template-columns:1fr 1fr}
  .admin-history-form .danger-btn{grid-column:1/-1}
}
@media(max-width:900px){
  .notice-expiry-field .tc-datetime-control{grid-template-columns:1fr}
  .admin-tools-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  #refreshAppBtn{display:none!important}
  .admin-overview-grid{grid-template-columns:1fr 1fr}
  .admin-tool-card{grid-template-columns:42px minmax(0,1fr);padding:15px;gap:11px}
  .admin-tool-card em{display:none}
  .admin-tool-icon{width:42px;height:42px;border-radius:14px;font-size:19px}
  .admin-history-form{grid-template-columns:1fr}
  .admin-history-form .danger-btn{grid-column:auto;width:100%}
  .notice-form{grid-template-columns:1fr}
  .notice-form .full{grid-column:1}
  .account-device-actions{grid-template-columns:1fr}
  .admin-inline-actions{display:grid;grid-template-columns:1fr}
}
@media(max-width:520px){
  .admin-overview-grid{grid-template-columns:1fr}
  .notice-expiry-field .tc-dt-time{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* 2026-08-12 dashboard anti-congestion / intrinsic-size containment fix
   Prevent long task names, status text, or timeline content from changing grid track widths. */
.grid > *,
.dash-main > *,
.dash-main .card,
.dash-main .stack,
.dash-main .notice,
.dash-main .timeline-wrap,
.dash-main .timeline,
.dash-main .time-ruler{
  min-width:0!important;
}

/* Use explicit minmax(0, ...) tracks so content can never force one dashboard
   column to become tiny while the other becomes extremely wide. */
.dash-main{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
  align-items:start!important;
  width:100%!important;
}
.dash-main > .card{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}

/* Keep the timeline readable without letting its ruler consume too much space. */
.dash-main .timeline-wrap{
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
}
.dash-main .timeline{
  width:100%!important;
  max-width:100%!important;
}
.dash-main .time-ruler{
  width:100%!important;
}

/* Dashboard card headings/actions may wrap, but must never squeeze the card itself. */
.dash-main .section-title{
  min-width:0!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
}
.dash-main .section-title > div:first-child{
  min-width:0!important;
  flex:1 1 220px!important;
}
.dash-main .section-title .split{
  min-width:0!important;
  flex:0 1 auto!important;
  justify-content:flex-end!important;
}

/* Long task names in Now & Next / Overdue cannot expand the grid. */
.dash-main .notice{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.dash-main .notice h4,
.dash-main .notice p{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* General protection for cards inside grids so future long content cannot cause
   the same kind of layout collapse elsewhere. */
.grid > .card,
.grid > .task-card,
.grid > .notice{
  min-width:0!important;
  max-width:100%!important;
}

/* Once the usable desktop content width becomes too small, stack the dashboard
   instead of forcing two cramped cards beside each other. */
@media(max-width:1280px){
  .dash-main{
    grid-template-columns:1fr!important;
  }
  .dash-main .timeline-wrap{
    grid-template-columns:78px minmax(0,1fr)!important;
  }
}

/* Mobile keeps the existing one-column design, with a slightly smaller ruler. */
@media(max-width:820px){
  .dash-main{
    grid-template-columns:1fr!important;
  }
  .dash-main .timeline-wrap{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .dash-main .section-title .split{
    width:100%!important;
    justify-content:flex-start!important;
  }
}


/* 2026-08-12 Work stars, rankings and storage cleanup */
.star-pill{background:rgba(255,200,65,.12)!important;border-color:rgba(255,200,65,.35)!important;color:#ffd76d!important;font-weight:800}
.star-btn{border:1px solid rgba(255,200,65,.35);background:linear-gradient(135deg,rgba(255,190,45,.20),rgba(255,135,70,.18));color:#ffe18a;border-radius:14px;padding:10px 14px;font-weight:850;cursor:pointer}
.star-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.star-manager-card{width:min(760px,96vw)!important}.star-total-box{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,200,65,.28);background:rgba(255,200,65,.08);border-radius:20px;padding:16px 18px;margin-bottom:14px}.star-total-box b{font-size:28px;color:#ffd76d}.star-award-form{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:10px;align-items:end}.star-history{margin-top:18px}.star-history-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);padding:13px 0}.star-history-row b{color:#ffd76d}.star-history-row p{margin:3px 0 0;color:var(--muted);font-size:12px}
.ranking-controls{display:grid;grid-template-columns:auto minmax(150px,.6fr) minmax(150px,.6fr) auto;align-items:end;gap:12px}.ranking-shortcuts{align-self:end}.ranking-admin-panel{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.ranking-admin-panel .admin-inline-actions{grid-column:1/-1}.ranking-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.ranking-podium-card{position:relative;overflow:hidden;text-align:center;border:1px solid var(--line);background:var(--panel);border-radius:24px;padding:24px 14px;box-shadow:var(--shadow)}.ranking-podium-card:before{content:"";position:absolute;inset:auto -20% -55% -20%;height:75%;background:radial-gradient(circle,rgba(255,205,60,.25),transparent 65%);pointer-events:none}.ranking-podium-card.rank-1{transform:translateY(-5px);border-color:rgba(255,210,80,.42)}.ranking-podium-card h3{margin:8px 0 4px}.ranking-podium-card b{display:block;font-size:28px;color:#ffd76d}.ranking-podium-card small{color:var(--muted)}.rank-number{position:absolute;top:12px;left:12px;font-weight:900;color:#ffd76d}.ranking-avatar{width:72px!important;height:72px!important;aspect-ratio:1/1!important;border-radius:22px!important;object-fit:cover!important}.small-rank-avatar{width:46px!important;height:46px!important;border-radius:15px!important}.ranking-list{display:grid;gap:10px}.ranking-row{display:flex;align-items:center;gap:12px;padding:13px 15px!important}.ranking-row .ranking-place{width:42px;font-size:18px;font-weight:900;color:var(--muted)}.ranking-row .grow{min-width:0}.ranking-row .grow b,.ranking-row .grow p{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-row .grow p{margin:3px 0 0;color:var(--muted);font-size:12px}.ranking-row>strong{margin-left:auto;color:#ffd76d;font-size:20px;white-space:nowrap}.storage-cleanup-card{grid-column:1/-1!important}
@media(max-width:980px){.ranking-controls{grid-template-columns:1fr 1fr}.ranking-shortcuts{grid-column:1/-1}.ranking-controls #loadRanking{grid-column:1/-1}.ranking-admin-panel{grid-template-columns:1fr}.ranking-podium{grid-template-columns:1fr}.ranking-podium-card.rank-1{transform:none}.star-award-form{grid-template-columns:1fr}}
@media(max-width:820px){.bottom-nav{grid-template-columns:repeat(7,minmax(0,1fr))!important}.bottom-nav button{min-width:0!important}.bottom-nav span{font-size:7.3px!important}.ranking-controls{grid-template-columns:1fr}.ranking-shortcuts{display:grid!important;grid-template-columns:repeat(3,1fr)!important}.ranking-admin-panel .admin-inline-actions{display:grid!important;grid-template-columns:1fr!important}.ranking-row{padding:11px!important}.ranking-row .ranking-place{width:30px}.ranking-row>strong{font-size:17px}.star-history-row{align-items:flex-start}.star-history-row .danger-btn{flex:0 0 auto}}


/* Task interaction recovery: every task card/preview is safely clickable without
   stealing clicks from its action buttons, files, links or form controls. */
.clickable-task-card,
.clickable-task-preview{
  cursor:pointer;
  transition:border-color .16s ease, background-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.clickable-task-card:hover,
.clickable-task-preview:hover{
  border-color:rgba(33,212,253,.34);
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
.clickable-task-card:focus-visible,
.clickable-task-preview:focus-visible{
  outline:2px solid rgba(33,212,253,.8);
  outline-offset:3px;
}
@media(hover:hover){
  .clickable-task-card:hover{transform:translateY(-1px)}
}


/* Task comments + unfinished task editing */
.comment-pill{border-color:rgba(40,196,255,.22)!important}
.task-comments-panel{
  margin-top:16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.task-comment-list{display:grid;gap:10px;margin-top:10px}
.task-comment-row{
  min-width:0;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(8,16,31,.48);
}
.comment-avatar{width:36px!important;height:36px!important;aspect-ratio:1/1!important}
.task-comment-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.task-comment-head span{font-size:11px;color:var(--muted)}
.task-comment-row p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.task-comment-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-top:12px;
  align-items:end;
}
.task-comment-form textarea{min-height:72px;resize:vertical}
.task-edit-modal{max-width:760px!important}
.readonly-field{
  min-height:46px;
  display:flex;
  align-items:center;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:var(--muted);
}
.edit-task-btn{border-color:rgba(62,211,255,.22)!important}
.empty-state.compact{padding:12px!important;min-height:0!important}
@media(max-width:640px){
  .task-comment-form{grid-template-columns:1fr}
  .task-comment-form .primary-btn{width:100%}
  .task-comments-panel{padding:12px}
}


/* Edit-task modal must always sit above any remaining timeline layer. */
#announcementModal:not(.hidden){
  z-index:10050!important;
}
#announcementModal .task-edit-modal{
  position:relative;
  z-index:1;
}


/* Multiple file selections can be added one-by-one without replacing earlier files. */
.file-select-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:9px;
  min-width:0;
}
.file-select-list .file-chip{
  max-width:100%;
  min-width:0;
}
.file-select-list .file-chip b{
  display:block;
  max-width:min(280px,65vw);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}


/* Robust profile/avatar rendering: image covers initials only after it loads successfully. */
.avatar-safe{
  position:relative;
  overflow:hidden;
  flex:0 0 auto;
  display:grid;
  place-items:center;
}
.avatar-safe .avatar-initials{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font:inherit;
  font-weight:800;
  line-height:1;
  pointer-events:none;
}
.avatar-safe img{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  object-position:center;
  border-radius:inherit;
  z-index:1;
  background:inherit;
}


/* Important Admin/Subadmin comment alerts */
@keyframes importantCommentBlink{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,73,98,.08),0 0 0 1px rgba(255,73,98,.35) inset}
  45%{transform:scale(1.08);box-shadow:0 0 0 11px rgba(255,73,98,.19),0 0 30px rgba(255,73,98,.38)}
}
#notifBtn.comment-alert-active,
#mobileNotifBtn.comment-alert-active{
  animation:importantCommentBlink .82s ease-in-out infinite!important;
  background:linear-gradient(135deg,rgba(255,67,94,.92),rgba(179,28,61,.9))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.42)!important;
}
#notifBtn.comment-alert-active em{background:#fff!important;color:#9b1531!important}
.notif.important-comment{border:1px solid rgba(255,73,98,.46)!important;background:linear-gradient(135deg,rgba(255,73,98,.15),rgba(255,255,255,.045))!important}
.notif.important-comment.unread{box-shadow:0 0 0 2px rgba(255,73,98,.08) inset}
.important-tag{display:inline-flex!important;margin-bottom:7px!important;font-size:10px!important;letter-spacing:.08em!important}
.comment-important-pill{background:rgba(255,73,98,.12)!important;border-color:rgba(255,73,98,.35)!important;color:#ff9aae!important}

/* Manager comments section */
.manager-comment-task{overflow:hidden}
.manager-comment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.manager-comment-head h3{margin:8px 0 4px;font-size:20px}
.manager-comment-head p{margin:0;color:var(--muted);font-size:13px}
.manager-comment-thread{display:grid;gap:9px}
.manager-comment-entry{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.045)}
.manager-comment-entry b{display:block;font-size:13px}
.manager-comment-entry p{margin:4px 0 5px;line-height:1.45}
.manager-comment-entry small{color:var(--muted)}
@media(max-width:620px){.manager-comment-head{display:grid}.manager-comment-head button{width:100%}}

/* Admin site health */
.admin-site-health{margin:14px 0 16px;background:linear-gradient(135deg,rgba(33,212,253,.09),rgba(124,92,255,.08))!important}
.site-health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.site-health-head h3{margin:8px 0 3px;font-size:24px}
.site-health-head p{margin:0;color:var(--muted)}
.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.health-grid>div{padding:12px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.045)}
.health-grid span,.health-grid small{display:block;color:var(--muted)}
.health-grid b{display:block;font-size:20px;margin:5px 0}
.health-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.health-folder-grid span{display:grid;gap:3px;padding:9px 11px;border:1px solid var(--line);border-radius:14px}
.health-folder-grid em{font-style:normal;color:var(--muted);font-size:12px}
.health-tech{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:900px){.health-grid{grid-template-columns:1fr 1fr}.health-folder-grid{grid-template-columns:1fr 1fr}.site-health-head{display:grid}}
@media(max-width:520px){.health-grid,.health-folder-grid{grid-template-columns:1fr}.site-health-head .admin-inline-actions{display:grid}.site-health-head .admin-inline-actions button{width:100%}}
