:root{--ink: #1F2450;--ink-2: #4A5080;--muted: #5E6389;--paper: #F2F3F7;--sheet: #FFFFFF;--rule: #DCDEEA;--track: #E7E9F2;--highlight: #F5D547;--lavoro: #5E9C7E;--malattia: #8E4B7E;--ferie: #4C86C6;--permesso: #C98A3A;--owed: #A1452F;--extra: #3E7C5F;--focus: #3D4BD1;--sheet-2: #F7F8FB;--display: "Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;--body: "Instrument Sans", system-ui, -apple-system, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--ink: #E8E9F5;--ink-2: #B9BCD8;--muted: #8A8EB0;--paper: #14162B;--sheet: #1D2040;--rule: #2E3260;--track: #262A4E;--highlight: #D9BB2E;--lavoro: #6DB592;--malattia: #C27AB2;--ferie: #6FA6E0;--permesso: #E0A458;--owed: #E58A70;--extra: #7CC9A4;--focus: #9AA3FF;--sheet-2: #191C38;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:16px/1.5 var(--body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}:root{accent-color:var(--ink);caret-color:var(--focus);scrollbar-color:var(--rule) transparent}::selection{background:color-mix(in srgb,var(--highlight) 55%,transparent);color:var(--ink)}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}.display{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0}.shell{max-width:760px;margin:0 auto;padding:16px 16px 96px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.who-name,.who select{font-weight:600;color:var(--ink)}.nav-link{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 10px;border-radius:8px;border:0;background:none;color:var(--ink-2);font-size:.9rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.nav-link:hover{background:var(--track);color:var(--ink)}.nav-link.back{margin-left:-10px}.icon-btn.quiet{border-color:transparent;background:none;color:var(--ink-2);width:38px;height:38px}.icon-btn.quiet:hover{background:var(--track);color:var(--ink)}.who select{background:transparent;border:1px solid var(--rule);border-radius:8px;padding:4px 8px}.month-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:20px 0 4px}.month-title{font-size:2.75rem;text-align:center;text-transform:lowercase}@media(min-width:640px){.month-title{font-size:3.5rem}}.month-title .year{font-weight:500;color:var(--muted);font-size:.45em;letter-spacing:0}.back-today{display:block;margin:0 auto 8px}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);background:var(--sheet);line-height:1;cursor:pointer;color:var(--ink);display:inline-grid;place-items:center;padding:0;transition:border-color .15s ease-out,background-color .15s ease-out}.icon-btn:hover:not(:disabled){border-color:var(--ink-2)}.icon-btn:active:not(:disabled){transform:scale(.96)}.btn{border-radius:10px;padding:10px 16px;border:1px solid transparent;cursor:pointer;font-weight:600;transition:border-color .15s ease-out,background-color .15s ease-out}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 88%,var(--paper))}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:disabled{opacity:.6;cursor:progress}.btn.ghost{background:var(--sheet);border-color:var(--rule)}.btn.ghost:hover{border-color:var(--ink-2)}.link{background:none;border:0;padding:4px 0;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.link.small{font-size:.875rem}.link.danger{color:var(--owed)}.notice{background:color-mix(in srgb,var(--owed) 9%,var(--sheet));border:1px solid color-mix(in srgb,var(--owed) 30%,transparent);color:var(--ink);border-radius:10px;padding:10px 14px}.summary{margin:20px 0 28px}.summary-line{font-size:1.1rem;max-width:40ch;margin:0 0 14px;color:var(--ink-2);text-wrap:pretty}.summary-line b{color:var(--ink);font-weight:600}.summary-line b.owed{color:var(--owed)}.summary-line b.extra{color:var(--extra)}.ledger{margin:0;border-top:1px solid var(--rule)}.ledger>div{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--rule);gap:16px}.ledger dt{color:var(--ink-2)}.ledger dd{margin:0;font-weight:600}.ledger .total{border-bottom:0;padding-top:12px}.ledger .total dt{color:var(--ink);font-weight:600}.ledger .total dd{font-family:var(--display);font-size:2rem;line-height:1}.ledger .owed{color:var(--owed)}.ledger .extra{color:var(--extra)}.carry{width:5.5em;text-align:right;font-weight:600;background:transparent;border:0;border-bottom:1px dashed var(--muted);padding:0 2px}.carry:focus{border-bottom-style:solid;outline:none;border-color:var(--focus)}.summary-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.month-note{display:grid;gap:4px;margin-top:16px;font-size:.875rem;color:var(--muted)}.month-note textarea{resize:vertical;background:var(--sheet);border:1px solid var(--rule);border-radius:10px;padding:8px 10px;font-size:.95rem;color:var(--ink)}.month-note-ro{color:var(--ink-2);font-style:italic;margin-top:12px}.days{--date-w: 52px;--hours-w: 64px}.scale,.day{display:grid;grid-template-columns:var(--date-w) 1fr var(--hours-w);gap:10px;align-items:center}.scale{font-size:.75rem;color:var(--muted);padding:8px 8px 6px;position:sticky;top:0;background:var(--paper);z-index:1}.scale-track{position:relative;height:1em}.scale-track i{position:absolute;transform:translate(-50%);font-style:normal}.scale-h{text-align:right}.day-list{list-style:none;margin:0;padding:0}.day{width:100%;min-height:40px;background:none;border:0;border-radius:10px;padding:5px 8px;cursor:pointer;text-align:left;transition:background-color .12s ease-out}.day:hover:not(:disabled){background:var(--sheet)}.day:disabled{cursor:default}.day-date{display:flex;align-items:baseline;gap:5px}.day-num{font-family:var(--display);font-weight:700;font-size:1.1rem;min-width:1.4em;text-align:right}.day-wd{font-size:.75rem;color:var(--muted)}.is-sunday .day-wd,.is-sunday .day-num{color:var(--owed)}.is-today{background:color-mix(in srgb,var(--highlight) 30%,transparent)}.is-today:hover:not(:disabled){background:color-mix(in srgb,var(--highlight) 42%,transparent)}.track{position:relative;height:22px;background:var(--track);border-radius:5px;overflow:hidden}.track>i{position:absolute;top:0;bottom:0;width:1px;background:var(--paper);opacity:.8}.block{position:absolute;top:3px;bottom:3px;border-radius:3px;background:var(--k)}.block.whole{left:0;right:0;background:color-mix(in srgb,var(--k) 22%,transparent);border:1px dashed var(--k);color:var(--k);font-size:.72rem;font-weight:600;display:flex;align-items:center;padding-left:8px}.day-kind{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.kind-btn{border:1px solid var(--rule);background:var(--paper);border-radius:10px;padding:8px 4px;font-weight:600;cursor:pointer;color:var(--ink-2)}.kind-btn:hover{border-color:var(--k)}.kind-btn.on{background:var(--k);border-color:var(--k);color:#fff}.kind-hint{font-size:.85rem;color:var(--ink-2);margin:0 0 12px}.block.partial{background:repeating-linear-gradient(135deg,var(--k) 0 4px,color-mix(in srgb,var(--k) 45%,transparent) 4px 8px)}.k-lavoro{--k: var(--lavoro)}.k-malattia{--k: var(--malattia)}.k-ferie{--k: var(--ferie)}.k-permesso{--k: var(--permesso)}.day-hours{display:flex;justify-content:flex-end;align-items:baseline;gap:6px}.worked{font-weight:600}.worked.none{color:var(--muted);font-weight:400}.planned{font-size:.7rem;color:var(--muted);border:1px solid var(--rule);border-radius:4px;padding:0 4px;min-width:1.6em;text-align:center}.legend{list-style:none;padding:16px 8px 0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.8rem;color:var(--ink-2)}.legend li{display:flex;align-items:center;gap:6px}.legend i{width:14px;height:10px;border-radius:2px;background:var(--k);display:inline-block}.sheet{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:16px;padding:20px;background:var(--sheet);color:var(--ink);box-shadow:0 20px 60px #14163259}.sheet::backdrop{background:#14163273}@media(max-width:560px){.sheet{margin:auto 0 0;width:100vw;max-width:100vw;border-radius:16px 16px 0 0}}@media(prefers-reduced-motion:no-preference){.sheet[open]{animation:rise .18s ease-out}@keyframes rise{0%{transform:translateY(16px);opacity:0}}}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.sheet-head h2{font-size:1.6rem}.sheet-head h2:first-letter{text-transform:uppercase}.sheet-empty{color:var(--muted)}.shift-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.shift{padding:10px 12px 12px;display:grid;gap:8px;border-radius:12px;background:color-mix(in srgb,var(--k) 7%,var(--sheet));border:1px solid color-mix(in srgb,var(--k) 28%,var(--rule))}.shift-cap{margin:0;display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--ink-2)}.shift-cap i{width:10px;height:10px;border-radius:3px;background:var(--k)}.shift .field input,.shift .field select{background:var(--sheet)}.shift-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.field{display:grid;gap:4px;font-size:.875rem;color:var(--ink-2)}.field input,.field select{background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:8px 10px;min-height:40px;font-size:1rem;color:var(--ink)}.field.compact input,.field.compact select{padding:6px 8px;min-height:36px}.field.compact input[inputmode=decimal]{width:6em}.field.grow{flex:1 1 140px}.field.grow input{width:100%}.add-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}.presets{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--rule);background:var(--paper);border-radius:999px;padding:6px 12px;font-size:.85rem;cursor:pointer;transition:border-color .15s ease-out}.chip:hover{border-color:var(--ink-2)}.sheet-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-top:1px solid var(--rule);padding-top:12px}.sheet-total{margin:0;color:var(--ink-2)}.sheet-total b{color:var(--ink);font-family:var(--display);font-size:1.4rem}.sheet-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.form-error{color:var(--owed);margin:10px 0 0}.form-ok{color:var(--extra);margin:0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:10px;font-weight:500;max-width:calc(100vw - 32px)}.login{min-height:100dvh;display:grid;place-items:center;padding:16px}.login-card{width:min(380px,100%);display:grid;gap:14px}.login-card h1{font-size:2.6rem}.lede{color:var(--ink-2);margin:0 0 8px}.stack{display:grid;gap:12px}.login-strip{position:relative;height:26px;background:var(--track);border-radius:6px;overflow:hidden}.login-strip span{position:absolute;top:4px;bottom:4px;border-radius:3px;background:var(--lavoro)}.login-strip span.today{background:var(--highlight)}.empty-access{display:grid;gap:12px;margin-top:15vh;max-width:40ch}@media(max-width:420px){.days{--date-w: 46px;--hours-w: 56px}.scale,.day{gap:8px}}.planned.custom{border-color:var(--ink-2);color:var(--ink)}.hol-label{position:absolute;inset:0;display:flex;align-items:center;padding-left:8px;font-size:.72rem;color:var(--owed)}.sheet-holiday{margin:4px 0 0;font-size:.85rem;color:var(--owed)}.schedule-line{font-size:.85rem;color:var(--muted);margin:14px 0 0;max-width:60ch}.planned.sick{border-style:dashed;border-color:var(--malattia);color:var(--malattia)}.sheet-total p{margin:0;text-align:right}.sick-note{font-size:.8rem;color:var(--malattia);margin-top:2px!important}.sheet-head .sheet-title{flex:1;min-width:0;text-align:center}.sheet-head .icon-btn.nav{flex:none}.sheet-head .icon-btn:disabled{opacity:.3;cursor:default}.sheet{touch-action:pan-y}@media(prefers-reduced-motion:no-preference){.sheet-body.from-next{animation:from-right .2s ease-out}.sheet-body.from-prev{animation:from-left .2s ease-out}@keyframes from-right{0%{transform:translate(40px);opacity:0}}@keyframes from-left{0%{transform:translate(-40px);opacity:0}}}@media(max-width:560px){.sheet-head{gap:6px}.sheet-head h2{font-size:1.25rem}.sheet-head .icon-btn{width:40px;height:40px}}.top-actions{display:flex;align-items:center;gap:12px}.icon-btn.bell{width:38px;height:38px;display:grid;place-items:center;font-size:1rem;color:var(--ink-2)}.sheet-title.left{text-align:left}.notif-status{color:var(--ink-2);margin:0 0 12px}.notif-options{list-style:none;margin:0;padding:0;display:grid;gap:4px;border-top:1px solid var(--rule)}.notif-options li{border-bottom:1px solid var(--rule)}.notif-options label{display:flex;gap:12px;align-items:flex-start;padding:12px 0;cursor:pointer}.notif-options input{width:20px;height:20px;margin-top:2px;accent-color:var(--ink);flex:none}.notif-options span{display:grid;gap:2px}.notif-options small{color:var(--muted);font-size:.85rem}.notif-install p{margin:0 0 8px}.notif-install ol{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--ink-2)}.lock-bar{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:8px 8px 8px 12px;border-radius:12px;background:var(--track);color:var(--ink-2);font-size:.9rem}.lock-bar span{flex:1}.lock-bar.open{background:color-mix(in srgb,var(--highlight) 30%,transparent);color:var(--ink)}.btn.small{padding:6px 12px;font-size:.875rem}.month-nav .icon-btn:disabled{opacity:.3;cursor:default}.ledger dt small{display:block;font-size:.78rem;color:var(--muted)}.carry-kind{font:inherit;color:var(--ink-2);background:transparent;border:0;padding:0;max-width:100%;border-bottom:1px dashed var(--muted);cursor:pointer}.carry-kind.compact{font-size:.8rem;font-weight:400;color:var(--muted);width:fit-content}.ledger .subtotal dt,.ledger .subtotal dd{font-weight:600;color:var(--ink)}.ledger .total dt small{font-weight:400}.ledger dt{min-width:0}.ledger dt .carry-kind{display:block;margin-top:2px}.ferie{margin-top:12px;padding:14px 16px;border-radius:14px;background:var(--sheet);border:1px solid var(--rule)}.ferie h2{margin:0 0 10px;font-size:1rem;font-weight:600}.ferie h2 span{font-weight:400;color:var(--muted);font-size:.85rem;margin-left:4px}.ferie dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ferie dl div{display:grid;gap:2px}.ferie dt{font-size:.8rem;color:var(--ink-2)}.ferie dd{margin:0;font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--ink)}.ferie .saldo dd{color:var(--ferie)}.ferie .saldo dd.owed{color:var(--owed)}.ferie p{margin:10px 0 0;font-size:.8rem;color:var(--muted)}.ferie.malattia{margin-top:12px}.ferie.malattia .saldo dd{color:var(--malattia)}.ferie.malattia .saldo dd.owed{color:var(--owed)}.payslip{margin-top:0;padding:14px 16px;border-radius:14px;background:var(--sheet);border:1px solid var(--rule)}.payslip-head{display:flex;gap:12px;align-items:flex-start;color:var(--ink-2)}.payslip-head svg{flex:none;margin-top:2px}.payslip h2{margin:0;font-size:1rem;font-weight:600;color:var(--ink)}.payslip-head p{margin:2px 0 0;font-size:.85rem;color:var(--muted)}.payslip-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px}.rules-title{font-size:clamp(2.2rem,8vw,3.4rem);margin:20px 0 8px}.rules-lede{color:var(--ink-2);max-width:60ch;margin:0 0 18px}.rules-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-bottom:8px}.rules-facts div{background:var(--sheet);border:1px solid var(--rule);border-radius:12px;padding:10px 12px;display:grid;gap:2px}.rules-facts span{font-size:.78rem;color:var(--muted)}.rules-facts b{font-weight:600;font-size:.95rem}.rules section{margin-top:28px}.rules h2{font-family:var(--display);font-size:1.5rem;margin:0 0 10px;letter-spacing:-.01em}.table-wrap{overflow-x:auto;margin-bottom:14px}.rules table{width:100%;border-collapse:collapse;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;overflow:hidden;font-size:.92rem}.rules .table-cap{font-weight:600;font-size:.9rem;color:var(--ink-2);margin:0 0 6px}.rules th,.rules td{text-align:left;vertical-align:top;padding:9px 12px;border-top:1px solid var(--rule)}.rules thead th{border-top:0;font-size:.78rem;color:var(--muted);font-weight:600;background:var(--paper)}.rules tbody th{font-weight:600;width:34%;color:var(--ink)}.rules tbody tr:first-child th,.rules tbody tr:first-child td{border-top:0}.rules thead+tbody tr:first-child th,.rules thead+tbody tr:first-child td{border-top:1px solid var(--rule)}.rules table.app-rules{border-color:color-mix(in srgb,var(--lavoro) 45%,var(--rule))}.rules table.app-rules thead th{background:color-mix(in srgb,var(--lavoro) 10%,var(--sheet))}.rules tr.current th,.rules tr.current td{background:color-mix(in srgb,var(--highlight) 30%,transparent)}.rules .holidays th{font-weight:500}.rules .holidays td:first-letter{text-transform:uppercase}.table-note{font-size:.82rem;color:var(--muted);margin:6px 0 0;max-width:70ch}.rules-sources p{color:var(--ink-2);font-size:.9rem;max-width:70ch}.rules-sources ul{padding-left:18px;display:grid;gap:6px;font-size:.9rem}.rules-sources a{color:var(--ink-2)}.night-line{margin:14px 0 0;font-size:.88rem;color:var(--ink-2);padding:10px 12px;border-radius:10px;background:var(--sheet);border:1px solid var(--rule)}.night-line b{color:var(--ink);font-weight:600}.table-notes{margin:8px 0 0;padding-left:18px;font-size:.85rem;color:var(--ink-2);display:grid;gap:4px;max-width:72ch}.table-notes .warn{color:var(--owed)}.rules .table-cap{margin-top:14px}.year-nav{margin-top:8px}.doc-card{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--sheet);border:1px solid var(--rule);display:grid;gap:10px}.doc-head h2{margin:0;font-size:1.05rem;font-weight:600}.doc-head p,.doc-empty{margin:2px 0 0;font-size:.85rem;color:var(--muted)}.doc-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.doc-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--rule)}.doc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.doc-card>.btn{justify-self:start}.section-title{font-family:var(--display);font-size:1.5rem;margin:28px 0 4px}.quarters{display:grid;gap:10px;margin-top:12px}@media(min-width:720px){.quarters{grid-template-columns:1fr 1fr}}.quarter{background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:12px 14px;display:grid;gap:10px}.quarter.off{opacity:.55}.quarter header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.quarter h3{margin:0;font-size:1rem}.quarter header p{margin:2px 0 0;font-size:.8rem;color:var(--muted)}.badge{font-size:.75rem;padding:3px 8px;border-radius:999px;background:var(--track);color:var(--ink-2);text-align:right}.badge.paid{background:color-mix(in srgb,var(--extra) 18%,transparent);color:var(--extra)}.badge.due{background:color-mix(in srgb,var(--highlight) 35%,transparent);color:var(--ink)}.badge.late{background:color-mix(in srgb,var(--owed) 15%,transparent);color:var(--owed)}.quarter-fields{display:flex;gap:10px;flex-wrap:wrap}.quarter-fields input{width:9.5em}.quarter-receipt{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.contrib-total{margin:16px 0 0;font-size:1rem;color:var(--ink-2)}.contrib-total b{font-family:var(--display);font-size:1.3rem;color:var(--ink)}.top-actions{flex-wrap:wrap;justify-content:flex-end}.doc-card,.doc-list{min-width:0}.doc-list li>.btn,.doc-list li>.link{flex:none}.doc-name{flex:1 1 0}.quarter header{flex-wrap:wrap}.quarter header>div{flex:1 0 9em}.quarter h3{white-space:nowrap}.badge{text-align:left}.doc-card,.doc-list{grid-template-columns:minmax(0,1fr)}.doc-list li{min-width:0}.quarter-fields{margin:0;display:flex;gap:24px}.quarter-fields div{display:grid;gap:2px}.quarter-fields dt{font-size:.8rem;color:var(--ink-2)}.quarter-fields dd{margin:0;font-weight:600;font-size:1rem}.payslip h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.payslip-net{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--extra)}.payslip-net.reading{font-family:var(--body);font-weight:400;font-size:.85rem;color:var(--muted)}.month-shell{touch-action:pan-y}@media(prefers-reduced-motion:no-preference){.summary.from-next{animation:from-right .22s ease-out}.summary.from-prev{animation:from-left .22s ease-out}}.rules td.num,.rules th.num{text-align:right;font-variant-numeric:tabular-nums}.rules tr.total-row th,.rules tr.total-row td{font-weight:700;background:var(--paper);white-space:nowrap}.contrib-total.grand{margin-top:6px}.contrib .table-wrap.rules{margin-top:10px}html,body{overscroll-behavior-y:contain}.ptr{position:fixed;top:0;left:50%;z-index:50;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.85rem;font-weight:500;box-shadow:0 6px 18px #14163240;transition:transform .12s ease-out;pointer-events:none}.ptr-icon{display:inline-grid}@media(prefers-reduced-motion:no-preference){.ptr-icon.spin{animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}}.ptr{white-space:nowrap}.settings-cap{font-size:.8rem;font-weight:600;color:var(--muted);margin:6px 0 8px}.bio{margin-bottom:14px}.bio-row{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:6px 0}.bio-row input{width:20px;height:20px;margin-top:2px;accent-color:var(--ink);flex:none}.bio-row span{display:grid;gap:2px}.bio-row small,.bio-note{color:var(--muted);font-size:.85rem}.bio-offer{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--sheet);border:1px solid var(--rule);display:grid;gap:4px}.bio-offer .bio{margin:0}.bio-offer .link{justify-self:end}.login-card.lock{text-align:center;justify-items:center}.lock-icon{color:var(--ink-2)}.lock-who{font-size:.8rem;color:var(--muted);margin:0}.month-grid{display:grid;gap:0}.month-extra{margin-top:28px;padding-top:20px;border-top:1px solid var(--rule)}.month-extra .ferie,.month-extra .payslip{margin-top:12px}.month-extra>:first-child{margin-top:0}@media(min-width:1000px){.shell.month-shell{max-width:1160px;padding-inline:32px}.month-shell>.topbar,.month-shell>.month-nav,.month-shell>.lock-bar,.month-shell>.bio-offer{max-width:none}.month-grid{grid-template-columns:minmax(0,1fr) 380px;column-gap:48px;grid-template-areas:"days sum" "days extra";grid-template-rows:auto 1fr;align-items:start}.month-grid>.summary{grid-area:sum;margin-top:8px}.month-grid>.days{grid-area:days}.month-grid>.month-extra{grid-area:extra;margin-top:8px}.month-grid .summary-line{font-size:1.05rem}.month-grid .ledger .total dd{font-size:2.25rem}.month-extra .ferie dl{gap:4px}}.month-title{white-space:nowrap}@media(max-width:480px){.month-title{font-size:2.4rem}.top-actions{gap:0;flex-wrap:nowrap}.nav-link{padding:0 8px}.topbar{gap:4px}}
