:root{--p:#6754dc;--p2:#8a78eb;--ink:#181927;--muted:#74798d;--line:#e6e8ee;--soft:#fafafd;--green:#188457;--red:#c23b43}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}a{color:inherit}.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#eeebff,transparent 40%),#f8f8fc}.auth-card{width:min(440px,100%);padding:34px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 70px #2f24661a}.auth-brand{display:flex;align-items:center;gap:10px;color:#302276;font-weight:800}.auth-brand span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--p);color:#fff}.auth-card h1{margin:28px 0 8px}.auth-card>p{color:var(--muted);line-height:1.5}.form-stack{display:grid;gap:16px;margin:24px 0}.form-stack label,.field{font-size:13px;font-weight:650}.form-stack input,.field input,.field select{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;outline:0}.form-stack input:focus,.field input:focus,.field select:focus{border-color:var(--p2);box-shadow:0 0 0 3px #6754dc18}.button,.button-ghost,.icon-button{border:0;border-radius:11px;padding:11px 16px;cursor:pointer;font-weight:700}.button{background:var(--p);color:#fff}.button:hover{background:#5845cc}.button-ghost{border:1px solid var(--line);background:#fff}.auth-switch{text-align:center;color:var(--muted);font-size:14px}.auth-switch a{color:var(--p);font-weight:700}.alert{margin:15px 0;padding:12px 14px;border-radius:10px;font-size:13px}.alert.error{background:#fff0f1;color:var(--red)}.alert.success{background:#eaf9f1;color:var(--green)}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;z-index:10;display:flex;flex-direction:column;padding:16px;border-right:1px solid var(--line);background:var(--soft)}.brand{height:44px;display:flex;align-items:center;gap:12px;margin:0 8px 25px;color:#302276;font-weight:800}.brand i{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--p);color:#fff;font-style:normal}.nav{display:grid;gap:4px}.nav a{height:44px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:12px;color:#50566c;text-decoration:none;font-size:14px;font-weight:600}.nav a:hover,.nav a.active{background:#efedff;color:var(--p)}.nav em{width:20px;text-align:center;font-style:normal}.side-user{margin-top:auto;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;font-size:13px}.side-user small{display:block;margin-top:4px;color:var(--muted)}.side-user a{display:block;margin-top:10px;color:var(--red);text-decoration:none}.shell{margin-left:242px}.topbar{height:72px;position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#fffc;backdrop-filter:blur(10px)}.search{width:390px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:#fbfbfd}.search input{width:calc(100% - 25px);border:0;outline:0;background:transparent}.top-profile{display:flex;align-items:center;gap:10px;font-size:13px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eee9e5;font-weight:800}.content{padding:28px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.pagehead h1{margin:0;font-size:28px}.pagehead p{margin:5px 0 0;color:var(--muted);font-size:14px}.actions{display:flex;gap:10px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 25px #18182808}.metric{padding:18px}.metric small{color:var(--muted)}.metric b{display:block;margin-top:7px;font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid2{display:grid;grid-template-columns:1.1fr 1fr;gap:15px;margin-top:15px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.card-title{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;font-weight:750}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:12px 16px;border-top:1px solid #eeeef2;text-align:left}th{background:#fbfbfd;color:#596076}.tag,.status{display:inline-block;padding:5px 8px;border-radius:7px;background:#f0edff;color:#5d49ce}.status{background:#eaf9f1;color:var(--green)}.danger{border:0;background:transparent;color:var(--red);cursor:pointer}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px;border-bottom:1px solid var(--line)}.toolbar input{width:300px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.modal{position:fixed;inset:0;z-index:30;display:none;place-items:center;padding:20px;background:#18192766;backdrop-filter:blur(4px)}.modal.show{display:grid}.dialog{width:min(550px,100%);padding:24px}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between}.dialog-top h2{margin:0}.dialog-top p{margin:6px 0;color:var(--muted)}.close{border:0;background:none;font-size:25px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.field.full{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week div{padding:11px;text-align:center;background:#fafafd;color:var(--muted);font-size:12px}.calendar-day{min-height:120px;padding:9px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.calendar-day:nth-child(7n){border-right:0}.calendar-day.out{background:#fafafd;color:#aaa}.event{display:block;margin-top:7px;padding:7px;border-left:3px solid var(--p);border-radius:7px;background:#f1efff;color:#43358f;font-size:11px}.empty{padding:60px;text-align:center;color:var(--muted)}@media(max-width:1100px){.sidebar{width:82px}.brand span,.nav span:not(em),.side-user{display:none}.shell{margin-left:82px}.cards{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{display:none}.shell{margin-left:0}.content{padding:15px}.topbar{padding:0 14px}.search{width:60vw}.cards,.grid2,.grid3{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
