:root{color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#111;background:#f7f8fa}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:#f7f8fa;color:#111}
header{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #ddd;padding:10px}
main{padding:10px 10px 84px;max-width:920px;margin:0 auto}
input[type=search],input[type=text],input[type=password],textarea{width:100%;padding:12px;border:1px solid #c7cbd1;border-radius:10px;font:inherit;font-size:16px;background:#fff}
input[type=search]{padding-right:48px}
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.search-wrap{position:relative;width:100%;min-width:0}.row>.search-wrap{flex:1 1 240px}
.search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;border:0;border-radius:9px;background:transparent;color:#222;font:700 29px/1 system-ui,-apple-system,sans-serif;cursor:pointer;touch-action:manipulation}
.search-clear:active{background:#e7ebf0}.search-clear:focus-visible{outline:2px solid #1676d2;outline-offset:1px}
textarea{resize:vertical}
.count{font-size:13px;color:#555;margin:6px 0}
.item,.panel{border:1px solid #e0e3e8;border-radius:12px;padding:12px;margin:10px 0;background:#fff;box-shadow:0 1px 3px #0000000a}
.q{font-weight:600}.a{white-space:pre-wrap;margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border:1px solid #b9bec6;border-radius:10px;text-decoration:none;color:#111;background:#f5f5f5;font:inherit;cursor:pointer}
.btn:hover{background:#eaeaea}.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.danger{color:#a40000}.btn.primary{background:#e9f2ff;border-color:#9cbfe8}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.small{font-size:12px;color:#666}.status{min-height:18px;font-size:13px;color:#075}.status.error{color:#a40000}
mark{background:transparent;color:#0366d6;font-weight:700}
label.option{display:flex;align-items:center;gap:7px;margin:8px 0}
label.option input{width:auto}
hr{border:0;border-top:1px solid #ddd;margin:20px 0}
.editor label{display:block;margin:7px 0 3px}
.editor .row{margin-top:8px}
.loading{text-align:center;color:#666;padding:30px}
.topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:920px;margin:auto}
.topline .spacer{margin-left:auto}.user-label{font-size:13px;color:#555}
.nav{position:fixed;z-index:5;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid #d8dce2;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}
.nav a{position:relative;text-align:center;text-decoration:none;color:#333;padding:8px 3px;border-radius:9px;font-size:13px}.nav a.active{background:#e9f2ff;color:#075aab;font-weight:600}
.password-wrap{position:relative}.password-wrap input{padding-right:52px}.eye{position:absolute;right:4px;top:4px;width:44px;height:40px;border:0;background:transparent;border-radius:8px;font-size:20px;cursor:pointer}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:min(100%,420px);background:#fff;border:1px solid #ddd;border-radius:16px;padding:20px;box-shadow:0 8px 30px #00000012}.auth-card h1{font-size:23px;margin:0 0 6px}.auth-card label,.form-label{display:block;font-size:13px;color:#555;margin:12px 0 4px}.auth-card .btn{width:100%;margin-top:14px}.auth-link{text-align:center;margin-top:16px}.notice{border-radius:10px;padding:10px;background:#fff6d8;color:#6b5200;font-size:13px}.role{display:inline-block;border-radius:10px;padding:3px 8px;background:#edf1f5;font-size:12px}.role.admin{background:#fff0d5;color:#744800}
.proposal-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.proposal-meta{font-size:12px;color:#666;margin:4px 0 10px}.proposal-block{border-left:3px solid #b9bec6;padding-left:9px;margin:8px 0}.proposal-block.new{border-color:#2e7d32}.proposal-block.old{border-color:#c62828}.proposal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.status-pill{font-size:12px;border-radius:12px;padding:3px 8px;background:#fff4cc;color:#6b5200}.status-pill.approved{background:#e1f5e5;color:#176325}.status-pill.rejected{background:#fde5e5;color:#8d1d1d}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.admin-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;position:sticky;top:58px;z-index:3;background:#f7f8fa;padding:7px 0}.admin-tabs .btn{width:auto;padding-inline:7px}.admin-section h2{font-size:21px;margin-top:4px}.domain-checklist{margin-top:18px}.domain-checklist ol{padding-left:20px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}.stat{background:#fff;border:1px solid #e0e3e8;border-radius:12px;padding:12px}.stat b{display:block;font-size:24px}.stat span{font-size:12px;color:#666}.filter-grid,.settings-grid{display:grid;gap:8px}.filter-grid select{width:100%;min-height:42px;border:1px solid #c7cbd1;border-radius:10px;background:#fff;padding:8px;font:inherit}.settings-grid label{font-size:12px;color:#555}.settings-grid input{margin-top:4px}.log-details{margin-top:8px;white-space:pre-wrap}.user-agent{font-size:11px;color:#888;margin-top:8px;word-break:break-word}.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.client-field{min-width:0}.client-field span{display:block;font-size:11px;color:#777}.client-field b{display:block;margin-top:2px;font-size:13px;overflow-wrap:anywhere}.online-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#a8adb5;margin-right:6px}.online-dot.on{background:#25a244}
@media(min-width:760px){.summary-grid{grid-template-columns:repeat(4,1fr)}.filter-grid{grid-template-columns:2fr 1.3fr auto}.settings-grid{grid-template-columns:repeat(2,1fr)}.admin-tabs{top:0;position:relative}}
@media(min-width:760px){.nav{position:static;display:flex;border:0;padding:0;margin-left:auto}.nav a{padding:7px 10px}main{padding-bottom:24px}}
@media(max-width:600px){header{padding:9px}.btn{width:100%}.row>.btn{flex:1}.topline .spacer{display:none}.topline .user-label{width:100%}h3{margin-bottom:10px}.proposal-actions .btn{width:auto}.item{padding:11px}.auth-card{padding:17px}.desktop-only{display:none}}
