@font-face{font-family:Display;src:url(display.woff2);font-display:swap}@font-face{font-family:Body;src:url(body.woff2);font-display:swap}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 3%,#f5e7f7 0 90px,transparent 91px),radial-gradient(circle at 100% 45%,#e4f8fb 0 130px,transparent 131px),#faf9fd;color:#20366a;font:16px/1.5 Body,monospace}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}header,footer{max-width:1390px;margin:12px auto 30px;border:1px solid #a8d6e7;border-radius:12px;background:linear-gradient(110deg,#dbfffa,#e6f4ff 54%,#f2def5);box-shadow:0 10px 28px #315b7922;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;letter-spacing:1px;font-size:17px}.brand b{color:#10abb0}.brand small{display:block;font-size:10px;letter-spacing:3px}.brand i,.identity>i{font-style:normal;background:linear-gradient(135deg,#13c6bc,#8a65f0);color:white;border-radius:16px;width:45px;height:45px;text-align:center;font:24px/45px Display;box-shadow:inset 0 2px 3px white}header nav{display:flex;gap:23px;background:#ffffff80;border:1px solid #dce6f8;border-radius:9px;padding:10px 18px;font-weight:bold}.workspace{max-width:1390px;margin:auto;display:grid;grid-template-columns:265px minmax(0,1fr);gap:22px;align-items:start}aside{position:sticky;top:16px}.identity{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #d2ddfb;background:linear-gradient(120deg,#f4fffd,#f5eeff);border-radius:13px;margin-bottom:16px}.identity>i{border-radius:50%}.identity small,.identity em{display:block;font-size:12px}.identity em{font-style:normal;color:#06aa86}.sidebar{display:grid;gap:7px;max-height:70vh;overflow:auto;padding-right:3px}.sidebar a{display:flex;align-items:center;gap:12px;min-height:47px;border:1px solid #d0e2f4;background:#f8fcff;border-radius:11px;padding:8px 12px;font-size:14px}.sidebar a b{margin-left:auto}.sidebar i,.tile-icon{font-style:normal;display:inline-grid;place-items:center;background:linear-gradient(#effcff,#ffeffb);border:1px solid #e0e8fc;border-radius:9px;color:#0bbabf;width:30px;height:30px;font-size:22px}.sidebar a:nth-child(3n) i{color:#dc3db3}.sidebar a:nth-child(4n) i{color:#8753ee}.sidebar a.active{background:linear-gradient(110deg,#05c4be,#2295e5,#c449df);color:white;box-shadow:inset 0 -3px #efb6eb}.sidebar a.active i{color:white;background:#ffffff25}.signout button{width:100%;margin:12px 0;background:linear-gradient(100deg,#f8fffc,#fcf0ff);color:#254172;border-color:#d2e1f4;text-align:left}main{min-width:0}h1{font:25px/1.3 Display,sans-serif;color:#087ff2;background:linear-gradient(110deg,#e8fffc,#fceefa);border:1px solid #b9dff0;border-radius:13px;padding:20px 23px;margin:0 0 18px}h2{font:19px/1.4 Display,sans-serif;margin:0 0 17px;color:#183970}h3{font-size:16px}p,small{color:#69869d}section,.panel{padding:22px;border:1px solid #bfe3ee;background:linear-gradient(120deg,#f1fffd,#f4fcff 60%,#fff3fa);border-radius:13px;margin:18px 0;overflow:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat{margin:0;padding:20px;min-height:155px}.stat:nth-child(2){background:linear-gradient(120deg,#edfff7,#edf8ff)}.stat:nth-child(3){background:linear-gradient(120deg,#fffbea,#fff0f7)}.stat strong{display:block;font-size:27px;margin:13px 0 0;color:#2857a5}.stat span{display:block;font-weight:bold;font-size:14px}.stat small{font-size:12px}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.columns section{margin-bottom:0}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.health-grid div,.quick a,.mini{padding:16px;background:#ffffffa0;border:1px solid #cce5f4;border-radius:11px}.health-grid small{display:block;margin-top:5px}.health-grid strong{display:block;margin-top:8px}.quick{display:grid;gap:10px}.quick a{display:flex;justify-content:space-between;padding:13px}.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mini strong{display:block;color:#1887de;font-size:22px}.mini span{font-size:12px}.subheading{font-size:13px;margin:-5px 0 18px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}td,th{text-align:left;padding:13px 10px;border-bottom:1px solid #deebf5}th{color:#6c7ba0;background:#f5faff}td code{font-size:11px}input,select,textarea{display:block;width:100%;padding:10px 12px;background:#ffffffd9;border:1px solid #c7dcec;border-radius:8px;color:#25456c}input[type=checkbox]{width:auto;display:inline}label{display:block;margin:12px 0;font-size:14px}button,.button{display:inline-block;border:1px solid #7ecde2;border-radius:9px;background:linear-gradient(120deg,#08bdb7,#2c9eea,#ba59e0);color:white;padding:10px 16px;cursor:pointer;box-shadow:inset 0 1px #ffffff80}button:hover,.button:hover{filter:brightness(1.05)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.alert,.notice{border:1px solid #a5dfcc;border-radius:10px;padding:14px;background:#eafff4;color:#237d69;margin:12px 0}.error{background:#fff0f2;color:#a52c48;border-color:#f3becd}.badge{display:inline-block;padding:3px 9px;border-radius:20px;background:#defaf0;color:#168374;font-size:12px}.muted{background:#eef0fa;color:#697b94}.table-wrap{overflow:auto}.empty{text-align:center;padding:30px;color:#8094a8}code{overflow-wrap:anywhere}footer{margin-top:38px;box-shadow:none;min-height:75px}footer small{font-size:12px}.login{max-width:450px;margin:40px auto}.workspace:not(:has(aside)){display:block;max-width:560px}nav[role=navigation] svg{width:18px}details{border:1px solid #cfdfed;border-radius:10px;padding:12px;margin:10px 0}summary{cursor:pointer;font-weight:bold}button:focus-visible,a:focus-visible{outline:3px solid #ae78ee;outline-offset:3px}@media(max-width:1000px){.workspace{padding:0 16px;grid-template-columns:220px minmax(0,1fr)}header,footer{margin-left:16px;margin-right:16px}header nav{display:none}.stats{grid-template-columns:1fr 1fr}.columns{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.workspace{display:block}aside{position:static}.identity{display:none}.sidebar{display:flex;overflow:auto;margin-bottom:15px}.sidebar a{min-width:170px}.signout{display:none}header>.badge{display:none}.chips{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}footer{display:block}footer span,footer small{display:block}h1{font-size:21px}.stat{padding:14px}.columns{display:block}}

/* Floating application header and raster icon system, scoped to the admin. */

header{position:sticky;top:12px;z-index:30;width:calc(100% - 32px);backdrop-filter:blur(18px);background:linear-gradient(110deg,#dbfffaee,#e6f4fff0 54%,#f2def5ee);box-shadow:0 8px 24px #315b7929,inset 0 1px #fff}

header nav a.active{color:#008f9b;box-shadow:inset 0 -2px #27c6ce}

.brand-icon{width:48px;height:48px;object-fit:contain}.profile-icon{width:48px;height:48px;object-fit:contain}

.nav-icon{width:30px;height:30px;object-fit:contain;flex-shrink:0}.sidebar a{gap:12px}.sidebar a .chevron{margin-left:auto}

img.tile-icon{width:38px;height:38px;object-fit:contain;background:none;border:0;border-radius:0}

h2{display:flex;align-items:center;gap:10px}.heading-icon{width:30px;height:30px;object-fit:contain}

.chevron{display:inline-block;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin:0 4px;flex-shrink:0}

.signout button{display:flex;align-items:center;gap:12px}.sidebar{scrollbar-width:thin}.workspace aside{top:110px}

main[aria-busy=true]{cursor:progress}form[aria-busy=true] button{opacity:.65;cursor:wait}main h1:focus{outline:none}

@media(max-width:650px){header{top:8px;padding:10px 15px}.workspace aside{position:static}.sidebar a{min-width:175px}.signout{display:block}.signout button{width:auto;padding:6px 12px;margin-bottom:14px}.brand-icon{width:38px;height:38px}}

.release-intro{display:flex;align-items:center;gap:17px;margin:0 0 14px}.release-intro>img{width:42px;height:42px;object-fit:contain}.eyebrow{display:block;color:#10a2aa;font-size:12px;font-weight:bold;letter-spacing:1px}.release-intro h2,.upgrade-panel h2{margin:3px 0;font-size:23px}.release-intro p,.upgrade-panel>p{margin:3px 0 14px;font-size:13px}.release-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px}.release-summary section{margin:0;display:flex;align-items:center;gap:13px;padding:18px}.release-summary img{width:32px;height:32px}.release-summary strong,.release-summary small{display:block}.release-summary small{font-size:12px}.upgrade-form{padding:12px;border:1px solid #d1e2f2;border-radius:12px;background:#ffffff88}.upload-zone{text-align:center;border:1px dashed #68d3e2;background:linear-gradient(110deg,#edffff,#f2f6ff);border-radius:12px;padding:22px}.upload-zone img{width:36px;height:36px}.upload-zone label{margin:5px;font-weight:bold}.upload-zone small{display:block}.upload-zone input{max-width:480px;margin:18px auto 0;font-size:13px}.upload-zone input::file-selector-button{background:linear-gradient(110deg,#d9fff6,#efe3ff);border:1px solid #90dce1;border-radius:6px;padding:9px 15px;color:#24436b;margin-right:12px;cursor:pointer}.wide-button{display:block;width:100%;margin-top:18px;font-weight:bold}.upgrade-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.upgrade-steps>div{display:flex;gap:8px;background:#ffffffb0;border:1px solid #d2e4f6;border-radius:8px;padding:12px}.upgrade-steps b{background:#d7f9f2;color:#13a4a1;width:20px;height:20px;border-radius:50%;text-align:center}.upgrade-steps small,.upgrade-steps strong{display:block;font-size:12px}.upgrade-note{padding:10px;background:#ffffffa0;border:1px solid #d4e5f2;border-radius:7px;font-size:12px;margin:12px 0 0!important}.history-entry{border:1px solid #d0e2f6;border-left:3px solid #14c6b8;border-radius:9px;padding:14px;margin:10px 0;background:linear-gradient(110deg,#f0fffd,#f1efff)}.history-entry>div{display:flex;justify-content:space-between;gap:12px}.history-entry strong{color:#0ba298}.history-entry time{font-size:11px;color:#7194a7}.history-entry p{font-size:13px;margin:5px 0}.history-entry small{font-size:12px;overflow-wrap:anywhere}.history-entry.rejected{border-left-color:#db6893}.history-entry.rejected strong{color:#b73c6a}@media(max-width:650px){.release-summary{grid-template-columns:1fr}.upgrade-steps{grid-template-columns:1fr}.history-entry>div{display:block}.upload-zone{padding:14px}}



.field-help{display:block;font-size:13px;line-height:1.6;font-weight:400;color:#526780;margin:7px 0 4px;letter-spacing:normal}.setup-guide li{margin:10px 0;line-height:1.65}.setup-guide ol{padding-left:24px}



/* API settings: aligned service fields with their save action in the same card. */

.api-settings-form>section{margin-top:14px}.api-settings-form label{margin:18px 0}.api-settings-form label>input:not([type=checkbox]),.api-settings-form label>textarea{margin-top:7px}.api-settings-form label:has(input[type=checkbox]){align-items:center}.api-settings-form input[type=checkbox]{flex:0 0 auto}.api-save{border-top:1px solid #c7dcec;margin-top:24px;padding-top:20px}.api-save input[type=password]{max-width:480px}.api-save button{margin-top:8px}.api-settings-form p{overflow-wrap:anywhere}


/* Content spacing only; retain the approved palette and bundled fonts. */
main>p{line-height:1.7}.api-settings-form>section{padding:26px}.api-settings-form>section>h2{margin-bottom:22px}.api-settings-form>section>p{font-size:13px;line-height:1.75;max-width:850px}.api-settings-form p:has(.button){display:flex;flex-wrap:wrap;gap:10px}.api-save{padding-top:24px;margin-top:28px}.api-save h2{margin-bottom:8px}.api-save p{font-size:13px;line-height:1.7}.api-save label{max-width:540px}.api-settings-form input,.api-settings-form textarea{min-width:0}main .table-wrap{border-radius:9px}main details{padding:16px}main details[open] summary{margin-bottom:18px}.columns{gap:20px}.field-help{max-width:720px}.sidebar a{min-width:0}header nav{flex-wrap:wrap;gap:14px}header{flex-wrap:wrap}
@media(max-width:650px){.api-settings-form>section{padding:18px}.api-save button{width:100%}.api-settings-form p:has(.button){display:grid}.api-settings-form .button{text-align:center}.sidebar a{min-width:170px}}

/* Inner-page polish with the existing Display/Body fonts and pastel palette. */
main>section,main>.columns>section,main form>section,main>div>section{box-shadow:0 5px 18px #315b7910,inset 0 1px #ffffffc0}
main section>h2{padding-bottom:13px;border-bottom:1px solid #d2e1f4;margin-bottom:20px}
main .release-intro h2,main .stat h2{border:0;padding:0}
main>h1{box-shadow:0 5px 15px #315b790d,inset 0 1px #fff}
main>.page-help,main>h1+p{padding:0 6px;line-height:1.8;max-width:950px}
.content-note{position:relative;display:block;padding:16px 18px 16px 22px!important;margin:16px 0!important;border:1px solid #cce5f4;border-left:4px solid #27c6ce;border-radius:10px;background:linear-gradient(110deg,#edffff,#f2f6ff);color:#254172;font-size:13px!important;line-height:1.8!important;overflow-wrap:anywhere}
.note-setup{border-left-color:#8753ee;background:linear-gradient(110deg,#f5eeff,#f4fcff)}
.note-warning{border-left-color:#dc3db3;background:linear-gradient(110deg,#fffbea,#fff0f7)}
.content-note strong{color:#183970}.content-note code{display:inline;padding:2px 5px;border-radius:5px;background:#ffffffb0;color:#2857a5}
.notice{border-left-width:4px;line-height:1.8;box-shadow:inset 0 1px #ffffffb0}.notice strong{display:block;margin-bottom:5px}
main form label{line-height:1.7}main form label>input:not([type=checkbox]),main form label>select,main form label>textarea{margin-top:7px}
main input:focus,main select:focus,main textarea:focus{outline:2px solid #27c6ce;outline-offset:2px}
main input[readonly]{background:#eef0fa}.field-help{padding-left:10px;border-left:2px solid #d2ddfb;margin-top:9px}
main .api-save{padding:20px;border:1px solid #d2ddfb;border-radius:12px;background:linear-gradient(110deg,#f4fffd,#f5eeff);margin-top:24px}
.api-save .content-note{margin-bottom:18px!important}.api-save h2{margin-bottom:10px}
main details{background:#ffffff70;box-shadow:0 3px 9px #315b7908}main summary{display:list-item;line-height:1.7;padding:3px 0}main summary .badge{margin-left:8px}main details[open]{background:#ffffffb0}main details[open]>summary{border-bottom:1px solid #d2e1f4;padding-bottom:14px}
main .table-wrap{border:1px solid #d2e1f4;border-radius:11px;background:#ffffff65}main th{position:sticky;top:0;z-index:1}main tbody tr:nth-child(even){background:#f4fcff80}main tbody tr:hover{background:#e8fffc}main td{line-height:1.7}
main .empty{padding:34px 22px;border-radius:11px;background:linear-gradient(110deg,#f4fffd,#f5eeff);line-height:1.8}
main section>form>button,main .api-save>button{margin-top:14px;min-height:44px}main .form-grid{align-items:start;gap:18px}
main .quick a{align-items:center;gap:14px;line-height:1.7;box-shadow:inset 0 1px #fff}main .quick a:hover{border-color:#7ecde2}
main .upgrade-note{border-left:4px solid #8753ee;line-height:1.8}.history-entry{padding:18px}.history-entry p{line-height:1.8}
main .setup-guide{border-left:4px solid #27c6ce}.setup-guide li::marker{color:#8753ee;font-weight:bold}
@media(max-width:650px){.content-note{padding:14px 14px 14px 17px!important}main .api-save{padding:16px}main .form-grid{gap:10px}main section>h2{line-height:1.6}main .content-note code{word-break:break-word}}

/* Highlighted notes follow their content while staying within the card. */
main .content-note,main .notice,main .upgrade-note{width:fit-content;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}

/* Keep controls and content blocks visibly separated throughout the admin. */
main section+section,main form+section,main section+form{margin-top:20px}
main form+.table-wrap,main form+.empty,main form+details,main form+.notice,main form+.content-note{margin-top:18px}
main .table-wrap+form,main .table-wrap+p,main .notice+form{margin-top:18px}
main button+button,main .button+.button,main button+.button,main .button+button{margin-inline-start:10px}
main p:has(>.button){display:flex;flex-wrap:wrap;align-items:center;gap:12px}
main p:has(>.button)>.button{margin:0}
main section>form>button,main details form>button{margin-bottom:12px}
main .form-grid+button{margin-top:16px}
main .columns,main .stats,main .chips,main .health-grid,main .quick,main .release-summary,main .upgrade-steps{gap:16px}
main .api-save{margin-top:26px}main .api-save>button{margin-bottom:4px}
main .notice,main .alert{margin-top:16px;margin-bottom:16px}
main .table-wrap{margin-top:16px}main details+details{margin-top:14px}
@media(max-width:650px){main p:has(>.button){display:flex;gap:12px}main p:has(>.button)>.button{flex:1 1 100%}main .columns>section+section{margin-top:20px}main .stats,main .chips,main .health-grid{gap:12px}}

/* Full-width paragraph panels and page subtitles, within their content column. */
main p{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}
main section p,main .panel p{display:block;width:100%;max-width:none;padding:13px 16px;border:1px solid #cce5f4;border-radius:10px;background:linear-gradient(110deg,#f4fffd,#f5eeff);line-height:1.8;margin:14px 0}
main .content-note,main .notice,main .upgrade-note,main .api-settings-form>section>p,main .api-save p{width:100%;max-width:100%}
main .note-setup{background:linear-gradient(110deg,#f5eeff,#f4fcff)}
main .note-warning{background:linear-gradient(110deg,#fffbea,#fff0f7)}
main .note-info{background:linear-gradient(110deg,#edffff,#f2f6ff)}
main>h1+p,main>.page-help{width:100%;max-width:100%;padding:16px 20px;margin:0 0 22px;border:1px solid #b9dff0;border-left:4px solid #27c6ce;border-radius:12px;background:linear-gradient(110deg,#e8fffc,#fceefa);box-shadow:inset 0 1px #fff;color:#254172;line-height:1.8}
main .release-intro>div{min-width:0;flex:1}main .release-intro p{margin-top:10px}main p:has(>.button){display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:650px){main>h1+p,main>.page-help{padding:14px 16px}main section p,main .panel p{padding:12px 14px}main p:has(>.button)>.button{flex:1 1 100%}}

/* All admin forms use one vertical field column at every screen size. */
main form .form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
main form .form-grid>label{min-width:0;width:100%;margin:12px 0}
main form .form-grid>label>input,main form .form-grid>label>select,main form .form-grid>label>textarea{width:100%}
/* Full-width inputs and accessible, polished selection controls. */
main form label,main .api-save label{width:100%;max-width:none;min-width:0}
main form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),main form select,main form textarea,main .api-save input[type=password]{width:100%;max-width:none;box-sizing:border-box}
main form label:has(>input[type=checkbox]),main form label:has(>input[type=radio]){display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #c7dcec;border-radius:12px;background:linear-gradient(110deg,#f4fffd,#f5eeff);cursor:pointer;transition:border-color .15s,box-shadow .15s}
main form label:has(>input:checked){border-color:#159c9b;box-shadow:0 2px 8px #315b7910,inset 0 1px #fff}
main form input[type=checkbox],main form input[type=radio]{appearance:none;display:inline-grid;place-content:center;flex:0 0 22px;width:22px!important;height:22px;padding:0;margin:0;max-width:22px;border:2px solid #83a9be;border-radius:6px;background:#fff;cursor:pointer}
main form input[type=radio]{border-radius:50%}
main form input[type=checkbox]:checked,main form input[type=radio]:checked{border-color:#087f85;background:linear-gradient(135deg,#08bdb7,#4386dc)}
main form input[type=checkbox]:checked:before{content:'';width:10px;height:6px;border-left:2px solid white;border-bottom:2px solid white;transform:translateY(-1px) rotate(-45deg)}
main form input[type=radio]:checked:before{content:'';width:8px;height:8px;border-radius:50%;background:white}
main form input:is([type=checkbox],[type=radio]):disabled{opacity:.5;cursor:not-allowed}
main .status-configured{color:#16733f;font-weight:bold}
main .status-unconfigured{color:#bf283c;font-weight:bold}
@media(forced-colors:active){main form input:is([type=checkbox],[type=radio]){appearance:auto}main form input:is([type=checkbox],[type=radio]):before{content:none}}
/* Responsive drawer: navigation stays exclusively in the sidebar. */
.menu-open,.sidebar-top{display:none}.menu-backdrop[hidden]{display:none}
@media(max-width:1000px){
 .workspace{display:block}.menu-open{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-left:auto}.menu-open span{font-size:20px}header>.badge{display:none}
 #admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:101;width:min(340px,90vw);height:100dvh;padding:18px;overflow-y:auto;background:linear-gradient(140deg,#f1fffd,#f5eeff);border-right:1px solid #bfe3ee;box-shadow:12px 0 35px #20366a30;transform:translateX(-105%);visibility:hidden;transition:transform .2s ease,visibility .2s}
 .menu-is-open #admin-sidebar{transform:translateX(0);visibility:visible}.menu-is-open{overflow:hidden}
 .sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;font:22px Display,sans-serif}.menu-close{display:grid;place-items:center;width:44px;height:44px;padding:0;font-size:28px;border-radius:12px}
 #admin-sidebar .identity{display:flex}#admin-sidebar .sidebar{display:grid;max-height:none;overflow:visible;padding:0;margin:0;gap:8px}#admin-sidebar .sidebar a{min-width:0}#admin-sidebar .signout{display:block}
 .menu-backdrop{position:fixed;inset:0;z-index:100;background:#20366a66;backdrop-filter:blur(3px)}
}
@media(prefers-reduced-motion:reduce){#admin-sidebar{transition:none}}
.admin-notice{border:1px solid var(--border,#d7dddc);border-radius:14px;padding:20px;margin:16px 0;background:var(--card,#fff)}.admin-notice h3{margin:0 0 8px}.admin-notice form{max-width:460px}.admin-notice a{overflow-wrap:anywhere}
