:root{--bg:#06080f;--canvas:#0b0f1c;--surface:#141a2c;--surface2:#1b2238;--ink:#e8ebf5;--muted:#8b94ad;--line:#232b44;--navy:#3a3fc4;--navy2:#5157e6;--navy-ink:#a7aaff;--red:#f0564c;--red-bg:#f0564c26;--ok:#3dd6a0;--ok-bg:#3dd6a024;--warn:#f7b84b;--warn-bg:#f7b84b24;--info:#8e9bff;--info-bg:#8e9bff24;--f:"Noto Sans Georgian", "Sylfaen", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--shadow:0 1px 0 #ffffff0a inset, 0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(1200px 600px at 50% -200px, #12173a 0%, var(--bg) 60%) fixed, var(--bg);color:var(--ink);font-family:var(--f);-webkit-font-smoothing:antialiased;min-height:100svh;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--info);outline-offset:2px}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}.shell{min-height:100svh}.side{display:none}.main{max-width:480px;padding:calc(env(safe-area-inset-top,0px) + 22px) 16px calc(env(safe-area-inset-bottom,0px) + 110px);align-content:start;gap:18px;min-width:0;margin:0 auto;display:grid}.cols,.stack{align-content:start;gap:18px;min-width:0;display:grid}.list.grid2{grid-template-columns:minmax(0,1fr)}.link{color:var(--navy-ink);background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.tabbar{z-index:20;padding:8px 6px calc(env(safe-area-inset-bottom,0px) + 10px);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);background:#101526f0;justify-content:space-around;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-width:60px;color:var(--muted);background:0 0;border:0;justify-items:center;gap:3px;padding:4px 6px;font-size:11px;font-weight:600;display:grid;position:relative}.tabbar button[aria-current=page]{color:var(--navy-ink)}.tabbar .count{margin:0;position:absolute;top:-2px;right:10px}.fab{color:#fff;background:radial-gradient(circle at 35% 30%,#5c62f0,#2e3299);border:1px solid #a7aaff66;border-radius:18px;place-items:center;width:54px;height:54px;margin-top:-28px;display:grid;box-shadow:0 0 24px #5b61ff8c}.fab svg.i{stroke-width:2.2px}.tabbar .fabbtn[aria-current=page] .fab{box-shadow:0 0 0 3px #a7aaff59,0 0 30px #5b61ffb3}@media (width>=1024px){.shell{grid-template-columns:264px minmax(0,1fr);display:grid}.tabbar,.main .top .me{display:none}.side{border-right:1px solid var(--line);background:#0b0f1cd9;flex-direction:column;gap:28px;height:100svh;padding:24px 16px;display:flex;position:sticky;top:0}.snav{gap:4px;display:grid}.snav button{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:600;display:flex}.snav button:hover{background:var(--surface);color:var(--ink)}.snav button[aria-current=page]{background:var(--surface2);color:#fff;box-shadow:inset 3px 0 0 var(--navy2)}.snav button[aria-current=page] svg.i{color:var(--navy-ink)}.snav .count{margin-left:auto}.sme{background:var(--surface);border:1px solid var(--line);border-radius:16px;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.main{gap:24px;width:100%;max-width:1440px;margin:0;padding:32px 40px 48px}.main>.top h1{font-size:28px}.cols{grid-template-columns:minmax(360px,440px) minmax(0,1fr);align-items:start;gap:24px}.list.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.foot{justify-content:flex-start}}@media (width>=1440px){.list.grid2{grid-template-columns:repeat(3,minmax(0,1fr))}}.center{place-items:center;min-height:100svh;padding:16px;display:grid}.grow{flex:1;min-width:0}.kicker{color:var(--muted);font-size:12.5px;font-weight:500}h1{letter-spacing:-.3px;margin-top:2px;font-size:22px;font-weight:800;line-height:1.2}h2{font-size:15px;font-weight:700}.note{color:var(--muted);margin-top:4px;font-size:13px}.note b{color:var(--ink)}.ok{color:var(--ok);font-size:13px;font-weight:600}.err{color:var(--red);font-size:13px;font-weight:600}.foot{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.me{align-items:center;gap:8px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#2a2e86,#4f55d8);border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:14px;font-weight:700;display:grid}.avatar.sm{width:36px;height:36px;font-size:12.5px}.iconbtn{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--muted);border-radius:12px;place-items:center;display:grid}.iconbtn:hover{color:var(--ink)}.brand{align-items:center;gap:10px;display:flex}.brand b{font-size:16px}.logo{background:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.gate{gap:22px;width:min(400px,100%);padding:26px;display:grid}.spinner{border:3px solid var(--line);border-top-color:var(--navy2);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;min-width:0;padding:16px}.sec{gap:12px;display:grid}.sechead{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.sechead span{color:var(--muted);font-size:12.5px}.list{gap:10px;display:grid}.row{align-items:center;gap:12px;min-width:0;display:flex}.ttl{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.sub{color:var(--muted);font-size:12.5px}.empty{color:var(--muted);border:1px dashed var(--line);border-radius:16px;align-items:center;gap:8px;padding:14px;font-size:13px;display:flex}.count{background:var(--red);color:#fff;vertical-align:2px;border-radius:99px;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;display:inline-grid}svg.i{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.ico{border-radius:13px;flex:none;place-items:center;width:40px;height:40px;display:grid}.t-leave{background:var(--info-bg);color:var(--info)}.t-sick{background:var(--red-bg);color:var(--red)}.t-out{background:var(--warn-bg);color:var(--warn)}.t-dayoff{background:var(--ok-bg);color:var(--ok)}.pill{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.p-pending{background:var(--warn-bg);color:var(--warn)}.p-approved{background:var(--ok-bg);color:var(--ok)}.p-rejected,.p-cancelled{background:var(--red-bg);color:var(--red)}.hero{text-align:center;color:#fff;background:radial-gradient(circle at 50% 38%,#20245e 0%,#121636 55%,#0d1027 100%);border:1px solid #a7aaff1f;border-radius:28px;justify-items:center;gap:16px;padding:18px 16px 16px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#5b61ff52,#0000 65%);border-radius:50%;width:280px;height:280px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.hero>*{z-index:1;position:relative}.chip{color:#c9cbff;background:#ffffff12;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.chip.on{color:#9ef2d2;background:#3dd6a024;border-color:#3dd6a059}.ringwrap{width:200px;height:200px;position:relative}.ringwrap svg{position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.ringbtn{color:#fff;background:radial-gradient(circle at 34% 28%,#4248b8 0%,#23277a 45%,#141748 100%);border:1px solid #a7aaff59;border-radius:50%;align-content:center;place-items:center;gap:2px;padding:0 14px;transition:transform .15s;display:grid;position:absolute;inset:20px;box-shadow:0 0 0 6px #5b61ff14,0 0 38px #5b61ff8c,0 0 90px #5b61ff40,inset 0 2px 12px #ffffff2e,inset 0 -10px 24px #00000059}.ringbtn:active:not(:disabled){transform:scale(.97)}.ringbtn b{color:#c9cbff;font-size:15px;font-weight:800}.ringbtn .t{font-family:var(--mono);letter-spacing:-1px;text-shadow:0 0 14px #a7aaffb3;font-size:26px;font-weight:700}.ringbtn small{color:#ffffff9e;font-size:11.5px}.ringbtn.stop b{color:#ff9a92}.ringbtn:disabled{cursor:default;background:#161a30;border-color:#262c48;box-shadow:inset 0 2px 10px #0006}.ringbtn:disabled b,.ringbtn:disabled .t{color:#8189a8;text-shadow:none}@media (prefers-reduced-motion:no-preference){.ringbtn:not(:disabled){animation:3.2s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:0 0 0 8px #5b61ff1a,0 0 52px #5b61ffbf,0 0 110px #5b61ff4d,inset 0 2px 12px #fff3,inset 0 -10px 24px #00000059}}}.herook{color:#9ef2d2;font-size:13px;font-weight:600}.herobad{color:#ffb4ae;max-width:320px;font-size:13px;font-weight:600}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.tile{background:#ffffff0d;border:1px solid #ffffff12;border-radius:16px;gap:2px;min-width:0;padding:10px 8px;display:grid}.tile .k{color:#fff9;font-size:11.5px}.tile .v{font-size:18px;font-weight:800}.tile.warn .v{color:var(--warn)}.leave{gap:12px;display:grid}.leave .big{font-size:30px;font-weight:800;line-height:1}.leave .big span{color:var(--muted);font-size:15px;font-weight:600}.lbar{background:#3dd6a038;border-radius:10px;height:10px;display:flex;overflow:hidden}.lbar i{height:100%;display:block}.lbar .u,.legend .u{background:var(--navy2)}.lbar .p,.legend .p{background:var(--warn)}.legend .f{background:var(--ok-bg);border:1.5px solid var(--ok)}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:9px;height:9px;display:inline-block}.form{gap:14px;display:grid}.types{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.types button{border:1.5px solid var(--line);background:var(--surface2);text-align:left;border-radius:18px;gap:8px;min-width:0;padding:12px;display:grid}.types button b{font-size:13.5px;line-height:1.3}.types button small{color:var(--muted);font-size:11.5px;line-height:1.3}.types button[aria-pressed=true]{border-color:var(--navy2);box-shadow:0 0 0 3px #5157e638}.field{gap:6px;min-width:0;display:grid}.field label{color:var(--muted);font-size:12.5px;font-weight:600}.field input,.field textarea,.field select{background:var(--surface2);border:1.5px solid var(--line);width:100%;min-width:0;color:var(--ink);border-radius:14px;padding:12px 14px}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--navy2);outline:none;box-shadow:0 0 0 3px #5157e633}.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.btn{background:var(--surface2);color:var(--ink);border:0;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-size:14px;font-weight:700;display:inline-flex}.btn.primary{background:linear-gradient(180deg, var(--navy2), var(--navy));color:#fff;box-shadow:0 6px 18px #5157e659}.btn.ok{background:var(--ok);color:#06231a}.btn.no{background:var(--red-bg);color:var(--red)}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:default}.approval{gap:12px;display:grid}.what{flex-wrap:wrap;justify-content:space-between;gap:6px 10px;font-size:13.5px;display:flex}.what span{color:var(--muted)}.quote{color:var(--muted);background:var(--surface2);border-radius:12px;padding:10px 12px;font-size:13px}.actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.alert{background:var(--warn-bg);border:1px solid #f7b84b4d;border-radius:20px;gap:10px;padding:14px;display:grid}.alert b{color:var(--warn)}.reason{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:13px}.reason b{color:var(--ink);font-weight:600}.tiles.light .tile{background:var(--surface);border-color:var(--line);padding:12px}.tiles.light .k{color:var(--muted)}.tiles.light .v{font-size:22px}.ok-t{color:var(--ok)}.warn-t{color:var(--warn)}.red-t{color:var(--red)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.chips button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.person{gap:10px;display:grid}.p-info{background:var(--info-bg);color:var(--info)}.p-muted{background:var(--surface2);color:var(--muted)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.kpis.skeleton{background:var(--surface);opacity:.5;border-radius:22px;min-height:140px}.kpi{background:linear-gradient(180deg, var(--surface) 0%, #10162a 100%);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);border-radius:20px;gap:4px;padding:14px;display:grid}.kpi .ico{border-radius:11px;width:36px;height:36px;margin-bottom:6px}.kv{letter-spacing:-.5px;font-size:24px;font-weight:800;line-height:1.1}.kv small{color:var(--muted);letter-spacing:0;margin-left:2px;font-size:13px;font-weight:600}.kl{font-size:13px;font-weight:600}.ks{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.table{padding:6px;display:grid}.thead{display:none}.trow{border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ico type status""ico period status";align-items:center;gap:2px 12px;padding:10px;display:grid}.trow+.trow{border-top:1px solid var(--line);border-radius:0}.trow .ico{border-radius:12px;grid-area:ico;width:38px;height:38px}.c-type{grid-area:type;font-weight:600}.c-period{color:var(--muted);grid-area:period;font-size:12.5px}.c-len{display:none}.c-status{grid-area:status;justify-self:end}@media (width>=1024px){body{font-size:15px}.main{gap:28px;max-width:1520px;padding:36px 48px 56px}.main>.top h1{letter-spacing:-.6px;font-size:32px}.kicker{font-size:13.5px}.note{font-size:14px}h2{font-size:17px}.card{border-radius:24px;padding:22px}.sechead span{font-size:13.5px}.ttl{font-size:15px}.sub{font-size:13.5px}.pill{padding:5px 12px;font-size:12.5px}.legend{font-size:13px}.leave .big{font-size:40px}.leave .big span{font-size:16px}.lbar{height:12px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi{border-radius:22px;padding:20px}.kpi .ico{border-radius:13px;width:42px;height:42px}.kv{font-size:32px}.kv small{font-size:15px}.kl{font-size:14.5px}.ks{font-size:13px}.cols{grid-template-columns:minmax(380px,460px) minmax(0,1fr);gap:28px}.hero{gap:20px;padding:26px 22px 22px}.ringwrap{width:236px;height:236px}.ringbtn{inset:22px}.ringbtn b{font-size:17px}.ringbtn .t{font-size:32px}.ringbtn small{font-size:12.5px}.tile{padding:12px 10px}.tile .k{font-size:12.5px}.tile .v{font-size:21px}.table{padding:8px 10px}.thead,.trow{grid-template-columns:44px minmax(140px,1.2fr) minmax(150px,1.3fr) minmax(120px,1fr) 150px;grid-template-areas:none;column-gap:16px}.thead{color:var(--muted);border-bottom:1px solid var(--line);padding:10px;font-size:12.5px;font-weight:600;display:grid}.trow{padding:12px 10px}.trow+.trow{border-top:1px solid #232b4499}.trow:hover{background:#ffffff06;border-radius:12px}.trow>*{grid-area:auto}.c-period{color:var(--ink);font-size:14px}.c-len{color:var(--muted);font-size:14px;display:block}.c-status{justify-self:start}.snav button{padding:12px 14px;font-size:14.5px}.brand b{font-size:17px}}.install{border-color:#a7aaff40;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.install .logo{border:1px solid var(--line);background:#0b0f1c;border-radius:11px;width:38px;height:38px}.install .sub{white-space:normal}.install .btn{padding:9px 14px;font-size:13px}.install .iconbtn{background:0 0;border:0;width:32px;height:32px}@media (width>=1024px){.install{display:none}}
