@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700;800&display=swap');
:root{font-family:'Heebo',Arial,sans-serif;color:#182a2b;background:#f3f6f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.hidden{display:none!important}.login-shell{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 8% 0%,#d9e8df,transparent 35%),#eff4f1;padding:24px}.login-card{background:white;padding:35px;border-radius:24px;box-shadow:0 22px 60px #122c2530;max-width:420px;width:100%;text-align:center}.brand-logo{display:inline-grid;place-items:center;width:55px;height:55px;background:#125f51;color:white;border-radius:17px;font-size:34px}.login-card h1{font-size:36px;margin:5px}.login-card p{color:#6d8080}.login-card label{display:block;text-align:right;font-weight:600;margin:14px 0}.login-card input{width:100%;margin-top:6px;border:1px solid #d4dfdc;border-radius:10px;padding:12px;outline-color:#14765e}.primary{background:#12634f;color:white;border:0;border-radius:11px;padding:11px 19px;font-weight:700}.primary:hover{background:#0c4c3b}.full{width:100%;margin-top:12px}.error{color:#a93232!important}.hint{font-size:12px;margin:18px 0 0}.shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#133f36;color:white;display:flex;flex-direction:column;position:fixed;right:0;top:0;bottom:0;padding:23px 16px;gap:30px}.logo{display:flex;gap:12px;align-items:center;font-size:23px}.logo small{display:block;font-size:12px;color:#b8d2c8;font-weight:400}.logo-icon{background:#2c8069;padding:5px 12px;border-radius:12px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{color:#c6d8d3;text-align:right;width:100%;background:transparent;border:0;padding:12px 14px;border-radius:9px}.nav button span{margin-left:12px;font-size:18px}.nav button.active,.nav button:hover{background:#2d6657;color:white}.side-bottom{margin-top:auto;font-size:12px;color:#c4d9d2;display:flex;gap:7px;align-items:center}.dot{width:8px;height:8px;background:#72dcad;border-radius:50%}.link-btn{border:0;background:transparent;text-decoration:underline;color:inherit;margin-right:auto;font-size:12px}main{margin-right:250px;flex:1;min-width:0}.topbar{background:white;display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e4ebe7}.topbar h1{margin:0;font-size:27px}.eyebrow{color:#488370;font-size:12px;font-weight:700;letter-spacing:.03em}.header-actions{display:flex;gap:14px;align-items:center}.avatar{display:grid;place-items:center;color:white;background:#1a765d;border-radius:50%;width:38px;height:38px}.pill{border-radius:100px;padding:6px 14px;background:#eef5f0;font-size:13px;color:#326c5c}.content{padding:28px 30px;max-width:1450px;margin:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric,.panel{background:white;border:1px solid #e3ebe7;border-radius:16px;box-shadow:0 3px 14px #143b3210}.metric{padding:21px}.metric .label{color:#748681;font-size:13px}.metric strong{display:block;font-size:27px;color:#184d40;padding:8px 0}.metric span{font-size:12px;color:#688078}.panel{padding:22px;margin-bottom:20px}.panel h2{font-size:19px;margin:0 0 8px}.panel p{color:#72837c;font-size:14px}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}.toolbar h2{margin:0}.outline,.soft{border:1px solid #bbd4ca;color:#185f4d;background:white;border-radius:10px;padding:9px 14px;font-weight:600}.soft{background:#eaf5f0}.outline:hover,.soft:hover{background:#e1f0e9}.danger{background:#fce9e7;border:1px solid #fac5c0;color:#923d32;border-radius:10px;padding:9px 14px}.search{padding:10px;border:1px solid #dae4de;border-radius:9px;min-width:260px}.tablewrap{overflow-x:auto;border:1px solid #edf0ef;border-radius:12px}table{width:100%;border-collapse:collapse;text-align:right;font-size:13px}th{background:#f8faf9;color:#6e827a;font-weight:600;white-space:nowrap}td,th{padding:12px 14px;border-bottom:1px solid #eef1f0}tr:last-child td{border:0}td{vertical-align:middle}tbody tr:hover{background:#fbfdfb}.money,.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;display:inline-block}.status{display:inline-flex;border-radius:20px;background:#e6f5ed;padding:4px 10px;color:#227754;font-size:12px;font-weight:700;white-space:nowrap}.status.wait{background:#fff2d4;color:#916b1f}.status.alert{background:#ffe8e5;color:#b84736}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.controls input,.controls select,.controls textarea,.form-row input,.form-row select{border:1px solid #d8e2dc;border-radius:9px;padding:9px;max-width:100%;background:white}.form-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.form-row label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#62776c;flex:1;min-width:140px}.form-row button{white-space:nowrap}.note{color:#647c75;background:#f0f7f3;padding:12px 15px;border-radius:10px;font-size:13px;margin:14px 0}.warning{background:#fff8e8;color:#795d2b}.notice{margin:15px 30px 0;border-radius:12px;background:#dff1e8;color:#175b42;padding:13px 18px}.notice.bad{background:#fde9e7;color:#993b32}.empty{text-align:center;padding:35px;color:#799087}.row-action{padding:5px 10px;font-size:12px}.listitem{border-bottom:1px solid #eef2ee;padding:12px 0}.listitem:last-child{border:0}.date-title{color:#155941;font-weight:700;margin-bottom:8px}.meal{margin-bottom:10px;display:flex;gap:9px}.meal b{min-width:48px;color:#17725b}.muted{color:#7e8c87;font-size:12px}.content h3{margin:20px 0 8px}.badgecount{background:#f1f6f4;border-radius:20px;padding:4px 12px;font-size:12px;margin-right:10px}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:720px){.shell{display:block}.sidebar{position:static;width:100%;padding:13px;gap:8px}.logo{font-size:19px}.side-bottom{display:none}.nav{display:flex;flex-direction:row;overflow:auto;gap:4px}.nav button{flex:0 0 auto;width:auto;white-space:nowrap;padding:8px 10px;font-size:12px}.nav button span{display:none}main{margin-right:0}.topbar{padding:18px}.topbar h1{font-size:23px}.content{padding:16px}.cards{gap:10px}.metric{padding:15px}.metric strong{font-size:22px}}
