

/* Codex.me · livello finale della cascata 0.5.136 */
:root{--cx-release-gap:clamp(.85rem,1.8vw,1.35rem);--cx-release-reading:76ch;--cx-release-outline:3px solid #0b67a3}
html{overflow-x:hidden;text-size-adjust:100%}
body.codex-ui{min-width:0;overflow-x:clip;background:var(--cx-bg);color:var(--cx-text);font-family:var(--cx-font);font-size:16px;line-height:1.55}
body.codex-ui *{box-sizing:border-box}
body.codex-ui :where(img,svg,video,canvas,iframe){max-width:100%;height:auto}
body.codex-ui :where(main,section,article,aside,nav,header,footer,form,fieldset,div){min-width:0}
body.codex-ui :where(h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote){overflow-wrap:anywhere}
body.codex-ui :where(.shell,.admin-page,.page-shell,.uc-page){max-width:var(--cx-shell);margin-inline:auto}
body.codex-ui :where(.surface,.card,.panel,.admin-section,.dashboard-panel,.quality-card,.stat-card){border:1px solid var(--cx-line);border-radius:var(--cx-radius);background:var(--cx-canvas);box-shadow:none}
body.codex-ui .content-anchor{scroll-margin-top:calc(var(--cx-header) + 1rem)}
body.codex-ui .skip-link{z-index:1000}

/* 0.5.137 · contrasto, tipografia e stati */
body.codex-ui{--cx-muted:#526277;--cx-faint:#68778a;--cx-line:#c7d0dc;--cx-line-strong:#8796a9;--cx-brand-strong:#075f9b;--cx-brand-dark:#053f69}
body.codex-ui :where(h1,h2,h3,h4,h5,h6){margin-block:0 .55em;color:var(--cx-text);font-weight:780;line-height:1.12;letter-spacing:-.02em}
body.codex-ui h1{font-size:clamp(2rem,5vw,3.65rem)}
body.codex-ui h2{font-size:clamp(1.35rem,2.5vw,2rem)}
body.codex-ui :where(p,li,dd,small,.muted,.help,.hint){color:var(--cx-text-2)}
body.codex-ui a{color:var(--cx-brand-dark);text-decoration-thickness:.08em;text-underline-offset:.18em}
body.codex-ui a:hover{color:#003352}
body.codex-ui :where(.kicker,.eyebrow,.overline){color:#405166;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
body.codex-ui :where(.status-badge,.status-pill,.registration-badge,.hero-status,.codex-footer-status,.footer-registration){display:inline-flex;align-items:center;gap:.45rem;max-width:100%;white-space:nowrap;word-break:normal;overflow-wrap:normal;hyphens:none;font-weight:800;line-height:1.1}
body.codex-ui :where(.status-badge.success,.flash.success,.notice-success){color:#0a5b35;background:#e7f6ed;border-color:#7bc99d}
body.codex-ui :where(.status-badge.error,.flash.error,.notice-error){color:#86190f;background:#fff0ee;border-color:#e2a29c}
body.codex-ui :where(.status-badge.warning,.flash.warning,.notice-warning){color:#694100;background:#fff5dc;border-color:#ddb96d}
body.codex-ui .flash{margin-block:1rem;padding:.9rem 1rem;border:1px solid var(--cx-line);background:#fff;color:var(--cx-text)}

/* 0.5.138 · componenti, moduli e tabelle */
body.codex-ui :where(button,.button,.small-button,input[type=submit],input[type=button]){min-height:44px;border:1px solid #526277;border-radius:var(--cx-radius-control);padding:.68rem 1rem;background:#fff;color:#101a29;font:inherit;font-weight:780;line-height:1.15;cursor:pointer}
body.codex-ui :where(button,.button,.small-button,input[type=submit],input[type=button]):hover{border-color:#075f9b;background:#edf7ff;color:#053f69}
body.codex-ui :where(button.primary,.button.primary,.primary-button){border-color:#075f9b;background:#075f9b;color:#fff}
body.codex-ui :where(button.primary,.button.primary,.primary-button):hover{background:#054e80;color:#fff}
body.codex-ui :where(button.danger,.button.danger){border-color:#a5271d;color:#8b1b12;background:#fff3f1}
body.codex-ui :where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-height:44px;border:1px solid #8796a9;border-radius:var(--cx-radius-control);padding:.67rem .75rem;background:#fff;color:#101a29;font:inherit}
body.codex-ui textarea{min-height:8rem;resize:vertical}
body.codex-ui :where(input,select,textarea)::placeholder{color:#66758a;opacity:1}
body.codex-ui :where(label,legend){display:block;margin-bottom:.35rem;color:#101a29;font-weight:760}
body.codex-ui fieldset{min-width:0;margin:0;padding:1rem;border:1px solid var(--cx-line)}
body.codex-ui :where(.form-row,.field-row,.inline-form,.actions-row){display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}
body.codex-ui :where(.form-row,.field-row)>*{flex:1 1 220px}
body.codex-ui :where(.responsive-table,.admin-table-wrap,.table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--cx-line);background:#fff}
body.codex-ui table{width:100%;border-collapse:collapse;color:var(--cx-text);font-variant-numeric:tabular-nums}
body.codex-ui th{background:#edf2f7;color:#172033;text-align:left;font-weight:820}
body.codex-ui :where(th,td){padding:.78rem;border-bottom:1px solid var(--cx-line);vertical-align:top}
body.codex-ui tbody tr:nth-child(even){background:#fafbfd}
body.codex-ui tbody tr:hover{background:#eef7ff}
body.codex-ui :where(.empty-state,.notice,.callout){padding:clamp(1rem,2.5vw,1.5rem);border:1px solid var(--cx-line);background:#fff}
body.codex-ui .empty-state{text-align:center}

/* 0.5.139 · pagine pubbliche, profili e media */
body.codex-ui.is-public :where(.experience-grid,.social-shell,.profile-layout){gap:var(--cx-release-gap)}
body.codex-ui .social-post{overflow:hidden}
body.codex-ui :where(.post-header,.post-copy,.post-footer,.composer){padding:clamp(.9rem,2vw,1.25rem)}
body.codex-ui .post-copy p{max-width:var(--cx-release-reading)}
body.codex-ui :where(.post-media img,.album-grid img,.video-card img){display:block;width:100%;object-fit:cover;background:#e8edf3}
body.codex-ui .post-media img{max-height:min(72vh,760px)}
body.codex-ui .profile-cover{overflow:hidden;background:#dfe7ef}
body.codex-ui .profile-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--cover-x,50%) var(--cover-y,50%)}
body.codex-ui :where(.profile-avatar,.avatar-xl,.avatar-editor-frame){overflow:hidden;background:#e4eaf0}
body.codex-ui :where(.profile-avatar,.avatar-xl,.avatar-editor-frame) img{width:100%;height:100%;object-fit:cover;object-position:var(--avatar-x,50%) var(--avatar-y,50%)}
body.codex-ui :where(.message-bubble,.conversation-card,.page-card,.event-card,.video-card,.album-card){border:1px solid var(--cx-line);background:#fff;color:var(--cx-text)}
body.codex-ui :where(.message-bubble p,.conversation-card p,.page-card p,.event-card p){color:var(--cx-text-2)}
body.codex-ui :where(.media-grid,.album-grid,.video-grid,.page-grid,.event-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--cx-release-gap)}
body.codex-ui :where(.profile-actions,.post-actions,.interaction-bar){display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}

/* 0.5.140 · pannello amministrativo */
body.codex-ui.is-admin{background:#edf1f5}
body.codex-ui.is-admin .admin-page{width:min(1500px,calc(100% - 32px));padding-block:1rem 4rem}
body.codex-ui .admin-commandbar{isolation:isolate}
body.codex-ui .admin-commandbar-head{background:#0e1726;color:#fff}
body.codex-ui .admin-commandbar-head :where(strong,small){color:#fff}
body.codex-ui .admin-commandbar-head .small-button{border-color:#98a7b9;background:#fff;color:#101a29}
body.codex-ui .admin-nav{background:#fff}
body.codex-ui .admin-nav details{position:relative}
body.codex-ui .admin-nav-group{z-index:52}
body.codex-ui .admin-nav a{white-space:normal;overflow-wrap:anywhere}
body.codex-ui :where(.dashboard-kpis,.stats,.quality-grid,.release-status-grid,.release-summary-grid,.release-test-grid,.storage-status-grid,.cleanup-status-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
body.codex-ui :where(.dashboard-panel,.admin-section,.settings-form,.release-detail,.storage-architecture,.cleanup-section){overflow:hidden}
body.codex-ui .admin-head p,body.codex-ui .admin-heading p{max-width:72ch}
body.codex-ui .admin-row>:first-child{min-width:0;flex:1 1 auto}
body.codex-ui .admin-row>:last-child{flex:0 1 auto}
body.codex-ui .quality-card.ok{border-left:4px solid #177245}
body.codex-ui .quality-card.fail{border-left:4px solid #b42318}

/* 0.5.141 · reflow mobile e touch */
@media(max-width:900px){
 body.codex-ui{--cx-header:58px}
 body.codex-ui :where(.shell,.page-shell,.uc-page),body.codex-ui.is-admin .admin-page{width:calc(100% - 24px)}
 body.codex-ui .admin-commandbar{position:relative;top:auto}
 body.codex-ui .admin-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
 body.codex-ui .admin-nav details{position:static}
 body.codex-ui .admin-nav-group{position:fixed;inset:auto 12px 12px;max-height:70dvh;overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
 body.codex-ui :where(.dashboard-main-grid,.dashboard-secondary-grid,.admin-layout,.release-layout,.storage-main-grid,.profile-layout,.project-statement,.auth-shell){grid-template-columns:minmax(0,1fr)}
 body.codex-ui :where(.admin-head,.admin-heading,.page-heading,.section-head){align-items:flex-start;flex-direction:column}
 body.codex-ui :where(.experience-right,.right-rail){display:none}
}
@media(max-width:620px){
 body.codex-ui :where(.shell,.page-shell,.uc-page),body.codex-ui.is-admin .admin-page{width:calc(100% - 18px)}
 body.codex-ui .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.codex-ui .admin-nav-group{grid-template-columns:1fr}
 body.codex-ui :where(.dashboard-kpis,.stats,.quality-grid,.release-status-grid,.release-summary-grid,.release-test-grid,.storage-status-grid,.cleanup-status-grid){grid-template-columns:1fr}
 body.codex-ui :where(.actions-row,.inline-form,.profile-actions,.post-actions){align-items:stretch}
 body.codex-ui :where(.actions-row,.inline-form,.profile-actions,.post-actions)>:where(a,button,input,select){flex:1 1 100%}
 body.codex-ui .admin-row{align-items:stretch;flex-direction:column}
 body.codex-ui :where(th,td){padding:.67rem .58rem}
 body.codex-ui table{min-width:560px}
 body.codex-ui :where(.status-badge,.status-pill,.registration-badge,.hero-status,.codex-footer-status,.footer-registration){font-size:.75rem}
 body.codex-ui :where(.post-header,.post-copy,.post-footer,.composer){padding:.82rem}
}
@media(max-width:380px){body.codex-ui .admin-nav{grid-template-columns:1fr}body.codex-ui table{min-width:520px}}

/* 0.5.142 · accessibilità */
body.codex-ui :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--cx-release-outline);outline-offset:3px}
body.codex-ui :where(button,a,.button,summary){touch-action:manipulation}
body.codex-ui :where([aria-disabled=true],button:disabled,input:disabled,select:disabled,textarea:disabled){cursor:not-allowed;opacity:.68}
body.codex-ui :where(.sr-only,.visually-hidden){position:absolute!important;width:1px!important;height: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}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body.codex-ui *,body.codex-ui *::before,body.codex-ui *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(prefers-contrast:more){body.codex-ui{--cx-line:#6b7889;--cx-line-strong:#3b4655}body.codex-ui :where(.surface,.card,.panel,.admin-section,input,select,textarea,button,.button){border-width:2px}}
@media(forced-colors:active){body.codex-ui :where(button,.button,input,select,textarea,.surface,.card,.panel){forced-color-adjust:auto}body.codex-ui :where(.status-badge,.status-pill){border:1px solid CanvasText}}
@media print{body.codex-ui{background:#fff;color:#000}body.codex-ui :where(.site-header,.site-navigation,.codex-footer,.admin-commandbar,.actions-row,.post-actions,.interaction-bar){display:none!important}body.codex-ui :where(.shell,.admin-page,.page-shell){width:100%!important;max-width:none!important}body.codex-ui :where(.surface,.card,.panel){box-shadow:none!important;border-color:#777!important}}

/* 0.5.143 · collaudo visivo */
body.codex-ui .visual-quality-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-block:1rem}
body.codex-ui .visual-quality-list{display:grid;gap:.65rem}
body.codex-ui .visual-quality-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;padding:1rem;border:1px solid var(--cx-line);background:#fff}
body.codex-ui .visual-quality-item>span{display:inline-grid;place-items:center;min-width:2.2rem;min-height:2.2rem;border:1px solid currentColor;font-weight:900}
body.codex-ui .visual-quality-item.ok>span{color:#0a5b35}.visual-quality-item.fail>span{color:#86190f}
body.codex-ui .visual-quality-item h2{font-size:1.05rem;margin:0 0 .2rem}.visual-quality-item p{margin:0}


/* Codex.me 1.0 · release candidate, pilota e monitoraggio */
.release-one-page{display:grid;gap:1.25rem}.release-check-list{display:grid;gap:.65rem}.release-check{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto;gap:1rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--border,#d7dee7);background:#fff}.release-check.is-ok{border-left:4px solid #16794b}.release-check.is-missing{border-left:4px solid #a86100}.release-check span{color:var(--text-muted,#52606d)}.release-check b{font-size:.75rem;white-space:nowrap}.release-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.release-manual-grid>button{grid-column:1/-1;justify-self:start}.release-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.release-issue-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}.release-issue-form .span-all{grid-column:1/-1}.release-issues{display:grid;gap:1rem}.release-issue{padding:1.2rem;border-left:5px solid #64748b}.release-issue.severity-high{border-left-color:#b45309}.release-issue.severity-blocker{border-left-color:#b91c1c}.release-issue header{display:flex;justify-content:space-between;gap:1rem}.release-issue-update{display:grid;grid-template-columns:180px 1fr auto;gap:.75rem;align-items:end;margin-top:1rem}.confirm-form{margin-top:1rem}.release-one-page .danger-button{background:#a11227;color:#fff;border-color:#a11227}.release-one-page .danger-button:hover{background:#7f0d1e}@media(max-width:820px){.release-check{grid-template-columns:1fr}.release-manual-grid,.release-two-columns,.release-issue-form{grid-template-columns:1fr}.release-issue-form .span-all{grid-column:auto}.release-issue-update{grid-template-columns:1fr}.release-issue header{align-items:flex-start;flex-direction:column}}

/* Codex.me 1.0.1 · Assistente di certificazione guidata */
.certification-wizard-page{--cert-ok:#087443;--cert-warn:#9a5b00;--cert-pending:#667085;display:grid;gap:var(--space-6,1.5rem)}
.certification-wizard-hero{align-items:flex-start}
.certification-progress-card{padding:clamp(1rem,2.5vw,2rem);border-top:5px solid var(--accent,#5aa8ee)}
.certification-progress-value{font-size:clamp(1.6rem,4vw,3rem)}
.certification-progress{height:14px;background:#e7ecf3;border:1px solid #c9d2df;overflow:hidden}
.certification-progress>span{display:block;height:100%;background:var(--accent,#5aa8ee);transition:width .25s ease}
.certification-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:1rem;background:#d6dde7;border:1px solid #d6dde7}
.certification-kpis>div{display:grid;gap:.2rem;padding:1rem;background:#fff}
.certification-kpis strong{font-size:1.35rem;color:#081225}.certification-kpis span{color:#475467}
.certification-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1rem 0}
.certification-live-status{min-height:1.5em;font-weight:700;color:#344054}
.certification-step-list{display:grid;gap:.75rem}
.certification-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid #cfd7e3;background:#fff}
.certification-step.is-ok{border-left:5px solid var(--cert-ok)}.certification-step.is-warning{border-left:5px solid var(--cert-warn)}.certification-step.is-pending{border-left:5px solid #98a2b3}
.certification-step-mark{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid currentColor;border-radius:50%;font-weight:900}
.certification-step h3,.certification-manual-card h3{margin:0}.certification-step p{margin:.25rem 0;color:#475467}
.certification-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.certification-manual-card{padding:1.25rem;border:1px solid #cfd7e3;background:#fff;display:flex;flex-direction:column;gap:.75rem}
.certification-manual-card.is-ok{border-top:5px solid var(--cert-ok)}.certification-manual-card.is-pending{border-top:5px solid var(--cert-warn)}
.certification-link-row{display:flex;flex-wrap:wrap;gap:.5rem}.certification-link-row a{font-weight:700}
.certification-complete-note{padding:.75rem;background:#eaf8f1;border-left:4px solid var(--cert-ok);color:#075b35}
.certification-final-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;border:2px solid #0b1629}
.certification-final-card .flash{grid-column:1/-1}
.dashboard-kpi-highlight{border-top:4px solid var(--accent,#5aa8ee)}
@media(max-width:760px){.certification-kpis{grid-template-columns:1fr}.certification-manual-grid{grid-template-columns:1fr}.certification-step{grid-template-columns:auto minmax(0,1fr)}.certification-step .small-button{grid-column:2}.certification-final-card{grid-template-columns:1fr}.certification-final-card button{width:100%}}
@media(prefers-reduced-motion:reduce){.certification-progress>span{transition:none}}

/* Codex.me 1.0.2 · Chiusura semplificata della certificazione */
.certification-wizard-simple .certification-quick-close{border-top:5px solid var(--accent,#5aa8ee)}
.certification-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.certification-quick-card{display:flex;flex-direction:column;gap:.8rem;padding:1.15rem;border:1px solid #cfd7e3;background:#fff;min-width:0}
.certification-quick-card.is-ok{border-top:4px solid var(--cert-ok,#087443)}
.certification-quick-card.is-pending{border-top:4px solid var(--cert-warn,#9a5b00)}
.certification-quick-card h3{margin:0;font-size:1.2rem}.certification-quick-card p{margin:0;color:#475467}
.certification-quick-card form{margin-top:auto}.certification-quick-card>.primary-button,.certification-quick-card>.secondary-button{margin-top:auto;align-self:flex-start}
.certification-cron-url{display:grid;gap:.35rem;font-weight:700}.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem}.copy-field input{min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}
.certification-external-form .actions-row{align-items:center;justify-content:flex-start}.certification-external-form .small-button{white-space:normal;text-align:center}
.certification-missing-only{border:2px solid #0b1629}.certification-blocker-list{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.certification-blocker-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid #d3dae5;background:#fff}.certification-blocker-list h3{margin:.35rem 0 .2rem}.certification-blocker-list p{margin:0;color:#475467}
.certification-details>summary{font-size:1.15rem;font-weight:900;cursor:pointer;padding:.25rem}.certification-details[open]>summary{margin-bottom:1rem}
.certification-wizard-simple .field-help{font-size:.84rem;color:#52606d}.certification-wizard-simple code{overflow-wrap:anywhere}
@media(max-width:1050px){.certification-quick-grid{grid-template-columns:1fr 1fr}.certification-quick-card:first-child{grid-column:1/-1}}
@media(max-width:720px){.certification-quick-grid{grid-template-columns:1fr}.certification-quick-card:first-child{grid-column:auto}.copy-field{grid-template-columns:1fr}.copy-field .small-button{width:100%}.certification-blocker-list li{grid-template-columns:1fr}.certification-blocker-list .small-button{justify-self:start}.certification-external-form .actions-row{display:grid;grid-template-columns:1fr}.certification-external-form .actions-row>*{width:100%}}
