*{box-sizing:border-box}body{margin:0;background:#f3f6f4;color:#17231e;font:14px/1.45 Inter,system-ui,sans-serif}input,select,button{font:inherit}.app{display:grid;grid-template-columns:235px 1fr;min-height:100vh}aside{background:#102c22;color:white;padding:24px 16px;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:850;display:flex;align-items:center;gap:10px;margin-bottom:25px}.brand b{width:35px;height:35px;background:#d8ff62;color:#173124;border-radius:10px;display:grid;place-items:center}nav{display:grid;gap:5px}nav a{padding:11px 12px;border-radius:9px;color:#aac0b6;text-decoration:none}nav a.active,nav a:hover{background:#214437;color:white}.user{margin-top:auto;border-top:1px solid #315044;padding:15px 10px}.user a{display:block;color:#b8cdc4;margin-top:5px}main{padding:25px 30px 40px;overflow:hidden}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}header small{color:#718079;font-weight:850;letter-spacing:.08em}h1{margin:2px 0;font-size:28px}h2{margin:0 0 5px}.actions{display:flex;gap:8px}.btn,button{border:1px solid #cedad4;background:white;border-radius:9px;padding:9px 13px;font-weight:750;color:#17231e;text-decoration:none;cursor:pointer}.btn.primary,form>button{background:#196449;color:white;border-color:#196449}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.card,.panel{background:white;border:1px solid #dfe7e3;border-radius:13px;padding:17px}.card small{display:block;color:#718079;font-weight:850}.card strong{display:block;font-size:26px;margin-top:7px}.alerts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.alerts div{background:white;border:1px solid #dfe7e3;border-left:4px solid #d99a43;border-radius:9px;padding:12px}.alerts span,td span,.settingrow small{display:block;color:#718079;font-size:12px;margin-top:2px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters input{min-width:260px}.filters input,.filters select,label input,label select{border:1px solid #cbd7d1;border-radius:8px;padding:9px 11px;background:white}.filters a{padding:9px;color:#196449}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:930px}th{text-align:left;color:#718079;font-size:10px;padding:9px;text-transform:uppercase}td{border-top:1px solid #edf1ef;padding:11px 9px}code{background:#eef3f0;padding:4px 7px;border-radius:5px}.pill{display:inline-block;background:#e4f4eb;color:#24674c;padding:5px 8px;border-radius:99px;font-weight:800}.mini{padding:6px 8px}.empty{text-align:center;padding:35px;color:#718079}dialog{border:0;border-radius:15px;padding:23px;width:min(760px,calc(100% - 30px));max-height:92vh}dialog::backdrop{background:#0b1d168c}.dialoghead{display:flex;justify-content:space-between}.dialoghead p{margin:0;color:#718079}.dialoghead>button{border:0;font-size:22px}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #e1e9e5;padding-bottom:10px;margin:17px 0}.tabs button{background:#edf3f0;border:0;padding:7px 10px}.tabs button.on{background:#193f31;color:white}.tab{display:none}.tab.on{display:grid}.formgrid{grid-template-columns:1fr 1fr;gap:11px}.formgrid label{font-size:11px;font-weight:750}.formgrid input,.formgrid select{width:100%;display:block;margin-top:4px}.full{grid-column:1/-1}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.upload{border:2px dashed #b9c8c0;border-radius:10px;padding:22px;text-align:center}.upload span{display:block;color:#718079;margin-top:6px}.dialogfoot{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #e5ebe8}.qr{text-align:center}.qr #qrcode{display:flex;justify-content:center;margin:15px}.install{min-height:100vh;display:grid;place-items:center;background:#eaf0ed}.installer{width:min(680px,calc(100% - 30px));background:white;padding:30px;border-radius:16px}.installer .grid,.addform{display:grid;grid-template-columns:1fr 1fr;gap:12px}.installer label,.addform label{display:grid;gap:5px;font-weight:700}.installer input,.installer select{width:100%}.installer button{margin-top:15px}.installer.login{width:min(430px,calc(100% - 30px))}.installer.login form{display:grid;gap:12px}.error,.success{padding:11px;border-radius:8px;margin:12px 0}.error{background:#ffebe6;color:#9e3829}.success{background:#e5f5ec;color:#176447}.settingsgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel p{color:#718079}.settingrow{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7ece9;padding:10px 0}.rowactions{display:flex;gap:5px}.rowactions form{margin:0}.danger{color:#a33d29;background:#fff}.addform{margin-top:15px;background:#f4f7f5;padding:12px;border-radius:9px}.addform button{align-self:end}.full{grid-column:1/-1}@media(max-width:900px){.app{grid-template-columns:72px 1fr}.brand span,nav a:not(.active),.user{display:none}main{padding:18px}.stats{grid-template-columns:1fr 1fr}.settingsgrid{grid-template-columns:1fr}}@media(max-width:620px){.app{display:block}aside{display:none}main{padding:14px}.alerts,.formgrid,.installer .grid,.addform{grid-template-columns:1fr}.full{grid-column:auto}header{align-items:flex-start;gap:10px}.actions{flex-wrap:wrap}}

