@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap");:root{--ink:#17211b;--muted:#718078;--line:#e4e9e5;--bg:#f5f7f5;--green:#196b47;--light:#eaf4ee;--amber:#e9a23b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:DM Sans,sans-serif;font-size:14px}.shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}aside{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:28px 20px;border-right:1px solid var(--line);background:#fbfcfb;display:flex;flex-direction:column}.brand{font:700 20px Manrope;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;padding:0 10px 36px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--green);color:white}nav{display:grid;grid-gap:6px;gap:6px}.aside-bottom>a,nav a{padding:11px 12px;display:flex;gap:11px;align-items:center;color:#536159;text-decoration:none;border-radius:9px;font-weight:600}.aside-bottom>a:hover,nav a:hover{background:var(--light);color:var(--green)}.aside-bottom{margin-top:auto}.profile{border-top:1px solid var(--line);margin-top:18px;padding:20px 8px 0;display:flex;gap:10px;align-items:center}.avatar,.profile>span{height:38px;width:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#dfece4;color:var(--green);font-weight:700;font-size:12px}.profile div{display:grid}.person small,.profile small,td small{color:var(--muted);display:block;margin-top:3px}main{min-width:0}.page{max-width:1320px;margin:auto;padding:42px 48px 70px}.page.narrow{max-width:860px}.page-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.page-header h1{font:700 32px Manrope;margin:3px 0 0;letter-spacing:-.8px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:#87928b;font-size:11px;font-weight:700;margin:0}.button,.decision,.header-actions{display:flex;align-items:center;gap:8px}.button,button{border:0;background:var(--green);color:#fff;border-radius:8px;padding:10px 15px;font:600 13px DM Sans;cursor:pointer;text-decoration:none;justify-content:center}.button.secondary,button.secondary{background:white;color:#47534c;border:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;gap:14px}.stat-dot{width:8px;height:8px;border-radius:3px;background:#48a676;margin-top:6px}.stat-dot.amber{background:#e9a23b}.stat-dot.blue{background:#5b8def}.stat-dot.purple{background:#9b79d0}.stat p,.stat small{color:var(--muted);margin:0;display:block}.stat strong{font:700 25px Manrope;display:block;margin:8px 0 2px}.grid-2{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:18px;gap:18px;margin-bottom:18px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card h2,.form h2{font:700 17px Manrope;margin:4px 0}.request-list{display:grid}.request-row{display:flex;align-items:center;gap:12px;border-top:1px solid #edf0ed;padding:13px 0}.request-row:first-child{border:0;padding-top:0}.grow{flex:1 1}.balance-person p,.muted,.request-row p{margin:3px 0 0;color:var(--muted)}.status{font-size:10px;font-weight:700;letter-spacing:.5px;padding:6px 8px;border-radius:20px}.status.pending{background:#fff3dc;color:#9a6412}.status.approved{background:#e8f4ec;color:#24714c}.status.rejected{background:#fae9e7;color:#a33c31}.quick{display:grid;grid-gap:10px;gap:10px}.quick .button{display:grid;grid-template-columns:32px 1fr;justify-content:start;text-align:left;padding:15px}.quick svg{grid-row:span 2}.quick span{color:var(--muted);font-weight:400}.balance-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0 35px;gap:0 35px}.balance-person{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #edf0ed}.balance-person:nth-child(-n+2){border-top:0}.empty{min-height:130px;display:grid;place-items:center;align-content:center;color:var(--muted);grid-gap:6px;gap:6px}.table-wrap{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#89938d;background:#fafbfa;padding:13px 18px}td{padding:16px 18px;border-top:1px solid var(--line);vertical-align:middle}.person{display:flex;align-items:center;gap:11px}.country{background:#eef2ef;padding:5px 8px;border-radius:6px;font-weight:700}input,select,textarea{width:100%;border:1px solid #dce2de;border-radius:8px;background:#fff;color:var(--ink);padding:10px 11px;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #b9d8c7;border-color:var(--green)}td select{padding:7px;min-width:150px}.back{display:flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;margin-bottom:25px}.form{display:grid;grid-gap:22px;gap:22px}.form label{display:grid;grid-gap:7px;gap:7px;font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.form-grid .full{grid-column:1/-1}.section-title{display:flex;gap:12px;border-bottom:1px solid var(--line);padding-bottom:15px}.section-title>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--light);color:var(--green);font-weight:700}.section-title p{margin:3px 0;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:20px}.notice{background:#f1f7f3;border-left:3px solid #58a578;color:#3f664f;padding:12px 14px;border-radius:5px}.upload{position:relative;border:1px dashed #bac5be;border-radius:9px;padding:16px;display:flex!important;grid-template-columns:auto 1fr;align-items:center}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.check span,.upload span{display:grid}.check small,.upload small{color:var(--muted);font-weight:400}.check{display:grid!important;grid-template-columns:auto 1fr;align-items:start;background:#fafbfa;padding:15px;border-radius:8px}.check input{width:auto;margin-top:3px}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs span{padding:0 2px 12px;color:var(--muted)}.tabs .active{color:var(--green);border-bottom:2px solid var(--green);font-weight:700}.tabs b{background:#e7ece8;border-radius:10px;padding:2px 6px;margin-left:4px}.approve{background:#e5f2ea;color:#1f6e48;padding:7px 10px}.reject{background:#f7eae8;color:#9a3a31;padding:7px 10px}.grid-holiday{display:grid;grid-template-columns:1.4fr .8fr;grid-gap:18px;gap:18px}.holiday-group{margin-top:25px}.holiday-group h3{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:10px}.holiday{display:flex;align-items:center;gap:15px;padding:10px 0}.holiday time{width:42px;text-transform:uppercase;color:var(--muted);font-size:10px;text-align:center}.holiday time b{font:700 20px Manrope;display:block;color:var(--ink)}.sticky{align-self:start;position:-webkit-sticky;position:sticky;top:24px}.run{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0}.run:first-of-type{border-top:0}@media(max-width:980px){.shell{grid-template-columns:76px 1fr}aside{padding:25px 12px}.aside-bottom>a:not(svg),.brand span:last-child,.profile div,nav a:not(svg){display:none}.brand{padding-left:10px}.stats{grid-template-columns:1fr 1fr}.grid-2,.grid-holiday{grid-template-columns:1fr}.page{padding:35px 25px}}@media(max-width:650px){.shell,aside{display:block}aside{height:auto;position:fixed;z-index:5;left:0;right:0;bottom:0;top:auto;padding:7px}.aside-bottom,aside .brand{display:none}nav{display:flex;justify-content:space-around}nav a{font-size:0}.page{padding:28px 16px 90px}.balance-grid,.form-grid,.stats{grid-template-columns:1fr}.balance-person:nth-child(2){border-top:1px solid #edf0ed}.page-header{align-items:start}.table-wrap{overflow:auto}.card{padding:18px}}.balance-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;grid-gap:18px;gap:18px;align-items:start}.balance-layout>form{position:-webkit-sticky;position:sticky;top:24px}.balance-stats{grid-template-columns:minmax(220px,320px)}.amount-positive{color:#24714c}.amount-negative{color:#a33c31}.toast{position:fixed;z-index:50;top:22px;right:22px;max-width:390px;display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border-radius:10px;box-shadow:0 10px 30px rgba(23,33,27,.14)}.toast>div>div{margin-top:3px;font-size:13px}.toast.success{background:#edf8f1;color:#216b48;border:1px solid #b9dec7}.toast.error{background:#fff1ef;color:#91372f;border:1px solid #efc3bd}.report-filter{display:flex;align-items:end;gap:12px;margin-bottom:18px}.report-filter label{display:grid;grid-gap:7px;gap:7px;font-weight:600;min-width:180px}.report-table{overflow:auto}.report-table table{min-width:1650px}.report-table td,.report-table th{white-space:nowrap}.balance-account-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media(max-width:980px){.balance-layout{grid-template-columns:1fr}.balance-layout>form{position:static}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#e7f1eb 0,transparent 42%),#f5f7f5}.login-card{width:min(100%,420px);display:grid;justify-items:center;text-align:center;grid-gap:14px;gap:14px;padding:44px;background:#fff;border:1px solid #e4e9e5;border-radius:16px;box-shadow:0 24px 70px rgba(28,62,43,.1)}.login-mark{width:58px;height:58px;display:grid;place-items:center;background:#196b47;color:#fff;border-radius:15px;margin-bottom:8px}.login-card h1{font:700 30px Manrope;margin:0}.login-card>p:not(.eyebrow){color:#718078;line-height:1.6;margin:0 0 8px}.login-button{width:100%;margin-top:6px;padding:12px 16px}.login-card small{color:#87928b}.invite-result{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:end;padding:16px;border:1px solid var(--line);background:#fafbfa;border-radius:10px}.invite-result label{min-width:0}.invite-result input{margin-top:7px}.invite-result small{grid-column:1/-1;color:var(--muted)}button:disabled{opacity:.6;cursor:not-allowed}.status.accepted,.status.active{background:#e8f4ec;color:#24714c}.status.expired,.status.inactive,.status.revoked{background:#fae9e7;color:#a33c31}