/* Extensie progresivă: păstrează stilurile editorului din app.css. */
:root{--sage:#e9f0e9;--ink:#24473c;--muted:#52665b;--gold:#947332;background:#f7f6f0;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}
body{min-width:0}main{min-width:0}button,input,select,textarea{font:inherit}button{min-height:44px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}p{color:var(--muted)}header{height:auto;min-height:78px;padding:14px 32px;gap:16px}.demo{font-size:12px;color:#71571f;padding:9px 32px}.role-label{color:#465b50;font-size:12px}.role-label select{min-height:44px}#content{padding:26px 32px;max-width:1150px;outline-offset:-4px}footer{padding:14px 32px;font-size:12px;color:#596d60}.mobile-brand,#mobile-navigation{display:none}.skip-link{position:fixed;left:12px;top:-100px;z-index:20;background:#fff;padding:16px;color:#24473c}.skip-link:focus{top:12px}.notification-button{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid #dce4da;border-radius:15px;background:#fff;color:var(--ink)}.notification-count,.nav-count{position:absolute;background:#715621;color:white;border:2px solid white;font-size:10px;border-radius:20px;padding:2px 5px;top:0;right:0}.ui-icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.page-heading{margin-bottom:18px}.page-heading h1{font:650 28px system-ui;margin:0 0 6px;letter-spacing:-.7px}.page-heading p{margin:0;font-size:14px}.child-header{display:flex;align-items:center;gap:14px;padding:18px;background:white;border:1px solid #e0e6db;border-radius:20px;margin-bottom:20px}.child-avatar{display:grid;place-items:center;width:58px;height:58px;flex-shrink:0;border-radius:18px;background:#e9eedf;font-weight:650;color:#496341}.child-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.child-header small{font-size:10px;letter-spacing:.8px;color:#5c704e}.child-header h2{font:650 18px system-ui;margin:4px 0}.child-header p{font-size:13px;margin:0}.profile-link{margin-left:auto;flex-shrink:0;border:none;border-radius:10px;padding:8px 12px;background:#f3f5ec;color:var(--ink)}.day-caption{font-size:12px;font-weight:600;margin:0 0 12px;color:#5c6f62}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.info-card{display:flex;flex-direction:column;gap:14px;align-items:flex-start;text-align:left;padding:22px;border:1px solid #dfe6db;border-radius:20px;cursor:pointer;color:var(--ink);box-shadow:0 3px 12px #324b3d05;transition:transform .15s,box-shadow .15s;min-width:0}.info-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px #324b3d12}.info-top{display:flex;align-items:center;gap:10px;width:100%;font-size:13px;font-weight:600}.info-top span:not(.card-arrow){flex:1}.card-arrow{color:#566f5e}.info-card strong{font-size:21px;line-height:1.3}.info-detail{font-size:14px;line-height:1.55;color:#485f51}.card-action{font-size:12px;font-weight:600;opacity:.85;margin-top:auto}.sage{background:#ecf3ea}.cream{background:#fbf5e7}.rose{background:#faf0ea}.lavender{background:#f1eff7}.demo-footnote{font-size:12px;margin-top:20px}.scope-note{padding:16px;border-radius:14px;background:var(--sage)}.module-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-link{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:18px;background:white;color:var(--ink);border:1px solid #e0e5dc;border-radius:15px;font-size:15px}.module-link span:not(.chevron){flex:1}.module-link.submodule{background:#f0f4ec}.back-button{background:none;border:0;color:#315943;padding:8px 0;margin-bottom:8px}.module-card{padding:24px}.module-card h2{font:650 21px system-ui;margin:14px 0}.module-card .tag{color:#647653}.detail-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:1px solid #e7ece2}.detail-row>div{flex:1;min-width:0}.detail-row h3{font-size:15px;margin:0 0 5px}.detail-row p{font-size:14px;margin:0}.detail-row .ui-icon{color:#577951}.status-badge{border-radius:30px;background:#e9f0e5;color:#365b32;padding:7px 11px;font-size:12px;white-space:nowrap}.status-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.status-1{background:#f6e8e1;color:#7a4234}.status-2{background:#eeece5;color:#5a5748}.preview-states{font-size:12px;color:#526449;margin-bottom:18px}.preview-states summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.preview-states label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px}.state-panel{padding:30px 18px;text-align:center;background:#f1f4ed;border-radius:16px}.state-panel h2{font:600 20px system-ui}.state-symbol{display:inline-grid;place-items:center;font-size:30px;color:#496e43}.state-error{background:#faf0e9}.state-error .state-symbol{color:#8b5033}.state-loading .state-symbol{animation:spin 1.4s linear infinite}.gallery-placeholder{display:grid;justify-items:center;gap:12px;background:#f0f3e9;border:1px dashed #adbda2;border-radius:18px;padding:34px 18px;text-align:center}.gallery-placeholder .ui-icon{width:40px;height:40px}.gallery-placeholder p{max-width:400px;margin:0}.card p,.info-card,.module-link,h1,h2{overflow-wrap:anywhere}.editor{margin-top:18px}.edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-row>*{min-width:0}.edit-row input,.edit-row select{width:100%;min-width:0}.roles label{min-height:44px}input[type=checkbox]{width:20px;height:20px}textarea{min-height:110px}.notice{color:#465c3e;font-size:13px}.link-button{min-height:44px;font-size:14px}nav button{min-height:44px;color:#4e6558;font-size:14px}.aside-bottom{color:#526d53}.eyebrow{color:#526d53}.breadcrumb{color:#52665b}
@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1050px){header{padding:14px 24px}#content{padding:24px}.module-list{grid-template-columns:1fr}}
@media(max-width:700px){aside{display:none}main{margin:0;width:100%;padding-bottom:calc(80px + env(safe-area-inset-bottom))}header{padding:12px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;background:#f7f6f0;border:0}.mobile-brand{display:block;text-decoration:none;color:var(--ink);font:600 20px Georgia,serif}.role-label{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:space-between;font-size:11px}.role-label select{font-size:12px;max-width:55%;margin-left:8px;padding:6px 10px}#header-actions{grid-column:2;grid-row:1}.demo{padding:8px 18px;font-size:10px;line-height:1.5}#content{padding:22px 18px 12px}.page-heading h1{font-size:25px}.page-heading{margin-bottom:16px}.child-header{padding:14px;gap:10px;margin-bottom:18px;border-radius:18px}.child-header h2{font-size:16px}.child-header small{font-size:9px}.child-header p{font-size:12px}.child-avatar{width:48px;height:48px;border-radius:15px}.profile-link{padding:6px;font-size:12px}.dashboard-grid{grid-template-columns:1fr;gap:12px}.info-card{padding:18px;gap:10px;border-radius:18px}.info-card strong{font-size:20px}.info-top{font-size:13px}.info-detail{font-size:14px}.card-action{font-size:11px}.module-card{padding:18px}.module-card h2{font-size:20px}.detail-row{gap:10px;flex-wrap:wrap}.status-badge{font-size:11px}.module-list{gap:10px}.module-link{padding:16px}.edit-row{grid-template-columns:1fr}.card{min-width:0;padding:18px}.intro{display:block}.intro h1{font:650 25px system-ui}.intro .pill{display:inline-block;margin-top:8px}.roles{gap:8px}footer{padding:14px 18px;line-height:1.5}#mobile-navigation{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fffefbf5;backdrop-filter:blur(14px);border-top:1px solid #dde4d6;padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:2px;margin:0;overflow:visible}#mobile-navigation button{position:relative;flex:1;min-width:0;width:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:0;padding:7px 2px;min-height:58px;border-radius:14px;font-size:10px;color:#50634f;white-space:normal;text-align:center}#mobile-navigation button.selected{background:#e9f0e3;color:#264e36;font-weight:700}#mobile-navigation .ui-icon{width:23px;height:23px}#mobile-navigation .nav-count{top:2px;right:calc(50% - 22px)}.notification-button{width:44px;height:44px}.preview-states select{max-width:100%}}
/* Finisare vizuală: contrast, densitate și mese separate. */
:root{--ink:#193b30;--muted:#354c40;--gold:#73551e}
p,.info-detail,.page-heading p,.day-caption,.demo-footnote,.breadcrumb,footer,.role-label,.eyebrow,.aside-bottom,.meta,.meal small,.meal p,.stat small,.stat span{color:#354c40}
.card-action{opacity:1;color:#2c5140}.card-arrow{color:#355540}.child-header small,.module-card .tag,.preview-states{color:#3d543a}.brand small{color:#354c40}
header{min-height:68px;padding:10px 26px}#content{padding:20px 26px}.page-heading{margin-bottom:12px}.page-heading h1{margin-bottom:4px}.child-header{padding:14px 16px;margin-bottom:14px}.day-caption{margin-bottom:10px}.dashboard-grid{gap:12px}.info-card{padding:16px 18px;gap:9px;border-color:#d6dfd4;border-radius:18px;box-shadow:0 2px 8px #24473c06}.info-card strong{font-size:20px}.info-detail{line-height:1.45}.info-top{font-size:14px}.info-top .ui-icon{width:34px;height:34px;padding:7px;border-radius:11px;background:#dcebdd;color:#285738;stroke-width:1.9}.cream .info-top .ui-icon{background:#f2e5c5;color:#76521e}.rose .info-top .ui-icon{background:#f3ded5;color:#824534}.lavender .info-top .ui-icon{background:#e4dff1;color:#5b457e}
.sage{background:#f5f9f3}.cream{background:#fffbf2}.rose{background:#fff8f4}.lavender{background:#faf8ff}.attendance-value{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:#dfeedd;border:1px solid #bdd4b8;border-radius:30px;padding:5px 12px;color:#234f2a}.attendance-value::before{content:'';width:8px;height:8px;border-radius:50%;background:#37753e}.attendance-detail{font-weight:600;color:#294d35}.meal-summary{display:grid;gap:0;width:100%;font-size:14px;text-align:left}.meal-summary-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid #e7e2d6;line-height:1.4}.meal-summary-row:first-child{border-top:0;padding-top:0}.meal-summary-row b{font-size:12px;color:#634c24;font-weight:650}.meal-summary-row span{color:#304337}.demo-footnote{margin-top:14px}.detail-row{padding:14px 0}.module-card h2{margin:10px 0}.module-list{gap:10px}.module-link{padding:14px 16px}.module-link .ui-icon{color:#365f42}.demo{color:#604817}select,input,textarea{color:#203c2e}.notice{color:#304b2b}
@media(min-width:701px) and (max-width:1050px){#content{padding:18px 20px}.info-card{padding:15px}.meal-summary-row{grid-template-columns:1fr;gap:2px}}
@media(max-width:700px){header{padding:10px 16px;gap:6px}.mobile-brand{font-size:20px}.role-label{font-size:12px}.demo{padding:7px 16px;font-size:11px}#content{padding:16px 16px 12px}.page-heading{margin-bottom:12px}.page-heading p{font-size:14px}.child-header{padding:12px;margin-bottom:12px}.child-header small{font-size:10px}.child-header p{font-size:13px}.dashboard-grid{gap:10px}.info-card{padding:14px 16px;gap:8px}.info-card strong{font-size:19px}.card-action{font-size:12px}.info-detail{font-size:14px}.meal-summary-row{padding:6px 0}.child-avatar{width:46px;height:46px}.module-card{padding:16px}.preview-states{margin-bottom:12px}.demo-footnote{font-size:12px}main{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}#mobile-navigation{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));background:#fffefb}#mobile-navigation button{font-size:11px;color:#344c3d}#mobile-navigation button.selected{color:#21482e}footer{padding:10px 16px;font-size:12px}}
@media(max-width:360px){.mobile-brand{font-size:18px}.child-header{gap:8px}.profile-link{font-size:11px}.child-header h2{font-size:15px}.child-header small{letter-spacing:0}.meal-summary-row{grid-template-columns:74px minmax(0,1fr)}}
/* Marca oficială: proporții naturale, fără crop. */
.brand .brand-mark{width:52px;height:auto;flex-shrink:0;object-fit:contain}.brand span{font-size:18px;line-height:1.25}.brand small{letter-spacing:1.5px}
@media(max-width:700px){.mobile-brand{display:flex;align-items:center;gap:10px;min-width:0}.mobile-brand .brand-mark{width:48px;height:auto;flex-shrink:0;object-fit:contain}.mobile-brand span{font:600 18px/1.2 Georgia,serif;overflow-wrap:normal}.mobile-brand{font-size:18px}}
@media(max-width:360px){.mobile-brand{gap:8px}.mobile-brand .brand-mark{width:42px}.mobile-brand span{font-size:16px}}
.brand small{font-size:11px;letter-spacing:.2px;margin-top:5px}
@media(max-width:700px){.mobile-brand small{display:block;font:500 11px/1.4 system-ui,sans-serif;color:#354c40;margin-top:4px;letter-spacing:.2px}}
/* Contact și configurare locală */
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contact-card h2{display:flex;align-items:center;gap:10px;font:650 20px system-ui;margin:0 0 12px}.contact-card .ui-icon{color:#365e42}.contact-card p{overflow-wrap:anywhere;margin:8px 0}.contact-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px;background:#eaf1e4;border:1px solid #d2dfca;border-radius:12px;color:#254b32;font-size:14px;text-decoration:none;margin:5px 6px 0 0;overflow-wrap:anywhere;max-width:100%}.quick-call{margin:0 0 12px;background:white}.child-program{font-weight:650;color:#2e5337!important;margin-top:5px!important}.settings-form{display:grid;gap:16px}.settings-form label{display:grid;gap:8px;color:#304939;font-size:14px}.settings-form select{margin:0;max-width:100%}.settings-brand{width:64px;height:auto;object-fit:contain}.contact-card strong{font-size:24px}.children-overview .child-header{margin-bottom:12px}@media(max-width:700px){.contact-grid{grid-template-columns:1fr}.contact-card{padding:16px}.contact-action{width:100%;margin:6px 0 0}.quick-call{width:auto;margin-bottom:12px}.settings-form input[type=file]{width:100%;min-width:0}}
/* Antet compact și fix, cu identitatea vizuală accentuată. */
header{position:sticky;top:0;z-index:12;background:#fffefb;border-bottom:1px solid #e0e6db}
.brand .brand-mark{width:62px}.brand span{font-size:22px;line-height:1.2}.brand .brand-name-line{font-weight:700}.brand small{font-size:11px}
@media(max-width:700px){header{padding:9px 14px;background:#f7f6f0}.mobile-brand{gap:10px}.mobile-brand .brand-mark{width:56px}.mobile-brand span{font-size:22px;line-height:1.18}.mobile-brand .brand-name-line{display:block;font-weight:700;color:#193b30}.mobile-brand small{font-size:11px;line-height:1.35;margin-top:4px}.role-label{font-size:11px}.role-label select{min-height:36px}.notification-button{width:44px;height:44px}}
@media(max-width:380px){.mobile-brand{gap:8px}.mobile-brand .brand-mark{width:48px}.mobile-brand span{font-size:19px}}
.brand-name-line{display:block}
/* Controale discrete în antet; zona tactilă a clopoțelului rămâne 44px. */
header .notification-button{width:44px;height:44px;border:0;background:transparent;border-radius:12px}
header .notification-button .ui-icon{width:19px;height:19px}
header .notification-count{font-size:9px;padding:1px 4px;top:4px;right:3px}
header .role-label{font-size:10px}
header .role-label select{font-size:11px;min-height:32px;padding:4px 8px;border-radius:7px}
@media(max-width:700px){header .role-label select{min-height:32px;max-width:48%;font-size:11px;padding:4px 8px}}
/* Antet mai subțire: titlul urcă, fără schimbarea dimensiunii textului. */
@media(max-width:700px){header{padding:5px 14px;gap:3px;min-height:0}.mobile-brand .brand-mark{width:48px}.mobile-brand span{line-height:1.1}.mobile-brand small{margin-top:2px;line-height:1.2}.role-label select{margin-top:0}.mobile-brand{gap:8px}}
@media(max-width:380px){.mobile-brand .brand-mark{width:44px}}
/* Butoane mai fine și compacte, cu focus și zone tactile păstrate. */
.primary,.link-button,.back-button,.profile-link,.contact-action{font-size:12px;font-weight:500;line-height:1.35;border-radius:9px;min-height:36px;padding:8px 12px;letter-spacing:0}
.primary{background:#315a47;border:1px solid #315a47;box-shadow:none}
.link-button,.back-button{padding:7px 10px;color:#31533f}
.profile-link{padding:6px 10px;border:1px solid #dce5d5;background:#f4f7f0}
.contact-action{padding:8px 11px;background:#f0f5ec;border-color:#dce6d5;margin-top:4px}
.contact-action .ui-icon{width:18px;height:18px}
#navigation button{font-size:12px;min-height:38px;padding:9px 12px;border-radius:8px;margin:2px 0}
.module-link{font-size:13px;padding:12px 14px;border-radius:12px;gap:10px;min-height:44px}
.module-link .ui-icon{width:21px;height:21px}
.settings-form>.primary{justify-self:start}
.info-card{padding:13px 15px;border-radius:16px;gap:7px}
.info-top{font-size:13px}.info-card strong{font-size:18px}.card-action{font-size:11px;font-weight:500}
@media(max-width:700px){.primary,.link-button,.back-button,.profile-link,.contact-action{min-height:44px;padding:8px 11px;font-size:12px}.module-link{padding:11px 13px;font-size:13px}.info-card{padding:13px 15px}.profile-link{font-size:11px;padding:6px 8px}#mobile-navigation button{font-size:10px;min-height:52px;padding:6px 2px;border-radius:11px}#mobile-navigation .ui-icon{width:21px;height:21px}}
/* Selector demonstrativ mai discret în raport cu titlul. */
header .role-label{font-size:9px}
header .role-label select{font-size:10px;min-height:26px;height:26px;padding:2px 6px;border-radius:6px;width:auto;max-width:140px;margin-left:6px}
@media(max-width:700px){header .role-label{min-height:30px}header .role-label select{font-size:10px;min-height:26px;height:26px;padding:2px 6px;max-width:130px}}
/* Casete compacte pentru acțiuni, coerente în toate paginile. */
.primary,.link-button,.back-button,.profile-link,.contact-action{min-height:30px;padding:6px 9px;font-size:11px;line-height:1.3;border-radius:7px}
.contact-action .ui-icon{width:16px;height:16px}
@media(max-width:700px){.primary,.link-button,.back-button,.profile-link,.contact-action{min-height:32px;padding:7px 9px;font-size:11px;border-radius:7px}.contact-action{width:auto;max-width:100%}.quick-call{width:auto}.profile-link{padding:5px 7px}.settings-form>.primary{justify-self:start}}
/* Bleu preluat din fundalul site-ului oficial: rgb(193,205,237). */
:root{background:#c1cded}
body,main{background:#c1cded}
header{background:#c1cded;border-bottom-color:#adbfdf}
@media(max-width:700px){header{background:#c1cded}}
/* Antet verde inspirat de referința site-ului nou. */
header{background:#28735e;border-bottom-color:#1f614f}
header .mobile-brand,header .mobile-brand span,header .mobile-brand .brand-name-line,header .mobile-brand small,header .breadcrumb,header .breadcrumb b,header .role-label,header .notification-button{color:#fff}
header .notification-count{border-color:#28735e;background:#fff3cf;color:#594014}
@media(max-width:700px){header{background:#28735e}}
/* Suport alb discret pentru lizibilitatea mărcii originale. */
header .brand-mark{background:#fff;padding:3px;border-radius:8px;box-sizing:content-box}
/* Administration réutilise les mêmes cartes et couleurs. */
.directory-warning{border:1px solid #d5bd79;background:#fff8e4;color:#4b3c19;font-size:12px;margin-top:16px}
.admin-actions{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.directory-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.directory-summary p{margin:4px 0}.directory-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.directory-filters label{display:grid;gap:5px;font-size:12px}.directory-filters input,.directory-filters select{width:100%;min-width:0;margin:0}.directory-list{display:grid;gap:12px}.directory-record h2{font:650 19px system-ui;margin:0 0 8px}.directory-record p{font-size:13px;margin:7px 0}.demo-account{font-size:10px;display:flex;gap:6px;align-items:center;max-width:100%;flex-wrap:wrap}.demo-account select{font-size:11px;max-width:180px;margin:0;min-width:0}.archive-dialog{border:1px solid #c9d5c1;border-radius:16px;padding:22px;width:min(90vw,450px);color:#24473c}.archive-dialog::backdrop{background:#152c2470}.archive-dialog h2{font:650 21px system-ui}.settings-form input{min-width:0;max-width:100%}header{flex-wrap:wrap}.child-header{flex-wrap:wrap}.child-header .profile-link{margin-left:auto}.directory-list .card{min-width:0}@media(max-width:700px){.directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-filters>input{grid-column:1/-1}.directory-summary{grid-template-columns:1fr}.demo-account{grid-column:1/-1;justify-content:space-between}.demo-account select{max-width:160px}.admin-actions{gap:4px}.directory-record{padding:15px}}
[hidden]{display:none!important}
header .demo-account{color:#fff}
/* Selectoare de rol și cont cu dimensiuni armonizate în antet. */
header .role-label select,header .demo-account select{box-sizing:border-box;width:140px;max-width:140px;min-width:0;height:28px;min-height:28px;padding:3px 7px;font-size:10px;line-height:1.3;border-radius:6px;margin:0}
@media(max-width:700px){header .role-label,header .demo-account{font-size:9px;min-height:30px}header .role-label select,header .demo-account select{width:130px;max-width:130px;height:28px;min-height:28px}}
.privacy-copy p{line-height:1.65}.official-notice{white-space:pre-wrap;overflow-wrap:anywhere}.privacy-check{display:flex!important;align-items:flex-start;gap:9px;margin:7px 0;line-height:1.5}.privacy-check input{width:18px!important;min-width:18px;margin-top:3px}.privacy-media{border-top:1px solid #dce4da;margin-top:14px;padding-top:12px}.privacy-media img,.privacy-media video{display:block;width:100%;max-width:540px;max-height:380px;object-fit:contain;border-radius:12px;margin:10px 0}.privacy-copy h2{margin-top:18px}.privacy-copy h2:first-child{margin-top:0}.settings-form textarea{width:100%;min-width:0}.privacy-media h3{overflow-wrap:anywhere}
