:root{--ad-blue:#3A73BA;--ad-green:#61C22D;--ad-dark:#23364A;--ad-light:#F8F9FA;--ad-orange:#F4A62A;--radius:24px}*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#23364A;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.auth-body{min-height:100vh;background:radial-gradient(circle at top left,rgba(58,115,186,.22),transparent 32%),linear-gradient(135deg,#fff,#f3f8ff)}.pin-page{min-height:100vh;display:grid;place-items:center;padding:24px}.pin-card{width:min(440px,100%);background:rgba(255,255,255,.9);border:1px solid rgba(58,115,186,.12);border-radius:32px;padding:36px;box-shadow:0 24px 80px rgba(35,54,74,.12);text-align:center}.login-logo{width:220px;max-width:80%;margin-bottom:24px}.pin-card h1{font-size:42px;font-weight:800;color:var(--ad-dark)}.pin-input{width:100%;border:0;border-bottom:3px solid var(--ad-blue);background:transparent;text-align:center;font-size:42px;letter-spacing:18px;margin:20px 0 24px;outline:0;color:var(--ad-dark)}.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pin-grid button{border:1px solid #d9e4f1;background:#fff;border-radius:18px;padding:18px;font-size:22px;font-weight:800;color:var(--ad-dark)}.pin-grid .pin-ok{background:var(--ad-green);border-color:var(--ad-green);color:#fff}.app-shell{display:flex;min-height:100vh}.sidebar{width:104px;background:#fff;border-right:1px solid #e8eef5;padding:20px 14px;position:sticky;top:0;height:100vh}.brand{display:block;margin-bottom:28px}.brand img{width:72px}.sidebar nav{display:flex;flex-direction:column;gap:10px;width:100%}.sidebar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;border-radius:18px;color:var(--ad-dark);text-decoration:none}.sidebar a:hover{background:#edf5ff;color:var(--ad-blue)}.sidebar span{display:none}.main-content{flex:1;padding:26px;min-width:0}.topbar{height:64px;background:#fff;border:1px solid #e8eef5;border-radius:24px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;box-shadow:0 12px 35px rgba(35,54,74,.05)}.topbar small{display:block;color:#7d8a99}.user-pill{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ad-orange);color:#fff;font-weight:800}.hero-card{background:linear-gradient(135deg,var(--ad-blue),#285a99);color:#fff;border-radius:32px;padding:34px;display:flex;justify-content:space-between;gap:20px;box-shadow:0 24px 80px rgba(58,115,186,.25);margin-bottom:20px}.hero-card h1{font-size:clamp(44px,10vw,92px);font-weight:900;line-height:1}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--ad-green)}.timer-box{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:20px;min-width:180px}.timer-box strong{display:block;font-size:28px}.action-card,.panel,.stat-card{background:#fff;border:1px solid #e8eef5;border-radius:24px;box-shadow:0 12px 35px rgba(35,54,74,.05)}.action-card{padding:18px;margin-bottom:20px}.clock-actions{display:flex;flex-wrap:wrap;gap:12px}.btn-primary{--bs-btn-bg:var(--ad-blue);--bs-btn-border-color:var(--ad-blue);--bs-btn-hover-bg:#285a99;--bs-btn-hover-border-color:#285a99}.btn-success{--bs-btn-bg:var(--ad-green);--bs-btn-border-color:var(--ad-green)}.btn-warning{--bs-btn-bg:var(--ad-orange);--bs-btn-border-color:var(--ad-orange);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.stat-card{padding:22px}.stat-card span{color:#7d8a99;font-weight:700}.stat-card strong{display:block;font-size:36px;line-height:1.1;color:var(--ad-dark);margin:8px 0}.stat-card small{color:#8a97a5}.panel{padding:24px;margin-bottom:20px}.panel h2{font-size:22px;font-weight:850;margin-bottom:18px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-head h1{font-size:42px;font-weight:900;margin:0}.table{--bs-table-bg:transparent}.badge.text-bg-light{border:1px solid #e4eaf2}@media(max-width:900px){.app-shell{display:block}.sidebar{position:fixed;z-index:30;left:12px;right:12px;bottom:12px;top:auto;width:auto;height:72px;border:1px solid #e8eef5;border-radius:24px;padding:8px;box-shadow:0 18px 60px rgba(35,54,74,.18)}.brand{display:none}.sidebar nav{flex-direction:row;justify-content:space-between;align-items:center;height:100%;gap:0}.sidebar a{flex:1;min-width:0;height:100%;min-height:54px}.main-content{padding:16px 16px 100px}.hero-card{display:block}.timer-box{margin-top:20px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.pin-card{padding:24px}.stats-grid{grid-template-columns:1fr}.clock-actions .btn{width:100%}.topbar{border-radius:18px}.hero-card{border-radius:24px;padding:24px}}
.year-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.month-card{border:1px solid #e8eef5;border-radius:20px;padding:14px;background:#fbfdff}.month-card h3{font-size:18px;font-weight:850;margin:0 0 10px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays span{font-size:11px;font-weight:800;text-align:center;color:#7d8a99}.calendar-day{position:relative;aspect-ratio:1/1;border-radius:10px;display:grid;place-items:center;font-size:12px;background:#fff;border:1px solid #edf2f7}.calendar-day.is-empty{background:transparent;border-color:transparent}.calendar-day.has-vacation{background:rgba(97,194,45,.18);border-color:rgba(97,194,45,.55);color:#2f7d13;font-weight:850}.calendar-day small{position:absolute;right:3px;bottom:1px;font-size:9px;background:var(--ad-green);color:#fff;border-radius:999px;min-width:14px;height:14px;display:grid;place-items:center}@media(max-width:1100px){.year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.year-calendar{grid-template-columns:1fr}.sidebar span{display:none!important}}.pwa-install{position:fixed;left:50%;bottom:18px;z-index:2000;transform:translateX(-50%);width:min(92vw,520px);display:flex;align-items:center;gap:14px;justify-content:space-between;background:#23364a;color:#fff;border-radius:20px;padding:14px 16px;box-shadow:0 18px 50px rgba(35,54,74,.28)}.pwa-install strong{display:block;font-size:.95rem}.pwa-install span{display:block;font-size:.82rem;opacity:.78}.pwa-offline-badge{position:fixed;right:16px;bottom:16px;z-index:1900;background:#f4a62a;color:#23364a;border-radius:999px;padding:9px 14px;font-weight:700;box-shadow:0 12px 30px rgba(35,54,74,.18)}@media(max-width:768px){.pwa-install{bottom:84px;border-radius:18px}.pwa-offline-badge{right:12px;bottom:82px}}
