@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}:root{--slantis-orange:#FF7700;--vibrant-yellow:#FFE900;--sky-blue:#61D9D5;--greeny:#44C15D;--slantis-white:#FFFFFF;--space-grey:#202022;--soft-grey:#f4f3f1;--orange-20:rgba(255,119,0,.20);--yellow-20:rgba(255,233,0,.20);--sky-20:rgba(97,217,213,.20);--greeny-20:rgba(68,193,93,.20);--greeny-lime:#B5FF57;--red-alert:#FD3440;--ink:hsl(40 5% 13%);--ink-soft:hsl(40 5% 16%);--grey-700:hsl(40 4% 45%);--grey-500:hsl(40 5% 62%);--grey-300:hsl(40 7% 78%);--grey-200:hsl(40 8% 85%);--grey-100:hsl(40 10% 91%);--grey-50:hsl(40 12% 95%);--off-white:hsl(40 14% 97%);--paper:#FFFFFF;--fg-1:var(--ink);--fg-2:var(--grey-700);--fg-3:var(--grey-500);--fg-inverse:var(--paper);--bg-1:var(--paper);--bg-2:var(--grey-50);--bg-dark:var(--ink);--accent:var(--slantis-orange);--link:var(--slantis-orange);--success:var(--greeny);--info:var(--sky-blue);--warning:var(--vibrant-yellow);--danger:var(--red-alert);--border:var(--grey-100);--border-strong:var(--grey-300);--font-display:"DM Sans",system-ui,sans-serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"DM Sans",system-ui,sans-serif;--text-display:120px;--text-h1:48px;--text-h2:32px;--text-h3:24px;--text-h4:20px;--text-body:18px;--text-small:16px;--text-tag:14px;--text-micro:10px;--lh-tight:1.0;--lh-snug:1.1;--lh-normal:1.35;--lh-loose:1.6;--track-tight:-0.020em;--track-display:-0.010em;--track-body:-0.011em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:40px;--s-8:56px;--s-9:80px;--s-10:120px;--r-sm:4px;--r-md:10px;--r-lg:16px;--r-pill:999px;--shadow-soft:0 2px 8px rgba(32,32,34,0.06);--shadow-card:0 8px 24px rgba(32,32,34,0.08);--shadow-lift:0 20px 40px rgba(32,32,34,0.12);--shell-hero-bg:var(--slantis-orange);--shell-hero-fg:var(--ink);--shell-active-bg:var(--slantis-orange);--shell-active-fg:var(--ink)}body,html{font-family:var(--font-body);color:var(--fg-1);background:var(--bg-1);font-size:var(--text-body);line-height:var(--lh-normal);letter-spacing:var(--track-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.display,h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:var(--track-tight);line-height:var(--lh-snug);margin:0}.display{font-size:var(--text-display);line-height:1.025}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}h4{font-size:var(--text-h4);font-weight:600}p{margin:0 0 var(--s-4);max-width:68ch}.caption,small{font-size:var(--text-tag);color:var(--fg-2)}code,pre{font-family:var(--font-mono)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}button,input,select{font-family:var(--font-body)}:focus-visible{outline:2px solid var(--slantis-orange);outline-offset:2px;border-radius:var(--r-sm)}.eyebrow{display:block;font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.num,.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn{font-family:var(--font-display);font-weight:500;font-size:15px;line-height:1.2;padding:10.5px 20.5px;border-radius:var(--r-pill);border:1.5px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-2);letter-spacing:-.005em;transition:opacity .12s,transform .12s,background .12s,color .12s;white-space:nowrap}.btn:hover{opacity:.92}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{flex-shrink:0}.btn--primary{background:var(--ink);color:var(--paper)}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--paper);opacity:1}.btn--orange{background:var(--slantis-orange);color:var(--ink)}.btn--sm{font-size:13px;padding:7.5px 14.5px}.chip{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:11px;letter-spacing:.02em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-pill);line-height:1;color:var(--ink)}.chip .dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.chip--val{background:var(--greeny-20)}.chip--val .dot{background:var(--greeny)}.chip--prog{background:var(--orange-20)}.chip--prog .dot{background:var(--slantis-orange)}.chip--pend{background:var(--grey-100)}.chip--pend .dot{background:var(--grey-500)}.chip--none{background:var(--grey-100);color:var(--fg-2)}.chip--none .dot{display:none}.chip--flag{background:var(--yellow-20)}.chip--flag .dot{background:var(--vibrant-yellow)}.tintpill{display:inline-flex;align-items:center;font-weight:600;font-size:11px;letter-spacing:.02em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-pill);line-height:1;color:var(--ink);white-space:nowrap}.tp-sky{background:var(--sky-20)}.tp-grey{background:var(--grey-100);color:var(--fg-2)}.tp-edit{background:var(--orange-20)}.tp-val{background:var(--greeny-20)}.pdot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.pill-header{position:fixed;top:16px;left:16px;right:16px;z-index:200;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;height:52px;background:var(--paper);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-soft)}.ph-left{display:flex;align-items:center;gap:10px;color:var(--ink)}.ph-left,.ph-left:hover{text-decoration:none}.ph-left svg{display:block}.appbadge{background:var(--slantis-orange);color:var(--vibrant-yellow);font-family:var(--font-display);font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:var(--r-pill);white-space:nowrap;line-height:1}.ph-nav{display:flex;gap:2px;justify-self:center}.navlink,.ph-nav{align-items:center}.navlink{display:inline-flex;gap:7px;padding:var(--s-2) var(--s-3);border-radius:var(--r-pill);background:transparent;border:none;color:var(--ink);cursor:pointer;font-family:var(--font-display);font-weight:500;font-size:13px;text-decoration:none;transition:background .15s}.navlink:hover{background:var(--grey-50);text-decoration:none}.navlink.active{background:var(--shell-active-bg);color:var(--shell-active-fg);font-weight:600}.ph-right{justify-content:flex-end}.ph-right,.userbtn{display:flex;align-items:center}.userbtn{gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-1) var(--s-1);border-radius:var(--r-pill);background:var(--grey-50);border:1px solid var(--grey-200);cursor:pointer;color:var(--ink)}.userbtn .uname{font-weight:500;font-size:13px}.userbtn svg{color:var(--fg-2)}.uav{width:28px;height:28px;border-radius:var(--r-pill);background:var(--slantis-orange);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px}.hero-band{background:var(--shell-hero-bg);color:var(--shell-hero-fg);padding:84px 0 20px;position:relative}.hero-band :focus-visible{outline-color:var(--ink)}.hero-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);padding-inline:36px}.hero-left{display:flex;flex-direction:column;gap:var(--s-2);flex:1 1;min-width:0}.hero-band .eyebrow{color:var(--shell-hero-fg);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero-title{font-family:var(--font-display);font-size:clamp(32px,4vw,48px);line-height:var(--lh-snug);letter-spacing:var(--track-tight);margin:0}.hero-sub,.hero-title{font-weight:500;color:var(--shell-hero-fg)}.hero-sub{font-size:14px;opacity:.8;max-width:none;margin:2px 0 0;line-height:1.3}.hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;flex-shrink:0}.hero-right .eyebrow{opacity:.7;justify-content:flex-end}.hero-big{font-family:var(--font-display);font-weight:700;font-size:36px;letter-spacing:var(--track-tight);line-height:1;color:var(--shell-hero-fg)}.hero-big small{font-size:16px;font-weight:500;opacity:.7;color:inherit}.hero-noun{font-size:12px;color:var(--shell-hero-fg);opacity:.7;font-weight:500}.pswitch{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.01em;text-transform:none;color:var(--ink);background-color:rgba(255,255,255,.85);border:1.5px solid rgba(32,32,34,.16);border-radius:var(--r-pill);padding:4px 28px 4px 13px;transition:background-color .12s,border-color .12s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='none' stroke='%23202022' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}.pswitch:hover{background-color:var(--paper);border-color:rgba(32,32,34,.32)}.pswitch:focus-visible{outline:2px solid var(--ink);outline-offset:2px}main{min-height:100dvh}.content{padding:var(--s-5) 36px var(--s-7)}.note{font-size:12.5px;color:var(--fg-2);background:var(--grey-50);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 12px;margin:0 0 18px}.note b{color:var(--slantis-orange)}.hint{font-size:12.5px;color:var(--fg-2);margin:10px 2px 0}.scroll-x{overflow:auto;background:var(--paper);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.thead{display:grid;grid-column-gap:16px;column-gap:16px;padding:10px 18px;background:var(--grey-50);border-bottom:1px solid var(--border)}.sortth{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-1);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}.sortth.active{color:var(--slantis-orange)}.sortth .g{font-size:11px;color:var(--grey-500)}.sortth.active .g{color:var(--slantis-orange)}.sortth.r{justify-content:flex-end}.filterrow{display:grid;grid-column-gap:16px;column-gap:16px;padding:6px 18px 8px;background:var(--grey-50);border-bottom:1px solid var(--border)}.filterrow input{width:100%;min-width:0;border:none;border-bottom:1px solid transparent;background:transparent;outline:none;font-family:var(--font-display);font-size:11px;padding:2px 0;color:var(--fg-2)}.filterrow input::placeholder{color:var(--grey-500)}.filterrow input:not(:placeholder-shown){color:var(--slantis-orange);font-weight:700}.filterrow input:focus{border-bottom-color:var(--grey-500)}.trow{display:grid;grid-column-gap:16px;column-gap:16px;padding:11px 18px;align-items:center;border-bottom:1px solid var(--border);transition:background .12s}.trow:last-child{border-bottom:none}.trow.click{cursor:pointer}.trow.click:hover{background:var(--grey-50)}.projcell{display:flex;align-items:center;gap:9px;min-width:0}.cellname{font-weight:600;font-size:13px;color:var(--ink)}.cellmuted{font-size:12.5px;color:var(--fg-2)}.so{font-size:11px;color:var(--grey-500)}.tcell{font-size:13px}.tcell.r{text-align:right}.barwrap{display:flex;align-items:center;gap:10px}.bar{width:150px;flex:none;height:9px;border-radius:var(--r-sm);background:var(--paper);border:1px solid var(--grey-200);overflow:hidden;display:flex}.bar span{height:100%}.seg-work{background:var(--slantis-orange)}.seg-pto{background:var(--grey-300)}.barkey{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--fg-2)}.barkey i{width:9px;height:9px;border-radius:2px;display:inline-block}.barkey .kw{background:var(--slantis-orange)}.barkey .kp{background:var(--grey-300)}.barkey .km{background:var(--paper);border:1px solid var(--grey-300)}.legend{font-size:11px;color:var(--fg-2)}.srow{display:grid;grid-column-gap:16px;column-gap:16px;padding:10px 18px;align-items:center;border-bottom:1px solid var(--border);font-size:13px}.srow .slbl{font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-2)}.srow .ssub{font-size:10px;color:var(--grey-500);font-weight:500;text-transform:none;letter-spacing:0}.srow.subtot{background:var(--grey-50)}.srow.total{background:var(--grey-100)}.srow.total .num,.srow.total .slbl,.srow.total .tcell{color:var(--ink);font-weight:700}.srow.missing{background:var(--grey-200)}.srow.missing .num,.srow.missing .slbl,.srow.missing .tcell{color:var(--ink);font-weight:700}.valmark{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.valmark.v-full{color:var(--greeny)}.valmark.v-none{color:transparent}.valmark.v-part{width:13px;height:13px;border-radius:50%;background:conic-gradient(var(--slantis-orange) 0 62%,var(--grey-200) 62% 100%);font-size:0;box-shadow:inset 0 0 0 1px rgba(32,32,34,.05)}.strip-shell{position:relative;margin-bottom:16px}.daystrip{display:flex;gap:6px;overflow-x:auto;padding:2px 32px;scroll-behavior:smooth}.daystrip::-webkit-scrollbar{height:6px}.daystrip::-webkit-scrollbar-thumb{background:var(--grey-300);border-radius:99px}.wkcap{align-self:stretch;display:flex;align-items:center;padding:0 8px 0 4px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-500);border-left:1px solid var(--border);white-space:nowrap;flex-shrink:0}.wkcap:first-child{border-left:none}.strip-arrow{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1px solid var(--grey-200);background:var(--paper);box-shadow:var(--shadow-soft);cursor:pointer;display:grid;place-items:center;font-size:14px;color:var(--ink);z-index:2}.strip-arrow.l{left:-2px}.strip-arrow.r{right:-2px}.strip-arrow:hover{border-color:var(--slantis-orange);color:var(--slantis-orange)}.daypill{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--paper);width:66px;cursor:pointer;font-family:var(--font-display);color:var(--ink)}.daypill .dn{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}.daypill .dd{font-weight:700;font-size:18px;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--grey-500)}.daypill .dh{font-size:9px;font-weight:700;color:var(--grey-500)}.daypill .dbar{width:100%;height:3px;border-radius:99px;background:var(--grey-100);overflow:hidden;margin-top:3px}.daypill .dbar i{display:block;height:100%;border-radius:99px;background:var(--slantis-orange)}.daypill.done{border-color:var(--grey-300)}.daypill.done .dd{color:var(--ink)}.daypill.done .dh{color:var(--fg-2)}.daypill.today{border-color:var(--slantis-orange)}.daypill.sel{background:var(--shell-active-bg);border-color:var(--shell-active-bg)}.daypill.sel .dd,.daypill.sel .dh,.daypill.sel .dn{color:var(--shell-active-fg)}.daypill.sel .dbar{background:rgba(32,32,34,.18)}.daypill.sel .dbar i{background:var(--ink)}.picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.picker .lbl{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);font-weight:700;margin-right:2px}.pchip{font-family:var(--font-display);font-weight:500;font-size:13px;border:1.5px solid var(--grey-300);background:var(--paper);color:var(--ink);border-radius:var(--r-pill);padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:border-color .12s,background .12s}.pchip:hover{border-color:var(--slantis-orange);background:var(--orange-20)}.pchip .plus{color:var(--slantis-orange);font-weight:700}.dhead{display:grid;grid-column-gap:14px;column-gap:14px;padding:10px 18px;background:var(--grey-50);border-bottom:1px solid var(--border);font-size:11px;font-weight:700;color:var(--fg-2);letter-spacing:.06em;text-transform:uppercase}.pgroup{border-top:1px solid var(--border)}.pgroup:first-child{border-top:none}.grouphdr{display:flex;align-items:center;gap:10px;padding:9px 18px;background:var(--grey-50);border-bottom:1px solid var(--border)}.gh-name{font-weight:700;font-size:13px}.gh-so{font-size:11px;color:var(--grey-500)}.gh-sub{margin-left:auto;font-weight:700;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.trow-task{display:grid;grid-column-gap:14px;column-gap:14px;padding:8px 18px 8px 30px;align-items:center;border-bottom:1px solid var(--border)}.tgrid{grid-template-columns:1.8fr 1.8fr 68px 58px 62px 60px}.trow-task.validated .field{background:var(--grey-50);color:var(--fg-2);pointer-events:none}.taskcell{display:flex;align-items:center;gap:7px;min-width:0}input.field,select.field{font-family:var(--font-display);font-size:13px;color:var(--ink);background:var(--paper);border:1.5px solid var(--border);border-radius:var(--r-md);padding:6px 9px;width:100%;transition:border-color .15s}input.field{text-overflow:ellipsis}input.hrs{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}input.field:focus,select.field:focus{outline:none;border-color:var(--slantis-orange)}.rowact{display:flex;gap:4px}.iconbtn{width:27px;height:27px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--paper);cursor:pointer;color:var(--fg-2);font-size:12px;display:grid;place-items:center}.iconbtn svg{width:14px;height:14px}.iconbtn:hover{background:var(--grey-50);color:var(--ink)}.iconbtn.split:hover{color:var(--slantis-orange);border-color:var(--slantis-orange)}.iconbtn.del:hover{color:var(--red-alert);border-color:var(--red-alert)}.addtask{padding:7px 18px 10px 30px}.linkbtn{all:unset;cursor:pointer;color:var(--slantis-orange);font-weight:700;font-size:12px}.linkbtn:hover{text-decoration:underline}.dfoot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.spacer{flex:1 1}.savestatus{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--greeny);font-weight:600}.savestatus .sd{width:7px;height:7px;border-radius:50%;background:var(--greeny);flex-shrink:0}.savestatus.err{color:var(--ink);background:var(--yellow-20);padding:4px 10px;border-radius:var(--r-pill)}.savestatus.err .sd{background:var(--vibrant-yellow)}.ucheck{width:18px;height:18px;accent-color:var(--slantis-orange);color:var(--ink);cursor:pointer}.dbgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:900px){.dbgrid{grid-template-columns:1fr}}.dbcard{background:var(--paper);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden}.dbhead{padding:12px 16px;background:var(--grey-50);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.dbhead h3{font-size:14px;font-weight:700}.dbrow{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--border)}.dbrow:last-child{border-bottom:none}.dbrow.dbcols{background:var(--grey-50);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-2)}.swatch{width:22px;height:22px;border-radius:var(--r-sm);flex-shrink:0;border:1.5px solid rgba(32,32,34,.08);cursor:pointer;color:inherit}.dbname{font-weight:600;font-size:13px}.dbmeta{font-size:11px;color:var(--grey-500)}.login-grid{display:grid;grid-template-columns:1fr 1fr;height:100dvh;overflow:hidden}.login-brand{background:var(--slantis-orange);padding:clamp(28px,4vw,48px) clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between}.login-brand,.login-brand .eyebrow{color:var(--ink)}.brand-row{display:flex;align-items:center;gap:14px}.brand-row .appbadge{font-size:11px;padding:5px 10px;background:var(--ink)}.h-mega{font-family:var(--font-display);font-weight:500;font-size:clamp(64px,9vw,120px);line-height:1;letter-spacing:var(--track-tight);margin:0}.h-mega b{font-weight:700}.login-lede{margin:30px 0 0;font-size:19px;line-height:1.4;max-width:32ch;font-weight:500}.login-form{background:var(--paper);padding:clamp(28px,4vw,48px) clamp(28px,4vw,56px);display:flex;flex-direction:column;position:relative}.login-body{padding-top:60px;flex:1 1;display:flex;flex-direction:column;justify-content:center;max-width:480px}.h-display{font-family:var(--font-display);font-weight:500;font-size:clamp(32px,4vw,48px);line-height:var(--lh-snug);letter-spacing:var(--track-tight);margin:18px 0 14px}.login-copy{font-size:16px;color:var(--fg-2);line-height:1.5;margin:0 0 36px;max-width:44ch}.login-copy strong{color:var(--ink)}.vtag{position:absolute;top:48px;right:56px;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}.login-pending{background:var(--yellow-20);color:var(--ink);border-radius:var(--r-md);padding:12px 14px;font-size:14px;font-weight:500;margin-bottom:22px}.gbtn{background:var(--ink);color:var(--paper);font-family:var(--font-display);font-weight:500;font-size:15px;padding:15px 24px;border-radius:var(--r-pill);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:12px;width:100%;max-width:360px;transition:opacity .12s,transform .12s}.gbtn,.gbtn:hover{text-decoration:none}.gbtn:hover{opacity:.92}.gbtn:active{transform:translateY(1px)}.gbtn .arr{margin-left:auto}.gcirc{width:24px;height:24px;background:var(--paper);border-radius:50%;justify-content:center;flex-shrink:0}.gcirc,.login-domain{display:inline-flex;align-items:center}.login-domain{margin-top:32px;gap:8px;font-size:12px;color:var(--fg-2);font-weight:500}.login-domain i{width:6px;height:6px;background:var(--slantis-orange);border-radius:50%;display:inline-block}.login-foot{padding-top:12px;display:flex;justify-content:flex-end;font-size:13px;color:var(--fg-3)}.weeknav{display:flex;align-items:center;gap:10px}.weeknav-lbl{font-weight:700;font-size:16px;color:var(--ink);min-width:96px;text-align:center}.ptoolbar{justify-content:space-between;margin-bottom:14px}.ptoolbar,.ptoolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.infotip{position:relative;display:inline-flex;outline:none}.infotip-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:600;font-size:12px;color:var(--fg-2);background:var(--grey-50);border:1px solid var(--border);border-radius:var(--r-pill);padding:6px 12px;cursor:help;transition:border-color .12s,color .12s}.infotip:focus-within .infotip-btn,.infotip:hover .infotip-btn{border-color:var(--slantis-orange);color:var(--slantis-orange)}.infotip-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:360px;max-width:82vw;background:var(--paper);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);padding:14px 16px;font-size:13px;line-height:1.5;color:var(--fg-2);font-weight:500;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .14s,transform .14s,visibility .14s;text-transform:none;letter-spacing:normal}.infotip:focus-within .infotip-pop,.infotip:hover .infotip-pop{opacity:1;visibility:visible;transform:translateY(0)}.cappill,.infotip-pop b{color:var(--ink)}.cappill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-weight:700;font-size:11px;line-height:1;padding:3px 8px;border-radius:var(--r-pill);white-space:nowrap;letter-spacing:.01em}.cappill .cd{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cap-on{background:var(--greeny-20)}.cap-on .cd{background:var(--greeny)}.cap-under{background:var(--grey-100)}.cap-under .cd{background:var(--grey-500)}.cap-over{background:var(--yellow-20)}.cap-over .cd{background:var(--vibrant-yellow)}.cap-empty{background:transparent;color:var(--grey-500)}.cap-empty .cd{background:var(--grey-300)}.cappill--onbrand{background:var(--paper);color:var(--ink)}@media (max-width:820px){.login-grid{grid-template-columns:1fr}.login-brand{display:none}.navlink{padding:7px 8px;font-size:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.ph-right{position:relative}.userbtn svg{transition:transform .15s}.userbtn[aria-expanded=true] svg{transform:rotate(180deg)}.userbtn:hover,.userbtn[aria-expanded=true]{border-color:var(--grey-300);background:var(--paper)}.usermenu{position:absolute;top:calc(100% + 8px);right:0;z-index:210;min-width:240px;background:var(--paper);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);padding:14px;display:flex;flex-direction:column;gap:12px;text-align:left}.usermenu .um-name{font-weight:700;font-size:14px;color:var(--ink)}.usermenu .um-email{font-size:12px;color:var(--fg-2);word-break:break-all;margin-top:2px}.usermenu .um-role{align-self:flex-start}.usermenu form{margin:0;display:flex}.usermenu .btn{flex:1 1;justify-content:center}