:root{--navy:#111f3f;--blue:#20386f;--green:#4c8b70;--lime:#cce790;--bg:#f3f6f1;--line:#dbe1df;--muted:#718096}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--navy);font:14px/1.45 "Segoe UI",system-ui,sans-serif}a{text-decoration:none;color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:var(--navy);color:#eef4ed;padding:27px 30px;overflow:auto}.admin-brand{display:flex;align-items:center;gap:10px;font-size:18px;margin-bottom:50px}.admin-brand span{background:var(--lime);color:#23456a;font-weight:900;width:31px;height:31px;border-radius:50%;display:grid;place-items:center}.admin-brand i{color:#e53653}.sidebar>small{display:block;color:#77a992;font-size:9px;margin:28px 0 12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:8px 2px;color:#e5efec}.sidebar nav a:hover{color:var(--lime);transform:translateX(2px)}.view-site{display:block;color:var(--lime);margin-top:35px;font-size:12px}.admin-shell{margin-left:235px;min-height:100vh}.admin-top{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px}.admin-top i{display:inline-block;width:7px;height:7px;background:#df2143;border-radius:50%;margin-right:10px}.admin-top div{display:flex;gap:24px}.admin-main{padding:40px 34px 70px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.page-heading small,.panel-head small{font-weight:800;font-size:11px}.page-heading h1{font:700 clamp(30px,4vw,40px) Georgia,serif;margin:12px 0 0}.primary-btn,.outline-btn{display:inline-block;border:1px solid var(--navy);border-radius:6px;padding:13px 19px;font-weight:700;background:var(--navy);color:#fff}.outline-btn{background:#fff;color:var(--navy)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:25px}.metric{background:#fff;border:1px solid var(--line);border-radius:9px;padding:27px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font:700 36px Georgia,serif;margin:10px 0}.metric.primary{background:var(--blue);color:#fff}.metric.primary span,.metric.primary small{color:#dce5e8}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:25px;margin-bottom:25px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;padding:27px;min-width:0}.panel h2{font:700 24px Georgia,serif}.panel-head{display:flex;align-items:center;justify-content:space-between}.chart{width:100%;height:240px;margin:20px 0}.chart .grid{stroke:#e3e9e5;stroke-width:.4;fill:none}.chart polyline{stroke:var(--green);stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke}.empty-chart{height:220px;display:grid;place-items:center;color:var(--muted);background:#fafbf9}.chart-totals{display:flex;gap:55px;border-top:1px solid var(--line);padding-top:18px}.chart-totals b{font-size:20px}.chart-totals small{font-weight:400;color:var(--muted)}.glance dl{display:grid;grid-template-columns:1fr auto;gap:18px}.glance dt,.glance dd{margin:0}.glance dd{font-weight:800}.quick-actions{display:grid;gap:12px}.quick-actions a{border:1px solid var(--line);padding:14px;border-radius:5px;font-weight:700}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;margin-top:15px}th,td{padding:14px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase}td small{display:block;color:var(--muted)}.status{padding:5px 9px;border-radius:20px;font-size:11px}.status.live{background:#e6f5e8;color:#267044}.status.off{background:#eef0f3;color:#687184}.notice{padding:14px 17px;margin-bottom:18px;border-radius:5px}.notice.success{background:#e5f5e9;color:#22673b}.notice.error{background:#fee9e9;color:#9d2530}.ad-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:24px}.ad-editor form,.search-form{display:grid;gap:14px}.ad-editor label{display:grid;gap:6px;font-weight:600}.ad-editor input,.ad-editor select,.ad-editor textarea{width:100%;border:1px solid var(--line);border-radius:5px;padding:11px;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ad-editor .check{display:flex;align-items:center;grid-template-columns:auto 1fr}.ad-editor .check input{width:auto}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-visual{background:var(--navy);color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:end}.login-visual h1{font:700 54px/1.1 Georgia,serif}.login-card{width:min(430px,calc(100% - 40px));margin:auto}.login-card h2{font:700 35px Georgia,serif}.login-card form{display:grid;gap:16px}.login-card label{display:grid;gap:6px;font-weight:700}.login-card input{padding:13px;border:1px solid var(--line);border-radius:5px}.login-card button{border:0;padding:14px;background:var(--navy);color:#fff;font-weight:700;border-radius:5px}
@media(max-width:1000px){.sidebar{width:205px;padding:25px 20px}.admin-shell{margin-left:205px}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.ad-layout{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{position:static;width:auto}.sidebar nav{grid-template-columns:1fr 1fr}.admin-shell{margin-left:0}.admin-main{padding:25px 14px}.admin-top{padding:0 15px}.admin-top span{display:none}.metric-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}}
.admin-brand img{display:block;width:40px;height:40px;object-fit:contain}.branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.brand-upload{border:1px solid var(--line);border-radius:8px;padding:18px;background:#fafbf9}.brand-preview{height:110px;display:grid;place-items:center;background:#fff;border:1px dashed var(--line);border-radius:6px;margin-bottom:14px}.brand-preview img{width:40px;height:40px;object-fit:contain}.brand-placeholder{color:var(--muted);font-size:12px}.branding-advanced{margin-bottom:24px}.branding-advanced summary{cursor:pointer;font-weight:700;margin-bottom:14px}.login-logo{display:block;width:40px;height:40px;object-fit:contain;margin-bottom:24px}@media(max-width:700px){.branding-grid{grid-template-columns:1fr}}
.inbox-message{margin-bottom:18px}.inbox-message.is-new{border-left:4px solid var(--green)}.inbox-message header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.inbox-message h2{margin:10px 0 5px;font-size:22px}.inbox-message header p{margin:0;color:var(--muted)}.inbox-message time{color:var(--muted);font-size:12px;white-space:nowrap}.inbox-body{padding:22px 0;line-height:1.7;overflow-wrap:anywhere}.inbox-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inbox-actions label{font-weight:700}.inbox-actions select{width:auto;min-width:130px}.inbox-actions .btn{padding:10px 15px}@media(max-width:700px){.inbox-message header{display:block}.inbox-message time{display:block;margin-top:10px}.inbox-actions{align-items:stretch}.inbox-actions select,.inbox-actions .btn{width:100%}}

/* Shared admin toggle and checkbox controls. These rules intentionally follow Bootstrap. */
.admin-main .admin-switch {
    display:flex;
    align-items:center;
    gap:12px;
    width:fit-content;
    min-height:46px;
    margin:2px 0;
    padding:9px 14px;
    border:1px solid #d8dfdc;
    border-radius:8px;
    background:#f8faf8
}

.admin-main .admin-switch .form-check-input {
    appearance:none!important;
    -webkit-appearance:none!important;
    position:static!important;
    float:none!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:24px!important;
    margin:0!important;
    border:1px solid #aeb8b5!important;
    border-radius:999px!important;
    background-color:#d6dcda!important;
    background-image:radial-gradient(circle at 11px 50%,#fff 0 8px,transparent 8.5px)!important;
    background-repeat:no-repeat!important;
    background-size:100% 100%!important;
    box-shadow:inset 0 1px 2px rgba(16,31,63,.1)!important;
    cursor:pointer;
    transition:background-color .18s,border-color .18s,background-image .18s,box-shadow .18s
}

.admin-main .admin-switch .form-check-input:checked {
    border-color:var(--blue)!important;
    background-color:var(--blue)!important;
    background-image:radial-gradient(circle at 32px 50%,#fff 0 8px,transparent 8.5px)!important
}

.admin-main .admin-switch .form-check-input:focus-visible {
    outline:0!important;
    box-shadow:0 0 0 4px rgba(32,56,111,.18)!important
}

.admin-main .admin-switch .form-check-input:disabled {
    opacity:.55;
    cursor:not-allowed
}

.admin-main .admin-switch .form-check-label {
    margin:0!important;
    color:var(--navy);
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.25;
    cursor:pointer
}

.admin-main input[type="checkbox"]:not(.form-check-input) {
    width:18px!important;
    height:18px!important;
    min-width:18px;
    margin:0 7px 0 0!important;
    accent-color:var(--blue);
    vertical-align:middle;
    cursor:pointer
}

.admin-main label.check {
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
    min-height:34px;
    margin:0!important;
    padding:6px 8px;
    border-radius:5px;
    cursor:pointer
}

.admin-main label.check:hover { background:#f2f5f2 }
.story-image-option input[type="checkbox"] { position:relative;z-index:1 }

@media(max-width:600px) {
    .admin-main .admin-switch { width:100% }
}

.confirm-open { overflow:hidden }
.admin-confirm-layer[hidden] { display:none }
.admin-confirm-layer {
    position:fixed;
    inset:0;
    z-index:1000;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(8,18,42,.62);
    backdrop-filter:blur(2px)
}

.admin-confirm-dialog {
    width:min(440px,100%);
    border:1px solid #d7dfe3;
    border-radius:12px;
    background:#fff;
    padding:28px;
    box-shadow:0 24px 70px rgba(4,15,35,.3)
}

.admin-confirm-icon {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:16px;
    border-radius:50%;
    background:#fff1d6;
    color:#8a5b00;
    font-size:22px;
    font-weight:800
}

.admin-confirm-dialog h2 { margin:0 0 9px;font:700 25px Georgia,serif }
.admin-confirm-dialog p { margin:0;color:var(--muted);line-height:1.6 }
.admin-confirm-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:26px }
.admin-confirm-actions .btn { min-width:96px;padding:10px 16px;font-weight:700;text-decoration:none }
.admin-confirm-actions .btn-danger { background:#b4232e;border-color:#b4232e;color:#fff }

@media(max-width:480px) {
    .admin-confirm-dialog { padding:22px }
    .admin-confirm-actions { flex-direction:column-reverse }
    .admin-confirm-actions .btn { width:100% }
}
.entity-editor{margin-top:24px}.entity-editor>div{display:grid;gap:14px;max-width:900px}.entity-editor label{display:grid;gap:6px;font-weight:600}.entity-editor input,.entity-editor select,.entity-editor textarea{width:100%;border:1px solid var(--line);border-radius:5px;padding:11px;font:inherit}.entity-editor .check{display:flex;align-items:center}.entity-editor .check input{width:auto}.table-edit{font-weight:700;text-decoration:underline}
.editor-titlebar{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.editor-titlebar h2{font:700 34px Georgia,serif;margin:8px 0}.editor-titlebar>a{font-size:12px;color:var(--muted)}.editor-grid{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(270px,1fr);gap:24px}.stack-form{display:flex;flex-direction:column;gap:10px}.stack-form label{font-size:12px;font-weight:700}.stack-form input,.stack-form textarea,.stack-form select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:5px;padding:11px;font:inherit}.stack-form .check{display:flex;gap:9px;align-items:center}.stack-form .check input{width:auto;margin:0}.headline-input{font-size:24px!important;font-weight:700}.editor-toolbar{display:flex;gap:5px;flex-wrap:wrap;background:#f3f6f1;padding:8px;border:1px solid var(--line);border-radius:5px}.editor-toolbar button{background:#fff;border:1px solid #d9dfd4;border-radius:3px;padding:7px 10px;font-size:11px}.visual-editor{min-height:380px;border:1px solid var(--line);border-radius:5px;padding:20px;font-size:17px;line-height:1.8;overflow-wrap:anywhere;background:#fff}.visual-editor:focus{outline:2px solid #4c8b7066}.visual-editor h2{font-size:25px}.visual-editor blockquote{border-left:3px solid #9ab783;margin-left:0;padding-left:20px}.code-editor{font-family:Consolas,monospace!important;font-size:12px!important}.status-badge{padding:6px 10px;border:1px solid var(--line);border-radius:4px;font-size:11px;background:#edf0e8}.status-Published{background:#e7f3dc;color:#3c651e}.status-PendingReview{background:#fff3d5;color:#735720}.status-Scheduled{background:#e5eef8;color:#375a7b}.form-actions{display:flex;gap:10px;align-items:center}.editor-form small{color:var(--muted)}
@media(max-width:850px){.editor-grid{grid-template-columns:1fr}.editor-titlebar{align-items:flex-start}.visual-editor{min-height:280px}}
.workflow-actions{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.workflow-actions form{display:flex;gap:8px;align-items:end}.workflow-actions label{font-size:12px;font-weight:600}.workflow-actions input{display:block;margin-top:6px;border:1px solid var(--line);border-radius:5px;padding:10px}
.media-heading{margin-bottom:28px}.media-heading>span{font-size:10px;font-weight:800;letter-spacing:.08em}.media-heading h1{font:700 36px Georgia,serif;margin:12px 0}.media-heading p{color:var(--muted)}.media-upload{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.media-upload label,.media-card label{font-size:12px;font-weight:650}.media-upload input,.media-card input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:5px;padding:10px}.media-upload small{align-self:center}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.media-card{display:flex;flex-direction:column;gap:13px}.media-card>img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:6px;background:#eef1ec}.media-card h3{font-size:15px;margin:0;overflow-wrap:anywhere}.media-card>small{color:var(--muted)}.media-actions{display:flex;gap:12px;align-items:center}.media-card details{border-top:1px solid var(--line);padding-top:10px}.media-card details summary{cursor:pointer}.danger-link{border:0;background:none;color:#a33232;padding:0;cursor:pointer}.media-card .stack-form{border-top:1px solid var(--line);padding-top:12px}.media-card .stack-form .outline-btn{align-self:flex-start}
@media(max-width:1100px){.media-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.media-upload,.media-grid{grid-template-columns:1fr}}
.page-note,.section-intro p{color:var(--muted);margin-top:-16px}.section-intro{display:flex;justify-content:space-between;align-items:center;margin:-12px 0 24px}.settings-form,.record-form{display:grid;gap:18px}.settings-form label,.record-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.settings-form input,.settings-form select,.settings-form textarea,.record-form input,.record-form select,.record-form textarea{width:100%;border:1px solid #cfd8d3;border-radius:5px;padding:12px;font:inherit;background:#fff;color:var(--navy)}.settings-form textarea{min-height:112px;resize:vertical}.settings-form>.primary-btn,.record-form>.primary-btn{justify-self:start}.record-card{margin-top:22px}.record-card h2{margin:0 0 22px}.record-form .check{display:flex;align-items:center;gap:9px;align-self:end;min-height:44px}.record-form .check input{width:auto}.record-form>.primary-btn{margin-top:2px}.field-help{font-size:11px;font-weight:600;align-self:center;color:#273552}.delete-form{margin-top:15px}.ad-record{overflow:hidden}.ad-preview{display:block;width:min(320px,100%);max-height:220px;object-fit:cover;border-radius:6px;margin-bottom:22px;background:#eef1ec}.ad-record+.ad-record{margin-top:22px}
@media(max-width:700px){.section-intro{align-items:flex-start;gap:15px;flex-direction:column}.form-row{grid-template-columns:1fr}.record-card{padding:20px}}

/* Bootstrap-backed admin forms */
.admin-main{--bs-primary:#182d5d;--bs-primary-rgb:24,45,93;--bs-border-color:#d4ddd8;--bs-body-color:#111f3f}
.admin-main .panel{box-shadow:0 1px 2px rgba(17,31,63,.025)}
.admin-main .form-field{min-width:0}
.admin-main .form-label{display:block;margin:0 0 .5rem;color:var(--navy);font-size:.78rem;font-weight:700;line-height:1.25}
.admin-main .form-control,.admin-main .form-select{min-height:46px;border-color:#cbd6d0;border-radius:6px;padding:.7rem .8rem;color:var(--navy);background-color:#fff;box-shadow:none}
.admin-main textarea.form-control{min-height:112px;resize:vertical;line-height:1.55}
.admin-main .form-control:focus,.admin-main .form-select:focus{border-color:#5674ad;box-shadow:0 0 0 .2rem rgba(32,56,111,.13)}
.admin-main .form-control::placeholder{color:#98a3b4}
.admin-main .form-text{margin-top:.45rem;color:var(--muted);font-size:.75rem}
.admin-main .form-check{display:flex;align-items:center;gap:.55rem;min-height:32px;margin:0;padding-left:0}
.admin-main .form-check-input{position:static;float:none;flex:0 0 auto;margin:0;width:2.25rem;height:1.2rem;cursor:pointer}
.admin-main .form-check-label{margin:0;font-size:.82rem;font-weight:650;cursor:pointer}
.admin-main .btn{border-radius:6px;font-weight:700;line-height:1.35;padding:.7rem 1.05rem}
.admin-main .btn-sm{padding:.4rem .7rem}
.admin-main .btn-primary{background:#182d5d;border-color:#182d5d}
.admin-main .btn-primary:hover,.admin-main .btn-primary:focus{background:#10234c;border-color:#10234c}
.admin-main .btn-outline-primary{color:#182d5d;border-color:#182d5d}
.admin-main .btn-outline-primary:hover{background:#182d5d;color:#fff}
.editor-main{display:grid;gap:24px;min-width:0}
.stack-form{gap:1.15rem}
.stack-form h2{margin:0 0 .25rem}
.headline-input{min-height:56px!important;font-size:1.22rem!important}
.editor-toolbar{margin-bottom:.55rem;border-radius:6px;gap:.35rem}
.editor-toolbar .btn{padding:.42rem .65rem;border-color:#d7ded9;background:#fff}
.visual-editor.form-control{display:block;height:auto;min-height:380px;padding:1.1rem 1.2rem;white-space:normal}
.entity-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem!important;max-width:none!important}
.entity-form-grid .form-field-wide,.entity-form-grid .form-actions{grid-column:1/-1}
.entity-form-grid .form-check{align-self:end;margin-bottom:.4rem}
.settings-form,.record-form{gap:1.15rem}
.settings-form>.form-field,.record-form>.form-field{width:100%}
.settings-form .form-field-wide{width:100%}
.form-row{gap:1.1rem}
.form-row>.form-field,.form-row>.form-check{min-width:0}
.record-form>.form-check{margin:.15rem 0}
.media-upload .form-control{margin-top:0}
.media-upload .btn{justify-self:start}
.media-card .form-control{margin-top:0}
.workflow-actions .form-control{min-height:42px}
.story-filters{display:flex;gap:12px;margin:20px 0}.story-filters input{flex:1}.story-filters select{width:190px}.table-title{font-weight:650;display:block}.table-wrap td small{display:block;color:#738099;margin-top:5px}.status-Published{background:#e5f2d8;color:#355f18}.status-Draft{background:#edf0f5}.status-PendingReview,.status-Scheduled{background:#fff1d0;color:#6c4d00}.story-pagination{display:flex;gap:8px;align-items:center;margin-top:25px;flex-wrap:wrap}.story-pagination a{padding:9px 14px;border:1px solid #dce1eb;border-radius:4px}.story-pagination [aria-current]{background:#20315b;color:white}.story-pagination span{margin-left:12px;color:#738099}.stack-form fieldset{border:1px solid #dce1eb;padding:14px}.stack-form legend{font-size:14px;font-weight:600}.stack-form .check{display:flex;gap:8px;align-items:center}.visual-editor img,.article-body img{max-width:100%;height:auto}.visual-editor figure{margin:18px 0}#story-images{width:min(900px,94vw);max-height:85vh;border:1px solid #dce1eb;border-radius:12px;padding:24px}#story-images::backdrop{background:#101a35b3}#story-images header{display:flex;justify-content:space-between;align-items:center}#story-images footer{position:sticky;bottom:-24px;background:white;padding:16px 0}.story-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin:20px 0}.story-image-option{border:1px solid #dce1eb;padding:10px;border-radius:8px;overflow-wrap:anywhere}.story-image-option img{width:100%;height:120px;object-fit:cover}.story-image-option[hidden]{display:none}.story-image-option input{width:auto}.story-image-option span{display:block;font-size:12px}.editor-main .panel{margin-bottom:24px}@media(max-width:650px){.story-filters{flex-direction:column}.story-filters select{width:100%}}
@media(max-width:850px){.entity-form-grid{grid-template-columns:1fr}.entity-form-grid .form-field-wide,.entity-form-grid .form-actions{grid-column:auto}}
html,body{max-width:100%;overflow-x:hidden}.sidebar{z-index:20;overflow-x:hidden;overflow-y:auto}.admin-shell{width:calc(100% - 235px);min-width:0}.admin-top,.admin-main{min-width:0}.comment-review .plain-content{white-space:pre-wrap;overflow-wrap:anywhere}.comment-review small{color:var(--muted)}.moderation-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:20px}.moderation-actions .btn{min-width:92px}.empty-chart>div{text-align:center}.empty-chart p{margin:8px 0 18px}.empty-chart .outline-btn{padding:9px 14px}@media(max-width:1000px){.admin-shell{width:calc(100% - 205px)}}@media(max-width:700px){.admin-shell{width:100%}}
