*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f6f8;color:#17212b}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#101820;color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:10}.brand{font-size:22px;font-weight:800;margin:0 8px 30px}.brand span{color:#fff}.brand b{color:#62d26f;margin-left:4px}.sidebar nav{display:grid;gap:7px}.nav{border:0;background:transparent;color:#aeb8c2;padding:13px 15px;border-radius:12px;text-align:left;cursor:pointer;font-weight:650}.nav:hover,.nav.active{background:#1c2934;color:#fff}.logout{margin-top:auto;color:#ff8585;text-decoration:none;padding:14px}.main{margin-left:245px;padding:26px 32px 90px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}header h1{margin:3px 0;font-size:28px}header small,.muted{color:#788590}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#17212b;color:#fff;font-weight:800}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.card,.panel{background:#fff;border:1px solid #e7eaed;border-radius:18px;padding:20px;box-shadow:0 5px 22px #13202b0b}.card small{color:#7b8790}.card strong{display:block;font-size:24px;margin-top:8px}.card .ico{font-size:25px;margin-bottom:10px}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px}.panel h2{margin:0 0 16px;font-size:18px}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.action{padding:24px 12px;border:0;border-radius:16px;background:#eef8ef;font-weight:750;cursor:pointer}.action b{display:block;font-size:27px;margin-bottom:7px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.span2{grid-column:span 2}.field.span3{grid-column:span 3}label{font-size:12px;font-weight:750;color:#596773}input,select,textarea{border:1px solid #dce1e5;border-radius:11px;padding:12px;background:#fff;outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:#63bd70;box-shadow:0 0 0 3px #62d26f22}.btn{border:0;border-radius:11px;padding:12px 17px;cursor:pointer;font-weight:750}.primary{background:#1f9d55;color:#fff}.dark{background:#17212b;color:#fff}.danger{background:#fee;color:#b52626}.wide{width:100%;margin-top:18px}.toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px}.toolbar input{max-width:360px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf0f2;font-size:13px}th{color:#72808a;font-size:11px;text-transform:uppercase}.peso-total{background:#101820;color:#fff;border-radius:18px;padding:20px;margin-top:14px;display:flex;justify-content:space-between;align-items:center}.peso-total strong{font-size:30px;color:#7be184}.item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;align-items:end;margin:10px 0;padding:12px;background:#f8fafb;border-radius:14px}.camera{position:relative;overflow:hidden}.camera input{position:absolute;inset:0;opacity:0;cursor:pointer}.thumb{width:55px;height:55px;object-fit:cover;border-radius:9px}.alert{background:#fff0f0;color:#a32424;padding:12px;border-radius:10px}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#213b32,#101820 60%);padding:20px}.login-card{width:min(420px,100%);background:#fff;border-radius:25px;padding:38px;box-shadow:0 30px 80px #0005}.login-card .big{font-size:29px;margin:0}.login-card .big span{color:#17212b}.login-card label{display:block;margin:16px 0 6px}.login-foot{text-align:center;color:#9aa3aa;font-size:11px;margin-top:24px}.mobile-nav{display:none}#toast{position:fixed;right:20px;bottom:20px;background:#17212b;color:#fff;padding:13px 18px;border-radius:11px;opacity:0;pointer-events:none;transition:.2s;z-index:99}#toast.show{opacity:1}.money-in{color:#138b48;font-weight:700}.money-out{color:#c83e3e;font-weight:700}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.item-row{grid-template-columns:1fr 1fr}.actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{display:none}.main{margin:0;padding:18px 14px 95px}.cards{grid-template-columns:1fr 1fr}.card{padding:15px}.card strong{font-size:19px}.form-grid{grid-template-columns:1fr}.field.span2,.field.span3{grid-column:auto}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;background:#101820;padding:8px 5px calc(8px + env(safe-area-inset-bottom));z-index:20}.mobile-nav button{border:0;background:transparent;color:#fff;font-size:20px}.mobile-nav small{display:block;font-size:9px;margin-top:2px}.item-row{grid-template-columns:1fr}.peso-total{position:sticky;bottom:65px;z-index:5}.toolbar{flex-direction:column}table{min-width:650px}.table-wrap{overflow:auto}.actions{grid-template-columns:1fr 1fr}}
.header-actions{display:flex;align-items:center;gap:10px}.install-btn{background:#e9f8ed;color:#148947;border:1px solid #cdeed5}
.modal-backdrop{position:fixed;inset:0;background:#0b1219aa;display:none;align-items:center;justify-content:center;padding:18px;z-index:200;backdrop-filter:blur(4px)}
.modal-backdrop.open{display:flex}.modal-box{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 100px #0006;animation:pop .16s ease-out}
@keyframes pop{from{transform:translateY(12px) scale(.98);opacity:.5}to{transform:none;opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #eef1f3}.modal-head h3{margin:0}.modal-x{border:0;background:#f1f3f5;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.modal-box #modalBody{padding:20px 22px}.modal-foot{padding:16px 22px;border-top:1px solid #eef1f3;display:flex;justify-content:flex-end;gap:9px}.btn.secondary{background:#edf0f2;color:#34424e}.btn.icon{padding:7px 10px;font-size:12px}.actions-cell{white-space:nowrap}.empty{padding:35px;text-align:center;color:#87929b}.install-steps{display:grid;gap:12px}.install-step{display:flex;gap:12px;padding:14px;background:#f7f9fa;border-radius:14px}.install-step b{font-size:20px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef8ef;color:#158646;font-size:11px;font-weight:800}
@media(max-width:700px){.install-btn{font-size:0;padding:10px}.install-btn:before{content:"⬇";font-size:18px}.modal-backdrop{align-items:flex-end;padding:0}.modal-box{width:100%;border-radius:22px 22px 0 0;max-height:92vh}}
