:root{--navy:#14532d;--teal:#15803d;--teal-dark:#166534;--bg:#f3f8f4;--panel:#fff;--text:#172a1d;--muted:#64746b;--line:#d5e3d8;--danger:#b42318;--success:#067647;--header-h:64px;--footer-h:34px}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{padding:var(--header-h) 0 var(--footer-h);background:var(--bg);color:var(--text);font:14px/1.45 Inter,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button,.button{min-height:36px;padding:7px 12px;border:1px solid #b7ceb9;border-radius:8px;background:#fff;color:var(--text);cursor:pointer;text-decoration:none;font-weight:650}button:hover,.button:hover{border-color:#6d9d75;background:#f8fcf8}.primary{border-color:var(--teal);background:var(--teal);color:#fff}.primary:hover{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff}input,select,textarea{width:100%;min-height:38px;padding:7px 10px;border:1px solid #bfd3c2;border-radius:7px;background:#fff;color:var(--text)}textarea{min-height:120px;resize:vertical;font-family:Consolas,monospace}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #9ed8ab;outline-offset:1px}
.app-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);padding:7px 18px;display:flex;align-items:center;gap:18px;background:var(--navy);color:#fff;box-shadow:0 3px 14px #08251333}.brand{display:flex;align-items:center;gap:10px;min-width:235px;color:#fff;text-decoration:none;font-size:16px;font-weight:800}.brand-mark{width:43px;height:43px;flex:0 0 auto}.brand small{display:block;margin-top:2px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.72}.app-header nav{display:flex;align-items:center;gap:4px}.app-header nav a{padding:9px 12px;border-radius:7px;color:#dff0e2;text-decoration:none;font-weight:700}.app-header nav a:hover,.app-header nav a.active{background:#ffffff20;color:#fff}.user-menu{position:relative;margin-left:auto}.user-menu-button{display:flex;align-items:center;gap:8px;min-height:38px;border-color:#ffffff33;background:#ffffff12;color:#fff}.user-menu-button:hover{background:#ffffff20;color:#fff}.avatar{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#9be2af;color:#15361f;font-size:11px;font-weight:850}.menu-chevron{width:8px;height:8px;margin:0 2px 4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}.user-menu.open .menu-chevron{margin:4px 2px 0;transform:rotate(225deg)}.user-dropdown{display:none;position:absolute;right:0;top:calc(100% + 7px);width:180px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 32px #0b223544;color:var(--text)}.user-menu.open .user-dropdown{display:block}.user-dropdown .role{display:block;padding:5px 8px;color:var(--muted);font-size:12px}.user-dropdown form,.user-dropdown button{width:100%}.user-dropdown button{text-align:left;border:0;box-shadow:none}
.app-main{width:100%;min-height:calc(100vh - var(--header-h) - var(--footer-h));padding:22px 18px 28px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.page-head h1{margin:0;font-size:30px;letter-spacing:-.03em}.muted{color:var(--muted)}.panel{padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 22px #1430500d}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{position:sticky;top:0;background:#f8fcf8;color:#405c46;font-size:12px;z-index:1}tr:last-child td{border-bottom:0}.listing-link{font-weight:750;color:var(--navy);text-decoration:none}.subtext{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:12px}.status{display:inline-block;padding:3px 7px;border-radius:99px;background:#eef2f0;font-weight:750;font-size:12px}.status.live{background:#e7f7ee;color:var(--success)}.status.suspended{background:#fff0ef;color:var(--danger)}.status.pending{background:#fff5e8;color:#9a5400}.ratings{display:grid;gap:2px;font-size:12px}.flash{margin:0 18px 12px;padding:10px 13px;border-radius:8px}.flash.error{background:#fff0ef;color:var(--danger)}.flash.success{background:#e8f7ee;color:var(--success)}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(290px,1fr));gap:12px;align-items:stretch}.settings-panel{min-height:315px}.settings-panel h2{margin-top:0;font-size:18px}.settings-panel label{display:grid;gap:5px;margin:12px 0;color:#34495e;font-weight:650}.settings-actions{margin-top:18px}.app-footer{position:fixed;inset:auto 0 0;z-index:100;height:var(--footer-h);padding:7px 18px;background:var(--navy);color:#d6ead9;font-size:12px}.dialog-backdrop{display:none;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center;padding:18px;background:#09201499}.dialog-backdrop.open{display:flex}.dialog{width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px;background:#fff;border-radius:13px;box-shadow:0 18px 58px #0006}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog h2{margin:0}.dialog-close{border:0;background:transparent;font-size:25px}.dialog label{display:grid;gap:5px;margin:14px 0;font-weight:650}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.add-user-form{display:grid;grid-template-columns:180px 250px 220px 130px auto;gap:10px;align-items:end}.add-user-form label{display:grid;gap:5px;font-weight:650}.user-actions{display:flex;gap:6px}.user-actions button{min-width:72px}.pagination{display:flex;align-items:center;gap:8px;min-height:48px;margin-top:12px}.pagination form{display:flex;align-items:center;gap:6px;margin-left:auto}.pagination select{width:auto;min-width:78px}.pagination a,.pagination span{padding:6px 9px;border-radius:7px;text-decoration:none}.pagination a{border:1px solid #b7ceb9;color:var(--text);background:#fff}.pagination .current{background:#e7f5ea;color:var(--teal-dark);font-weight:800}.blocked{color:var(--danger);font-weight:750}
.settings-head{justify-content:center}.settings-head>div{position:absolute;left:18px}.checkbox-row{display:flex!important;align-items:center;gap:8px;min-height:38px}.checkbox-row input[type="checkbox"]{width:17px;min-width:17px;height:17px;min-height:17px;margin:0;accent-color:var(--teal)}.toolbar{display:flex;align-items:end;gap:8px}.toolbar form label{display:grid;gap:4px;font-size:12px;font-weight:750}.toolbar input{width:150px}.logs-panel{padding:0;overflow:auto;max-height:calc(100vh - 195px)}.log-text{min-width:max-content;margin:0;padding:15px;white-space:pre;overflow:visible;font:12px/1.45 Consolas,"Courier New",monospace}@media(max-width:840px){.settings-head{justify-content:space-between}.settings-head>div{position:static}.toolbar{flex-wrap:wrap}.logs-panel{max-height:calc(100vh - 250px)}}
@media(max-width:840px){body{padding-top:auto}.app-header{height:auto;min-height:64px;flex-wrap:wrap;padding:8px}.brand{min-width:0}.app-header nav{order:3;width:100%;overflow-x:auto}.app-main{padding:18px 10px}.settings-grid,.add-user-form{grid-template-columns:1fr}.user-menu{margin-left:auto}.pagination{flex-wrap:wrap}.pagination form{margin-left:0}}
