@import url('/fonts.css');
:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172b4d;background:#f4f6fa;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;background:#e8edf5;color:#243858;font-weight:600}button:hover{filter:brightness(.96)}button.primary{background:#4258dc;color:white}button.danger{color:#b42335;background:#ffedf0}input,select,textarea{border:1px solid #d8dfeb;border-radius:9px;padding:11px;width:100%;background:white;color:inherit}input[type=checkbox]{width:auto}label{display:block;font-size:.87rem;font-weight:600;margin:14px 0 6px}textarea{min-height:85px}h1{font-size:2rem;letter-spacing:-.05em;margin:0 0 8px}h2{font-size:1.2rem;margin:0 0 18px}h3{margin:0 0 10px}p{line-height:1.6}small,.muted{color:#63728b}header{background:#172b4d;color:white;padding:22px 28px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:1.35rem;font-weight:750;letter-spacing:-.04em}.brand span{color:#a6b7ff}nav{display:flex;gap:5px;padding:15px 28px;background:white;border-bottom:1px solid #e5eaf2;overflow:auto}nav button{white-space:nowrap;background:white;font-size:.9rem}nav button.selected{background:#eef0ff;color:#4258dc}main{max-width:1300px;margin:auto;padding:35px 28px}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}.card{background:white;border:1px solid #e4e9f1;border-radius:16px;padding:24px;box-shadow:0 4px 20px #172b4d03;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:25px}.metric{padding:20px 16px;border-top:3px solid #6978df}.metric strong{font-size:2.1rem;display:block;margin:12px 0 4px;letter-spacing:-.05em}.metric small{font-size:.78rem}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row>*{flex:1}.row button{flex:0 0 auto}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.listitem{padding:17px 0;border-bottom:1px solid #edf0f6}.listitem:last-child{border:0}.badge{font-size:.73rem;font-weight:700;border-radius:20px;padding:5px 10px;display:inline-block;background:#eef0f6;color:#60708a}.approved{background:#e6f5ed;color:#1e7753}.pending,.cancel_pending{background:#fff3d9;color:#94640b}.rejected,.cancelled{background:#fce8ec;color:#b13e53}.notice{background:#fff6df;border:1px solid #f1dfac;padding:16px;border-radius:10px;margin-bottom:20px;font-size:.9rem}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #e5eaf2;border-top:1px solid #e5eaf2}.day{min-height:115px;border-radius:0;border-right:1px solid #e5eaf2;border-bottom:1px solid #e5eaf2;padding:9px;background:white;min-width:0;font-weight:400;text-align:left}.day.today{background:#f1f3ff}.day .num{font-size:.8rem;color:#6b7890}.event{display:block;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 12%,white);color:#243858;padding:5px 4px;font-size:.73rem;border-radius:4px;margin-top:5px;overflow:hidden;overflow-wrap:anywhere}.weekday{text-align:center;padding:12px;font-size:.8rem;color:#64718a;background:#f8faff;border-right:1px solid #e5eaf2}.year{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.year .day{min-height:48px;padding:4px}.year .event{font-size:0;height:6px;padding:0;margin-top:2px}.login{max-width:450px;margin:8vh auto;padding:25px}.login .card{padding:36px}.login .brand{margin-bottom:30px}.empty{padding:25px;color:#7b879d;text-align:center}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #edf0f6;white-space:nowrap}th{color:#687893}details{margin:12px 0}summary{cursor:pointer;font-weight:600}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#172b4d;color:white;padding:15px 24px;border-radius:12px;box-shadow:0 8px 35px #0003;z-index:99;display:none;max-width:95vw}dialog{border:0;border-radius:18px;max-width:600px;width:95vw;padding:28px;color:inherit}dialog::backdrop{background:#14284488}a{color:#4258dc}.filter{max-width:230px}.mono{font-family:monospace;overflow-wrap:anywhere}@media(max-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}.year{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){header{padding:18px}nav{padding:10px}main{padding:24px 14px}.heading{align-items:flex-start}h1{font-size:1.6rem}.cards{grid-template-columns:repeat(2,1fr);gap:9px}.metric{padding:14px}.grid{grid-template-columns:1fr}.card{padding:17px}.day{min-height:83px;padding:4px}.event{font-size:.65rem;padding:3px 1px}.year{grid-template-columns:1fr}.row{gap:8px}.row>*{min-width:120px}.login{margin-top:4vh}}

.sossai-logo{width:145px;height:auto;display:block}.login .brand{display:flex;justify-content:center;margin-bottom:30px}.login .sossai-logo{width:270px;max-width:90%;height:auto}header .brand{background:white;border-radius:9px;padding:9px 14px}header .sossai-logo{width:115px}#profile{margin-bottom:28px} @media(max-width:650px){header .sossai-logo{width:90px}header{gap:12px}header>div:last-child{font-size:.85rem}}
