:root{--blue:#253786;--gold:#fcd063;--bg:#f7f8fc;--ink:#101828;--muted:#667085;--line:#e7e9f2}*{box-sizing:border-box}body{color:var(--ink);background:linear-gradient(#eef1fb 0%,#f7f8fc 45%);margin:0;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:42px;padding:10px 14px;font-weight:800}.login,.center{place-items:center;min-height:100vh;padding:24px;display:grid}.login{background:radial-gradient(1000px 560px at 8% -10%, #2537861f, transparent 60%), radial-gradient(820px 480px at 105% 110%, #fcd0634d, transparent 60%), var(--bg);position:relative;overflow:hidden}.loginCard,.panel,article,.encart{border:1px solid var(--line);background:#fff;border-radius:22px;box-shadow:0 12px 32px #25378614}.loginCard{z-index:1;width:min(480px,100%);padding:32px;position:relative}.loginBrand{justify-content:center;margin-bottom:10px}.brand{align-items:center;gap:12px;display:flex}.brand b{color:var(--blue);display:block}.brand small{color:var(--muted)}.logoImg{object-fit:contain;width:auto;height:44px;display:block}.loginCard .logoImg{height:60px;margin:0 auto}h1{color:var(--blue);margin:10px 0 0;font-size:clamp(32px,5vw,48px)}h2{margin:28px 0 14px}.app{grid-template-columns:280px 1fr;min-height:100vh;display:grid}aside{border-right:1px solid var(--line);background:linear-gradient(#fff 0%,#f5f6fc 100%);flex-direction:column;gap:12px;padding:24px;display:flex;position:relative;overflow:hidden}aside:before{content:"";pointer-events:none;background:radial-gradient(circle,#fcd06359,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-60px}aside:after{content:"";pointer-events:none;background:radial-gradient(circle,#2537861f,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;bottom:-80px;left:-80px}aside .brand{z-index:1;margin-bottom:24px;position:relative}aside button{color:#344054;text-align:left;z-index:1;background:#f2f4f7;position:relative}aside button.active{background:var(--blue);color:#fff}aside .ghost{margin-top:auto}.content{width:100%;max-width:1180px;margin:auto;padding:34px 44px}header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}header p{color:var(--muted);margin:0;font-weight:800}.role,.pill{border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}.role{background:var(--gold);color:#2b2300}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px;display:grid}article{padding:20px;transition:transform .15s,box-shadow .15s}article:hover{transform:translateY(-2px);box-shadow:0 16px 40px #25378624}article small{color:var(--muted);font-weight:900}article strong{color:var(--blue);margin-top:10px;font-size:30px;display:block}.bar{background:#eef0f7;border-radius:20px;height:7px;margin-top:16px;overflow:hidden}.bar i{background:var(--gold);width:55%;height:100%;display:block}label{color:#344054;gap:8px;font-weight:800;display:grid}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:12px}textarea{min-height:100px}.form{gap:16px;max-width:720px;display:grid}.panel{padding:24px}.table{gap:10px;display:grid}.row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:1fr auto 80px auto;align-items:center;gap:12px;padding:14px;display:grid}.row b{display:block}.row small{color:var(--muted);margin-top:4px;display:block}.pill.ok{color:#18864b;background:#e8f5ee}.pill.ko{color:#c33b32;background:#fff0ee}.pill.wait{color:#9a6a00;background:#fff7df}.actions{gap:8px;display:flex}.actions button{min-height:36px;font-size:13px}.danger{background:#c33b32}.empty,.error{border:1px dashed var(--line);color:var(--muted);background:#fff;border-radius:14px;padding:14px}.error{color:#a12720;background:#fff0ee;border-style:solid}.encart{margin:16px 0;padding:20px}.groupsWrap{gap:16px;margin-top:8px;display:grid}.employeeGroup h3{color:var(--blue);margin:0 0 10px;font-size:15px;font-weight:900}.monthGroup h3{color:var(--muted);text-transform:capitalize;letter-spacing:.03em;margin:18px 0 8px;font-size:13px;font-weight:800}.monthGroup:first-child h3{margin-top:0}.miniGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.miniCard{border:1px solid var(--line);background:#f8f9fd;border-radius:14px;gap:6px;padding:14px;display:grid}.miniCard b{color:var(--blue)}.miniPending{color:var(--muted);font-size:12px;font-weight:800}.themeGroup{margin-top:16px}.themeGroup:first-of-type{margin-top:6px}.themeGroup h4{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:12px;font-weight:900}.cardGrid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.reqCard{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.reqCardTop{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reqCardTop b{font-size:14.5px;display:block}.reqCardTop small{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.4;display:block}.reqCardMeta{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.reqDuration{color:var(--ink);font-size:14px;font-weight:800}@media (max-width:900px){.app{grid-template-columns:1fr}aside{position:relative}.row{grid-template-columns:1fr}.content{padding:24px}}@media (max-width:700px){.cardGrid{grid-template-columns:1fr}}@media (max-width:560px){header{display:block}}
