:root{--bg:#f6f8fc;--panel:#fff;--text:#0d1730;--muted:#64708a;--blue:#0b4dff;--red:#e31b3f;--line:#dfe6f3;--glow:0 0 22px rgba(11,77,255,.16)}[data-theme=dark]{--bg:#07111f;--panel:#0d1a2d;--text:#f6f9ff;--muted:#a9b7d0;--line:#20304a;--glow:0 0 24px rgba(49,116,255,.22)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:8px;padding:.82rem;background:var(--panel);color:var(--text);min-width:0}button{cursor:pointer}.primary{background:linear-gradient(135deg,var(--blue),#2e83ff);color:white;border:0;border-radius:8px;padding:.85rem 1rem;box-shadow:var(--glow);font-weight:800}.ghost,.icon{background:transparent}.wide{width:100%}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--panel);border-right:1px solid var(--line);padding:18px}.brand{display:flex;gap:10px;align-items:center;margin-bottom:18px}.mark,.logo-xl{display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--red));color:#fff;font-weight:900;border-radius:8px;letter-spacing:0}.mark{width:42px;height:42px}.logo-xl{width:76px;height:76px;margin:auto;font-size:22px}.nav{display:grid;gap:6px}.nav a{padding:11px;border-radius:8px;color:var(--muted)}.nav a:hover{background:rgba(11,77,255,.09);color:var(--text)}.shell{margin-left:260px;min-height:100vh}.topbar{height:70px;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel),transparent 10%);position:sticky;top:0;z-index:2;backdrop-filter:blur(12px)}.mobile{display:none}.content{padding:22px;max-width:1180px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.page-head h1{margin:0;font-size:clamp(1.45rem,3vw,2.3rem)}.page-head p{margin:.3rem 0 0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}.cards.three{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.cards article,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:var(--glow)}article span,small{color:var(--muted)}article strong,.detail strong{display:block;font-size:1.55rem;margin:.25rem 0}.danger{color:var(--red)}.ok{color:#00a872}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:grid;gap:12px}.inline,.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters{margin-bottom:14px}.filters input{flex:1;min-width:190px}label{display:grid;gap:6px;color:var(--muted);font-weight:700}label input,label select,label textarea{font-weight:500}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented label{border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--text)}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row span{display:grid;gap:3px}.thumbs{display:flex;gap:12px;flex-wrap:wrap}.thumbs img,.receipt{max-width:180px;border-radius:8px;border:1px solid var(--line)}.login-panel{max-width:390px;margin:9vh auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:var(--glow);text-align:center}.bottom-nav{display:none}.print{background:#fff;color:#111;padding:32px}.alert{background:#fff0f2;color:var(--red);padding:10px;border-radius:8px}@media(max-width:820px){.sidebar{display:none}.shell{margin-left:0}.topbar{justify-content:space-between}.mobile{display:flex}.content{padding:14px 14px 86px}.grid.two{grid-template-columns:1fr}.page-head{align-items:flex-start}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:64px;background:var(--panel);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:5}.bottom-nav a{display:grid;place-items:center;color:var(--muted);font-size:.82rem}.bottom-nav .add{width:54px;height:54px;border-radius:50%;background:var(--red);color:white;margin:-18px auto 0;font-size:2rem;box-shadow:0 0 24px rgba(227,27,63,.32)}.topbar .primary{display:none}.segmented{grid-template-columns:1fr}.cards article strong{font-size:1.32rem}}
