@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--wine:#551522;--wine2:#742437;--ink:#242126;--muted:#817b80;--paper:#f5f3f2;--line:#e9e4e4;--white:#fff;--shadow:0 18px 55px rgba(44,18,25,.08)}
*{box-sizing:border-box}html{min-height:100%;font-family:'DM Sans',Arial,sans-serif;color:var(--ink)}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.login-page{display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 20% 10%,#eadde0 0,transparent 38%),radial-gradient(ellipse at 90% 90%,#e6dcdd 0,transparent 32%),var(--paper)}.login-shell{width:min(100%,420px);background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:24px;padding:38px;box-shadow:var(--shadow)}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,var(--wine2),#35101a);color:white;font:800 28px Manrope,sans-serif;box-shadow:0 9px 20px #55152235}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--wine2);margin:24px 0 8px}.login-shell h1,.welcome-row h1{font:800 29px Manrope,sans-serif;letter-spacing:-1px;margin:0}.muted{color:var(--muted);line-height:1.6}.intro{font-size:14px;margin:10px 0 26px}.login-shell label{display:block;font-size:12px;font-weight:700;margin:17px 0 8px}.login-shell input{width:100%;height:48px;border:1px solid #e2dcde;border-radius:11px;padding:0 13px;outline:none;background:#fff}.login-shell input:focus{border-color:var(--wine2);box-shadow:0 0 0 3px #74243713}.btn{border:0;border-radius:11px;min-height:48px;padding:0 18px;font-weight:700}.btn-primary{background:var(--wine);color:#fff}.btn-primary:hover{background:var(--wine2)}.btn-wide{width:100%;margin-top:24px;display:flex;justify-content:space-between;align-items:center}.alert,.success{padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.5;margin:14px 0}.alert{background:#fff0f0;color:#a12632;border:1px solid #f3d0d3}.success{background:#edf8f0;color:#236d3b;border:1px solid #cce9d3}.login-foot{font-size:11px;color:#9a9297;text-align:center;margin:25px 0 0}
.app-page{background:var(--paper)}.app-layout{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#211d21;color:#fff;padding:25px 16px;display:flex;flex-direction:column;z-index:10}.side-brand{display:flex;align-items:center;gap:11px;padding:0 10px 31px;color:#fff;text-decoration:none}.brand-mini{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:var(--wine2);font:800 22px Manrope}.side-brand strong{display:block;font:800 17px Manrope;letter-spacing:1px}.side-brand small{display:block;font-size:8px;letter-spacing:1.5px;color:#aaa0a4;margin-top:3px}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.6px;color:#827980;padding:0 13px 12px}.nav-item{display:flex;align-items:center;gap:12px;color:#c9c1c5;text-decoration:none;padding:12px 13px;border-radius:10px;font-size:12px;border:0;background:transparent;width:100%;text-align:left;margin:2px 0}.nav-item>span{width:17px;text-align:center;font-size:17px}.nav-item.active{background:#6a2537;color:#fff}.nav-item em{margin-left:auto;font-style:normal;font-size:8px;color:#968a90}.sidebar-bottom{margin-top:auto}.user-chip{display:flex;align-items:center;gap:10px;padding:14px 8px;border-top:1px solid #393238}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#f0dfe3;color:var(--wine);font-weight:800}.user-meta{min-width:0}.user-meta strong,.user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px}.user-meta strong{font-size:11px}.user-meta small{font-size:10px;color:#a79da2;margin-top:4px}.logout-btn{color:#cfc5ca}.main-content{width:calc(100% - 252px);margin-left:252px}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 36px;gap:15px}.crumb{font-size:11px;font-weight:700}.crumb span{color:#c6bfc2;margin:0 9px}.topbar-right{margin-left:auto;font-size:10px;color:#716a70;display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;border-radius:50%;background:#3caa75}.menu-toggle{display:none;background:transparent;border:0;font-size:22px}.content-wrap{max-width:1300px;margin:0 auto;padding:38px 38px 20px}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.welcome-row .eyebrow{margin:0 0 10px}.welcome-row h1{font-size:27px}.welcome-row .muted{font-size:12px;margin:8px 0 0}.date-pill{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:11px;font-weight:700;white-space:nowrap}.notice{display:flex;align-items:flex-start;gap:14px;margin:28px 0 36px;padding:19px 20px;background:#fff;border:1px solid #eadfe2;border-left:3px solid var(--wine2);border-radius:13px}.notice-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f6e9ec;color:var(--wine2);font-size:18px;flex-shrink:0}.notice strong{font-size:12px}.notice p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-heading h2{font:800 18px Manrope;margin:0}.section-heading p{font-size:11px;margin:5px 0 0}.small-count{font-size:9px;letter-spacing:1px;color:#8f858b;font-weight:700}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;min-height:174px;transition:transform .15s,border-color .15s}.module-card:hover{transform:translateY(-2px);border-color:#c8aab2}.module-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;font-size:20px;margin-bottom:18px}.module-icon.burgundy{background:#f5e8eb;color:var(--wine2)}.module-icon.sand{background:#f5eee3;color:#92703d}.module-icon.slate{background:#ececf0;color:#55566b}.module-card strong{font:700 12px Manrope}.module-card>span:not(.module-icon){font-size:10px;color:var(--muted);margin-top:6px}.module-card b{font-size:9px;color:var(--wine2);margin-top:auto;padding-top:17px}.footer{display:flex;justify-content:space-between;gap:15px;color:#a29a9f;font-size:10px;margin-top:36px;padding:18px 0;border-top:1px solid #e6e0e1}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#272127;color:#fff;padding:13px 18px;border-radius:11px;font-size:12px;box-shadow:var(--shadow);transition:.2s;z-index:30;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-wrap{padding:30px 26px}.topbar{padding:0 26px}}
@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:transform .22s;box-shadow:none}.sidebar.open{transform:translateX(0);box-shadow:20px 0 50px #160b0f40}.main-content{width:100%;margin-left:0}.topbar{height:60px;padding:0 17px}.menu-toggle{display:block}.content-wrap{padding:26px 17px 15px}.welcome-row{align-items:flex-start}.welcome-row h1{font-size:23px}.welcome-row .muted{max-width:280px}.date-pill{font-size:10px;padding:9px}.notice{margin:23px 0 28px;padding:15px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-card{padding:14px;min-height:166px}.module-icon{margin-bottom:14px}.module-card strong{font-size:11px}.module-card>span:not(.module-icon){font-size:9px;line-height:1.4}.module-card b{font-size:8px}.small-count{display:none}.footer{font-size:9px}.login-shell{padding:28px 23px;border-radius:20px}.topbar-right{font-size:9px}}
@media(max-width:390px){.module-grid{grid-template-columns:1fr}.module-card{min-height:145px}.date-pill{display:none}}
