:root{--navy:#0b1f3a;--blue:#123e72;--gold:#d49b32;--bg:#f4f6f9;--line:#dde3ea}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#172234;font:14px/1.5 system-ui}
.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(180deg,var(--navy),#071425);padding:24px;color:#fff;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:30px}
.brand span{background:var(--gold);color:#111;padding:9px;border-radius:9px;font-weight:800}
.sidebar nav{display:grid;gap:7px;flex:1}
.sidebar nav a{color:#dce7f5;text-decoration:none;padding:11px;border-radius:8px}
.sidebar nav a:hover{background:#ffffff15}
.content{margin-left:230px;padding:28px;max-width:1600px}
.content>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.content h1{margin:0;font-size:28px}
.content h2{font-size:17px}
.content small,.card-panel small{display:block;color:#657287}
.user{background:white;border:1px solid var(--line);padding:8px 12px;border-radius:20px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.metric,.card-panel{background:white;border:1px solid var(--line);border-radius:13px;padding:19px;box-shadow:0 3px 14px #17223408}
.metric strong{display:block;font-size:30px;margin-top:8px}
.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:18px}
.issue,.revision{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0}
.issue small{color:#a33}
.toolbar{display:flex;justify-content:space-between;margin-bottom:16px}
.toolbar form{display:flex;gap:8px}
.toolbar input{width:300px}
.table td{vertical-align:middle}
.badge-soft{background:#e8eef7;color:var(--blue);padding:4px 8px;border-radius:20px}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}
.editor-layout>div{display:grid;gap:18px}
.sticky{position:sticky;top:20px;display:grid;gap:14px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card-panel label{display:grid;gap:5px;margin-bottom:12px;font-weight:600}
.wysiwyg,.code-editor{min-height:420px;border:1px solid var(--line);padding:18px;border-radius:8px}
.code-editor{display:none;font-family:Consolas,monospace}
textarea[name="Post.CustomSchemaJson"],.schema-code-editor{display:block!important;min-height:300px;font-family:Consolas,"Courier New",monospace;font-size:13px;line-height:1.55;white-space:pre;overflow:auto;resize:vertical}
.section-title,.preview-tools{display:flex;justify-content:space-between;gap:7px}
.preview-tools{justify-content:flex-start;margin:12px 0}
.preview-tools button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:6px 10px}
#previewFrame{width:100%;height:500px;border:1px solid var(--line);border-radius:8px}
.validation{padding:9px;border-left:4px solid #d99b29;margin:7px 0;display:grid}
.validation.error{border-color:#c33;background:#fff4f4}
.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.upload{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.media-placeholder{aspect-ratio:16/9;background:#e8edf3;display:grid;place-items:center;margin-bottom:8px}
.narrow{max-width:700px}
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#071425,#16497f)}
.login-card{width:min(420px,92vw);background:white;padding:35px;border-radius:18px;box-shadow:0 20px 50px #0005}
.login-card label{display:block;margin:14px 0 5px}
.login-card .brand{color:var(--navy)}
@media(max-width:900px){.sidebar{position:static;width:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.content{margin:0;padding:16px}.metrics,.grid-2,.editor-layout,.field-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr 1fr}.sticky{position:static}}
