:root { --admin-bg:#f4f7f6; --admin-panel:#fff; --admin-ink:#17312f; --admin-muted:#607270; --admin-border:#dbe5e2; --admin-accent:#147d77; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:240px minmax(0,1fr); background:var(--admin-bg); color:var(--admin-ink); font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.admin-sidebar { position:sticky; top:0; height:100vh; box-sizing:border-box; overflow-y:auto; padding:24px 18px; background:#173f3c; color:#fff; display:flex; flex-direction:column; gap:24px; }
.admin-brand { color:#fff; font-size:1.1rem; font-weight:750; text-decoration:none; padding:8px; }
.admin-sidebar nav { display:grid; gap:4px; }
.admin-sidebar nav a { color:#d7e9e6; text-decoration:none; padding:9px 11px; border-radius:8px; }
.admin-sidebar nav a.active,.admin-sidebar nav a:hover { color:#fff; background:#ffffff19; }
.admin-nav-pending { padding:9px 11px; color:#a9c0bd; font-size:.82rem; }
.admin-nav-section { margin-top:10px; padding:8px 11px 3px; color:#8eb2ae; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.admin-account-actions { margin-top:auto; padding-top:16px; border-top:1px solid #ffffff1f; display:grid; gap:12px; }
.admin-account-link { min-height:44px; display:flex; align-items:center; padding:0 11px; border-radius:8px; color:#d7e9e6; text-decoration:none; }
.admin-account-link.active,.admin-account-link:hover { color:#fff; background:#ffffff19; }
.admin-account-actions form { margin:0; }
.admin-language-toggle { width:100%; border:1px solid #ffffff55; color:#c8dcda; background:#ffffff0d; border-radius:8px; padding:9px 10px; cursor:pointer; }
.admin-language-toggle:hover,.admin-language-toggle:focus-visible { background:#ffffff19; color:#fff; }
.admin-language-toggle .selected { color:#fff; font-weight:800; }
.admin-language-toggle .divider { opacity:.45; margin:0 5px; }
.admin-logout { width:100%; border:1px solid #ffffff55; color:#fff; background:transparent; border-radius:8px; padding:10px; cursor:pointer; }
.admin-main { min-width:0; padding:36px clamp(20px,4vw,56px) 64px; }
.admin-page-header { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.admin-page-header h1 { margin:3px 0 0; font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.04em; }
.admin-kicker { color:var(--admin-accent); font-weight:750; font-size:.75rem; letter-spacing:.14em; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.admin-stat-grid article,.admin-panel { background:var(--admin-panel); border:1px solid var(--admin-border); border-radius:14px; box-shadow:0 10px 28px #244b4610; }
.admin-stat-grid article { padding:24px; display:grid; gap:4px; }.admin-stat-grid strong { font-size:2rem; }.admin-stat-grid span { color:var(--admin-muted); }
.admin-panel { padding:22px; margin-bottom:20px; overflow:auto; }.admin-panel h2 { margin-top:0; }
.admin-panel table { width:100%; border-collapse:collapse; }.admin-panel th,.admin-panel td { padding:11px 10px; border-bottom:1px solid var(--admin-border); text-align:left; vertical-align:top; }.admin-panel th { color:var(--admin-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.admin-panel tbody td { vertical-align:middle; }
.status { display:inline-flex; padding:4px 8px; border-radius:999px; background:#e9efed; }.status-published { background:#dff4e8; color:#17633b; }.status-draft { background:#fff0ca; color:#775500; }
.status-archived { background:#edf0ef; color:#64736f; }
.admin-editor,.admin-form,.admin-locale { display:grid; gap:15px; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-editor label,.admin-form label,.admin-locale label { display:grid; gap:6px; font-size:.85rem; font-weight:650; }.admin-editor input,.admin-editor textarea,.admin-editor select,.admin-form input,.admin-form textarea,.admin-form select,.admin-locale input,.admin-locale textarea { width:100%; border:1px solid #b9c9c6; border-radius:7px; padding:10px 11px; font:inherit; background:#fff; color:var(--admin-ink); box-sizing:border-box; }.admin-editor textarea,.admin-form textarea,.admin-locale textarea { min-height:94px; resize:vertical; }
.admin-form fluent-button { min-height:44px; padding:0; background:transparent; font-weight:700; --accent-fill-rest:var(--admin-accent); --accent-fill-hover:#106e69; --accent-fill-active:#0b5e5a; --accent-fill-focus:var(--admin-accent); }
.admin-form fluent-button::part(control) { min-height:44px; border-radius:8px; font-weight:700; }
.admin-long-text { min-height:180px!important; }
.admin-empty-state { min-height:280px; display:grid; place-items:center; align-content:center; gap:10px; text-align:center; }
.admin-empty-state h2,.admin-empty-state p { margin:0; }
.admin-empty-state p { max-width:520px; color:var(--admin-muted); }
.admin-submit { min-height:44px; width:100%; border:0; border-radius:8px; padding:0 18px; background:var(--admin-accent); color:#fff; font:inherit; font-weight:700; cursor:pointer; transition:background .15s ease,box-shadow .15s ease; }
.admin-submit:hover { background:#106e69; }
.admin-submit:active { background:#0b5e5a; }
.admin-submit:focus-visible { outline:3px solid #66c9c2; outline-offset:2px; }
.admin-submit:disabled { background:#dce8e6; color:#839491; cursor:not-allowed; }
.checkbox { display:flex!important; grid-auto-flow:column; justify-content:start; align-items:center; }.checkbox input { width:auto!important; }
.admin-locale-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.admin-actions { display:flex; gap:10px; flex-wrap:wrap; }.admin-split { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); gap:20px; align-items:start; }
.admin-workflow-bar { align-items:center; justify-content:flex-end; margin-bottom:18px; }
.admin-status-pill { display:inline-flex; align-items:center; min-height:32px; padding:0 11px; border-radius:999px; font-size:.78rem; font-weight:750; }
.admin-status-pill.is-draft { color:#775500; background:#fff0ca; }
.admin-status-pill.is-published { color:#17633b; background:#dff4e8; }
.admin-table-wrap code { overflow-wrap:anywhere; color:var(--admin-muted); font-size:.78rem; }
.admin-navigation-table td { vertical-align:middle; }
.admin-link-button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 4px; border:0; border-radius:7px; background:transparent; color:var(--admin-accent); font:inherit; font-weight:700; line-height:1.2; cursor:pointer; }
.admin-link-button:hover { text-decoration:underline; text-underline-offset:3px; }
.admin-link-button:focus-visible { outline:3px solid #66c9c2; outline-offset:2px; }
.admin-readonly-note { margin:0; padding:12px 14px; border-radius:8px; background:#f0f7f5; color:var(--admin-muted); font-size:.82rem; overflow-wrap:anywhere; }
.admin-page-header fluent-button,.admin-workflow-bar fluent-button,.admin-table-wrap fluent-button { min-height:44px; --accent-fill-rest:var(--admin-accent); --accent-fill-hover:#106e69; --accent-fill-active:#0b5e5a; --accent-fill-focus:var(--admin-accent); }
.admin-page-header fluent-button::part(control),.admin-workflow-bar fluent-button::part(control),.admin-table-wrap fluent-button::part(control) { min-height:44px; border-radius:8px; font-weight:700; }
.admin-upload-panel { overflow:visible; }
.admin-section-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.admin-section-heading h2 { margin:0; font-size:1.2rem; }
.admin-section-heading p { margin:6px 0 0; color:var(--admin-muted); font-size:.9rem; }
.admin-upload-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.admin-upload-file { grid-column:1 / -1; display:grid; gap:7px; }
.admin-field-label,.admin-upload-field > span { font-size:.85rem; font-weight:650; }
.admin-file-picker { min-height:66px; display:flex; align-items:center; gap:14px; padding:10px 12px; border:1px dashed #9fb8b4; border-radius:10px; background:#f7fbfa; }
.admin-file-input { position:absolute; inline-size:1px; block-size:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.admin-file-trigger { min-height:42px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; padding:0 16px; border:1px solid #9fc9c4; border-radius:8px; background:#e7f4f2; color:#0e625e; font-size:.86rem; font-weight:750; cursor:pointer; }
.admin-file-trigger:hover { background:#d9eeeb; }
.admin-file-input:focus-visible + .admin-file-trigger { outline:3px solid #66c9c2; outline-offset:2px; }
.admin-file-name { min-width:0; overflow:hidden; color:var(--admin-muted); font-size:.9rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-upload-file small { color:var(--admin-muted); font-size:.78rem; }
.admin-upload-field { display:grid; gap:7px; }
.admin-upload-field input { width:100%; min-height:44px; box-sizing:border-box; border:1px solid #b9c9c6; border-radius:8px; padding:10px 11px; background:#fff; color:var(--admin-ink); font:inherit; }
.admin-upload-field input:focus { border-color:var(--admin-accent); outline:3px solid #d7efec; }
.admin-upload-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; padding-top:18px; border-top:1px solid var(--admin-border); }
.admin-upload-footer .admin-hint { margin:0; color:var(--admin-muted); font-size:.82rem; }
.admin-upload-submit { width:auto; min-width:126px; flex:0 0 auto; }
.admin-preview-hero { max-width:900px; min-height:420px; display:flex; flex-direction:column; justify-content:center; padding:clamp(32px,8vw,100px); background:linear-gradient(140deg,#eaf7f4,#fff); border-radius:28px; }.admin-preview-hero h2 { font-size:clamp(2rem,5vw,4rem); margin:.2em 0; }.admin-preview-hero hr { width:100%; border:0; border-top:1px solid var(--admin-border); margin:40px 0; }
.admin-login-page { min-height:100vh; display:grid; place-items:center; background:radial-gradient(circle at top,#e4f7f2,#f7faf9 50%); padding:24px; }.admin-login-card { width:min(420px,100%); padding:38px; border-radius:20px; background:#fff; border:1px solid var(--admin-border); box-shadow:0 24px 80px #163e3820; }.admin-login-card h1 { font-size:2.2rem; margin:.25em 0; }.admin-login-card .admin-form { margin-top:24px; }
.admin-auth-toolbar { display:flex; justify-content:flex-end; margin-bottom:16px; }
.admin-auth-toolbar .admin-language-toggle { width:auto; min-width:94px; color:var(--admin-muted); background:#f5f9f8; border-color:var(--admin-border); }
.admin-auth-toolbar .admin-language-toggle .selected { color:var(--admin-accent); }
.visually-hidden { position:absolute!important; inline-size:1px!important; block-size:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.admin-media-field { min-width:0; display:grid; gap:7px; }
.admin-media-value { min-height:84px; display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:14px; box-sizing:border-box; padding:10px; border:1px solid #b9c9c6; border-radius:10px; background:#fff; }
.admin-media-value.is-empty { border-style:dashed; background:#f8fbfa; }
.admin-media-current-preview { position:relative; inline-size:64px; block-size:64px; display:grid; place-items:center; overflow:hidden; border-radius:8px; background:#eaf3f1; color:#66817d; }
.admin-media-current-preview img,.admin-media-current-preview video { inline-size:100%; block-size:100%; object-fit:cover; }
.admin-media-current-preview svg { inline-size:31px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.admin-media-current-copy { min-width:0; display:grid; gap:4px; }
.admin-media-current-copy strong { font-size:.88rem; }
.admin-media-current-copy span,.admin-media-current-copy code { min-width:0; overflow:hidden; color:var(--admin-muted); font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-media-current-copy code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.admin-media-current-actions { display:flex; align-items:center; gap:7px; }
.admin-secondary-action,.admin-text-action,.admin-modal-close { border:0; font:inherit; cursor:pointer; }
.admin-secondary-action { min-height:38px; padding:0 13px; border:1px solid #a9c9c5; border-radius:8px; background:#eaf5f3; color:#0e625e; font-size:.82rem; font-weight:750; white-space:nowrap; }
.admin-secondary-action:hover { background:#dcefeb; }
.admin-text-action { min-height:38px; padding:0 10px; border-radius:7px; background:transparent; color:var(--admin-muted); font-size:.83rem; font-weight:650; }
.admin-text-action:hover { background:#eef4f3; color:var(--admin-ink); }
.admin-secondary-action:focus-visible,.admin-text-action:focus-visible,.admin-modal-close:focus-visible,.admin-media-tabs button:focus-visible,.admin-media-card:focus-visible { outline:3px solid #66c9c2; outline-offset:2px; }
.admin-media-modal-backdrop { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; box-sizing:border-box; padding:24px; overflow:auto; background:#0b2522a8; backdrop-filter:blur(3px); }
.admin-media-modal { inline-size:min(960px,100%); max-block-size:calc(100dvh - 48px); display:flex; flex-direction:column; overflow:hidden; border:1px solid #cbdad7; border-radius:18px; background:#fff; box-shadow:0 30px 100px #071d1a55; }
.admin-media-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 24px 17px; border-bottom:1px solid var(--admin-border); }
.admin-media-modal-header h2 { margin:3px 0 0; font-size:1.35rem; letter-spacing:-.02em; }
.admin-modal-close { inline-size:40px; block-size:40px; display:grid; place-items:center; border-radius:999px; background:#f0f5f4; color:var(--admin-muted); font-size:1.55rem; line-height:1; }
.admin-modal-close:hover { background:#e3eeec; color:var(--admin-ink); }
.admin-media-tabs { display:flex; gap:5px; padding:14px 24px 0; }
.admin-media-tabs button { min-height:40px; padding:0 14px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--admin-muted); font:inherit; font-size:.86rem; font-weight:700; cursor:pointer; }
.admin-media-tabs button.active { border-bottom-color:var(--admin-accent); color:var(--admin-accent); }
.admin-media-library-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 24px; }
.admin-media-library-toolbar label { flex:1; }
.admin-media-library-toolbar input { inline-size:100%; max-inline-size:420px; min-block-size:42px; box-sizing:border-box; border:1px solid #b9c9c6; border-radius:8px; padding:9px 11px; color:var(--admin-ink); background:#fff; font:inherit; }
.admin-media-library-toolbar input:focus { border-color:var(--admin-accent); outline:3px solid #d7efec; }
.admin-media-library-toolbar > span { color:var(--admin-muted); font-size:.8rem; white-space:nowrap; }
.admin-media-loading,.admin-media-empty { min-block-size:250px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; padding:32px; color:var(--admin-muted); text-align:center; }
.admin-media-grid { min-block-size:250px; display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); align-content:start; gap:12px; padding:0 24px 24px; overflow:auto; }
.admin-media-card { position:relative; min-width:0; display:grid; align-content:start; gap:9px; padding:8px; border:1px solid var(--admin-border); border-radius:11px; background:#fff; color:var(--admin-ink); text-align:left; font:inherit; cursor:pointer; transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.admin-media-card:hover { border-color:#96bdb8; box-shadow:0 8px 24px #173f3c12; transform:translateY(-1px); }
.admin-media-card.selected { border-color:var(--admin-accent); box-shadow:0 0 0 2px #bce5e1; }
.admin-media-card-preview { position:relative; inline-size:100%; aspect-ratio:16/10; display:grid; place-items:center; overflow:hidden; border-radius:7px; background:#edf4f3; }
.admin-media-card-preview img,.admin-media-card-preview video { inline-size:100%; block-size:100%; object-fit:cover; }
.admin-media-type { position:absolute; inset:auto 6px 6px auto; padding:3px 6px; border-radius:999px; background:#102d2bc9; color:#fff; font-size:.63rem; font-weight:750; letter-spacing:.03em; }
.admin-media-card-copy { min-width:0; display:grid; gap:3px; padding:0 3px 3px; }
.admin-media-card-copy strong,.admin-media-card-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-media-card-copy strong { font-size:.82rem; }
.admin-media-card-copy small { color:var(--admin-muted); font-size:.68rem; }
.admin-media-check { position:absolute; inset:15px 15px auto auto; inline-size:24px; block-size:24px; display:none; place-items:center; border:2px solid #fff; border-radius:999px; background:var(--admin-accent); color:#fff; font-size:.72rem; font-weight:850; box-shadow:0 2px 8px #0003; }
.admin-media-card.selected .admin-media-check { display:grid; }
.admin-media-modal-footer { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:auto; padding:16px 24px; border-top:1px solid var(--admin-border); background:#fbfcfc; }
.admin-picker-confirm { width:auto; min-width:150px; }
.admin-picker-upload { min-block-size:300px; display:grid; align-content:start; gap:18px; padding:22px 24px; overflow:auto; }
.admin-picker-alt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-picker-note { margin:0; padding:12px 14px; border-radius:8px; background:#f0f7f5; color:var(--admin-muted); font-size:.82rem; }
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-nav-section{grid-column:1/-1}.admin-main{padding:24px 16px}.admin-stat-grid,.admin-locale-grid,.admin-split,.form-grid,.admin-upload-form{grid-template-columns:1fr}.admin-upload-footer{align-items:stretch;flex-direction:column}.admin-upload-submit{width:100%}.admin-media-modal-backdrop{place-items:stretch;padding:0}.admin-media-modal{inline-size:100%; max-block-size:none; min-block-size:100dvh; border:0; border-radius:0}.admin-picker-alt-grid{grid-template-columns:1fr}}
@media(max-width:560px){.admin-media-value{grid-template-columns:52px minmax(0,1fr);gap:11px}.admin-media-current-preview{inline-size:52px;block-size:52px}.admin-media-current-actions{grid-column:1/-1;justify-content:flex-end}.admin-media-modal-header,.admin-media-library-toolbar,.admin-picker-upload,.admin-media-modal-footer{padding-inline:16px}.admin-media-tabs{padding-inline:16px}.admin-media-grid{grid-template-columns:1fr;padding-inline:16px}.admin-media-library-toolbar{align-items:stretch;flex-direction:column;gap:8px}.admin-media-library-toolbar input{max-inline-size:none}.admin-media-modal-footer{position:sticky;bottom:0}.admin-picker-confirm{min-width:0;flex:1}}
