:root{--bg:#f3f4f6;--panel:#fff;--panel-2:#fafbfc;--border:#e3e6ea;--border-strong:#cfd6dd;--ink:#1f2733;--ink-soft:#5a6672;--muted:#8a94a0;--brand:#2f7d6b;--brand-dark:#276456;--brand-tint:#eef7f4;--admin:#c0392b;--manager:#2563eb;--staff:#2f7d6b;--danger:#c0392b;--warn-bg:#fff7e6;--warn-ink:#8a5209;--warn-border:#f0d9a8;--radius:12px;--radius-sm:9px;--shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);--shadow-lg:0 4px 16px rgba(16,24,40,.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:var(--brand);text-decoration:none}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card-auth{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-lg)}.card-auth h1{margin:0 0 4px;font-size:22px;letter-spacing:-.01em}.card-auth .sub{color:var(--muted);margin:0 0 20px;font-size:14px}.auth-back{display:inline-block;margin-top:18px;font-size:14px;font-weight:600;color:var(--ink-soft)}.auth-back:hover{color:var(--brand)}label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin:14px 0 6px}input[type=email],input[type=password],input[type=tel],input[type=text],select.select,textarea.textarea{width:100%;padding:11px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff;color:var(--ink);font-size:15px;font-family:inherit}textarea.textarea{resize:vertical}input:focus,select.select:focus,textarea.textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:transparent}button.primary{margin-top:18px;width:100%;padding:12px;border:0;border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}button.primary:hover{background:var(--brand-dark)}button.primary:disabled{opacity:.55;cursor:default}.btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border-strong);color:var(--ink);padding:9px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;transition:border-color .15s,background .15s}.btn-brand,.btn:hover{border-color:var(--brand)}.btn-brand{background:var(--brand);color:#fff}.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.btn-ghost{background:transparent}.btn:disabled{opacity:.55;cursor:default}.msg{margin-top:14px;font-size:14px;padding:10px 12px;border-radius:8px}.msg.err{background:#fdecea;color:#a02c2c;border:1px solid #f2c4c4}.msg.ok{background:var(--brand-tint);color:var(--brand-dark);border:1px solid #bfe0d7}.qr{background:#fff;padding:14px;border-radius:10px;display:inline-block;margin:10px 0;border:1px solid var(--border)}.appbar{background:var(--panel);border-bottom:1px solid var(--border);padding:0 20px;height:58px;justify-content:space-between}.appbar,.appbar .brand{display:flex;align-items:center}.appbar .brand{gap:10px;font-weight:700;font-size:16px;color:var(--ink)}.appbar .brand .dot{width:10px;height:10px;border-radius:3px;background:var(--brand)}.appbar .right{display:flex;align-items:center;gap:12px}.appbar .who{color:var(--ink-soft);font-size:14px}.accentbar{height:3px;width:100%}.accentbar.admin{background:var(--admin)}.accentbar.manager{background:var(--manager)}.accentbar.staff{background:var(--staff)}.appbar .brand .dot.admin{background:var(--admin)}.appbar .brand .dot.manager{background:var(--manager)}.appbar .brand .dot.staff{background:var(--staff)}.shell{max-width:1040px;margin:0 auto;padding:24px 20px 60px}.page-title{font-size:20px;font-weight:700;margin:4px 0 2px;letter-spacing:-.01em}.page-sub{color:var(--muted);font-size:14px;margin:0 0 20px}.rolepill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;color:#fff;letter-spacing:.02em;text-transform:uppercase}.rolepill.admin{background:var(--admin)}.rolepill.manager{background:var(--manager)}.rolepill.staff{background:var(--staff)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px}.tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.tile h3{margin:0 0 6px;font-size:15px}.tile p{margin:0;color:var(--ink-soft);font-size:13px}.tile-link{display:block;color:inherit;transition:border-color .15s,box-shadow .15s,transform .05s}.tile-link:hover{border-color:var(--brand);box-shadow:var(--shadow-lg)}.tile-link:active{transform:translateY(1px)}.livedot{font-size:11px;color:var(--brand);font-weight:700;margin-left:6px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card h3{margin:0 0 4px;font-size:16px}.card .hint{color:var(--muted);font-size:13px;margin:0 0 14px}.steps{margin:0 0 18px;flex-wrap:wrap}.step,.steps{display:flex;gap:8px}.step{align-items:center;font-size:13px;color:var(--muted);padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2)}.step .num{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--border);color:var(--ink-soft)}.step.active{color:var(--brand-dark);border-color:var(--brand);background:var(--brand-tint)}.step.active .num{background:var(--brand);color:#fff}.step.done{color:var(--brand-dark)}.step.done .num{background:var(--brand);color:#fff}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}.chip.on{background:var(--brand-tint);color:var(--brand-dark)}.chip.off{background:#eef0f2;color:var(--ink-soft)}.loglist{list-style:none;margin:0;padding:0}.loglist li{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--border);font-size:14px}.loglist li:first-child{border-top:0}.logtime{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:46px}.logcat{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--brand);font-weight:700;min-width:86px}.logbody{flex:1 1;color:var(--ink)}.banner{background:var(--warn-bg);color:var(--warn-ink);border-bottom:1px solid var(--warn-border);padding:8px 16px;font-size:13px;text-align:center}.stack{display:grid;grid-gap:16px;gap:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.maxw-640{max-width:640px}.maxw-960{max-width:960px}.fintabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:20px;flex-wrap:wrap}.fintab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;padding:10px 16px;font-size:14px;font-weight:600;color:var(--ink-soft);border-bottom:2px solid transparent;margin-bottom:-2px}.fintab:hover{color:var(--brand)}.fintab.active{color:var(--brand-dark);border-bottom-color:var(--brand)}.pnl{width:100%;border-collapse:collapse;font-size:14px}.pnl td{padding:8px 12px;border-bottom:1px solid var(--border)}.pnl td.amt{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.pnl tr.pnl-head td{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);border-bottom:2px solid var(--border);padding-top:16px}.pnl tr.pnl-sub td{font-weight:700;background:var(--panel-2)}.pnl tr.pnl-total td{font-weight:800;font-size:15px;border-top:2px solid var(--border-strong);border-bottom:0}.pnl tr.pnl-net td{font-weight:800;font-size:16px;border-top:2px solid var(--brand);border-bottom:0;padding-top:12px}.pnl .pos{color:var(--brand-dark)}.pnl .neg{color:var(--danger)}.pnl td.acct-code{color:var(--muted);width:56px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.maxw-480{max-width:480px}@media (max-width:560px){.shell{padding:16px}.appbar{padding:0 14px}}:root{--hub-dark:#1d2b28;--hub-dark-2:#243430;--sidebar:#fff;--sidebar-ink:#41505e;--sidebar-active:var(--brand-tint);--stat-blue:#2563eb;--stat-amber:#c8821a;--stat-red:#c0392b;--stat-teal:#0f9bb0}.hub-topbar{background:var(--hub-dark);color:#eaf2ef;height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:14px}.hub-topbar .ttl{font-weight:700}.hub-topbar .ttl span{color:#9fb7b0;font-weight:400;margin-left:8px;font-size:13px}.hub-topbar .btn{background:transparent;color:#eaf2ef;border:1px solid hsla(0,0%,100%,.35);padding:5px 14px;font-size:13px}.hub-topbar .btn:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.6);color:#fff}.hub{display:flex;min-height:calc(100vh - 46px)}.hub-side{width:236px;flex:0 0 236px;background:var(--sidebar);border-right:1px solid var(--border);padding:16px 12px}.hub-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.hub-logo{width:40px;height:40px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;letter-spacing:.02em}.hub-brand .bt{font-weight:700;font-size:15px;line-height:1.1}.hub-brand .bs{color:var(--muted);font-size:12px}.hub-nav{display:flex;flex-direction:column;gap:2px}.hub-nav .navitem,.hub-nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:var(--sidebar-ink);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer}.hub-nav a:hover{background:var(--panel-2)}.hub-nav a.active{background:var(--sidebar-active);color:var(--brand-dark);font-weight:600}.hub-nav .navitem.locked{color:var(--muted);cursor:default}.hub-nav .ic{width:18px;text-align:center;opacity:.8}.hub-nav .lock{margin-left:auto;font-size:12px;opacity:.6}.hub-nav .em{color:var(--danger)}.hub-nav-section{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:14px 10px 4px;margin-top:6px;border-top:1px solid var(--border)}.hub-main{flex:1 1;min-width:0;background:var(--bg)}.hub-content{max-width:1040px;padding:22px 26px 60px}.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px;margin:16px 0}.stat{border-radius:12px;padding:16px 18px;color:#fff;box-shadow:var(--shadow)}.stat .lbl{font-size:13px;opacity:.92}.stat .val{font-size:26px;font-weight:800;margin-top:4px}.stat.blue{background:var(--stat-blue)}.stat.amber{background:var(--stat-amber)}.stat.red{background:var(--stat-red)}.stat.teal{background:var(--stat-teal)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.dtable{width:100%;border-collapse:collapse;font-size:14px}.dtable th{text-align:left;font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;padding:10px 12px;border-bottom:2px solid var(--border)}.dtable td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.dtable tbody tr:last-child td{border-bottom:0}.dtable tbody tr:hover{background:var(--panel-2)}.dtable .chip+.chip{margin-left:6px}.chip.bad{background:#fdecea;color:var(--danger)}.chip.amber{background:var(--warn-bg);color:var(--warn-ink)}.hero{background:var(--brand);color:#fff;border-radius:14px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:var(--shadow-lg)}.hero h2{margin:0 0 4px;font-size:18px}.hero p{margin:0;color:#e4f1ec;font-size:14px;max-width:560px}.hero .acts{display:flex;gap:10px;flex-shrink:0}.hero .btn-light{background:hsla(0,0%,100%,.14);color:#fff;border:1px solid hsla(0,0%,100%,.3)}.hero .btn-light:hover{background:hsla(0,0%,100%,.24)}.hero .btn-solid{background:#fff;color:var(--brand-dark);border:0;font-weight:700}.statusstrip{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin-bottom:14px}.statusstrip .st{font-weight:600}.statusstrip .sub{color:var(--muted);font-size:13px}.qa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.qa{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px;text-align:center;color:var(--ink);text-decoration:none;box-shadow:var(--shadow);transition:border-color .15s}.qa:hover{border-color:var(--brand)}.qa .plus{font-size:20px;color:var(--brand)}.qa .qt{margin-top:6px;font-weight:600;font-size:14px}.rem{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}.rem+.rem{margin-top:10px}.rem .rt{font-weight:600;font-size:14px}.rem .rs{color:var(--muted);font-size:13px;margin-top:2px}.rem.accent{border-left:3px solid var(--brand)}.two-col{display:grid;grid-template-columns:1fr 320px;grid-gap:18px;gap:18px;align-items:start}@media (max-width:880px){.hub-side{display:none}.two-col{grid-template-columns:1fr}}.hstep{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;box-shadow:var(--shadow);overflow:hidden}.hstep-head{display:flex;align-items:center;gap:11px;padding:13px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hstep-head.nocursor{cursor:default}.hstep-badge{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hstep-badge.done{background:#2f7d6b}.hstep-title{flex:1 1;font-size:15px;font-weight:600}.hstep-sub{font-size:11.5px;color:var(--muted);margin-top:1px;font-weight:400}.hstep-sub.done{color:#2f7d6b}.hstep-count{font-size:11.5px;color:var(--muted);font-weight:600}.hstep-count.done{color:#2f7d6b}.hstep-chevron{font-size:13px;color:#b4bcc4;transition:transform .12s}.hstep-chevron.open{transform:rotate(90deg)}.hstep-body{padding:14px 16px;border-top:1px solid var(--border)}.tickrow{padding:7px 0;font-size:13.5px}.tickrow,.tickrow .ticklabel{display:flex;align-items:center;gap:10px}.tickrow .ticklabel{flex:1 1;cursor:pointer}.tickbox{width:20px;height:20px;border-radius:6px;border:1.5px solid #ccc;background:#fff;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tickbox.on{border-color:var(--brand);background:var(--brand)}.tickdone{color:#2f7d6b}.pill-btn{background:#fff;color:var(--brand);border:1px solid var(--brand);padding:4px 12px;border-radius:14px;font-size:12px;cursor:pointer;font-weight:600;flex-shrink:0}.countcat{border:1px solid var(--border);border-radius:10px;margin-bottom:9px;overflow:hidden}.countcat-head{display:flex;align-items:center;gap:10px;padding:11px 13px;cursor:pointer}.countcat-head .ic{width:22px;text-align:center}.countcat-head .nm{flex:1 1;font-weight:600;font-size:14px}.countcat.open{border-color:var(--brand)}.countstat{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px}.countstat.ok{background:var(--brand-tint);color:var(--brand-dark)}.countstat.mismatch{background:#fdecea;color:#a02c2c}.countstat.pending{background:#eef0f2;color:var(--ink-soft)}.countpanel{border-top:1px solid var(--border);padding:6px 13px 12px}.countrow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #f2f3f5}.countrow:last-child{border-bottom:none}.countrow .cname{flex:1 1;font-size:13px}.countrow .cexp{font-size:11.5px;color:var(--muted);min-width:64px}.countrow .cnum{width:70px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:7px;font-size:13px}.countrow.match .cnum{border-color:var(--brand)}.countrow.mismatch .cnum{border-color:var(--danger);background:#fdf3f2}.countrow .cflag{font-size:15px;width:20px;text-align:center}.reasonbox{width:100%;padding:7px 9px;border:1px solid var(--danger);border-radius:7px;font-size:13px;margin:4px 0 2px}.arearow{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f2f3f5;font-size:13.5px}.arearow:last-child{border-bottom:none}.arearow .anm{flex:1 1}.area-ok{background:var(--brand);color:#fff;border:none;border-radius:8px}.area-issue,.area-ok{padding:5px 12px;font-size:12px;cursor:pointer;font-weight:600}.area-issue{background:#fff;color:var(--danger);border:1px solid var(--danger);border-radius:8px}.area-state{font-size:11.5px;font-weight:600}.area-state.ok{color:#2f7d6b}.area-state.issue{color:var(--danger)}.qa-rec{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.qa-rec button{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 10px;cursor:pointer;text-align:center;font-size:13px;color:var(--ink)}.qa-rec button:hover{border-color:var(--brand)}.qa-rec .ic{font-size:16px;color:var(--brand);display:block;margin-bottom:3px}.fin-period{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;background:var(--panel-2)}.fin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.fin-grid label,.fin-grid2 label{font-size:12px;margin:0 0 4px}.fin-grid input,.fin-grid select,.fin-grid2 input{width:100%}.fin-period-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.fin-grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.fin-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.fin-row input[type=text]{flex:1 1}.fin-fee{border:1px solid var(--warn-border);background:var(--warn-bg)}.fin-result{display:flex;flex-direction:column;gap:2px}.fin-line{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid var(--border);font-size:14px}.fin-line:first-child{border-top:0}.fin-total{font-weight:700}.fin-surplus,.fin-total{border-top:2px solid var(--border-strong)}.fin-surplus{font-weight:800;font-size:16px}.fin-surplus.pos{color:var(--brand)}.fin-surplus.neg{color:var(--danger)}.home{background:#fff;color:var(--ink)}.home-nav-bar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.88);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid transparent;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}.home-nav-bar.scrolled{background:hsla(0,0%,100%,.94);border-bottom-color:var(--border);box-shadow:0 2px 14px rgba(20,30,40,.07)}.home-nav{justify-content:space-between;padding:14px 28px;max-width:1100px;margin:0 auto}.home-brand,.home-nav{display:flex;align-items:center}.home-brand{gap:12px;cursor:pointer;text-decoration:none;color:inherit}.home-brand:hover .home-brand-text{color:var(--brand)}.home-logo{width:42px;height:42px;border-radius:11px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:.02em}.home-brand-text{font-weight:700;font-size:18px;letter-spacing:-.01em}.home-links{display:flex;align-items:center;gap:24px}.home-links>a{color:var(--ink-soft);font-weight:500;font-size:15px}.home-links>a:hover{color:var(--brand)}.login-wrap{position:relative}.login-btn{background:var(--brand);color:#fff;border:0;border-radius:9px;padding:9px 16px;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.login-btn:hover{background:var(--brand-dark)}.login-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow-lg);min-width:180px;padding:6px;z-index:20}.login-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--ink);font-weight:500;font-size:15px}.login-menu a:hover{background:var(--panel-2)}.login-menu .dot{width:9px;height:9px;border-radius:3px}.login-menu .dot.staff{background:var(--staff)}.login-menu .dot.manager{background:var(--manager)}.login-menu .dot.admin{background:var(--admin)}.home-hero{background-size:cover;background-position:50%;padding:86px 28px 96px}.home-hero-inner{max-width:820px;margin:0 auto;text-align:center}.home-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.1;letter-spacing:-.02em;margin:0 0 18px}.home-hero p{font-size:18px;color:var(--ink-soft);max-width:620px;margin:0 auto 28px;line-height:1.55}.home-hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.home-cta{display:inline-block;background:var(--brand);color:#fff;padding:12px 24px;border-radius:10px;font-weight:600;font-size:16px}.home-cta:hover{background:var(--brand-dark)}.home-cta.ghost{background:#fff;color:var(--brand-dark);border:1px solid var(--border-strong)}.home-cta.ghost:hover{border-color:var(--brand)}.home-section{padding:56px 28px}.home-section.alt{background:var(--panel-2)}.home-wrap{max-width:920px;margin:0 auto}.home-section h2{font-size:26px;letter-spacing:-.01em;margin:0 0 16px;color:var(--brand-dark);font-weight:700}.home-section h2.center{text-align:center}.home-section p{font-size:17px;color:var(--ink-soft);line-height:1.6;margin:0 0 14px;max-width:720px}.home-placeholder{color:var(--muted);font-style:italic;font-size:15px}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-top:24px}.home-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow)}.home-card h3{margin:0 0 8px;font-size:17px;color:var(--brand-dark)}.home-card p{margin:0;font-size:15px;color:var(--ink-soft)}.home-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-top:18px}.home-contact>div{display:flex;flex-direction:column;gap:4px}.home-contact-label{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.home-footer{background:var(--hub-dark);color:#cdddd7;padding:22px 28px}.home-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px}.home-footer-links{display:flex;gap:18px}.home-footer-links a{color:#9fc4ba}.home-footer-links a:hover{color:#fff}@media (max-width:560px){.home-links{gap:14px}.home-links>a:not(.login-btn){display:none}.home-nav{padding:14px 16px}.home-section{padding:40px 16px}}.care-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px;align-items:center;margin-bottom:26px}.care-row.reverse .care-media{order:2}.care-media{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/10;background:var(--panel-2)}.care-media img{width:100%;height:100%;object-fit:cover;display:block}.care-text h3{font-size:22px;margin:0 0 10px;color:var(--brand-dark);letter-spacing:-.01em}.care-text p{font-size:17px;color:var(--ink-soft);line-height:1.6;margin:0}@media (max-width:720px){.care-row{grid-template-columns:1fr;gap:16px;margin-bottom:30px}.care-row.reverse .care-media{order:0}}.home-logo-img{height:46px;width:auto;display:block}@media (max-width:560px){.home-logo-img{height:38px}}.rota-week{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));grid-gap:8px;gap:8px;min-width:820px}.rota-col{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.rota-col.today{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.rota-colhead{text-align:center;padding:8px 4px;background:var(--panel-2);border-bottom:1px solid var(--border)}.rota-col.today .rota-colhead{background:var(--brand-tint)}.rota-colhead .dow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.rota-colhead .dom{font-size:18px;font-weight:800;line-height:1.1;color:var(--ink)}.rota-colbody{padding:8px;display:flex;flex-direction:column;gap:6px;flex:1 1;min-height:120px}.rota-shift{position:relative;border-radius:7px;padding:7px 8px;font-size:12px}.rota-shift-name{font-weight:700;line-height:1.2}.rota-shift-time{color:var(--ink-soft);font-size:11px;margin-top:1px}.rota-shift-x{position:absolute;top:4px;right:4px;width:18px;height:18px;border:0;cursor:pointer;background:rgba(0,0,0,.06);color:var(--danger);border-radius:5px;font-size:13px;line-height:1;padding:0}.rota-shift-x:hover{background:rgba(192,57,43,.14)}.rota-addbtn{margin-top:auto;border:1px dashed var(--border-strong);background:transparent;color:var(--ink-soft);border-radius:7px;padding:6px;font-size:12px;font-weight:600;cursor:pointer;width:100%}.rota-addbtn:hover{border-color:var(--brand);color:var(--brand)}.rota-add{display:flex;flex-direction:column;gap:5px;background:var(--brand-tint);padding:7px;border-radius:7px}.rota-add .select{padding:5px 7px;font-size:12px}.rota-add .btn{line-height:1.4}.rota-empty{color:var(--muted);text-align:center;font-size:13px;padding:8px 0}