:root{--c:#0f766e;--ink:#1e293b;--mut:#64748b;--line:#e2e8f0}
*{box-sizing:border-box}body{margin:0;font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f1f5f9;display:flex;min-height:100vh}
aside{width:230px;background:#0b1f1d;padding:16px 10px;position:sticky;top:0;height:100vh;overflow:auto;flex:none}
aside a{display:block;color:#cbd5e1;padding:8px 12px;border-radius:8px;text-decoration:none}aside a:hover,aside a.on{background:#ffffff1a;color:#fff}
aside .logo{color:#fff;font-weight:700;margin-bottom:10px;font-size:16px}
main{flex:1;padding:28px;min-width:0;max-width:980px}h1{margin-top:0}
a{color:var(--c)}.btn{display:inline-block;background:var(--c);color:#fff!important;padding:9px 18px;border-radius:8px;border:0;font:600 14px inherit;cursor:pointer;text-decoration:none}
.btn.alt{background:#fff;color:var(--c)!important;border:1px solid var(--c)}.btn.danger{background:#dc2626}.btn.sm{padding:4px 12px;font-size:13px}
.tw{overflow:auto;background:#fff;border-radius:12px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--mut)}
.act{white-space:nowrap}.act form{display:inline}.link{background:none;border:0;color:var(--c);cursor:pointer;font:inherit;padding:0 0 0 8px}.link.danger{color:#dc2626}
.form{background:#fff;padding:22px;border-radius:12px;border:1px solid var(--line)}.form label{display:block;margin-bottom:14px;font-weight:600;font-size:14px}
input:not([type=checkbox]),textarea,select{width:100%;padding:9px 11px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;margin-top:4px;font-weight:400;background:#fff}
input[type=color]{height:40px;padding:2px;width:90px}fieldset{border:1px solid var(--line);border-radius:10px;margin:0 0 18px;padding:12px 16px}legend{font-weight:700;padding:0 8px}
.tb{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.tb button{border:1px solid #cbd5e1;background:#f8fafc;border-radius:6px;padding:3px 10px;cursor:pointer}
.ed{min-height:260px;border:1px solid #cbd5e1;border-radius:8px;padding:12px;margin-top:4px;font-weight:400;background:#fff}.ed img{max-width:100%}.cur{display:flex;gap:10px;align-items:center;margin:6px 0}.inl{display:inline;font-weight:400}
.alert{padding:11px 16px;border-radius:10px;margin:14px 0}.alert.ok{background:#dcfce7;color:#166534}.alert.err{background:#fee2e2;color:#991b1b}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.stats b{display:block;font-size:28px;color:var(--c)}.stats span{color:var(--mut)}
.msg{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:12px}.mut{color:var(--mut)}
body.login{display:grid;place-items:center;padding:20px}.login .box{width:100%;max-width:380px}.login h1{margin-bottom:0}
@media(max-width:760px){body{flex-direction:column}aside{width:100%;height:auto;position:static;display:flex;flex-wrap:wrap}main{padding:16px}.stats{grid-template-columns:repeat(2,1fr)}}
