:root{--teal:#05686F;--ink:#101722;--muted:#65717c;--line:#dfe7e8;--bg:#f5f8f8;--white:#fff;--navy:#0d2528;--soft:#eaf4f4;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit}.brand{display:inline-block;text-decoration:none;font-weight:900;letter-spacing:.14em;color:var(--teal);text-transform:uppercase}.brand span{font-weight:700}.brand.inverse{color:#fff}.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:var(--teal);margin:0 0 .65rem}.muted{color:var(--muted)}.hidden{display:none!important}.auth-page{min-height:100vh;background:linear-gradient(180deg,#edf5f5,#f8faf9)}.auth-shell{width:min(520px,calc(100% - 32px));margin:0 auto;padding:8vh 0}.auth-shell>.brand{margin-bottom:28px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:0 22px 60px rgba(13,37,40,.09)}.auth-card h1{font-size:2.2rem;line-height:1.05;margin:0 0 10px}.form-stack{display:grid;gap:16px;margin-top:28px}.form-stack label,.inline-form label{display:grid;gap:7px;font-size:.84rem;font-weight:750;color:#34424a}.form-stack input,.inline-form input,.inline-form select{width:100%;padding:13px 14px;border:1px solid #cfdadb;border-radius:10px;background:#fff;font:inherit;outline:none}.form-stack input:focus,.inline-form input:focus,.inline-form select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(5,104,111,.1)}button{font:inherit;cursor:pointer}.primary{border:0;border-radius:10px;padding:13px 18px;background:var(--teal);color:#fff;font-weight:800}.form-error{color:var(--danger);min-height:1.2em;margin:0;font-size:.88rem}.setup-area{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.secondary-link{color:var(--teal);font-weight:800;text-decoration:none}.notice{padding:12px 14px;border-radius:10px;margin:18px 0;font-size:.9rem}.notice.warning{background:#fff6e8;border:1px solid #f3d7a3}.admin-layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#dfeaec;padding:30px 22px;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:6px;margin-top:42px}.sidebar nav a,.sidebar nav span{padding:11px 13px;border-radius:9px;text-decoration:none;font-weight:700;color:#c9d7d9}.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.sidebar .coming{display:flex;justify-content:space-between;opacity:.62}.sidebar small{font-size:.68rem}.logout{margin-top:auto;background:transparent;color:#dfeaec;border:1px solid rgba(255,255,255,.2);border-radius:9px;padding:11px}.admin-main{padding:38px clamp(24px,4vw,64px) 70px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-header h1{margin:0;font-size:2rem}.profile{display:flex;gap:14px;align-items:center;text-align:right}.profile div{display:grid}.profile span{font-size:.82rem;color:var(--muted)}.role-badge{display:inline-flex!important;align-items:center;background:var(--soft);color:var(--teal)!important;border-radius:999px;padding:7px 10px;font-weight:800;text-transform:capitalize}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.hero-panel{display:flex;justify-content:space-between;gap:25px;align-items:center}.hero-panel h2{font-size:1.8rem;margin:0 0 8px}.hero-panel p:last-child{color:var(--muted);max-width:690px}.status-card{display:flex;gap:12px;align-items:center;min-width:220px;background:var(--soft);padding:15px;border-radius:13px}.status-card div{display:grid}.status-card small{color:var(--muted);margin-top:3px}.status-dot{width:11px;height:11px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px rgba(5,104,111,.12)}.section-block{margin-top:34px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.section-heading h2{margin:0}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.permission-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.permission-card strong{display:block;margin-bottom:5px}.permission-card small{color:var(--muted)}.secondary-button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 14px;font-weight:750}.inline-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px}.inline-form .primary{align-self:end}.table-card{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:.9rem}.users-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.users-table tr:last-child td{border-bottom:0}.pill{display:inline-block;padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--teal);font-size:.76rem;font-weight:800;text-transform:capitalize}@media(max-width:800px){.admin-layout{display:block}.sidebar{position:relative;height:auto}.sidebar nav{margin-top:20px;grid-template-columns:repeat(2,1fr)}.logout{margin-top:20px}.admin-header,.hero-panel{align-items:flex-start;flex-direction:column}.profile{text-align:left}.inline-form{grid-template-columns:1fr}.auth-card{padding:26px}.admin-main{padding:28px 18px 60px}}
.nav-link{width:100%;border:0;background:transparent;text-align:left;padding:11px 13px;border-radius:9px;font-weight:700;color:#c9d7d9}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.1);color:#fff}.permission-muted{opacity:.72}.admin-section{min-width:0}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:12px;margin-top:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat-card strong{font-size:1.7rem;display:block}.stat-card span{font-size:.82rem;color:var(--muted)}.compact{padding:10px 14px}.editor-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.editor-head h2{margin:0}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.editor-main{display:grid;gap:15px}.editor-grid label,.resource-form label{display:grid;gap:7px;font-size:.82rem;font-weight:750;color:#34424a}.editor-grid input,.editor-grid textarea,.editor-grid select,.resource-form input,.resource-form textarea{width:100%;border:1px solid #cfdadb;border-radius:10px;padding:12px 13px;font:inherit;background:#fff;outline:none}.editor-grid input:focus,.editor-grid textarea:focus,.editor-grid select:focus,.resource-form input:focus,.resource-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(5,104,111,.1)}.editor-side{display:grid;align-content:start;gap:12px}.field-card{background:#f8fbfb;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:10px}.field-card small{color:var(--muted)}.check-list{display:grid;gap:8px;max-height:165px;overflow:auto}.check-list label{display:flex;gap:7px;align-items:center;font-weight:600}.check-list input{width:auto}.check-row{display:flex;gap:20px;flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:7px}.check-row input{width:auto}.inset-panel{border-radius:13px;padding:18px;display:grid;gap:13px}.inset-panel h3{margin:0}.workflow-actions{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}.workflow-summary{display:grid;gap:5px}.workflow-summary small{color:var(--muted)}.full{width:100%}.status-pill{display:inline-flex;width:max-content;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800;background:#eef2f2;color:#516067}.status-pill.published{background:#e8f6ee;color:#19703a}.status-pill.review{background:#fff5df;color:#8b5e00}.status-pill.approved{background:#e9f3ff;color:#205c9c}.status-pill.draft{background:#eef2f2;color:#516067}.table-sub{display:block;color:var(--muted);margin-top:3px}.text-button{border:0;background:none;color:var(--teal);font-weight:800}.empty-cell{color:var(--muted);text-align:center!important;padding:28px!important}.revision-panel{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.revision-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.84rem}.revision-row span{color:var(--muted)}.resource-form{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:14px;margin-bottom:15px}.resource-form textarea{grid-column:1/-1}.resource-form .form-error{grid-column:1/-1}.notice.info{background:#edf7f7;border:1px solid #cfe3e4;color:#355b5e;margin-bottom:15px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.media-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.media-card img{width:100%;height:150px;object-fit:cover;background:#eef2f2}.media-card div{padding:12px;display:grid;gap:3px}.media-card small{color:var(--muted)}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.editor-grid{grid-template-columns:1fr}.editor-side{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-side>.primary,.editor-side>.form-error,.workflow-actions{grid-column:1/-1}}@media(max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr)}.editor-side,.resource-form{grid-template-columns:1fr}.revision-row{display:grid}.admin-header{gap:18px}.section-heading{align-items:flex-start;gap:12px}}

.danger-button{border:1px solid #f1c0bc;background:#fff;color:var(--danger);border-radius:9px;padding:10px 14px;font-weight:800}.danger-button:hover{background:#fff3f2}.table-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.save-status{min-height:1.15em;font-size:.84rem;font-weight:800;color:var(--teal)}.last-saved{margin:0;color:var(--muted);font-size:.78rem;min-height:1.1em}.toast{position:fixed;right:24px;bottom:24px;z-index:1000;max-width:min(420px,calc(100vw - 48px));padding:13px 16px;border-radius:11px;background:#0d2528;color:#fff;font-weight:750;box-shadow:0 16px 40px rgba(13,37,40,.22)}.toast.error{background:var(--danger)}@media(max-width:700px){.table-actions{justify-content:flex-start}.toast{left:18px;right:18px;bottom:18px;max-width:none}}

.modal-backdrop{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:rgba(7,24,27,.58);backdrop-filter:blur(3px)}.confirm-modal{position:relative;width:min(470px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 28px 80px rgba(7,24,27,.28);text-align:center}.modal-close{position:absolute;top:14px;right:16px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#64747b;font-size:1.65rem;line-height:1}.modal-close:hover{background:#f2f6f6;color:var(--ink)}.modal-icon{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 16px;border-radius:50%;background:#fff0ef;color:var(--danger);font-size:1.35rem;font-weight:900}.confirm-modal h2{margin:0 0 10px;font-size:1.45rem}.confirm-modal p{margin:0 auto;max-width:360px;color:var(--muted);line-height:1.55}.confirm-modal .modal-warning{margin-top:7px;color:#7a4240;font-weight:700}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.danger-solid{background:var(--danger);color:#fff;border-color:var(--danger)}.danger-solid:hover{background:#941c14;border-color:#941c14}@media(max-width:520px){.confirm-modal{padding:26px 20px 22px;border-radius:16px}.modal-actions{display:grid;grid-template-columns:1fr}.modal-actions button{width:100%}}
/* Phase 4 — full article editor */
.editor-head-actions{display:flex;gap:10px;align-items:center}.rich-editor-field{display:grid;gap:8px}.rich-editor-label{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.82rem;font-weight:750;color:#34424a}.rich-editor-label small,.field-help{color:var(--muted);font-weight:500}.editor-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:9px;background:#f7fafa;border:1px solid #cfdadb;border-bottom:0;border-radius:12px 12px 0 0;position:sticky;top:0;z-index:5}.editor-toolbar button,.editor-toolbar select{border:1px solid var(--line);background:#fff;color:#26363b;border-radius:7px;min-height:34px;padding:6px 9px;font:inherit;font-size:.8rem;font-weight:700}.editor-toolbar button:hover{border-color:var(--teal);color:var(--teal)}.rich-editor{min-height:520px;border:1px solid #cfdadb;border-radius:0 0 12px 12px;padding:28px 30px;background:#fff;outline:none;font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;line-height:1.75;color:#20292c}.rich-editor:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(5,104,111,.08)}.rich-editor:empty:before{content:attr(data-placeholder);color:#9aa5a8;pointer-events:none}.rich-editor h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.65rem;line-height:1.25;margin:1.8em 0 .55em}.rich-editor h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.3rem;line-height:1.3;margin:1.5em 0 .5em}.rich-editor p{margin:.7em 0}.rich-editor blockquote{margin:1.4em 0;padding:2px 0 2px 18px;border-left:4px solid var(--teal);color:#425156;font-style:italic}.rich-editor hr{border:0;border-top:1px solid var(--line);margin:2em 0}.article-image{margin:1.7em 0}.article-image img{max-width:100%;height:auto;display:block;border-radius:12px}.article-image figcaption{text-align:center;color:var(--muted);font:500 .82rem/1.4 Inter,system-ui,sans-serif;margin-top:8px}.article-table-wrap{overflow-x:auto;margin:1.6em 0}.article-table-wrap table,.preview-body table{width:100%;border-collapse:collapse;font-family:Inter,system-ui,sans-serif;font-size:.9rem}.article-table-wrap th,.article-table-wrap td,.preview-body th,.preview-body td{border:1px solid var(--line);padding:10px;text-align:left}.cache-callout,.cache-cta{font-family:Inter,system-ui,sans-serif;margin:1.7em 0;padding:18px 20px;border-radius:12px}.cache-callout{background:#edf7f7;border-left:4px solid var(--teal)}.cache-cta{background:#0d2528;color:#fff}.cache-callout strong,.cache-cta strong{display:block;font-size:1rem;margin-bottom:5px}.cache-callout p,.cache-cta p{margin:5px 0}.cache-cta a{display:inline-block;margin-top:8px;color:#fff;font-weight:800}.app-modal{position:fixed;inset:0;background:rgba(8,25,27,.58);z-index:1500;display:grid;place-items:center;padding:24px;overflow:auto}.app-modal-card{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 25px 80px rgba(8,25,27,.25)}.wide-modal{width:min(980px,100%)}.preview-modal-card{width:min(1050px,100%);padding:0}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.modal-head h2{margin:0}.modal-close{border:0;background:#f1f5f5;border-radius:999px;width:36px;height:36px;font-size:1.4rem;line-height:1;color:#44555a}.modal-form{display:grid;gap:14px;margin-top:20px}.modal-form label,.upload-meta label{display:grid;gap:7px;font-size:.82rem;font-weight:750;color:#34424a}.modal-form input,.upload-meta input{width:100%;padding:12px 13px;border:1px solid #cfdadb;border-radius:10px;font:inherit}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.image-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:20px}.image-picker-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:0;overflow:hidden;text-align:left}.image-picker-card:hover{border-color:var(--teal);box-shadow:0 0 0 2px rgba(5,104,111,.08)}.image-picker-card img{width:100%;height:120px;object-fit:cover;background:#eef2f2;display:block}.image-picker-card span{display:block;padding:9px;font-size:.8rem;font-weight:700}.article-preview{padding:55px clamp(24px,7vw,90px) 70px;background:#fff}.article-preview>article{max-width:780px;margin:0 auto}.preview-eyebrow{font:800 .74rem/1 Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--teal)}.article-preview h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;margin:.25em 0}.preview-excerpt{font-size:1.2rem;line-height:1.55;color:#536166}.preview-featured{width:100%;max-height:450px;object-fit:cover;border-radius:16px;margin:24px 0}.preview-toc{margin:30px 0;padding:20px;border:1px solid var(--line);border-radius:13px;background:#f8fbfb}.preview-toc strong{display:block;margin-bottom:10px}.preview-toc ol{margin:0;padding-left:22px}.preview-toc li{margin:6px 0}.preview-toc li.h3{margin-left:18px}.preview-toc a{color:var(--teal);text-decoration:none}.preview-body{font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;line-height:1.8}.preview-body h2,.preview-body h3{font-family:Inter,system-ui,sans-serif}.preview-body img{max-width:100%;height:auto;border-radius:12px}.preview-body blockquote{border-left:4px solid var(--teal);margin:1.5em 0;padding-left:18px;color:#47565a}.media-upload-panel{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr;gap:20px;margin-bottom:15px}.upload-drop{min-height:190px;border:2px dashed #b9ccce;border-radius:14px;background:#f8fbfb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;padding:24px;color:#536166}.upload-drop input{max-width:100%}.upload-drop strong{color:var(--teal)}.upload-meta{display:grid;gap:12px;align-content:start}.media-card img{cursor:default}.media-card div small+small{margin-top:4px}.field-card .secondary-button.full{width:100%}
@media(max-width:800px){.editor-toolbar{position:static}.rich-editor{min-height:400px;padding:20px}.media-upload-panel{grid-template-columns:1fr}.article-preview{padding:40px 20px 55px}.editor-head-actions{flex-wrap:wrap}.image-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.upload-drop.dragging{border-color:var(--teal);background:#edf7f7;box-shadow:0 0 0 3px rgba(5,104,111,.08)}

/* Phase 4 polish */
.storage-usage-card{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.storage-usage-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.storage-usage-head .kicker{margin-bottom:4px}.storage-usage-head>span{font-size:.82rem;font-weight:800;color:var(--teal)}.storage-progress{height:9px;background:#e6eeee;border-radius:999px;overflow:hidden;margin:12px 0 8px}.storage-progress span{display:block;height:100%;background:var(--teal);border-radius:inherit}.storage-usage-card>small{color:var(--muted);line-height:1.45}.compact-input,.compact-select{width:100%;border:1px solid #cfdadb;border-radius:9px;padding:9px 10px;background:#fff;font:inherit}.compact-input:focus,.compact-select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(5,104,111,.1)}.related-field-card{gap:9px}.selected-related-list{display:grid;gap:7px}.selected-related-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:9px;background:#eaf4f4;color:#174b50;font-size:.78rem;font-weight:750}.selected-related-item button{border:0;background:transparent;color:var(--teal);font-size:1.15rem;line-height:1;padding:0 2px}.related-auto-note{display:block;padding:9px;border:1px dashed #bfd5d7;border-radius:9px;background:#fff;color:var(--muted)}.related-search-results{display:grid;gap:6px;max-height:190px;overflow:auto}.related-result{display:grid;gap:2px;text-align:left;width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 10px;color:var(--ink)}.related-result:hover{border-color:#9fc6c9;background:#f7fbfb}.related-result span{font-size:.8rem;font-weight:750}.related-result small{font-size:.7rem;color:var(--muted)}.link-modal-card{width:min(520px,100%)}.link-form{display:grid;gap:14px;margin-top:18px}.link-form label{display:grid;gap:7px;font-size:.82rem;font-weight:750;color:#34424a}.link-form input[type="text"],.link-form input:not([type]){width:100%;border:1px solid #cfdadb;border-radius:10px;padding:12px 13px;font:inherit}.link-form input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(5,104,111,.1)}.checkbox-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.checkbox-label input{width:auto}.preview-related{margin:36px 0 8px;padding-top:24px;border-top:1px solid var(--line)}.preview-related>strong{display:block;font-size:1.05rem;margin-bottom:12px}.preview-related>div{display:grid;gap:8px}.preview-related a{color:var(--teal);font-weight:750;text-decoration:none}.preview-related a:hover{text-decoration:underline}

/* Phase 4 final link editing polish */
.link-modal-actions{align-items:center;justify-content:flex-end}.modal-action-spacer{flex:1}.link-modal-actions .danger-button{margin-right:auto}@media(max-width:520px){.link-modal-actions{display:grid;grid-template-columns:1fr 1fr}.link-modal-actions .modal-action-spacer{display:none}.link-modal-actions button{width:100%}.link-modal-actions .danger-button{grid-column:1/-1;margin-right:0}}
