:root{--primary:#3f6f52;--primary-dark:#294b37;--accent:#e6a552;--cream:#f8f4ea;--ink:#203129;--muted:#6e7a73;--line:#dde5df;--card:#fff;--danger:#b84f4f;--shadow:0 18px 50px rgba(34,55,43,.09);--font:Nunito,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:#f7f9f7}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}.hidden{display:none!important}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.secondary{background:#fff;color:var(--primary);box-shadow:inset 0 0 0 1px var(--line)}.btn.ghost{background:transparent;color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.btn.danger{background:#fff1f1;color:var(--danger)}.btn.small{padding:8px 11px;border-radius:9px;font-size:13px}.wide{width:100%}.icon-btn,.notif-btn{border:0;background:#fff;border-radius:11px;min-width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--line);font-size:18px}.notif-btn{padding:0 12px;font-size:14px;font-weight:800}.public-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,6vw);position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid rgba(0,0,0,.04)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;background:var(--accent);color:#fff;border-radius:12px;display:grid;place-items:center;font-size:19px;transform:rotate(-5deg)}.brand span:last-child{display:flex;flex-direction:column}.brand strong{font-size:18px;line-height:1.05}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:3px}.public-header nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}.hero{min-height:650px;padding:80px max(24px,7vw);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;background:linear-gradient(135deg,#f9f5ea 0%,#f3f8f3 58%,#edf5ee 100%);overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:900;color:var(--primary)}.hero h1,.public-section h2{font-family:Georgia,serif;font-weight:500;line-height:1.02;letter-spacing:-.035em}.hero h1{font-size:clamp(48px,6vw,82px);margin:14px 0 22px;max-width:850px}.hero-copy>p{font-size:19px;line-height:1.7;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;margin:28px 0}.hero-meta{display:flex;gap:22px;font-size:13px;color:var(--muted);font-weight:700}.hero-art{height:480px;border-radius:45% 45% 26px 26px;position:relative;overflow:hidden;background:#cfdfc5;box-shadow:var(--shadow)}.sun{width:100px;height:100px;border-radius:50%;background:#f4c76f;position:absolute;right:13%;top:10%}.hill{position:absolute;border-radius:50%;background:#759b72}.hill.h1{width:600px;height:280px;bottom:-80px;left:-160px}.hill.h2{width:520px;height:240px;bottom:-95px;right:-150px;background:#5e8962}.house{width:170px;height:135px;background:#f6e8d2;position:absolute;bottom:105px;left:50%;transform:translateX(-50%);border-radius:8px}.roof{position:absolute;width:200px;height:100px;background:#c36949;clip-path:polygon(50% 0,100% 100%,0 100%);top:-80px;left:-15px}.door{position:absolute;width:48px;height:76px;background:#80654d;bottom:0;left:60px;border-radius:8px 8px 0 0}.window{position:absolute;width:40px;height:40px;background:#9dcbd2;right:17px;top:30px;border:5px solid #fff}.art-card{position:absolute;left:28px;bottom:24px;background:rgba(255,255,255,.92);padding:15px 18px;border-radius:14px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.art-card span{font-size:12px;color:var(--muted);margin-top:3px}.public-section{padding:90px max(24px,7vw);background:#fff}.section-head{max-width:690px;margin-bottom:40px}.public-section h2{font-size:clamp(38px,4vw,58px);margin:12px 0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-grid article{background:#f7faf7;border:1px solid var(--line);border-radius:20px;padding:28px;min-height:220px}.feature-grid article>span{font-size:28px;color:var(--accent)}.feature-grid h3{margin:24px 0 10px}.feature-grid p,.split p,.enrol-section>div>p{color:var(--muted);line-height:1.65}.split{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.quote-card{background:#fff;border-radius:22px;padding:32px;box-shadow:var(--shadow)}.quote-card b{font-size:22px;color:var(--primary)}.enrol-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-card{display:flex;flex-direction:column;gap:8px;margin-top:30px;padding:22px;border-left:4px solid var(--accent);background:#fbfaf6}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 6px 22px rgba(34,55,43,.04)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:span 2}label{font-size:12px;font-weight:800;color:#46564d;display:flex;flex-direction:column;gap:7px}input,select,textarea{width:100%;border:1px solid #d8e0da;background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(63,111,82,.09)}textarea{resize:vertical}footer{padding:35px max(24px,7vw);background:#203129;color:#fff;display:flex;justify-content:space-between}.modal{position:fixed;inset:0;background:rgba(15,28,20,.5);display:grid;place-items:center;z-index:50;padding:20px}.modal-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:34px;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.25)}.modal-card h2{font-size:30px;margin:8px 0}.modal-card form{display:grid;gap:15px}.close{position:absolute;right:15px;top:15px}.muted{color:var(--muted)}
.portal{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;background:#1f3327;color:#fff;padding:22px 15px;display:flex;flex-direction:column}.portal-brand{padding:0 10px 20px}.portal-brand small{color:#b7c8bc}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow-y:auto}.sidebar nav button{border:0;background:transparent;color:#dfe9e2;text-align:left;border-radius:10px;padding:11px 12px;font-size:13px;font-weight:750;display:flex;align-items:center;gap:10px}.sidebar nav button:hover,.sidebar nav button.active{background:#34613e;color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 5px 0;display:grid;grid-template-columns:36px 1fr 40px;gap:9px;align-items:center}.sidebar-user small{display:block;color:#aebfb3;font-size:10px;margin-top:2px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff;font-weight:900}.sidebar-user .icon-btn{background:rgba(255,255,255,.08);color:#fff;box-shadow:none}.app-shell{min-width:0}.app-topbar{min-height:100px;padding:24px 30px;display:flex;justify-content:space-between;align-items:center;background:#f7f9f7;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15}.app-topbar h1{margin:2px 0 0;font-size:29px}.top-actions{display:flex;gap:8px}.mobile-menu{display:none}.app-view{padding:28px 30px 110px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.stat b{display:block;font-size:29px}.stat span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:4px 0 14px}.section-title h2{font-size:19px;margin:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th,.data-table td{text-align:left;padding:13px 14px;border-bottom:1px solid #edf0ee;font-size:13px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fafbfa;position:sticky;top:0}.data-table tr:last-child td{border-bottom:0}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;text-transform:capitalize;background:#eef3ef;color:#365344}.badge.approved,.badge.complete,.badge.published,.badge.active{background:#e7f4eb;color:#277342}.badge.rejected,.badge.cancelled{background:#faeaea;color:#a24242}.badge.submitted,.badge.open,.badge.scheduled{background:#fff5df;color:#8b6425}.badge.cover{background:#efe8ff;color:#6844a5}.actions{display:flex;gap:7px;flex-wrap:wrap}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.card-list{display:grid;gap:12px}.item-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.item-card header{display:flex;justify-content:space-between;gap:15px}.item-card h3{margin:0 0 6px;font-size:16px}.item-card p{margin:6px 0;color:var(--muted);font-size:13px;line-height:1.55}.child-card{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center}.child-photo{width:58px;height:58px;border-radius:14px;background:#e8eee9;object-fit:cover;display:grid;place-items:center;font-weight:900;color:var(--primary);font-size:18px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.toolbar>*{width:auto}.form-card{margin-bottom:18px}.form-card h3{margin-top:0}.roster-grid{display:grid;grid-template-columns:110px repeat(5,minmax(150px,1fr));min-width:900px}.roster-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;min-height:72px;background:#fff}.roster-head{background:#f1f5f2;font-weight:900;font-size:12px}.shift{background:#eef6f0;border-left:4px solid var(--primary);border-radius:8px;padding:8px;font-size:11px;margin-bottom:6px}.shift.cover{background:#f3edff;border-left-color:#7a5eb1}.segment{font-size:9px;margin-top:4px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.color-row{display:flex;align-items:center;gap:10px}.color-row input[type=color]{width:48px;height:40px;padding:4px}.print-only{display:none}.mobile-nav{display:none}.toast{position:fixed;right:22px;bottom:22px;background:#203129;color:#fff;padding:12px 16px;border-radius:11px;z-index:100;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#8f3737}.loading{padding:80px;text-align:center}.loading span{display:inline-block;width:30px;height:30px;border-radius:50%;border:3px solid #dfe8e1;border-top-color:var(--primary);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.feature-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(3,1fr)}.grid-3{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.hero-art{max-width:650px;width:100%;height:360px}.enrol-section,.split{grid-template-columns:1fr;gap:35px}.portal{grid-template-columns:215px 1fr}.sidebar{padding:18px 10px}}
@media(max-width:760px){.public-header{height:65px;padding:0 17px}.public-header nav>a{display:none}.public-header nav{gap:8px}.public-header .btn{padding:9px 11px;font-size:11px}.hero{padding:55px 20px;gap:35px;min-height:auto}.hero h1{font-size:48px}.hero-copy>p{font-size:16px}.hero-meta{flex-wrap:wrap;gap:10px 18px}.hero-art{height:290px;border-radius:30% 30% 20px 20px}.public-section{padding:62px 20px}.feature-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.public-section h2{font-size:38px}footer{flex-direction:column;gap:8px}.portal{display:block}.sidebar{position:fixed;z-index:30;left:-260px;width:250px;transition:.2s}.sidebar.open{left:0}.mobile-menu{display:inline-grid;place-items:center;margin-right:8px}.app-topbar{padding:18px;min-height:86px}.app-topbar>div:first-child{display:grid;grid-template-columns:auto 1fr}.app-topbar .eyebrow{grid-column:2}.app-topbar h1{grid-column:2;font-size:24px}.app-view{padding:18px 15px 95px}.stats{grid-template-columns:1fr 1fr}.grid-2,.grid-3,.settings-grid{grid-template-columns:1fr}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:25;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:#fff;height:64px;font-size:10px;font-weight:800;color:#66756b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mobile-nav button span{font-size:19px}.mobile-nav button.active{color:var(--primary)}.roster-grid{grid-template-columns:80px repeat(5,140px)}.top-actions .icon-btn{display:none}}
@media print{body{background:#fff}.sidebar,.app-topbar,.mobile-nav,.toolbar,.no-print,.public-header,#publicSite{display:none!important}.portal{display:block!important}.app-view{padding:0}.panel,.table-wrap{box-shadow:none;border-color:#bbb}.print-only{display:block}.data-table{min-width:0}.roster-grid{min-width:0;font-size:10px}}
.child-photo img{width:100%;height:100%;object-fit:cover;border-radius:14px}
fieldset{border:1px solid var(--line);border-radius:12px;padding:12px}legend{font-size:11px;font-weight:900;color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:26px 0}

.brand-logo{height:48px;max-width:180px;width:auto;object-fit:contain;display:block}.portal-brand .brand-logo{height:42px;max-width:150px}.login-logo{display:block;max-width:170px;max-height:70px;object-fit:contain;margin:0 0 16px}.resource-list{display:grid;gap:18px}.resource-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 7px 24px rgba(34,55,43,.05)}.resource-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.resource-card h3{margin:0 0 6px;font-size:21px}.resource-card p{color:var(--muted);line-height:1.6}.fee-table{width:100%;border-collapse:collapse;margin-top:16px}.fee-table th,.fee-table td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);font-size:13px}.fee-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.fee-table tr:last-child td{border-bottom:0}.public-resource-section{background:#f7faf7}.split-resource{background:var(--cream)}.upload-preview{display:flex;align-items:center;gap:14px;border:1px dashed var(--line);border-radius:12px;padding:12px;background:#fafcfa}.upload-preview img{max-height:54px;max-width:180px;object-fit:contain}.content-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.content-admin-grid .panel{align-self:start}.status-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fee-row-preview{display:grid;grid-template-columns:1fr 1.3fr .7fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.fee-row-preview:last-child{border-bottom:0}
@media(max-width:760px){.brand-logo{height:38px;max-width:130px}.public-header .brand small{display:none}.content-admin-grid{grid-template-columns:1fr}.resource-card header{display:block}.fee-table{display:block;overflow-x:auto}.fee-row-preview{grid-template-columns:1fr}}

/* Browser-only test controls */
.browser-test-banner{position:sticky;top:0;z-index:850;display:flex;align-items:center;gap:12px;padding:9px 18px;background:#fff6dc;border-bottom:1px solid #ead8a0;font-size:13px;color:#5c4c20;box-shadow:0 1px 8px rgba(0,0,0,.05)}
.browser-test-banner strong{font-size:13px}.browser-test-banner span{flex:1}.browser-test-banner div{display:flex;gap:7px}.browser-test-banner button,.demo-account-grid button{border:1px solid #c7b36f;background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer;font:inherit}.browser-test-banner button:hover,.demo-account-grid button:hover{background:#fffaf0}.demo-account-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 14px}.demo-account-grid button{border-color:#d7ddd8;color:#315840;font-weight:700;padding:8px 6px}
@media(max-width:700px){.browser-test-banner{position:relative;flex-wrap:wrap;padding:8px 12px}.browser-test-banner span{flex-basis:65%}.browser-test-banner div{width:100%}.demo-account-grid{grid-template-columns:repeat(2,1fr)}}

/* Cross-browser, tablet and mobile hardening */
html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg,video{max-width:100%;height:auto}
button,.btn,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.btn{touch-action:manipulation}
.table-wrap,.panel[style*="overflow:auto"]{-webkit-overflow-scrolling:touch}
.modal{overflow-y:auto}.modal-card{max-height:calc(100dvh - 32px);overflow-y:auto}
.demo-account-grid button{min-height:44px;line-height:1.2}

/* Tablet portrait: use the same off-canvas navigation pattern as mobile while
   keeping forms and content comfortably sized. */
@media(max-width:900px){
  .portal{display:block}
  .sidebar{position:fixed;z-index:40;left:-270px;width:255px;top:0;transition:left .2s ease;box-shadow:18px 0 45px rgba(0,0,0,.14)}
  .sidebar.open{left:0}
  .mobile-menu{display:inline-grid;place-items:center;margin-right:8px;min-width:44px;height:44px}
  .app-topbar{padding:16px 20px;min-height:82px}
  .app-topbar>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center}
  .app-topbar .eyebrow{grid-column:2}.app-topbar h1{grid-column:2;font-size:25px}
  .app-view{padding:22px 20px 92px}
  .settings-grid,.content-admin-grid{grid-template-columns:1fr}
  .mobile-nav{position:fixed;display:grid;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:35;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-nav button{border:0;background:#fff;min-height:64px;font-size:10px;font-weight:800;color:#66756b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
  .mobile-nav button span{font-size:19px}.mobile-nav button.active{color:var(--primary)}
}

@media(max-width:600px){
  .public-header{padding:0 12px}.public-header .brand strong{font-size:15px}.public-header .brand-mark{width:34px;height:34px}
  .public-header .btn{max-width:150px;white-space:normal;line-height:1.15}
  .hero{padding:42px 16px 38px}.hero h1{font-size:clamp(38px,12vw,50px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}
  .public-section{padding:52px 16px}.panel,.resource-card{padding:18px;border-radius:15px}
  .stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.stat b{font-size:24px}
  .app-view{padding:16px 12px 90px}.app-topbar{padding:12px}.app-topbar h1{font-size:22px}
  .section-title{align-items:flex-start;gap:10px}.section-title h2{font-size:18px}
  .toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar>*{width:100%}.toolbar input,.toolbar select{min-width:0}
  .actions .btn{min-height:42px}
  .data-table{min-width:580px}.data-table th,.data-table td{padding:11px 10px}
  .roster-grid{grid-template-columns:78px repeat(5,132px);min-width:738px}
  .modal{padding:8px}.modal-card{border-radius:16px;padding:24px 18px;max-height:calc(100dvh - 16px)}
  .browser-test-banner{font-size:12px}.browser-test-banner span{flex-basis:100%}.browser-test-banner div{display:grid;grid-template-columns:1fr 1fr}.browser-test-banner button{min-height:40px}
  .demo-account-grid{grid-template-columns:1fr 1fr}.demo-account-grid button{padding:9px 7px}
  input,select,textarea{font-size:16px} /* Prevent iOS Safari zooming focused controls. */
}

@media(max-width:380px){
  .stats{grid-template-columns:1fr}.demo-account-grid{grid-template-columns:1fr}
  .public-header .brand small{display:none}.public-header .btn{font-size:10px;padding:8px}
  .mobile-nav button{font-size:9px}.mobile-nav button span{font-size:17px}
}

/* v3 child-focused public website refresh */
:root{
  --primary:#4f8f72;
  --primary-dark:#35705a;
  --accent:#ffb66e;
  --peach:#ffe4cf;
  --pink:#ffdede;
  --sky:#dff3ff;
  --sky-strong:#82c6e8;
  --lavender:#ece4ff;
  --sunny:#fff1b9;
  --mint:#e0f4e8;
  --cream:#fff9f2;
  --ink:#24352e;
  --muted:#6f7d76;
  --line:#e5ece8;
  --shadow:0 22px 55px rgba(53,89,70,.10)
}
body{background:#fbfdfb}
#publicSite{background:#fff;overflow:hidden}
.public-header{height:80px;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(79,143,114,.10);box-shadow:0 8px 28px rgba(64,99,81,.05)}
.public-header nav>a{position:relative;color:#53665c}
.public-header nav>a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--primary),#79b8d8);transition:.2s}
.public-header nav>a:hover:after{right:0}
.brand-mark{background:linear-gradient(145deg,#ffad7a,#ef8f9c);box-shadow:0 8px 18px rgba(238,143,156,.24)}
.btn{border-radius:999px;min-height:44px;padding:11px 20px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg,#4f8f72,#64a987);box-shadow:0 10px 22px rgba(79,143,114,.20)}
.btn.secondary{background:#fff;color:#3e775f;border:1px solid #dce9e1;box-shadow:0 10px 22px rgba(42,72,56,.06)}
.btn.ghost{background:#f5fbf7;color:#3e775f;box-shadow:inset 0 0 0 1px #cfe3d6}
.hero{min-height:660px;padding-top:72px;padding-bottom:72px;gap:64px;background:radial-gradient(circle at 8% 15%,rgba(255,222,222,.7),transparent 26%),radial-gradient(circle at 90% 8%,rgba(223,243,255,.85),transparent 28%),linear-gradient(135deg,#fff9f2 0%,#fbfdfb 50%,#f1fbf6 100%);position:relative}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:.55}
.hero:before{width:88px;height:88px;background:var(--sunny);left:3.5%;bottom:8%}
.hero:after{width:42px;height:42px;background:var(--lavender);left:46%;top:14%}
.hero-copy{position:relative;z-index:2}
.eyebrow{color:#477d65;letter-spacing:.12em;background:#eef8f2;display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px}
.hero .eyebrow:before{content:"✦";margin-right:7px;color:#f3a55d}
.hero h1{font-family:"Trebuchet MS",Arial,sans-serif;font-weight:800;line-height:1.02;letter-spacing:-.045em;color:#253b32;font-size:clamp(46px,5.8vw,78px)}
.hero h1::first-line{color:#3c765f}
.public-section h2{font-family:"Trebuchet MS",Arial,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.035em;color:#2b4137}
.hero-copy>p{font-size:18px;line-height:1.68;color:#6e7b75}
.hero-meta{gap:10px;flex-wrap:wrap}
.hero-meta span{background:#fff;border:1px solid #e4ece7;border-radius:999px;padding:8px 12px;box-shadow:0 6px 14px rgba(61,92,75,.05)}
.child-hero-art{height:500px;border-radius:38px;background:linear-gradient(160deg,#dff3ff 0%,#eef9ef 52%,#fff2ca 100%);box-shadow:0 28px 70px rgba(80,122,99,.14);border:8px solid rgba(255,255,255,.8);overflow:hidden;isolation:isolate}
.child-hero-art:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-18%;height:42%;background:#a8d29d;border-radius:50% 50% 0 0/35% 35% 0 0;z-index:-1}
.hero-blob{position:absolute;border-radius:50%;filter:saturate(.95)}
.blob-one{width:150px;height:150px;background:#ffdede;right:-38px;top:42px}
.blob-two{width:110px;height:110px;background:#ece4ff;left:32px;bottom:42px}
.blob-three{width:64px;height:64px;background:#fff1b9;right:74px;bottom:76px}
.rainbow{position:absolute;left:50%;top:78px;transform:translateX(-50%);width:210px;height:112px;border:18px solid #f29ca8;border-bottom:0;border-radius:120px 120px 0 0;box-sizing:border-box}
.rainbow i{position:absolute;left:10px;right:10px;top:10px;height:82px;border:16px solid #f6c76d;border-bottom:0;border-radius:100px 100px 0 0}
.rainbow i:nth-child(2){left:28px;right:28px;top:28px;height:64px;border-color:#7fc6b4}
.rainbow i:nth-child(3){left:46px;right:46px;top:46px;height:46px;border-color:#79b9dc}
.cloud{position:absolute;width:72px;height:26px;background:#fff;border-radius:999px;box-shadow:0 10px 22px rgba(83,107,96,.07)}
.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}
.cloud:before{width:34px;height:34px;left:12px;top:-16px}.cloud:after{width:28px;height:28px;right:9px;top:-10px}
.cloud-one{left:42px;top:64px}.cloud-two{right:42px;top:182px;transform:scale(.78)}
.play-card{position:absolute;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:13px 15px;box-shadow:0 14px 28px rgba(76,105,89,.12);z-index:3}
.play-card strong{display:block;font-size:14px}.play-card small{display:block;color:#7b877f;font-size:10px;margin-top:2px}.play-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;font-size:20px;background:#fff4e6}
.play-card-one{left:28px;top:210px;transform:rotate(-3deg)}.play-card-two{right:25px;top:252px;transform:rotate(3deg)}.play-card-three{left:44%;top:333px;transform:translateX(-50%) rotate(-1deg)}
.play-card-two .play-icon{background:#e8f6eb}.play-card-three .play-icon{background:#eaf3ff}
.hero-smile-card{position:absolute;left:25px;right:25px;bottom:22px;display:flex;align-items:center;gap:13px;background:#fff;border-radius:20px;padding:15px 18px;box-shadow:0 18px 38px rgba(62,98,78,.14);z-index:5}
.hero-smile-card>span{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#ffb66e,#f4979d);color:#fff;display:grid;place-items:center;font-size:20px;transform:rotate(-5deg)}
.hero-smile-card strong{display:block;font-size:15px}.hero-smile-card small{display:block;color:#7b877f;margin-top:3px}
.public-section{padding-top:82px;padding-bottom:82px}
.section-head{margin-bottom:34px}.section-head .eyebrow{background:#f1f9f4}
.child-feature-grid{gap:16px}
.child-feature-grid article{position:relative;overflow:hidden;border:0;border-radius:24px;padding:28px 26px;min-height:225px;box-shadow:0 12px 30px rgba(65,95,78,.06);transition:transform .18s ease,box-shadow .18s ease}
.child-feature-grid article:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(65,95,78,.10)}
.child-feature-grid article:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;bottom:-35px;background:rgba(255,255,255,.45)}
.child-feature-grid .feature-care{background:#fff2d7}.child-feature-grid .feature-play{background:#f4eefe}.child-feature-grid .feature-nature{background:#e9f7ed}.child-feature-grid .feature-whanau{background:#eaf6fd}
.feature-icon{width:48px;height:48px!important;border-radius:16px;background:#fff;display:grid!important;place-items:center;font-size:24px!important;box-shadow:0 8px 20px rgba(75,96,84,.08)}
.child-feature-grid h3{font-size:19px;margin:24px 0 9px;color:#2d4439}.child-feature-grid p{margin:0;color:#6d7b74;line-height:1.6}
.learning-ribbon{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.learning-ribbon span{padding:9px 13px;border-radius:999px;font-size:12px;font-weight:800;background:#fff;border:1px solid #e5ece8;box-shadow:0 6px 15px rgba(60,86,72,.05)}
.split{background:linear-gradient(135deg,#fff9f1,#fbf5ff);position:relative}
.split:after{content:"✿";position:absolute;right:5%;top:10%;font-size:58px;color:#f4c9cf;opacity:.55}
.quote-card{border:1px solid #f0e9df;border-radius:26px;box-shadow:0 18px 44px rgba(80,87,73,.08);position:relative;overflow:hidden}
.quote-card:before{content:"🌈";display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#fff5d2;margin-bottom:16px;font-size:27px}
.enrol-section{background:linear-gradient(180deg,#fff 0%,#f5fbf7 100%)}
.contact-card{border-left:0;border-radius:20px;background:#fff4e7;padding:22px 24px;box-shadow:0 12px 28px rgba(81,94,77,.06)}
.enrol-section .panel{border:0;border-radius:26px;box-shadow:0 22px 55px rgba(60,94,75,.09);background:#fff}
.enrol-section input,.enrol-section textarea{background:#fbfdfb;border-color:#dfeae3;border-radius:13px}
footer{background:linear-gradient(135deg,#2f5f4d,#3b765f);border-top:8px solid #f2c56d}
.modal-card{border-radius:28px;border:1px solid #edf2ee;box-shadow:0 34px 90px rgba(34,61,47,.28)}
.demo-account-grid button{border-radius:13px;background:#f7fbf8;border-color:#dce9e1;min-height:48px}.demo-account-grid button:hover{background:#eef8f2}

@media(max-width:1050px){
  .child-hero-art{height:430px;max-width:690px;margin-inline:auto}
}
@media(max-width:760px){
  .public-header{height:68px}.hero{padding-top:48px;padding-bottom:44px;gap:30px}.hero h1{font-size:clamp(42px,12vw,54px)}
  .child-hero-art{height:350px;border-radius:28px;border-width:5px}.rainbow{top:50px;transform:translateX(-50%) scale(.78)}
  .play-card{padding:9px 11px}.play-card strong{font-size:12px}.play-card small{font-size:9px}.play-icon{width:34px;height:34px;font-size:17px}
  .play-card-one{left:15px;top:167px}.play-card-two{right:14px;top:191px}.play-card-three{top:245px;left:46%}.hero-smile-card{left:13px;right:13px;bottom:13px;padding:11px 13px}
  .hero-smile-card>span{width:37px;height:37px}.hero-smile-card strong{font-size:13px}.hero-smile-card small{font-size:10px}
  .public-section{padding-top:56px;padding-bottom:56px}.child-feature-grid article{min-height:auto;padding:22px}.learning-ribbon{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.learning-ribbon span{white-space:nowrap}
}
@media(max-width:420px){
  .child-hero-art{height:320px}.rainbow{top:38px;transform:translateX(-50%) scale(.68)}.cloud-one{left:22px;top:48px}.cloud-two{right:18px;top:138px}
  .play-card-one{left:9px;top:150px}.play-card-two{right:8px;top:171px}.play-card-three{top:219px}.play-card small{display:none}
  .hero-smile-card{padding:10px 11px}.hero-smile-card strong{font-size:12px}
}

/* v6 Stories workspace + child record management */
.story-child-thumb{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,#dff3ff,#e7f6e9);color:#3c765f;font-weight:900;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 20px rgba(54,93,74,.12)}
.story-child-thumb img{width:100%;height:100%;object-fit:cover}.story-child-thumb.large{width:62px;height:62px;border-radius:20px;font-size:18px}.story-child-thumb.xlarge{width:88px;height:88px;border-radius:26px;font-size:24px}
.child-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.child-record-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 12px 28px rgba(47,82,64,.06)}
.child-record-main{display:flex;gap:15px;align-items:center}.child-record-main h3{margin:0 0 4px}.child-record-main p{margin:3px 0;font-size:12px}.child-record-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.child-record-details span{background:#f8fbf9;border-radius:14px;padding:11px 12px;font-size:12px;line-height:1.45}.child-record-details b{display:block;color:#4c6c5c;margin-bottom:3px}.child-record-details .wide{grid-column:1/-1;background:#fff9ef}.child-record-card .actions{border-top:1px solid #eef2ef;padding-top:14px}
.add-record-panel{margin-bottom:18px}.add-record-panel summary{cursor:pointer;font-weight:900;color:#3e775f;list-style:none}.add-record-panel summary::-webkit-details-marker{display:none}.details-form{margin-top:18px}.focus-panel{margin-bottom:18px;border:2px solid #d9ebdf;box-shadow:0 18px 42px rgba(48,91,69,.1)}
.mini-list{display:grid;gap:8px;margin:10px 0 16px}.mini-list>div{display:flex;flex-direction:column;gap:3px;background:#f8fbf9;border-radius:12px;padding:10px 12px}.mini-list span{font-size:11px;color:var(--muted)}.mini-list .text-btn{text-align:left;margin-top:5px;padding:0}.compact-form{display:grid;gap:10px;margin-top:12px}
.stories-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.story-scope-tabs,.story-status-filters{display:flex;flex-wrap:wrap;gap:8px}.story-scope-tabs{margin-bottom:10px}.story-scope-tabs button,.story-status-filters button{border:1px solid #dfe9e3;background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;color:#5c6e64;cursor:pointer}.story-scope-tabs button.active{background:#3f8065;color:#fff;border-color:#3f8065}.story-status-filters button.active{background:#eef8f2;color:#347057;border-color:#cfe5d8}.story-status-filters button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;background:#fff;border-radius:999px;font-size:10px;color:#3b755d}
.parent-story-note{background:#eef8f2;border-radius:15px;padding:12px 14px;margin-top:-5px}.story-month-groups{display:grid;gap:28px}.month-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.month-heading h2{font-size:20px;margin:0}.month-heading span{font-size:11px;color:var(--muted);font-weight:800}.story-card-list{display:grid;gap:14px}
.learning-story-card{background:#fff;border:1px solid var(--line);border-radius:23px;overflow:hidden;box-shadow:0 12px 32px rgba(56,91,73,.06)}.learning-story-card>header{display:flex;gap:14px;align-items:center;padding:18px 20px 14px;background:linear-gradient(135deg,#fff,#f7fbf8)}.learning-story-card.draft>header{background:linear-gradient(135deg,#fff9ea,#fff)}.learning-story-card.submitted>header{background:linear-gradient(135deg,#edf5ff,#fff)}.learning-story-card.approved>header{background:linear-gradient(135deg,#eef9f1,#fff)}.learning-story-card.changes_requested>header{background:linear-gradient(135deg,#fff0ef,#fff)}
.story-heading{min-width:0;flex:1}.story-heading h3{margin:4px 0 0;font-size:19px;color:#293d34}.story-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:10px;color:#77857e}.story-meta span+span:before{content:"•";margin-right:7px;color:#b3beb8}.story-body{padding:18px 20px;line-height:1.65}.story-body>p{margin-top:0;white-space:pre-line}.next-steps{background:#fff8e7;border-radius:15px;padding:12px 14px;margin-top:15px}.next-steps p{margin:4px 0 0}.story-media{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.story-media img{width:104px;height:82px;object-fit:cover;border-radius:13px;border:1px solid #e4ebe7}.learning-story-card>footer{border-top:1px solid #eef2ef;padding:13px 20px 17px}.story-foot-note{font-size:11px;color:var(--muted);margin-bottom:9px}.parent-comments{margin-top:14px;padding-top:14px;border-top:1px solid #eef2ef}.parent-comments h4{margin:0 0 9px}.story-comment{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;background:#f8fbf9;border-radius:12px;padding:10px 12px;margin-bottom:7px;font-size:12px}.story-comment small{color:var(--muted);font-size:9px}.comment-form{display:flex;gap:8px;margin-top:10px}.comment-form input{flex:1;min-width:0}
.story-editor-shell{max-width:940px;margin:0 auto}.story-editor-head{display:grid;grid-template-columns:auto 1fr;gap:17px;align-items:start;margin-bottom:16px}.story-editor-head h2{margin:5px 0}.story-editor-head p{margin-bottom:0}.text-btn{border:0;background:transparent;color:#3f8065;font-weight:900;cursor:pointer;padding:7px 0}.story-editor-form{display:grid;gap:17px;padding:25px}.story-editor-form>label{display:grid;gap:7px;font-weight:800}.story-editor-form small{font-weight:500;color:var(--muted)}.child-story-picker{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:center;background:linear-gradient(135deg,#eef8f2,#f1f8ff);border-radius:20px;padding:16px}.child-story-picker>div{display:flex;align-items:center;gap:12px}.child-story-picker>div div{display:flex;flex-direction:column}.child-story-picker>div span{font-size:11px;color:var(--muted)}.child-story-picker label{font-weight:800}.existing-story-media{background:#f8fbf9;border-radius:15px;padding:13px}.story-editor-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:7px;border-top:1px solid #edf2ee}

@media(max-width:900px){.child-record-grid{grid-template-columns:1fr}.stories-toolbar{align-items:stretch;flex-direction:column}.stories-toolbar>.btn{align-self:flex-start}.child-story-picker{grid-template-columns:1fr}.story-comment{grid-template-columns:1fr}.story-comment small{justify-self:start}}
@media(max-width:600px){.child-record-card{padding:15px}.child-record-details{grid-template-columns:1fr}.child-record-details .wide{grid-column:auto}.learning-story-card>header{align-items:flex-start;padding:15px}.learning-story-card>header>.badge{margin-left:auto}.story-body{padding:15px}.learning-story-card>footer{padding:12px 15px 15px}.story-meta{display:grid;gap:2px}.story-meta span+span:before{display:none}.story-scope-tabs,.story-status-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.story-scope-tabs button,.story-status-filters button{white-space:nowrap}.comment-form{display:grid}.story-editor-head{grid-template-columns:1fr}.story-editor-form{padding:16px}.story-editor-actions{display:grid;grid-template-columns:1fr}.story-editor-actions .btn{width:100%}.story-media img{width:88px;height:72px}}

/* v8 — Northstar-style Little Loves roster + grouped settings */
.top-settings{font-size:18px}
.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:7px;background:#edf4ef;border:1px solid var(--line);border-radius:16px;position:sticky;top:102px;z-index:10}
.settings-tabs button{border:0;background:transparent;color:#53675b;padding:10px 14px;border-radius:11px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.settings-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 3px 12px rgba(34,55,43,.08)}
.settings-pane{display:grid;gap:18px}.settings-pane .panel{margin:0}.settings-pane-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:4px}.settings-pane-title h2{margin:0 0 5px}.settings-pane-title p{margin:0;color:var(--muted)}

.roster-page-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.roster-week-picker,.roster-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.roster-week-picker input{width:auto;min-width:150px}.roster-summary-strip{display:flex;gap:0;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;margin-bottom:16px}.roster-summary-strip span{padding:13px 18px;border-right:1px solid var(--line);font-size:11px;color:var(--muted);font-weight:800}.roster-summary-strip span:last-child{border-right:0}.roster-summary-strip b{color:var(--text);font-size:15px;margin-right:4px}.northstar-roster-panel{padding:18px;overflow:hidden}.northstar-roster-panel .section-title{align-items:flex-end}.northstar-roster-panel .section-title h2{margin-top:3px}.northstar-roster-scroll{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff;overscroll-behavior-inline:contain}.northstar-roster-grid{display:grid;grid-template-columns:210px repeat(5,minmax(185px,1fr));min-width:1135px}.roster-staff-head,.roster-day-head{background:#f1f6f2;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:64px;padding:12px 13px;display:flex;align-items:center}.roster-staff-head{position:sticky;left:0;z-index:5;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.roster-day-head{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}.roster-day-head b{font-size:12px}.roster-day-head span{font-size:11px;color:var(--muted)}.roster-staff-cell{position:sticky;left:0;z-index:4;background:#fbfcfb;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px;display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;min-height:118px}.roster-staff-cell>div:last-child{min-width:0}.roster-staff-cell b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-staff-cell span,.roster-staff-cell small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.staff-roster-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:11px;font-weight:900;background:#e5f1e9;color:#2f6d4c}.staff-accent-1 .staff-roster-avatar{background:#e9f1ff;color:#456aa2}.staff-accent-2 .staff-roster-avatar{background:#fff0e5;color:#aa6942}.staff-accent-3 .staff-roster-avatar{background:#f7eafd;color:#7a4f98}.staff-accent-4 .staff-roster-avatar{background:#fff7d9;color:#92771f}.roster-day-cell{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-height:118px;background:#fff}.roster-shift-card{width:100%;border:1px solid #cfe3d6;border-left:4px solid #4f8f72;background:#f3faf5;border-radius:11px;padding:9px;text-align:left;color:var(--text);font:inherit;display:block;position:relative}.roster-shift-card+.roster-shift-card{margin-top:6px}.roster-shift-card.editable{cursor:pointer}.roster-shift-card.editable:hover{box-shadow:0 5px 16px rgba(41,77,57,.10);transform:translateY(-1px)}.roster-shift-card.cover{border-color:#d9cef1;border-left-color:#7b5db4;background:#f7f3ff}.shift-time{font-size:13px;font-weight:900;letter-spacing:-.01em}.shift-role{font-size:10px;font-weight:850;margin-top:3px}.shift-room{font-size:10px;color:var(--muted);margin-top:1px}.shift-breaks{display:grid;gap:4px;margin-top:8px}.roster-break-chip{display:block;border-radius:7px;padding:4px 6px;font-size:8.5px;line-height:1.3;background:#eef2ef;color:#53645a}.roster-break-chip b{font-weight:900}.roster-break-chip.morning{background:#fff4dc;color:#82611f}.roster-break-chip.lunch{background:#eaf5ff;color:#416b8d}.roster-break-chip.noncontact{background:#f2eafd;color:#694e86}.cover-tag{display:inline-block;margin-top:7px;background:#8061b9;color:#fff;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:900}.roster-add-cell{width:100%;border:1px dashed #cddbd1;background:transparent;color:#718077;border-radius:8px;padding:6px;margin-top:7px;font-size:9px;font-weight:850;cursor:pointer}.roster-add-cell:hover{background:#f5f9f6;color:var(--primary)}.roster-editor{margin-top:16px;border:1px solid #cfe0d4;box-shadow:0 18px 50px rgba(35,67,48,.10)}.roster-shift-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.roster-shift-form .span-all{grid-column:1/-1}.break-editor{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:end;border-radius:13px;padding:12px 14px;border:1px solid var(--line)}.break-editor>div{align-self:center}.break-editor b,.break-editor small{display:block}.break-editor small{font-size:10px;color:var(--muted);margin-top:2px}.break-editor.morning{background:#fffaf0}.break-editor.lunch{background:#f3f9ff}.break-editor.noncontact{background:#faf7ff}.roster-editor-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center}.roster-secondary-actions{display:flex;justify-content:flex-end;margin:14px 0}.cover-recipient-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.cover-recipient-list label{display:flex;align-items:center;gap:5px;background:#f5f7f5;border:1px solid var(--line);padding:7px 9px;border-radius:9px}.roster-cover-title{margin-top:24px}

@media(max-width:1100px){.roster-page-head{align-items:flex-start;flex-direction:column}.northstar-roster-grid{grid-template-columns:175px repeat(5,170px);min-width:1025px}.settings-tabs{top:87px}}
@media(max-width:760px){.settings-tabs{top:86px;overflow-x:auto;flex-wrap:nowrap;padding:6px}.settings-tabs button{white-space:nowrap}.top-actions .top-settings{display:inline-grid!important}.top-actions #refreshBtn{display:none!important}.roster-summary-strip{overflow-x:auto}.roster-summary-strip span{white-space:nowrap;padding:11px 13px}.northstar-roster-panel{padding:12px}.northstar-roster-panel .section-title{display:block}.northstar-roster-panel .section-title>span{display:block;margin-top:5px}.northstar-roster-grid{grid-template-columns:145px repeat(5,158px);min-width:935px}.roster-staff-cell{min-height:108px;grid-template-columns:32px 1fr;padding:9px}.staff-roster-avatar{width:32px;height:32px}.roster-day-cell{min-height:108px;padding:6px}.roster-shift-form{grid-template-columns:1fr 1fr}.break-editor{grid-template-columns:1fr 1fr}.break-editor>div{grid-column:1/-1}.roster-editor-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.roster-editor-actions span{display:none}.roster-editor-actions .danger{grid-column:1/-1}.roster-actions{width:100%}.roster-actions .btn{flex:1 1 auto}.roster-page-head{gap:10px}.roster-week-picker{width:100%}.roster-week-picker input{flex:1}}
@media(max-width:430px){.roster-shift-form{grid-template-columns:1fr}.roster-shift-form .span-all,.break-editor{grid-column:1}.break-editor{grid-template-columns:1fr 1fr}.roster-editor-actions{grid-column:1}.northstar-roster-grid{grid-template-columns:128px repeat(5,152px);min-width:888px}.shift-time{font-size:12px}}
@media print{.roster-page-head,.roster-summary-strip,.roster-secondary-actions,.roster-editor,#coverPanel,.roster-add-cell,.roster-cover-title+.card-list{display:none!important}.northstar-roster-panel{border:0!important;padding:0!important}.northstar-roster-scroll{overflow:visible!important;border:0!important}.northstar-roster-grid{min-width:0!important;grid-template-columns:120px repeat(5,1fr)!important}.roster-staff-head,.roster-staff-cell{position:static!important}.roster-day-cell,.roster-staff-cell{min-height:85px;padding:4px}.roster-shift-card{padding:5px;border-left-width:2px}.roster-break-chip{font-size:6.5px;padding:2px 3px}.shift-time{font-size:9px}.shift-role,.shift-room{font-size:7px}}

/* ===== v9 portal polish: top bar, planner, children directory, story designer ===== */
.app-topbar{min-height:88px;padding:14px 26px;background:rgba(250,252,250,.96);backdrop-filter:blur(12px);gap:20px}.topbar-left{display:flex;align-items:center;min-width:0}.topbar-navigation{min-width:0}.topbar-navigation .eyebrow{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-navigation h1{font-size:24px;margin:3px 0 0}.top-actions{align-items:center}.top-user{display:flex;align-items:center;gap:10px;border-right:1px solid var(--line);padding-right:13px;margin-right:2px}.top-user .avatar{width:38px;height:38px}.top-user-copy{display:flex;flex-direction:column;min-width:110px;line-height:1.1}.top-user-copy b{font-size:13px}.top-user-copy small{font-size:10px;color:var(--muted);margin-top:4px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.top-actions .icon-btn,.top-actions .notif-btn{width:40px;height:40px;min-width:40px;display:grid;place-items:center;padding:0;border-radius:12px;position:relative}.top-icon-badge span{position:absolute;right:-3px;top:-5px;background:#ef6a72;color:#fff;border:2px solid #fff;border-radius:999px;font-size:8px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 3px}.logout-top{color:#9a4147}.sidebar{padding-bottom:20px}.portal-brand{margin-bottom:4px}

/* Dashboard planner */
.planner-panel{margin-bottom:20px;padding:0;overflow:hidden}.planner-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fbfdfb,#fffaf3)}.planner-toolbar h2{margin:3px 0 0;font-size:21px}.planner-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.segmented{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:11px;padding:3px}.segmented button{border:0;background:transparent;border-radius:8px;padding:7px 12px;font-size:11px;font-weight:850;color:var(--muted)}.segmented button.active{background:var(--primary);color:#fff}.planner-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:#f6f9f7}.planner-weekdays b{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:9px 12px;text-align:center}.planner-month{display:grid;grid-template-columns:repeat(7,1fr)}.planner-day{min-height:116px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;background:#fff;min-width:0}.planner-day:nth-child(7n){border-right:0}.planner-day.outside{background:#fafbfa;color:#9ba69f}.planner-day.today{box-shadow:inset 0 0 0 2px #efb855;background:#fffdf6}.planner-day>header{height:24px;display:flex;align-items:center;justify-content:space-between}.planner-day>header span{font-weight:900;font-size:12px}.planner-day>header small{font-size:8px;text-transform:uppercase;background:#fff1c7;color:#7e5a10;padding:3px 5px;border-radius:6px}.planner-events{display:grid;gap:4px;margin-top:3px}.planner-event{border:0;text-align:left;padding:5px 6px;border-radius:7px;font-size:9px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.planner-event.meeting,.today-item.meeting{background:#e9e5ff;color:#5b4791}.planner-event.task,.today-item.task{background:#e2f2ff;color:#22688f}.planner-event.leave,.today-item.leave{background:#ffe8ec;color:#954752}.planner-event.roster,.today-item.roster{background:#e4f4e9;color:#2e7046}.planner-empty{font-size:10px;color:#a7afa9;padding:7px}.planner-week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));overflow:auto}.planner-week-day{min-height:230px;border-right:1px solid var(--line);background:#fff}.planner-week-day:last-child{border-right:0}.planner-week-day>header{padding:13px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.planner-week-day>header span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.planner-week-day>header b{font-size:20px}.planner-week-day.today>header{background:#fff6dc}.planner-week-day .planner-events{padding:9px}.planner-week-day .planner-event{white-space:normal;font-size:10px;padding:8px}.planner-legend{display:flex;gap:12px;padding:11px 18px;background:#fbfcfb;flex-wrap:wrap}.planner-legend span{font-size:9px;font-weight:850;padding-left:15px;position:relative}.planner-legend span:before{content:"";position:absolute;left:0;top:2px;width:9px;height:9px;border-radius:3px}.planner-legend .meeting:before{background:#b9a9ef}.planner-legend .task:before{background:#8ac9ed}.planner-legend .leave:before{background:#f6a3ae}.planner-legend .roster:before{background:#8bc69d}.dashboard-today-list{display:grid;gap:7px}.today-item{border:0;border-radius:10px;padding:10px 12px;display:grid;grid-template-columns:70px 1fr;text-align:left;gap:8px;cursor:pointer}.today-item span{font-size:10px;font-weight:800}.today-item b{font-size:12px}

/* Children directory */
.directory-toolbar{padding:16px 18px;margin-bottom:16px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:end}.directory-title{display:flex;align-items:flex-end;gap:12px}.directory-title h2{margin:2px 0 0;font-size:21px}.directory-count{background:#edf5ef;color:#456150;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.directory-filters{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(3,minmax(115px,1fr)) auto;gap:8px;align-items:end}.directory-filters label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.directory-filters input,.directory-filters select{margin-top:4px;height:38px;padding:8px 9px;font-size:11px}.view-switcher{display:flex;background:#f2f5f3;border-radius:11px;padding:3px}.view-switcher button{border:0;background:transparent;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:10px;font-weight:850}.view-switcher button.active{background:#fff;color:var(--primary);box-shadow:0 1px 5px rgba(20,50,30,.08)}.children-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.child-gallery-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(34,64,45,.04)}.child-gallery-photo{height:185px;background:linear-gradient(145deg,#e5f5ea,#fff3df);position:relative;display:grid;place-items:center}.child-gallery-photo img{width:100%;height:100%;object-fit:cover}.child-gallery-photo>span{font-size:58px;font-weight:900;color:var(--primary);opacity:.4}.child-room-pill{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850}.child-gallery-copy{padding:15px}.child-gallery-copy h3{margin:0;font-size:18px}.child-gallery-copy>p{margin:5px 0 12px;color:var(--muted);font-size:11px}.child-mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.child-mini-facts span{background:#f8faf8;padding:8px;border-radius:9px;font-size:10px;overflow:hidden;text-overflow:ellipsis}.child-mini-facts b{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:8px;color:var(--muted);margin-bottom:3px}.children-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.child-tile{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px}.child-tile-head{display:flex;align-items:center;gap:10px}.child-tile h3{margin:0;font-size:15px}.child-tile p{margin:2px 0;color:var(--muted);font-size:10px}.child-tile-meta{display:flex;gap:5px;margin:10px 0 7px}.child-tile-meta span{background:#f0f5f1;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:750}.child-tile>small{display:block;color:var(--muted);font-size:9px;margin-bottom:10px}.child-detail-name{display:flex;align-items:center;gap:9px}.child-detail-name small{display:block;color:var(--muted);margin-top:3px}.children-detail-table .story-child-thumb{width:38px;height:38px;border-radius:10px}.child-actions{margin-top:8px}

/* Story list filters */
.stories-head-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.story-filter-panel{padding:14px 16px;margin-bottom:18px}.story-filter-grid{display:grid;grid-template-columns:minmax(160px,1.5fr) repeat(6,minmax(105px,1fr)) auto;gap:8px;align-items:end}.story-filter-grid label{font-size:9px;text-transform:uppercase;font-weight:850;letter-spacing:.05em;color:var(--muted)}.story-filter-grid input,.story-filter-grid select{margin-top:4px;height:37px;padding:7px 8px;font-size:10px}.filter-result-count{font-size:10px;color:var(--muted);margin-top:10px}.learning-story-card{position:relative;overflow:hidden}.learning-story-card:before,.story-live-preview:before{content:"";display:block;height:5px;background:#afc9b8}.learning-story-card.story-theme-rainbow:before,.story-live-preview.story-theme-rainbow:before{background:linear-gradient(90deg,#f5a2b7,#f6cf75,#8fd3c4,#8fb8e8,#c6a4e8)}.learning-story-card.story-theme-nature:before,.story-live-preview.story-theme-nature:before{background:linear-gradient(90deg,#5f9e76,#9fc584,#d9b86f)}.learning-story-card.story-theme-sunshine:before,.story-live-preview.story-theme-sunshine:before{background:linear-gradient(90deg,#f4bd4f,#f5df8b,#f6a16f)}.learning-story-card.story-theme-ocean:before,.story-live-preview.story-theme-ocean:before{background:linear-gradient(90deg,#54a8bd,#8fd5d4,#6d89ce)}.learning-story-card.story-theme-blush:before,.story-live-preview.story-theme-blush:before{background:linear-gradient(90deg,#e9a7b5,#f6d6c9,#d6b6df)}.rich-story-content h2,.rich-story-content h3{margin:14px 0 7px}.rich-story-content p{margin:8px 0;white-space:normal}.rich-story-content blockquote{margin:10px 0;padding:9px 13px;border-left:3px solid var(--accent);background:#fffaf0;border-radius:0 8px 8px 0}.rich-story-content ul,.rich-story-content ol{padding-left:22px}.rich-story-content a{color:#2f7391}

/* Story designer / rich editor */
.story-designer .story-editor-head{align-items:flex-start}.story-designer-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:18px;align-items:start}.story-designer-controls{display:grid;gap:15px}.designer-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rich-toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;background:#f4f7f5;border:1px solid var(--line);border-bottom:0;border-radius:11px 11px 0 0;padding:6px;margin-top:6px}.rich-toolbar button{border:0;background:transparent;border-radius:6px;min-width:29px;height:29px;padding:0 7px;font-size:10px;color:#405549}.rich-toolbar button:hover{background:#fff}.rich-toolbar span{width:1px;height:19px;background:#dce5df;margin:0 3px}.rich-editor{min-height:230px;border:1px solid var(--line);border-radius:0 0 11px 11px;background:#fff;padding:15px;font-size:14px;line-height:1.65;outline:none}.rich-editor.compact{min-height:115px}.rich-editor:focus{border-color:#8db39b;box-shadow:0 0 0 3px rgba(90,142,109,.08)}.rich-editor:empty:before{content:attr(data-placeholder);color:#9ca7a0;pointer-events:none}.editor-label{display:block}.story-live-preview{position:sticky;top:106px;overflow:hidden;padding:0 18px 20px}.story-live-preview>.eyebrow{display:block;margin:16px 0 12px}.story-live-preview #storyPreviewChild{display:flex;align-items:center;gap:10px}.story-live-preview #storyPreviewChild .story-child-thumb{width:48px;height:48px}.story-live-preview h2{font-size:23px;margin:15px 0 10px}.preview-next{margin-top:18px;padding:13px;border-radius:11px;background:rgba(245,247,244,.85)}.story-theme-rainbow{background:linear-gradient(180deg,#fff 0,#fff 86%,#fff7fb 100%)}.story-theme-nature{background:linear-gradient(180deg,#fff 0,#fff 86%,#f2f8f1 100%)}.story-theme-sunshine{background:linear-gradient(180deg,#fff 0,#fff 86%,#fff9e7 100%)}.story-theme-ocean{background:linear-gradient(180deg,#fff 0,#fff 86%,#eff8fa 100%)}.story-theme-blush{background:linear-gradient(180deg,#fff 0,#fff 86%,#fff2f4 100%)}.template-manager{margin-bottom:18px;border:2px solid #e6eee9}.template-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.template-card{border:1px solid var(--line);border-radius:13px;padding:10px;background:#fff}.template-card .template-swatch{height:34px;border-radius:8px;background:#dce8df;margin-bottom:8px}.template-card.theme-rainbow .template-swatch{background:linear-gradient(90deg,#f5a2b7,#f6cf75,#8fd3c4,#8fb8e8,#c6a4e8)}.template-card.theme-nature .template-swatch{background:linear-gradient(90deg,#5f9e76,#9fc584,#d9b86f)}.template-card.theme-sunshine .template-swatch{background:linear-gradient(90deg,#f4bd4f,#f5df8b,#f6a16f)}.template-card.theme-ocean .template-swatch{background:linear-gradient(90deg,#54a8bd,#8fd5d4,#6d89ce)}.template-card.theme-blush .template-swatch{background:linear-gradient(90deg,#e9a7b5,#f6d6c9,#d6b6df)}.template-card b{display:block;font-size:12px}.template-card small{display:block;color:var(--muted);font-size:9px;margin:3px 0 8px}.template-form{border-top:1px solid var(--line);padding-top:16px}

@media(max-width:1250px){.story-filter-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.directory-toolbar{grid-template-columns:1fr auto}.directory-filters{grid-column:1/-1;grid-template-columns:repeat(5,1fr)}.children-gallery-grid{grid-template-columns:repeat(2,1fr)}.children-tile-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.top-user-copy{display:none}.top-user{padding-right:9px;min-width:auto}.story-designer-grid{grid-template-columns:1fr}.story-live-preview{position:static}.template-library{grid-template-columns:repeat(2,1fr)}.planner-month{min-width:760px}.planner-weekdays{min-width:760px}.planner-panel{overflow:auto}.directory-filters{grid-template-columns:repeat(3,1fr)}.children-tile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-topbar{min-height:70px;padding:10px 12px}.topbar-navigation h1{font-size:18px}.topbar-navigation .eyebrow{font-size:8px;max-width:160px}.top-user{display:none}.top-actions{gap:4px}.top-actions .icon-btn,.top-actions .notif-btn{width:36px;height:36px;min-width:36px}.top-actions #refreshBtn{display:none}.planner-toolbar{align-items:flex-start;flex-direction:column}.planner-controls{width:100%}.segmented{margin-right:auto}.planner-week{min-width:820px}.dashboard-bottom{grid-template-columns:1fr}.directory-toolbar{grid-template-columns:1fr}.directory-filters{grid-template-columns:1fr 1fr}.view-switcher{justify-self:start}.view-switcher span{display:none}.children-gallery-grid,.children-tile-grid{grid-template-columns:1fr}.child-gallery-photo{height:210px}.story-filter-grid{grid-template-columns:1fr 1fr}.stories-head-row{align-items:flex-start}.story-scope-tabs{overflow:auto;max-width:70vw;white-space:nowrap}.designer-options{grid-template-columns:1fr}.template-library{grid-template-columns:1fr}.rich-toolbar{gap:2px}.rich-toolbar button{min-width:28px}.story-editor-head{grid-template-columns:1fr!important}.story-editor-head>button:last-child{justify-self:start}.children-details-wrap{overflow:auto}}
@media(max-width:430px){.story-filter-grid,.directory-filters{grid-template-columns:1fr}.planner-controls .btn{padding-left:9px;padding-right:9px}.child-mini-facts{grid-template-columns:1fr}.topbar-navigation .eyebrow{max-width:130px}}

/* v11: archive lifecycle, portfolio and group story designer */
.badge.archived{background:#f1eef4;color:#705d78}.badge.active{background:#eaf6ee;color:#34704d}.archived-child,.archived-row{opacity:.78}.archived-child{background:#fafafa}.child-gallery-photo .child-archive-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(58,66,61,.35);color:#fff;font-weight:900;font-size:18px;letter-spacing:.06em;text-transform:uppercase}.child-name-status{display:flex;gap:8px;align-items:center;justify-content:space-between}.child-name-status h3{min-width:0}.directory-filters{grid-template-columns:minmax(145px,1.5fr) repeat(4,minmax(105px,1fr)) auto}.child-actions{flex-wrap:wrap}.child-actions .btn{white-space:nowrap}
.story-audience-block{padding:12px 13px;background:linear-gradient(135deg,#f8fcf8,#fff9ed);border:1px solid #e1ece4;border-radius:14px}.story-audience-block .section-title{margin-bottom:6px}.story-audience-block h3{margin:2px 0 0}.story-audience-toggle{display:flex;padding:3px;background:#edf3ef;border-radius:10px}.story-audience-toggle button{border:0;background:transparent;padding:8px 12px;border-radius:8px;font:inherit;font-size:11px;font-weight:850;color:var(--muted);cursor:pointer}.story-audience-toggle button.active{background:#fff;color:var(--primary);box-shadow:0 2px 7px rgba(29,63,41,.08)}
.group-story-picker{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfcfb}.group-quick-select{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end;margin-bottom:10px}.group-selection-summary{display:flex;gap:8px;align-items:baseline;justify-content:space-between;padding:7px 2px 10px}.group-selection-summary b{font-size:12px}.group-selection-summary span{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto;padding:2px}.group-child-option{display:grid!important;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;border:1px solid #e4ebe6;background:#fff;border-radius:11px;padding:8px;cursor:pointer;text-transform:none!important;letter-spacing:0!important;color:inherit!important}.group-child-option:has(input:checked){border-color:#8db39b;background:#f1f8f3;box-shadow:0 0 0 2px rgba(82,137,101,.06)}.group-child-option input{width:17px;height:17px;margin:0}.group-child-option .story-child-thumb{width:36px;height:36px;border-radius:10px}.group-child-option b{display:block;font-size:11px}.group-child-option small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.preview-child-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.preview-child-group>div:last-child{display:grid;margin-left:4px}.preview-child-group>div:last-child span{font-size:10px;color:var(--muted)}.story-group-avatars{display:flex;align-items:center;min-width:82px}.story-group-avatars .story-child-thumb{width:38px;height:38px;margin-right:-10px;border:3px solid #fff;box-shadow:0 2px 5px rgba(30,50,35,.08)}.story-group-avatars>span{margin-left:14px;background:#edf4ef;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:900;color:var(--primary)}.group-story-label{background:#f1f6f2;border-radius:999px;padding:3px 7px;font-weight:750;color:#557060}.story-live-preview .story-group-avatars{margin-bottom:4px}
@media(max-width:1250px){.directory-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.directory-filters{grid-template-columns:1fr 1fr}.group-quick-select{grid-template-columns:1fr}.group-child-grid{grid-template-columns:1fr}.story-audience-block .section-title{align-items:flex-start;gap:8px}.story-audience-block .section-title{flex-direction:column}.story-audience-toggle{width:100%}.story-audience-toggle button{flex:1}.group-selection-summary{display:block}.group-selection-summary span{display:block;margin-top:3px;white-space:normal}}

/* v12: compact Story filters */
.story-filter-panel{padding:10px 12px;margin-bottom:16px}
.story-filter-toolbar{display:flex;align-items:flex-end;gap:8px;min-width:0}
.story-filter-fields{display:flex;align-items:flex-end;gap:6px;flex:1 1 auto;min-width:0;white-space:nowrap}
.story-filter-fields .compact-filter{display:block;margin:0;min-width:0;flex:0 1 112px;font-size:8px;line-height:1.1;text-transform:uppercase;font-weight:850;letter-spacing:.045em;color:var(--muted)}
.story-filter-fields .compact-filter>span{display:block;margin:0 0 3px 2px;white-space:nowrap}
.story-filter-fields .compact-filter input,.story-filter-fields .compact-filter select{width:100%;height:34px;margin:0;padding:6px 24px 6px 8px;font-size:10px;border-radius:8px}
.story-filter-fields .search-filter{flex:1.4 1 170px;min-width:150px}
.story-filter-fields .teacher-filter,.story-filter-fields .child-filter{flex:1.15 1 125px}
.story-filter-fields .room-filter{flex:.9 1 95px}
.story-filter-fields .month-filter{flex:.9 1 100px}
.story-filter-fields .year-filter{flex:.7 1 76px}
.story-filter-fields .type-filter,.story-filter-fields .status-filter{flex:.85 1 92px}
.story-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;white-space:nowrap}
.story-filter-actions .btn{height:34px;padding:6px 10px}
.story-filter-actions .filter-result-count{margin:0 2px 0 4px;font-size:9px;min-width:max-content}
.filter-toggle{display:none!important}
.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:850}
.clear-story-filters.is-idle{opacity:.55}
@media(max-width:1380px){
  .story-filter-toolbar{align-items:center;flex-wrap:wrap}
  .story-filter-actions{width:100%;order:1}
  .filter-toggle{display:inline-flex!important;align-items:center;gap:5px;margin-right:auto}
  .story-filter-fields{display:none;order:2;width:100%;flex:1 0 100%;flex-wrap:wrap;white-space:normal;padding-top:4px;border-top:1px solid rgba(51,72,65,.08)}
  .story-filter-panel.filters-open .story-filter-fields{display:flex}
  .story-filter-fields .compact-filter{flex:1 1 120px}
  .story-filter-fields .search-filter{flex:2 1 220px}
}
@media(max-width:760px){
  .story-filter-panel{padding:9px 10px}
  .story-filter-actions{gap:5px}
  .story-filter-actions .filter-result-count{margin-left:auto}
  .story-filter-fields .compact-filter{flex:1 1 calc(50% - 6px)}
  .story-filter-fields .search-filter{flex:1 1 100%}
}
@media(max-width:430px){
  .story-filter-fields .compact-filter,.story-filter-fields .search-filter{flex:1 1 100%}
  .story-filter-actions .btn{padding-left:8px;padding-right:8px}
}

/* v15 base: compact Story Designer + spreadsheet child import */
.story-editor-v13{max-width:1180px}
.story-designer-single{display:block!important}
.story-editor-sticky{position:sticky;top:88px;z-index:13;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:7px 9px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(31,59,43,.07)}
.story-sticky-left,.story-sticky-right{display:flex;align-items:center;gap:5px;min-width:0}.story-sticky-right{margin-left:auto}.story-editor-sticky .btn{height:32px;padding:5px 9px;font-size:10px;border-radius:8px}.story-editor-sticky .preview-btn{background:#fff5d9;color:#745b1d;border-color:#f3df9e}.save-state{font-size:9px;color:var(--muted);font-weight:800;white-space:nowrap;margin-right:3px}
.story-designer-controls{gap:10px;padding:14px}.story-designer-controls>label{font-size:10px;font-weight:800;color:#4f655a}.story-designer-controls>label>input,.story-designer-controls>label>textarea,.story-designer-controls>label>select{margin-top:4px}.story-designer-controls textarea{min-height:auto}.story-editor-head{margin-bottom:10px}.story-editor-head h2{font-size:22px}.story-editor-head p{font-size:11px}.story-audience-block{padding:8px 10px;border-radius:11px}.story-audience-block .section-title{margin:0}.story-audience-block .section-title>div p,.story-audience-block>p{display:none}.story-audience-block h3{font-size:13px}.story-audience-toggle button{padding:6px 9px;font-size:9px}.child-story-picker{display:grid;grid-template-columns:auto minmax(220px,1fr);gap:10px;align-items:center;padding:8px 10px!important}.child-story-picker #storyChildPreview{min-width:160px}.child-story-picker label{font-size:9px}.child-story-picker select{height:34px;padding:6px 9px}.child-story-picker small{font-size:8px}.designer-options-3{display:grid;grid-template-columns:1.2fr 1fr 120px;gap:7px}.designer-options-3 label{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:850}.designer-options-3 select,.designer-options-3 input{height:34px;margin-top:3px;padding:5px 8px;font-size:10px}.designer-options-3 input[type=color]{padding:3px;width:100%}
.group-story-picker{padding:8px 10px;border-radius:11px}.group-quick-select{grid-template-columns:1fr 1fr auto;margin-bottom:6px;gap:6px}.group-quick-select label{font-size:8px}.group-quick-select select{height:33px;padding:5px 8px;font-size:10px}.group-selection-summary{padding:4px 1px 7px}.group-child-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:190px}.group-child-option{padding:5px 6px;border-radius:9px;gap:5px}.group-child-option .story-child-thumb{width:29px;height:29px;border-radius:8px}.group-child-option b{font-size:9px}.group-child-option small{font-size:8px}.group-child-option input{width:14px;height:14px}
.compact-editor-toolbar{padding:4px!important;margin-top:4px!important;display:block!important;background:#f5f8f6!important}.toolbar-main-row,.toolbar-advanced-row{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.toolbar-advanced-row{padding-top:4px;margin-top:4px;border-top:1px solid #dde7e0}.toolbar-cluster{display:flex;gap:1px;padding-right:3px;margin-right:2px;border-right:1px solid #dbe5df}.toolbar-cluster:last-child{border-right:0}.rich-toolbar-pro button{height:27px!important;min-width:27px!important;padding:0 6px!important;font-size:10px!important;border-radius:6px!important}.rich-toolbar-pro button.active,.rich-toolbar-pro button:hover{background:#fff!important;box-shadow:0 1px 4px rgba(30,60,40,.08)}.toolbar-select{height:27px!important;max-width:110px;padding:3px 20px 3px 6px!important;font-size:9px!important;border-radius:6px!important}.size-select{max-width:78px}.toolbar-color{height:27px!important;display:flex!important;align-items:center;gap:2px!important;padding:2px 4px!important;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:9px!important}.toolbar-color input{width:22px!important;height:20px!important;padding:0!important;border:0!important}.toolbar-word{font-size:9px}.rich-editor-pro{min-height:300px!important;padding:13px!important;font-size:13px!important;line-height:1.55!important;border-radius:0 0 10px 10px!important}.editor-help{font-size:8px!important;margin-top:4px!important;display:block;color:var(--muted)}
.curriculum-selector{border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:#fbfcfb}.curriculum-selector>.section-title{margin:0 0 5px}.curriculum-selector h3{font-size:13px;margin:0}.curriculum-selector>p{font-size:9px;margin:0 0 6px}.curriculum-selected-count{font-size:9px;font-weight:850;background:#eaf4ed;padding:4px 7px;border-radius:999px}.curriculum-group{border-top:1px solid #e8eeea}.curriculum-group:first-of-type{border-top:0}.curriculum-group summary{cursor:pointer;padding:6px 1px;font-size:10px;font-weight:900;display:flex;justify-content:space-between}.curriculum-group summary span{font-size:8px;background:#eef4ef;padding:2px 6px;border-radius:999px}.curriculum-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0 0 7px}.curriculum-check{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:5px;padding:5px 6px;border:1px solid #e5ece7;border-radius:8px;background:#fff;text-transform:none!important;letter-spacing:0!important;color:inherit!important;cursor:pointer}.curriculum-check:has(input:checked){background:#eef8f1;border-color:#a9cbb5}.curriculum-check input{width:14px;height:14px;margin:1px 0 0}.curriculum-check b{font-size:9px;display:block}.curriculum-check small{font-size:8px;line-height:1.25;color:var(--muted);display:block}.bottom-actions{display:none}
.story-preview-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px}.story-preview-modal.hidden{display:none}.story-preview-backdrop{position:absolute;inset:0;background:rgba(20,35,27,.55);backdrop-filter:blur(4px)}.story-preview-window{position:relative;z-index:1;width:min(850px,96vw);max-height:92vh;overflow:auto;background:#edf1ee;border-radius:18px;box-shadow:0 30px 80px rgba(17,32,23,.3)}.story-preview-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.story-preview-toolbar b{display:block;font-size:12px}.story-preview-sheet{width:min(760px,calc(100% - 24px));min-height:980px;margin:12px auto;padding:48px;background:#fff;border-radius:4px;box-shadow:0 8px 30px rgba(30,50,38,.1)}.story-preview-sheet h1{font-size:29px;margin:20px 0 14px}.story-preview-sheet .preview-curriculum{margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}.story-preview-sheet .preview-curriculum span{display:inline-block;margin:5px 5px 0 0;padding:5px 8px;border-radius:999px;background:#edf5ef;font-size:9px}.story-preview-open{overflow:hidden}.portal.story-sidebar-hidden{grid-template-columns:1fr}.portal.story-sidebar-hidden>.sidebar{display:none}.portal.story-sidebar-hidden .app-shell{grid-column:1}

/* Compact child spreadsheet import */
.child-record-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.child-record-actions>.add-record-panel{flex:1 1 310px;margin-bottom:10px;padding:11px 13px}.child-record-actions>.add-record-panel summary{font-size:11px}.child-import-panel{flex:1.5 1 460px!important}.import-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:9px 10px;background:#f8fbf9;border-radius:10px}.import-intro h3{font-size:14px;margin:1px 0 2px}.import-intro p{font-size:9px;line-height:1.4;margin:0;color:var(--muted);max-width:560px}.import-file{display:flex!important;align-items:center;gap:7px;white-space:nowrap;font-size:9px!important;font-weight:850!important;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 8px}.import-file input{max-width:180px;font-size:9px;padding:0;border:0}.import-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 6px}.import-step-head>div{display:flex;align-items:center;gap:7px;min-width:0}.import-step-head b{font-size:11px}.import-step-head small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-pill{width:22px;height:22px;border-radius:7px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}.import-map-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.import-map-row{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(180px,1fr) minmax(130px,.8fr);gap:7px;align-items:center;padding:5px 8px;border-bottom:1px solid #edf1ee;background:#fff;min-height:35px}.import-map-row:last-child{border-bottom:0}.import-map-head{background:#f4f7f5;text-transform:uppercase;letter-spacing:.05em;font-size:8px;font-weight:850;color:var(--muted)}.import-map-row>span{font-size:9px}.import-map-row>span b{font-size:9px}.import-map-row>span i{font-style:normal;font-size:7px;color:#a45656;margin-left:5px;text-transform:uppercase}.import-map-row select{height:29px;padding:4px 24px 4px 7px;font-size:9px}.import-map-row>small{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-compact-options{display:flex;gap:14px;flex-wrap:wrap;padding:7px 2px;font-size:8px}.import-compact-options label{display:flex;align-items:center;gap:5px;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:700}.import-compact-options input{width:14px;height:14px}.import-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.import-actions>.muted{font-size:8px}.import-summary-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}.import-summary-row span{background:#f3f7f4;border-radius:8px;padding:6px 8px;font-size:9px}.import-summary-row b{font-size:13px;margin-right:2px}.import-preview-table{max-height:360px}.compact-table th,.compact-table td{padding:7px 8px;font-size:9px}.compact-table th{font-size:8px}.import-status{display:inline-flex;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap}.import-status.new{background:#e8f6ec;color:#337149}.import-status.duplicate{background:#fff4dc;color:#89631d}.import-status.error{background:#fdebec;color:#a0444b}.import-limit-note{font-size:8px;margin:5px 0}.import-history{margin-top:9px}.import-history .section-title{margin-bottom:5px}.import-history .section-title h3{font-size:11px}.import-history .section-title span{font-size:8px;color:var(--muted)}.empty.compact{padding:16px;font-size:9px}.import-loading,.import-error{padding:14px;margin-top:8px;border-radius:9px;font-size:10px}.import-loading{background:#f2f7f3;color:var(--muted)}.import-error{background:#fdeced;color:#923f45}

@media(max-width:900px){
  .story-editor-sticky{top:70px;flex-wrap:wrap}.story-sticky-left,.story-sticky-right{flex:1 1 auto}.story-sticky-right{justify-content:flex-end}.designer-options-3{grid-template-columns:1fr 1fr 100px}.curriculum-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-child-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-preview-sheet{padding:32px}.import-map-row{grid-template-columns:135px 1fr}.import-map-row>small,.import-map-head>span:last-child{display:none}
}
@media(max-width:760px){
  .story-editor-sticky{top:70px;margin-left:-4px;margin-right:-4px;padding:6px;border-radius:9px}.story-sticky-left{order:1}.story-sticky-right{order:2;width:100%;justify-content:stretch}.story-sticky-right .btn{flex:1}.save-state{display:none}.toolbar-word{display:none}.compact-editor-toolbar{overflow-x:auto}.toolbar-main-row{flex-wrap:nowrap;min-width:max-content}.toolbar-advanced-row{min-width:520px;flex-wrap:nowrap}.designer-options-3{grid-template-columns:1fr 1fr}.designer-options-3 label:last-child{grid-column:1/-1}.child-story-picker{grid-template-columns:1fr}.curriculum-check-grid{grid-template-columns:1fr}.group-child-grid{grid-template-columns:1fr}.story-preview-modal{padding:8px}.story-preview-window{width:100%;max-height:96vh;border-radius:12px}.story-preview-sheet{width:calc(100% - 12px);min-height:0;margin:6px;padding:22px;border-radius:4px}.story-preview-sheet h1{font-size:23px}.child-record-actions{display:block}.import-intro{align-items:flex-start;flex-direction:column}.import-file{width:100%;white-space:normal}.import-file input{max-width:100%;width:100%}.import-map-row{grid-template-columns:1fr}.import-map-head{display:none}.import-map-row{gap:3px;padding:7px}.import-map-row>small{display:block}.import-actions{align-items:stretch;flex-direction:column}.import-actions>.btn{width:100%}.import-compact-options{display:grid;gap:5px}
}

/* v15 — safer child lifecycle + story governance */
.child-profile-panel{padding:0;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 42px rgba(48,91,69,.09)}
.child-profile-panel>.section-title{padding:18px 20px 12px;margin:0;background:linear-gradient(135deg,#f8fcf9,#fff9ef)}
.profile-tabs{display:flex;gap:4px;overflow-x:auto;padding:0 16px 10px;border-bottom:1px solid var(--line);scrollbar-width:thin;background:#fff}
.profile-tabs button{flex:0 0 auto;border:0;background:transparent;border-radius:9px;padding:8px 10px;font:inherit;font-size:9px;font-weight:900;color:#64766c;cursor:pointer;white-space:nowrap}
.profile-tabs button.active{background:#eaf5ee;color:var(--primary)}
.profile-tab{display:none;padding:17px 20px 20px}.profile-tab.active{display:block}
.profile-tab .form-grid{margin:0}.profile-tab h3{font-size:14px;margin:0 0 12px}.profile-tab .actions{margin-top:12px}
.child-id-chip{display:inline-flex;align-items:center;gap:5px;background:#edf5ff;color:#416982;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}
.consent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.consent-grid label,.child-consent-quick label{display:flex!important;align-items:flex-start;gap:7px;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;background:#f8fbf9;border:1px solid #e6eee8;border-radius:10px;padding:8px 9px;font-size:10px!important;font-weight:750!important}.consent-grid input,.child-consent-quick input{width:15px;height:15px;flex:0 0 auto;margin-top:1px}.consent-grid label:has(input:checked),.child-consent-quick label:has(input:checked){background:#edf8f0;border-color:#b9d8c3}
.child-consent-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.child-timeline{position:relative;display:grid;gap:0;margin-top:4px}.child-timeline:before{content:"";position:absolute;left:10px;top:10px;bottom:10px;width:2px;background:#dce8e0}.timeline-item{position:relative;display:grid;grid-template-columns:22px 1fr;gap:9px;padding:7px 0}.timeline-item:before{content:"";width:9px;height:9px;border-radius:50%;background:#7cb997;border:3px solid #fff;box-shadow:0 0 0 2px #cfe4d6;margin:4px 0 0 5px;z-index:1}.timeline-item>div{background:#f8fbf9;border-radius:10px;padding:8px 10px}.timeline-item b{font-size:10px;display:block}.timeline-item span{font-size:9px;color:var(--muted)}.timeline-item small{font-size:8px;color:#86968d;display:block;margin-top:2px}.timeline-item.story:before{background:#72aee6}.timeline-item.archive:before{background:#e79b75}.timeline-item.restore:before{background:#61a97e}.timeline-item.teacher:before{background:#9a8bd8}
.assignment-history{display:grid;gap:6px}.assignment-history>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 10px;background:#f8fbf9;border-radius:9px;font-size:9px}.assignment-history small{color:var(--muted)}
.portfolio-options{width:min(620px,94vw)}.portfolio-options .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-options .check-row{display:flex!important;gap:7px;align-items:center;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important}.portfolio-options .check-row input{width:15px;height:15px}
.import-status.possible{background:#fff0dc;color:#905b1e}.possible-import-review{display:flex;align-items:center;gap:5px;font-size:8px;font-weight:800}.possible-import-review input{width:13px;height:13px}.import-review-note{padding:8px 10px;background:#fff8e9;border:1px solid #f0dfba;border-radius:9px;font-size:9px;color:#7d6333;margin-bottom:7px}
.teacher-reflection{margin-top:12px;padding:11px 13px;background:#f0f7ff;border-left:3px solid #83b6e8;border-radius:9px}.teacher-reflection b,.reviewer-note b{display:block;font-size:9px;margin-bottom:3px}.teacher-reflection p,.reviewer-note p{margin:0;font-size:10px;line-height:1.45;white-space:pre-line}.reviewer-note{margin-top:10px;padding:10px 12px;background:#fff2ef;border-left:3px solid #e39584;border-radius:9px}.story-audit-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:11px;padding-top:9px;border-top:1px dashed #e6ede8;font-size:8px;color:var(--muted)}.story-audit-row span{display:inline-flex;align-items:center;gap:3px}.parent-contribution-chip{display:inline-flex;background:#fff0c9;color:#775a13;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900}.story-version-list{display:grid;gap:7px;max-height:62vh;overflow:auto}.story-version-item{display:grid;grid-template-columns:auto 1fr;gap:9px;background:#f8fbf9;border:1px solid #e7eee9;border-radius:10px;padding:9px}.story-version-item .version-no{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#eaf5ee;color:var(--primary);font-weight:900;font-size:9px}.story-version-item b{font-size:10px}.story-version-item small{display:block;font-size:8px;color:var(--muted);margin-top:2px}.story-version-item p{font-size:9px;margin:4px 0 0;color:#5f7067}
.group-consent-warning{display:grid;gap:2px;margin:7px 0;padding:8px 10px;border:1px solid #efc9ad;background:#fff5ea;border-radius:9px;color:#7f522e}.group-consent-warning b{font-size:9px}.group-consent-warning span{font-size:8px;line-height:1.4}.consent-mini{font-weight:800}.consent-mini.ok{color:#3b7b54}.consent-mini.warn{color:#a16533}.preview-reflection{margin-top:18px;padding:13px 15px;border-radius:12px;background:#eef6ff}.preview-reflection b{display:block;font-size:10px;margin-bottom:5px}.preview-reflection div{white-space:pre-line;line-height:1.5;font-size:11px}
.review-queue-note{display:flex;gap:7px;align-items:center;padding:8px 10px;background:#edf5ff;border-radius:10px;font-size:9px;color:#547187;margin-bottom:12px}.review-queue-note b{color:#315b79}

@media(max-width:800px){.consent-grid,.child-consent-quick{grid-template-columns:1fr}.portfolio-options .form-grid{grid-template-columns:1fr}.profile-tab{padding:14px}.profile-tabs{padding-left:10px;padding-right:10px}.assignment-history>div{grid-template-columns:1fr}.child-profile-panel>.section-title{padding:15px}}
.parent-contribution-label{display:inline-flex;background:#fff0c9;color:#775a13;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900}
.version-list{display:grid;gap:7px;max-height:62vh;overflow:auto}.version-row{background:#f8fbf9;border:1px solid #e7eee9;border-radius:10px;padding:9px 11px}.version-row b{display:block;font-size:10px;text-transform:capitalize}.version-row span{display:block;font-size:8px;color:var(--muted);margin-top:2px}.version-row p{font-size:9px;margin:5px 0 0;color:#5f7067}
.child-timeline{position:relative;display:grid;gap:7px;margin-top:4px;padding-left:18px}.child-timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:#dce8e0}.timeline-item{position:relative;display:grid;grid-template-columns:95px 1fr;gap:3px 10px;background:#f8fbf9;border-radius:10px;padding:8px 10px}.timeline-item:before{content:"";position:absolute;left:-17px;top:12px;width:8px;height:8px;border-radius:50%;background:#7cb997;border:2px solid #fff;box-shadow:0 0 0 2px #cfe4d6}.timeline-item>span{grid-row:1 / span 2;font-size:8px;color:var(--muted)}.timeline-item>b{font-size:10px}.timeline-item>p{font-size:9px;color:#64756c;margin:0;line-height:1.35}.timeline-item.story:before{background:#72aee6}.timeline-item.archive:before{background:#e79b75}.timeline-item.restore:before{background:#61a97e}.timeline-item.teacher:before{background:#9a8bd8}.timeline-item.room:before{background:#dfb54e}.timeline-item.family:before{background:#e38eb1}.timeline-item.care:before{background:#69b7b1}
@media(max-width:600px){.timeline-item{grid-template-columns:1fr}.timeline-item>span{grid-row:auto}.profile-history-grid{grid-template-columns:1fr!important}}

/* v16 usability + policy/template workflow polish */
.app-topbar{min-height:76px;padding:12px 24px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 2px 14px rgba(40,65,51,.04)}
.app-topbar h1{font-size:22px;line-height:1.1}.topbar-navigation .eyebrow{font-size:9px}.top-actions{align-items:center}.top-user{display:flex;align-items:center;gap:9px;padding:4px 9px 4px 4px;border:1px solid var(--line);background:#fff;border-radius:13px}.top-user-copy{display:flex;flex-direction:column}.top-user-copy b{font-size:11px}.top-user-copy small{font-size:9px;color:var(--muted)}
.app-view{max-width:1700px;width:100%;margin:0 auto}.panel{transition:border-color .18s ease,box-shadow .18s ease}.panel:focus-within{border-color:#c5d8cb;box-shadow:0 8px 26px rgba(44,77,58,.06)}
.page-action-bar,.children-page-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;margin-bottom:12px}.page-action-bar h2,.children-page-actions h2{margin:2px 0 0;font-size:20px}.page-action-bar p,.children-page-actions p{margin:3px 0 0}
.compact-directory-toolbar{padding:8px 10px}.children-filter-bar{gap:6px;align-items:center}.children-filter-bar select,.children-filter-bar input{height:34px;padding:6px 9px;font-size:11px}.children-filter-bar select{width:auto;min-width:100px}.compact-search{min-width:180px;flex:1 1 220px}.directory-count{font-size:9px;font-weight:900;color:var(--muted);white-space:nowrap}
.full-width-workspace{width:100%;max-width:none;padding:20px;margin-bottom:14px;border-color:#cfdfd4;box-shadow:0 16px 38px rgba(43,73,56,.07)}.workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.workspace-head h2{margin:2px 0 4px;font-size:21px}.workspace-head p{margin:0;color:var(--muted);font-size:11px}
.form-action-bar{position:sticky;bottom:8px;z-index:5;display:flex;justify-content:flex-end;gap:8px;padding:9px;margin-top:8px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(31,55,40,.08)}
.modern-form label{font-size:10px}.modern-form input,.modern-form select,.modern-form textarea{padding:9px 10px;border-radius:9px}.form-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.form-section-head h2{font-size:20px;margin:2px 0}
.settings-tabs{position:sticky;top:76px;z-index:10;background:#f7f9f7;padding:7px 0 9px;display:flex;gap:6px;overflow:auto}.settings-tab{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:850;color:#506158}.settings-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.settings-pane-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0}.settings-pane-title h2{margin:0;font-size:22px}.settings-pane-title p{margin:4px 0 0;color:var(--muted);font-size:11px}
.story-editor-head.compact-story-head{display:flex;align-items:center;gap:12px;padding:3px 2px 7px;margin-bottom:2px}.compact-story-head h2{font-size:18px;margin:0}.compact-story-head .eyebrow{font-size:8px}.story-designer-controls{padding:15px}.story-editor-sticky{padding:6px 8px;border-radius:11px}.story-editor-sticky .btn.small{padding:7px 9px}.rich-editor-pro{min-height:300px}.story-inline-photo{display:block;max-width:760px;margin:10px auto;padding:4px;border:2px solid transparent;border-radius:16px;background:#f8faf8}.story-inline-image{max-width:100%;display:block;margin:auto;cursor:default;user-select:none;-webkit-user-drag:none}.story-inline-image.selected-photo{outline:3px solid rgba(63,111,82,.35);outline-offset:3px;border-radius:14px}.editor-help{font-size:9px;line-height:1.35}
.story-template-settings-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:start}.story-template-editor{display:grid;gap:12px}.compact-form-grid{display:grid;grid-template-columns:1.2fr 1fr 120px 1.2fr;gap:8px}.template-placeholder-block{background:#f7faf8;border:1px solid #e3ece6;border-radius:12px;padding:10px}.template-placeholder-block .section-title{margin-bottom:7px}.template-placeholder-block h3{font-size:12px;margin:0}.template-placeholder-block span{font-size:8px;color:var(--muted)}.placeholder-grid{display:flex;flex-wrap:wrap;gap:5px}.placeholder-chip{border:1px solid #d9e7dd;background:#fff;border-radius:8px;padding:5px 7px;color:#315b43;font-size:9px;font-weight:850;text-align:left}.placeholder-chip small{display:none}.placeholder-chip:hover{border-color:#9bc0a8;background:#eef7f1}.template-settings-preview{position:sticky;top:132px}.compact-preview{width:100%!important;min-height:520px!important;padding:24px!important;margin:0!important;box-shadow:none!important}.template-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.template-admin-card{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px 10px}.template-admin-card b{display:block;font-size:11px}.template-admin-card small{font-size:8px;color:var(--muted)}.template-admin-swatch{width:42px;height:42px;border:1px solid var(--line);border-radius:10px}
.policy-list{display:grid;gap:8px}.policy-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px;box-shadow:0 4px 14px rgba(37,64,47,.035)}.policy-card.overdue{border-left:4px solid #d86f6f}.policy-card.due-soon{border-left:4px solid #e0ac53}.policy-card.scheduled{border-left:4px solid #79ad8b}.policy-card-main{display:flex;align-items:flex-start;gap:10px;min-width:0}.policy-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.policy-card h3{font-size:14px;margin:0}.policy-card p{font-size:9px;margin:3px 0;color:var(--muted)}.policy-state-dot{width:9px;height:9px;border-radius:50%;background:#7cad8a;margin-top:5px;flex:0 0 auto}.overdue .policy-state-dot{background:#d86f6f}.due-soon .policy-state-dot{background:#e0ac53}.policy-review-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px}.policy-review-meta span{display:flex;flex-direction:column;font-size:9px;color:#506258}.policy-review-meta b{font-size:7px;text-transform:uppercase;letter-spacing:.06em;color:#91a097;margin-bottom:1px}.policy-reader{margin-top:12px}.policy-content{font-size:12px;line-height:1.65;color:#34473c;padding:8px 2px}.policy-schedule-list{display:grid;gap:6px}.policy-schedule-row{display:grid;grid-template-columns:minmax(240px,1.4fr) 130px 150px 150px auto;gap:7px;align-items:end;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px}.policy-schedule-row label{font-size:8px}.policy-schedule-row input,.policy-schedule-row select{height:34px;padding:6px 8px;font-size:10px}.policy-schedule-title{display:flex;gap:8px;align-items:flex-start}.policy-schedule-title b{display:block;font-size:10px}.policy-schedule-title small{font-size:8px;color:var(--muted)}
.meeting-policy-suggestions{border:1px solid #e2e9e4;background:#f9fbf9;border-radius:12px;padding:10px}.meeting-policy-suggestions .section-title{margin-bottom:7px}.meeting-policy-suggestions h3{font-size:12px;margin:0}.meeting-policy-suggestions p{font-size:9px;margin:2px 0}.policy-suggestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.policy-suggestion{display:grid!important;grid-template-columns:16px 1fr;gap:7px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px;text-transform:none!important;letter-spacing:0!important}.policy-suggestion input{width:14px;height:14px;margin-top:1px}.policy-suggestion b{display:block;font-size:9px}.policy-suggestion small{display:block;font-size:8px;color:var(--muted);margin-top:2px}.policy-suggestion.overdue{border-color:#ecc4c4;background:#fff8f8}.policy-suggestion.due-soon{border-color:#ecd9ad;background:#fffdf7}.meeting-policy-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.meeting-policy-chips span{background:#edf5ef;border-radius:999px;padding:3px 6px;font-size:7px;color:#41634e}.notice-card{display:flex;flex-direction:column;gap:3px;border-radius:11px;padding:9px 11px;background:#f4f8f5;border:1px solid #e0e9e3;font-size:9px}.notice-card b{font-size:10px}.notice-card span,.notice-card small{color:var(--muted)}.notice-card.success{background:#f1f8f3}.notice-card.policy{margin-bottom:12px;background:#f7f5ff;border-color:#e5ddf6}.meeting-record-editor{margin-top:14px;display:grid;gap:11px}

@media(max-width:1100px){.story-template-settings-grid{grid-template-columns:1fr}.template-settings-preview{position:static}.compact-form-grid{grid-template-columns:1fr 1fr}.policy-schedule-row{grid-template-columns:1fr 1fr 1fr}.policy-schedule-title{grid-column:1/-1}.policy-schedule-row>.btn{align-self:end}.policy-card{align-items:flex-start;flex-direction:column}.template-admin-list{grid-template-columns:1fr}}
@media(max-width:760px){.app-topbar{min-height:68px;padding:9px 12px}.settings-tabs{top:68px}.top-user-copy{display:none}.top-user{padding:3px}.page-action-bar,.children-page-actions{align-items:flex-start;flex-direction:column}.page-action-bar>.btn,.children-page-actions .actions{width:100%}.children-page-actions .actions .btn{flex:1}.compact-directory-toolbar{display:block}.children-filter-bar{display:grid;grid-template-columns:1fr 1fr}.compact-search{grid-column:1/-1;min-width:0}.directory-count{align-self:center}.story-editor-head.compact-story-head{padding-top:0}.compact-story-head h2{font-size:16px}.compact-form-grid{grid-template-columns:1fr}.policy-suggestion-grid{grid-template-columns:1fr}.policy-schedule-row{grid-template-columns:1fr 1fr}.policy-schedule-title{grid-column:1/-1}.policy-schedule-row>.btn{width:100%}.form-action-bar{bottom:74px}.template-placeholder-block{padding:8px}.placeholder-chip{font-size:8px}.policy-review-meta{gap:8px}.policy-card .actions{width:100%}.policy-card .actions .btn{flex:1}}
@media(max-width:480px){.children-filter-bar{grid-template-columns:1fr}.compact-search{grid-column:auto}.policy-schedule-row{grid-template-columns:1fr}.policy-schedule-title{grid-column:auto}.story-editor-sticky{gap:4px}.story-sticky-left,.story-sticky-right{gap:4px}.story-editor-sticky .btn.small{font-size:10px;padding:7px}.template-admin-card{grid-template-columns:36px 1fr}.template-admin-card .actions{grid-column:1/-1}.template-admin-swatch{width:34px;height:34px}.top-actions{gap:4px}.top-actions .icon-btn,.top-actions .notif-btn{min-width:36px;height:36px}}

/* v17 — compact roster, leave rules and policy print design */
.compact-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.compact-actions .btn{min-height:28px;padding:5px 8px;font-size:9px;border-radius:8px}
.roster-page-head{gap:8px;margin-bottom:8px}.roster-week-picker,.roster-actions{gap:5px}.roster-week-picker input{height:31px;min-width:132px;padding:4px 7px;font-size:10px}.roster-week-picker .icon-btn{width:30px;height:30px}.roster-summary-strip{margin-bottom:8px;border-radius:11px;flex-wrap:wrap}.roster-summary-strip span{padding:7px 10px;font-size:8px;flex:1 1 auto;min-width:92px}.roster-summary-strip b{font-size:11px}.northstar-roster-panel{padding:9px}.northstar-roster-panel .section-title{margin-bottom:7px}.northstar-roster-panel .section-title h2{font-size:14px}.northstar-roster-scroll{overflow:hidden!important;border-radius:10px;width:100%}.northstar-roster-grid{width:100%;min-width:0!important;grid-template-columns:minmax(105px,1.15fr) repeat(5,minmax(0,1fr))!important}.roster-staff-head,.roster-day-head{min-height:38px;padding:5px 6px}.roster-staff-head{font-size:8px;position:static}.roster-day-head{align-items:center;text-align:center}.roster-day-head b{font-size:9px}.roster-day-head span{font-size:7px}.roster-staff-cell{position:static;min-height:76px;padding:6px;grid-template-columns:27px minmax(0,1fr);gap:5px}.staff-roster-avatar{width:27px;height:27px;border-radius:8px;font-size:8px}.roster-staff-cell b{font-size:9px}.roster-staff-cell span,.roster-staff-cell small{font-size:7px;margin-top:1px}.roster-day-cell{min-height:76px;padding:4px}.roster-shift-card{border-left-width:2px;border-radius:7px;padding:5px}.roster-shift-card+.roster-shift-card{margin-top:3px}.shift-time{font-size:9px;white-space:nowrap}.shift-role,.shift-room{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-role{margin-top:1px}.shift-breaks{gap:2px;margin-top:4px}.roster-break-chip{padding:2px 3px;border-radius:5px;font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.break-short{display:none}.cover-tag{margin-top:3px;padding:2px 4px;font-size:6px}.roster-add-cell{padding:2px 4px;margin-top:3px;border-radius:6px;font-size:10px;line-height:1.2}.roster-leave-card{border:1px solid #efc6c7;background:#fff0f1;color:#8c3f48;border-radius:7px;padding:5px;margin-bottom:3px;text-align:center}.roster-leave-card b{display:block;font-size:8px}.roster-leave-card span{display:block;font-size:6.5px;line-height:1.2;margin-top:1px}.roster-leave-card small{display:block;margin-top:2px;font-size:6px;font-weight:900;color:#b34a53}.roster-day-cell.has-leave{background:#fffafb}.roster-secondary-actions{margin:8px 0}.roster-cover-title{margin-top:14px}.roster-shift-form{gap:8px}.break-editor{padding:8px 10px;gap:8px}.break-editor small{font-size:8px}
.policy-top-actions{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap}.compact-control{display:grid;gap:2px;font-size:8px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.compact-control select{height:30px;padding:4px 8px;font-size:9px;min-width:120px}.policy-action-bar{padding:10px 12px}.policy-action-bar h2{font-size:17px}.policy-card{padding:10px 12px}.policy-card .actions{justify-content:flex-end}.policy-editor-field{display:grid;gap:5px}.form-label{font-size:9px;font-weight:900;color:#56665d;text-transform:uppercase;letter-spacing:.05em}.policy-format-toolbar{display:flex;gap:3px;flex-wrap:wrap;padding:4px;background:#eef4ef;border:1px solid var(--line);border-radius:8px}.policy-format-toolbar button{border:0;background:#fff;border-radius:6px;padding:4px 7px;font:inherit;font-size:8px;font-weight:900;color:#53675b;cursor:pointer}.policy-format-toolbar button:hover{background:#e5f0e8;color:var(--primary)}.policy-content-editor{min-height:260px;padding:14px;border:1px solid #cfdad2;border-radius:9px;background:#fff;outline:none;font-size:11px;line-height:1.55}.policy-content-editor:focus{border-color:#a8c6b1;box-shadow:0 0 0 3px rgba(83,135,99,.08)}.policy-content-editor h1{font-size:24px;margin:.45em 0 .3em}.policy-content-editor h2{font-size:18px;margin:.6em 0 .3em}.policy-content-editor h3{font-size:14px;margin:.65em 0 .25em}.policy-content-editor p{margin:.45em 0}.policy-content-editor ul{padding-left:1.5em}.policy-content h1{font-size:24px}.policy-content h2{font-size:18px}.policy-content h3{font-size:14px}.policy-content p,.policy-content li{font-size:11px;line-height:1.55}.policy-design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.policy-design-grid label{min-width:0}.policy-design-grid input,.policy-design-grid select{height:32px}.policy-settings-grid{align-items:start}.check-row{display:flex!important;align-items:center;gap:6px!important;text-transform:none!important;letter-spacing:0!important}.check-row input{width:15px!important;height:15px!important}
.leave-type-list{display:grid;gap:6px}.compact-leave-type{display:grid;grid-template-columns:minmax(150px,1.6fr) 92px repeat(4,minmax(70px,.65fr)) auto;gap:7px;align-items:end;padding:8px 10px}.compact-leave-type label{min-width:0}.compact-leave-type input[type=text],.compact-leave-type input[type=number]{height:31px;padding:4px 7px;font-size:9px}.mini-check{display:flex!important;align-items:center;gap:5px!important;min-height:31px;padding:5px 6px;border:1px solid var(--line);border-radius:7px;background:#f8faf8;text-transform:none!important;letter-spacing:0!important;font-size:8px!important;color:var(--text)!important}.mini-check input{width:14px!important;height:14px!important;flex:0 0 auto}.compact-add-leave{display:grid;grid-template-columns:1.2fr minmax(160px,1.5fr) 90px repeat(3,86px) auto;gap:7px;align-items:end;padding:10px}.compact-add-leave h3{font-size:13px;margin:1px 0 0}.compact-add-leave input{height:31px;padding:4px 7px;font-size:9px}
@media(max-width:1050px){.northstar-roster-grid{grid-template-columns:minmax(90px,1.05fr) repeat(5,minmax(0,1fr))!important}.roster-staff-cell{grid-template-columns:1fr}.staff-roster-avatar{display:none}.shift-room{display:none}.roster-break-chip .break-full{display:none}.roster-break-chip .break-short{display:inline}.policy-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-leave-type{grid-template-columns:1.3fr 82px repeat(2,72px);}.compact-leave-type .compact-actions{grid-column:1/-1}.compact-add-leave{grid-template-columns:1fr 1fr 90px 90px}.compact-add-leave>div{grid-column:1/-1}}
@media(max-width:760px){.roster-page-head{display:grid;grid-template-columns:1fr}.roster-actions{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.roster-actions .btn{width:100%;padding:4px 3px}.northstar-roster-panel{padding:5px}.northstar-roster-grid{grid-template-columns:74px repeat(5,minmax(0,1fr))!important}.roster-staff-head,.roster-day-head{padding:3px 2px}.roster-day-head b{font-size:7px}.roster-day-head span{font-size:6px}.roster-staff-cell{padding:3px}.roster-staff-cell b{font-size:7px;white-space:normal;line-height:1.15}.roster-staff-cell span{display:none}.roster-staff-cell small{font-size:6px}.roster-day-cell{padding:2px;min-height:62px}.roster-shift-card{padding:3px 2px;border-radius:5px}.shift-time{font-size:7px;letter-spacing:-.03em}.shift-role,.shift-room{display:none}.roster-break-chip{font-size:5.5px;padding:1px 2px}.roster-break-chip .break-full{display:none}.roster-break-chip .break-short{display:inline}.roster-leave-card{padding:3px 2px}.roster-leave-card b{font-size:6.5px}.roster-leave-card span{font-size:5.5px}.roster-summary-strip span{min-width:72px;padding:5px 6px}.roster-summary-strip b{font-size:9px}.policy-action-bar{align-items:flex-start;flex-direction:column}.policy-top-actions{width:100%;justify-content:space-between}.policy-design-grid{grid-template-columns:1fr 1fr}.compact-leave-type{grid-template-columns:1fr 82px 1fr 1fr}.compact-leave-type .leave-name{grid-column:1/-1}.compact-add-leave{grid-template-columns:1fr 82px 1fr 1fr}.compact-add-leave>div,.compact-add-leave label:first-of-type{grid-column:1/-1}}
@media(max-width:430px){.northstar-roster-grid{grid-template-columns:62px repeat(5,minmax(0,1fr))!important}.roster-staff-cell b{font-size:6.5px}.roster-day-head span{display:none}.roster-break-chip{font-size:5px}.policy-design-grid,.compact-leave-type,.compact-add-leave{grid-template-columns:1fr 1fr}.compact-leave-type .leave-name,.compact-leave-type .compact-actions,.compact-add-leave>div,.compact-add-leave label:first-of-type{grid-column:1/-1}}
@media print{.roster-leave-card{border:1px solid #bbb!important;background:#fff!important;color:#333!important}.northstar-roster-grid{grid-template-columns:82px repeat(5,1fr)!important}.northstar-roster-panel{padding:0}.roster-day-cell,.roster-staff-cell{min-height:56px!important}.shift-time{font-size:7px!important}.roster-break-chip{font-size:5px!important}}


/* v18 Staff records, policy planner and contract-hour roster refinements */
.planner-event.policy,.today-item.policy{background:#f3e7ff;border-color:#d3b2f2;color:#69428d}.planner-legend .policy:before{background:#9b6bc5}.planner-legend .policy{color:#69428d}
.staff-settings-pane{max-width:1500px}.staff-summary-strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.staff-summary-strip span{background:var(--surface-soft,#f6faf7);border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px}.staff-record-list{display:grid;gap:8px}.staff-record-card{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.staff-record-main{display:flex;align-items:center;gap:10px;min-width:0}.staff-record-main h3{margin:0;font-size:15px}.staff-record-main p{margin:2px 0 5px;font-size:12px;color:var(--muted)}.staff-record-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.staff-record-actions{display:flex;gap:5px;flex-shrink:0}.mini-status{border-radius:999px;padding:3px 7px;font-weight:700}.mini-status.on{background:#e6f5ec;color:#346a4c}.mini-status.off{background:#f3f3f3;color:#707070}.staff-record-editor{padding:14px;margin-bottom:12px}.staff-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.staff-form-grid label{font-size:12px}.staff-form-grid .staff-roster-toggle{align-self:end;min-height:42px}.permission-overrides{margin-top:12px;border:1px solid var(--border);border-radius:12px;background:#fbfdfb}.permission-overrides summary{cursor:pointer;padding:10px 12px;font-weight:800}.permission-overrides>p,.permission-overrides>.info-callout{margin:0 12px 10px}.staff-permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border-top:1px solid var(--border)}.staff-permission-row{background:#fff;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.staff-permission-row span{min-width:0}.staff-permission-row b{display:block;font-size:12px}.staff-permission-row small{display:block;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-permission-row select{width:104px;padding:5px 6px;font-size:11px}.group-permission-settings{margin-top:14px}.group-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.group-permission-card{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff}.group-permission-card header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.group-permission-card h3{margin:0}.group-permission-card header small{color:var(--muted)}.group-permission-list{display:grid;grid-template-columns:1fr;gap:2px;margin:9px 0}.group-permission-list label{display:grid;grid-template-columns:16px 1fr auto;gap:6px;align-items:center;padding:3px 0;font-size:11px}.group-permission-list label small{font-size:9px;color:var(--muted)}.info-callout{border-radius:10px;background:#eef7ff;color:#315e7e;padding:8px 10px;font-size:12px}.staff-roster-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.roster-staff-cell small{font-size:9px;white-space:nowrap}.roster-summary-strip{gap:4px}.roster-summary-strip span{padding:4px 7px;font-size:10px}
@media(max-width:1050px){.staff-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-permission-grid{grid-template-columns:1fr 1fr}.staff-permission-list{grid-template-columns:1fr}}
@media(max-width:700px){.staff-record-card{align-items:flex-start}.staff-record-actions{flex-direction:column}.staff-form-grid,.group-permission-grid{grid-template-columns:1fr}.staff-permission-row select{width:92px}.staff-record-main p{overflow-wrap:anywhere}}


/* v19: separated account/permission management + learning library */
.account-toolbar{display:flex;gap:10px;align-items:end;margin:10px 0 14px;padding:10px 12px;background:var(--soft,#f7faf8);border:1px solid var(--line,#dfe8e2);border-radius:14px}.account-toolbar label{font-size:12px;font-weight:800;min-width:150px}.account-toolbar select,.account-toolbar input{height:36px;margin-top:4px}.account-search{flex:1}.account-card{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:12px;align-items:center}.account-quick-group{display:grid;gap:4px}.account-quick-group>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.account-quick-group select{height:34px;padding:5px 9px}.permission-overrides summary span{font-weight:500;color:var(--muted);font-size:12px;margin-left:6px}.override-group{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:8px 0}.override-group h4{margin:0;padding:7px 10px;background:#f6faf7;font-size:12px}.permission-help-strip{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 12px;margin-bottom:12px;border:1px solid #dce9e1;background:#f7fbf8;border-radius:14px;font-size:12px;color:var(--muted)}.permission-role-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.permission-role-tab{border:1px solid var(--line);background:white;border-radius:12px;padding:8px 12px;font-weight:800;cursor:pointer}.permission-role-tab small{display:block;font-weight:500;color:var(--muted);font-size:10px}.permission-role-tab.active{background:var(--primary);color:white;border-color:var(--primary)}.permission-role-tab.active small{color:rgba(255,255,255,.8)}.permission-role-panel{display:none}.permission-role-panel.active{display:block}.permission-role-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0}.permission-role-head h3{margin:0 0 3px}.permission-role-head p{margin:0;color:var(--muted);font-size:13px}.permission-bulk{display:flex;gap:6px}.permission-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.permission-category{border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden}.permission-category>header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#f7faf8;border-bottom:1px solid var(--line)}.permission-category h4{margin:0;font-size:12px}.category-toggle{font-size:11px;display:flex;align-items:center;gap:4px}.gui-permission-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #edf2ef;cursor:pointer;position:relative}.gui-permission-toggle:last-child{border-bottom:0}.gui-permission-toggle span{display:grid}.gui-permission-toggle b{font-size:12px}.gui-permission-toggle small{font-size:9px;color:var(--muted);word-break:break-all}.gui-permission-toggle input{appearance:none;width:34px;height:20px;border-radius:20px;background:#cfd8d2;position:relative;transition:.15s;margin:0}.gui-permission-toggle input:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002;transition:.15s}.gui-permission-toggle input:checked{background:var(--primary)}.gui-permission-toggle input:checked:before{transform:translateX(14px)}.gui-permission-toggle input:disabled{opacity:.7}.learning-library-grid{align-items:start}.learning-activity-list,.resource-setting-list{display:grid;gap:8px}.learning-activity-card{padding:12px}.learning-activity-card header{display:flex;justify-content:space-between;gap:10px}.learning-activity-card h3{margin:0}.learning-activity-card p{margin:3px 0;color:var(--muted);font-size:12px}.activity-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin-top:8px;font-size:11px}.activity-meta span{display:grid}.activity-meta b{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.resource-setting-row{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:10px;align-items:center;border:1px solid var(--line);background:white;border-radius:12px;padding:9px 10px}.resource-setting-row div:first-child{display:grid}.resource-setting-row small{color:var(--muted)}.compact-library-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compact-library-form>div:first-child{grid-column:1/-1}.compact-library-form .span-2{grid-column:1/-1}.compact-checkbox-field{border:1px solid var(--line);border-radius:12px;padding:8px 10px}.compact-checkbox-field legend{font-weight:800;font-size:12px;padding:0 5px}.compact-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.compact-checkbox-grid label{display:flex;align-items:flex-start;gap:6px;padding:5px 7px;border-radius:8px;background:#f8faf9;font-size:11px}.compact-checkbox-grid input{margin-top:2px}.curriculum-mini-grid{max-height:220px;overflow:auto}.curriculum-mini-grid label span{display:grid}.curriculum-mini-grid small{color:var(--muted);font-size:9px}.compact-leave-type{grid-template-columns:minmax(160px,1.4fr) 100px repeat(5,auto) auto!important}.planner-legend .roster{display:none!important}
@media(max-width:1050px){.permission-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-card{grid-template-columns:minmax(0,1fr) 130px}.staff-record-actions{grid-column:1/-1;justify-self:end}}
@media(max-width:720px){.account-toolbar{display:grid;grid-template-columns:1fr 1fr}.account-card{display:flex;flex-wrap:wrap}.account-card .staff-record-main{flex:1 1 100%}.account-quick-group{flex:1}.permission-category-grid,.compact-checkbox-grid{grid-template-columns:1fr}.permission-role-head{align-items:flex-start;flex-direction:column}.learning-library-grid{grid-template-columns:1fr!important}.resource-setting-row{grid-template-columns:1fr auto}.resource-setting-row>span{grid-row:2}.compact-library-form{grid-template-columns:1fr}.compact-library-form>*{grid-column:1!important}}


/* v20 Questionnaires + Parent–Teacher Meetings */
.questionnaire-summary,.pt-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.questionnaire-summary span,.pt-summary span{background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px 10px;font-size:12px;color:var(--muted)}.questionnaire-summary b,.pt-summary b{color:var(--text);font-size:14px;margin-right:4px}.questionnaire-cards,.pt-event-grid{display:grid;gap:10px}.questionnaire-card,.pt-event-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:0 4px 16px rgba(39,71,57,.04)}.questionnaire-card.complete{background:#f8fcfa}.questionnaire-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eaf6ef;color:var(--primary);font-size:20px;font-weight:800}.questionnaire-card h3,.pt-event-card h3{margin:2px 0 4px;font-size:16px}.questionnaire-card p,.pt-event-card p{margin:0;color:var(--muted);font-size:13px}.meta-row,.pt-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.meta-row span,.pt-meta span{font-size:11px;background:var(--soft);border-radius:999px;padding:4px 7px;color:var(--muted)}.questionnaire-builder,.send-questionnaire-panel,.questionnaire-responses,.pt-event-editor,.pt-schedule-workspace,.pt-booking-workspace{margin-top:14px}.builder-head{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px}.builder-question{display:grid;grid-template-columns:28px minmax(180px,2fr) minmax(130px,.8fr) minmax(150px,1fr) auto 32px;gap:8px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:12px;margin-bottom:7px;background:#fbfdfc}.builder-question label{font-size:11px}.builder-question input,.builder-question select,.builder-question textarea{padding:7px 8px;min-height:34px}.drag-dot,.question-number{width:26px;height:26px;border-radius:8px;background:#eaf6ef;color:var(--primary);font-weight:800;display:grid;place-items:center;font-size:12px}.question-options.is-hidden{display:none}.questionnaire-modal-card{max-width:720px}.questionnaire-response-form{display:grid;gap:9px}.question-block{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;border-top:1px solid var(--line);padding-top:11px}.question-block label>b{display:block;margin-bottom:7px}.choice-grid{display:flex;gap:6px;flex-wrap:wrap}.choice-pill{display:flex!important;flex-direction:row!important;align-items:center;gap:5px;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 9px!important;font-size:12px!important}.choice-pill input{width:auto!important;min-height:0!important}.rating-row{display:flex;gap:5px}.rating-row label input{position:absolute;opacity:0}.rating-row label span{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:#fff;font-weight:800}.rating-row label input:checked+span{background:var(--primary);color:white;border-color:var(--primary)}.response-list{display:grid;gap:8px}.response-summary{border:1px solid var(--line);border-radius:13px;padding:10px 12px}.response-summary header{display:flex;justify-content:space-between;align-items:center}.response-summary header div{display:grid}.response-summary header span{font-size:11px;color:var(--muted)}.response-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}.response-answers p{margin:0;background:var(--soft);padding:8px;border-radius:9px}.response-answers b,.response-answers span{display:block;font-size:11px}.response-answers span{margin-top:3px;color:var(--muted)}.pt-event-card{grid-template-columns:minmax(0,1fr) auto;align-items:start}.pt-event-card header{display:flex;justify-content:space-between;gap:10px}.pt-event-card>.pt-meta,.pt-event-card>p,.pt-event-card>.premeeting-status,.pt-event-card>.booked-slot,.pt-event-card>.actions,.pt-event-card>.compact-actions{grid-column:1/-1}.premeeting-status,.booked-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff7e8;border:1px solid #f1dfba;border-radius:11px;padding:8px 10px;margin-top:7px;font-size:12px}.premeeting-status.done{background:#ecf8f1;border-color:#cce8d6}.premeeting-status span,.booked-slot span{color:var(--muted)}.booked-slot{background:#eef7ff;border-color:#d3e6f7}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:7px;margin-top:12px}.slot-button{border:1px solid #cfe4d7;background:#f7fcf9;border-radius:11px;padding:9px;text-align:left;cursor:pointer;color:var(--text)}.slot-button:hover{border-color:var(--primary);background:#edf8f1}.slot-button b,.slot-button span{display:block}.slot-button span{font-size:11px;color:var(--muted);margin-top:2px}.compact-select{max-width:360px}.teacher-slot-group{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.slot-admin-list{display:grid;gap:5px}.slot-admin-row{display:grid;grid-template-columns:105px minmax(150px,1fr) 150px auto;gap:8px;align-items:center;padding:7px 9px;border-radius:10px;background:#fafcfb;border:1px solid var(--line);font-size:12px}.slot-admin-row.booked{background:#f1f8f4}.slot-person{display:grid}.slot-person span,.available-label{font-size:11px;color:var(--muted)}.attendance-select{padding:6px 7px;min-height:32px;font-size:12px}.staff-choice-grid{padding-top:5px}
.planner-event.parentteacher{border-left-color:#8a68c8;background:#f4f0fb}.planner-legend .parentteacher:before{background:#8a68c8}
@media(max-width:900px){.builder-question{grid-template-columns:26px minmax(0,1fr) minmax(120px,.55fr) 32px}.builder-question .question-options{grid-column:2/4}.builder-question .mini-check{grid-column:2/3}.questionnaire-card{grid-template-columns:auto minmax(0,1fr)}.questionnaire-card>.compact-actions,.questionnaire-card>button{grid-column:1/-1}.slot-admin-row{grid-template-columns:90px minmax(0,1fr)}.slot-admin-row select,.slot-admin-row button{grid-column:auto}.response-answers{grid-template-columns:1fr}}
@media(max-width:600px){.questionnaire-card,.pt-event-card{padding:10px;border-radius:13px}.builder-question{grid-template-columns:24px minmax(0,1fr) 30px}.builder-question>label{grid-column:2/3}.builder-question .question-options,.builder-question .mini-check{grid-column:2/3}.questionnaire-icon{width:36px;height:36px}.slot-admin-row{grid-template-columns:1fr}.slot-admin-row time{font-weight:800}.pt-event-card{grid-template-columns:1fr}.pt-event-card>*{grid-column:1!important}.premeeting-status,.booked-slot{align-items:flex-start;flex-direction:column}.question-block{grid-template-columns:25px 1fr}}

/* v21 — settings redesign, ClickSend notification controls, split learning libraries */
:root{
  --front-font:Nunito,Arial,sans-serif;--front-base-size:16px;--front-h1-size:52px;--front-h2-size:38px;--front-h3-size:22px;--front-text-color:#203129;--front-link-color:#3f6f52;--front-line-height:1.6;--front-button-height:42px;--front-button-text:14px;--front-button-radius:12px;
  --back-font:Nunito,Arial,sans-serif;--back-base-size:14px;--back-h1-size:29px;--back-h2-size:19px;--back-h3-size:16px;--back-text-color:#203129;--back-link-color:#3f6f52;--back-line-height:1.5;--back-button-height:38px;--back-button-text:13px;--back-button-radius:10px;
}
#publicSite{font-family:var(--front-font);font-size:var(--front-base-size);color:var(--front-text-color);line-height:var(--front-line-height)}
#publicSite h1{font-size:var(--front-h1-size)}#publicSite h2{font-size:var(--front-h2-size)}#publicSite h3{font-size:var(--front-h3-size)}
#publicSite a:not(.btn){color:var(--front-link-color)}html[data-front-link-underline="1"] #publicSite a:not(.btn){text-decoration:underline}
#publicSite ul{list-style-type:var(--front-bullet,disc)}#publicSite .btn{min-height:var(--front-button-height);font-size:var(--front-button-text);border-radius:var(--front-button-radius)}
#portal{font-family:var(--back-font);font-size:var(--back-base-size);color:var(--back-text-color);line-height:var(--back-line-height)}
#portal .app-topbar h1{font-size:var(--back-h1-size)}#portal .app-view h2{font-size:var(--back-h2-size)}#portal .app-view h3{font-size:var(--back-h3-size)}
#portal a:not(.btn){color:var(--back-link-color)}html[data-back-link-underline="1"] #portal a:not(.btn){text-decoration:underline}
#portal ul{list-style-type:var(--back-bullet,disc)}#portal .btn{min-height:var(--back-button-height);font-size:var(--back-button-text);border-radius:var(--back-button-radius)}
.design-settings-block{width:100%}.design-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.design-settings-grid .check-row{align-self:end;min-height:42px}
.notification-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.channel-toggle{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc}.channel-toggle input{width:auto;margin-top:2px}.channel-toggle span{display:grid}.channel-toggle b{font-size:13px}.channel-toggle small{font-size:10px;color:var(--muted);font-weight:500}.compact-top-gap{margin:12px 0}.settings-note{margin:12px 0;padding:10px 12px;border-radius:11px;background:#fff8e8;border:1px solid #f0dfb9;font-size:12px;color:#6d5b35}
.notification-rule-head,.notification-rule-row{display:grid;grid-template-columns:minmax(250px,1fr) 72px 72px 72px 72px;gap:6px;align-items:center}.notification-rule-head{padding:0 10px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.notification-rule-head b:not(:first-child){text-align:center}.notification-rule-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.notification-rule-row{padding:9px 10px;background:#fff;border-bottom:1px solid #edf1ee}.notification-rule-row:last-child{border-bottom:0}.notification-rule-row>div{display:grid}.notification-rule-row>div b{font-size:12px}.notification-rule-row>div small{font-size:10px;color:var(--muted)}.notification-rule-row label{display:flex;justify-content:center}.notification-rule-row input{width:18px;height:18px}.compact-log-list{display:grid;gap:6px}.compact-log-list>div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:9px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px}.compact-log-list small{color:var(--muted)}
/* Policies Settings: every major block uses the full available content width. */
.policy-settings-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:12px!important}.policy-settings-grid>*,.policy-settings-grid .panel,.policy-schedule-list,.policy-schedule-row{width:100%!important;max-width:none!important}.policy-design-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.policy-schedule-row{box-sizing:border-box}
@media(max-width:1000px){.design-settings-grid,.policy-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-rule-head,.notification-rule-row{grid-template-columns:minmax(200px,1fr) 56px 56px 56px 56px}.notification-channel-grid{grid-template-columns:1fr}}
@media(max-width:720px){.design-settings-grid,.policy-design-grid{grid-template-columns:1fr}.notification-rule-head{display:none}.notification-rule-row{grid-template-columns:minmax(0,1fr) repeat(4,42px);gap:3px}.notification-rule-row label:before{display:none}.compact-log-list>div{grid-template-columns:1fr}.settings-tabs{scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}}

/* v22 Daily Schedule / Daily Diary */
.daily-datebar{display:grid;grid-template-columns:auto auto minmax(220px,1fr) auto auto;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.daily-datebar>div{text-align:center}.daily-datebar h2{margin:1px 0 0}.daily-datebar input[type=date]{max-width:150px;height:34px}
.daily-schedule-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;margin-bottom:12px;border-radius:16px;background:linear-gradient(135deg,#f1faf5,#fff9ed);border:1px solid #dceee3}.daily-schedule-summary h2{margin:2px 0;font-size:17px}.daily-requirement{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}.daily-requirement.met{background:#e4f6e9;color:#2e6744}.daily-requirement.missing{background:#fff0dc;color:#8a5a22}
.daily-plan-form{padding:14px;margin-bottom:16px}.daily-plan-form .section-title{margin-bottom:10px}.daily-plan-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr 1fr;gap:9px}.daily-plan-grid label{font-size:11px}.daily-plan-grid input,.daily-plan-grid select,.daily-plan-grid textarea{min-height:34px;padding:7px 9px}.daily-child-picker{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.child-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.child-check-grid label{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.child-check-grid input{width:auto}.child-check-grid small{display:block;color:var(--muted);font-size:10px}.story-child-thumb.tiny{width:30px;height:30px;min-width:30px;font-size:10px;border-radius:9px}
.daily-list-title{margin-top:12px}.daily-activity-list{display:grid;gap:8px}.daily-activity-card{padding:11px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.daily-activity-main{display:grid;grid-template-columns:62px minmax(0,1fr);gap:11px}.daily-activity-time{font-weight:900;font-size:12px;padding:8px;border-radius:11px;background:#eef7f1;text-align:center;color:var(--primary)}.daily-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.daily-card-title h3{margin:0}.daily-activity-card p{margin:4px 0 6px}.daily-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px}.daily-child-strip{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.daily-child-strip span{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;background:#f3f6f4;font-size:10px}.daily-child-strip img{width:18px;height:18px;border-radius:50%;object-fit:cover}.daily-card-actions{display:flex;align-items:end;gap:6px;flex-wrap:wrap;justify-content:flex-end}.daily-card-actions label:not(.btn){font-size:10px}.daily-card-actions select{display:block;max-width:180px;min-height:30px;padding:4px 7px;font-size:11px}.file-btn{cursor:pointer}.daily-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px;margin-top:9px}.daily-photo-grid.compact{grid-template-columns:repeat(auto-fill,72px)}.daily-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.parent-diary-intro{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;border-radius:12px;background:#edf8f2;color:#315b47}.parent-diary-intro span{color:#557064}.daily-diary-list{display:grid;gap:14px}.child-diary-card{padding:15px}.child-diary-head{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px solid var(--line)}.child-diary-head h2{margin:0}.daily-timeline{position:relative;margin:12px 0 0 12px;padding-left:22px;border-left:2px solid #dce9e1}.diary-entry{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:8px 0}.diary-icon{position:absolute;left:-40px;top:11px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eff8f2;border:2px solid #fff;box-shadow:0 0 0 1px #dce9e1}.diary-entry h3{margin:1px 0 3px}.diary-entry p{margin:2px 0 5px}.diary-entry.activity .diary-icon{background:#fff3db}.diary-entry.sleep .diary-icon{background:#eef0ff}.diary-entry.nappy .diary-icon{background:#ffeef3}.diary-entry.bottle .diary-icon,.diary-entry.meal .diary-icon{background:#eaf7ff}.chip-row{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0}.chip{font-size:10px;padding:3px 6px;border-radius:999px;background:#f2f5f3;color:#4f685a}
.staff-record-meta .mini-status.on,.staff-record-meta .mini-status.off{margin-right:4px}
@media(max-width:1050px){.daily-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-activity-card{grid-template-columns:1fr}.daily-card-actions{justify-content:flex-start}}
@media(max-width:720px){.daily-datebar{grid-template-columns:auto 1fr auto}.daily-datebar>#dailyToday,.daily-datebar>input{grid-row:2}.daily-datebar>#dailyToday{grid-column:1/3}.daily-datebar>input{grid-column:3}.daily-datebar>div{grid-column:2;grid-row:1}.daily-schedule-summary{align-items:flex-start;flex-direction:column}.daily-plan-grid{grid-template-columns:1fr}.daily-plan-grid .span-2{grid-column:auto}.child-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-activity-main{grid-template-columns:1fr}.daily-activity-time{width:max-content}.daily-card-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.daily-card-actions label:first-child{grid-column:1/-1}.daily-card-actions select{max-width:none;width:100%}.daily-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.child-check-grid{grid-template-columns:1fr}.daily-datebar{padding:8px}.daily-datebar h2{font-size:16px}.daily-card-actions{grid-template-columns:1fr}.daily-card-actions label:first-child{grid-column:auto}}

/* v22 Resource orders / wish list */
.resource-orders-page{display:grid;gap:14px}.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.compact-stats .stat{padding:10px 12px}.compact-stats .stat b{font-size:20px}.resource-order-form{padding:14px}.resource-order-form .section-title{margin-bottom:10px}.resource-order-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-items:end}.resource-order-form-grid label{min-width:0}.resource-order-form-grid .span-2{grid-column:span 2}.resource-order-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;background:var(--surface,#fff);border:1px solid var(--line,#e3e8e4);border-radius:12px}.resource-order-filter .segmented{display:flex;gap:4px;flex-wrap:wrap}.resource-order-filter .segmented button{min-height:30px;padding:5px 9px;font-size:12px}.resource-order-list{display:grid;gap:9px}.resource-order-card{padding:12px}.resource-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.resource-order-head h3{margin:2px 0 0}.resource-order-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.resource-order-grid>div{padding:8px 9px;background:#f7faf8;border-radius:10px;min-width:0}.resource-order-grid small,.resource-order-reason small{display:block;color:var(--muted,#6b776f);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.resource-order-grid b{font-size:12px;display:block;overflow-wrap:anywhere}.resource-order-reason{padding:7px 0}.resource-order-reason p{margin:3px 0 0}.resource-order-card .compact-actions{justify-content:flex-end;margin-top:8px}.info-callout.compact{padding:8px 10px;margin:8px 0;font-size:12px}
.resource-setting-row>span{display:flex;flex-direction:column;gap:2px}.resource-setting-row>span small{font-size:10px;color:var(--muted,#6b776f)}
@media(max-width:1100px){.resource-order-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.resource-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.resource-order-form-grid{grid-template-columns:1fr}.resource-order-form-grid .span-2{grid-column:auto}.resource-order-grid{grid-template-columns:1fr 1fr}.resource-order-filter{align-items:flex-start;flex-direction:column}.compact-stats{grid-template-columns:1fr 1fr}.resource-order-head{gap:6px}.resource-order-card{padding:10px}}

/* v22 Staff meeting workflow + accident register */
.care-tabs{margin:0 0 14px;max-width:max-content}.care-tabs button span{opacity:.7;margin-left:4px}
.accident-form{margin-bottom:16px}.accident-form .check-row{align-self:end}.accident-form textarea{min-height:64px}
.meeting-scheduler{margin-bottom:18px;padding:0;overflow:hidden}.meeting-scheduler>summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 16px;cursor:pointer;background:linear-gradient(135deg,#f6fbf8,#fffaf2);border-bottom:1px solid var(--line)}.meeting-scheduler>summary::-webkit-details-marker{display:none}.meeting-scheduler>summary span{font-size:12px;color:var(--muted)}.meeting-scheduler form{padding:15px}
.next-meeting-card{padding:18px}.next-meeting-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.next-meeting-top h2{margin:3px 0 5px}.meeting-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}.meeting-two-col>section{min-width:0}.meeting-two-col h3{margin:0 0 8px;font-size:14px}.meeting-centre-agenda{background:#f8faf8;border:1px solid #e2ebe5;border-radius:10px;padding:11px;font-size:13px;line-height:1.55;min-height:52px}.meeting-agenda-items{display:grid;gap:7px}.meeting-agenda-item{display:flex;justify-content:space-between;gap:10px;background:#fffaf2;border:1px solid #f1e5cd;border-radius:10px;padding:9px 10px}.meeting-agenda-item>div{display:grid;gap:2px;min-width:0}.meeting-agenda-item b{font-size:12px;color:#6d5132}.meeting-agenda-item span{font-size:13px;white-space:normal}.meeting-agenda-item small{font-size:10px;color:var(--muted)}.meeting-agenda-submit{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.meeting-agenda-submit label{margin:0}.meeting-agenda-submit textarea{min-height:54px}.meeting-agenda-workspace,.meeting-record-editor{margin-top:16px}.transcription-box,.recording-box{border:1px solid #dce9e1;background:#f8fbf9;border-radius:12px;padding:12px;margin:12px 0}.transcription-box .section-title{margin-bottom:8px}.transcription-box textarea{width:100%}.recording-box{display:grid;gap:9px}.empty.large{padding:36px;display:grid;gap:6px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:14px}.empty.large b{font-size:17px}
@media(max-width:820px){.meeting-two-col{grid-template-columns:1fr}.meeting-agenda-submit{grid-template-columns:1fr}.next-meeting-top{align-items:stretch}.next-meeting-top .btn{align-self:flex-start}}
@media(max-width:560px){.next-meeting-card{padding:13px}.meeting-scheduler form{padding:11px}.meeting-record-editor,.meeting-agenda-workspace{padding:12px}.transcription-box .section-title{align-items:flex-start}.transcription-box .compact-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.transcription-box .compact-actions .btn:last-child{grid-column:1/-1}}

/* v24: keep ERO Reports and Fees obvious and full-width in Settings. */
.website-content-stack{grid-template-columns:minmax(0,1fr)!important;gap:18px}
.website-content-block{width:100%;min-width:0}
.website-content-title{margin-bottom:10px}
.website-content-title .eyebrow{display:block;margin-bottom:3px}
.website-content-block .form-card{width:100%}
.website-content-block .card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
@media(max-width:760px){.website-content-block .card-list{grid-template-columns:1fr}}

/* v25: sticky public navigation and anchored sections */
#publicSite .public-header{position:sticky;top:0;z-index:90;width:100%;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#publicSite main section[id]{scroll-margin-top:96px}
#publicSite .resource-list{display:grid;gap:16px}
#publicSite .resource-card{width:100%}
@media(max-width:760px){#publicSite main section[id]{scroll-margin-top:78px}}

/* v26 integration & workflow polish */
.attention-panel{margin:0 0 18px;padding:16px;border:1px solid color-mix(in srgb,var(--primary) 20%,#e9efeb);border-radius:18px;background:linear-gradient(135deg,#fff,#f7fbf8)}
.attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.attention-card{appearance:none;border:1px solid #dfe8e2;background:#fff;border-radius:14px;padding:12px;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 9px;min-height:70px}.attention-card:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(38,70,50,.08)}.attention-card b{font-size:24px;color:var(--primary);grid-row:1/3}.attention-card span{font-weight:800}.attention-card small{color:#718178}
.child-profile-quickbar{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 16px;padding:9px;background:#f5f9f6;border:1px solid #e2ebe5;border-radius:14px}.child-profile-quickbar .btn{min-height:32px;padding:5px 10px}
.planning-suggestions{margin-bottom:16px}.planning-suggestion-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:9px}.planning-suggestion{border:1px solid #e3eae5;border-radius:13px;padding:11px;background:#fff}.planning-suggestion p{margin:5px 0 10px}.evidence-picker{border:1px solid #e2e9e4;border-radius:13px;padding:10px;background:#fafcfb}.evidence-picker h4{margin:0 0 8px}.evidence-picker .choice-grid{max-height:160px;overflow:auto}
.meeting-action-section{margin:14px 0;padding:13px;border:1px solid #e1e9e4;border-radius:14px;background:#fbfdfc}.meeting-action-list{display:grid;gap:7px;margin-bottom:10px}.meeting-action-list>div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:#fff;border:1px solid #e5ece7;border-radius:10px}.meeting-action-list span{font-size:12px;color:#708076}.inline-action-form{display:grid;grid-template-columns:2fr 1.2fr 1fr auto;gap:7px;align-items:end}.inline-action-form input,.inline-action-form select{min-width:0}
.swap-history{display:grid;gap:2px;margin-top:7px;color:#728078}.swap-history small{font-size:11px}.daily-activity-card.status-cancelled{opacity:.66}.daily-activity-card.status-started{border-color:#edd39f}.activity-facts{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.activity-facts span{font-size:11px;background:#f3f7f4;border-radius:99px;padding:4px 7px}.activity-library-top{display:flex;gap:10px}.activity-symbol{width:42px;height:42px;border-radius:12px;background:#eef7f1;display:grid;place-items:center;font-size:20px;overflow:hidden;flex:0 0 auto}.activity-symbol img{width:100%;height:100%;object-fit:cover}.activity-safety{font-size:12px;background:#fff8e9;padding:8px;border-radius:9px}.compact-whariki-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:5px}.compact-whariki-checks label{display:flex;gap:6px;align-items:center;font-size:12px}
.notification-preferences{border:1px solid #e1e9e4;border-radius:13px;padding:10px;background:#fafcfb}.notification-preferences>b{display:block}.notification-preferences>span{font-size:11px;color:#738178}.permission-summary-chip{white-space:nowrap}
.premeeting-response{border:1px solid #dfe9e3;border-radius:13px;padding:10px;margin:9px 0 12px;background:#f8fbf9;max-height:240px;overflow:auto}.premeeting-response h3{margin-top:0}.premeeting-response p{font-size:12px;border-bottom:1px solid #e7ede9;padding-bottom:7px}
.order-history{margin-top:9px;font-size:12px}.order-history summary{cursor:pointer;font-weight:800}.order-history>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid #edf1ee}.resource-order-card[data-status="received"]{border-left:4px solid #5d966c}.resource-order-card[data-status="rejected"],.resource-order-card[data-status="cancelled"]{opacity:.75}
.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.report-card{padding:14px}.report-card h3{margin:0 0 8px}.report-list{max-height:360px;overflow:auto}.report-list>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #e8eeea;font-size:12px}
.grouped-settings-tabs{align-items:center}.settings-group-label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:#79877e;padding:0 5px}.settings-full-block{width:100%}.settings-pane>.grid-2.policy-settings-grid{grid-template-columns:1fr!important}.settings-pane>.grid-2.policy-settings-grid>*{width:100%}
.seo-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.seo-check-grid span{padding:8px 10px;background:#f6faf7;border-radius:10px;font-size:12px}
@media(max-width:900px){.inline-action-form{grid-template-columns:1fr 1fr}.inline-action-form .btn{grid-column:1/-1}.planning-suggestion-list{grid-template-columns:1fr}.attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.attention-grid{grid-template-columns:1fr}.meeting-action-list>div{display:block}.inline-action-form{grid-template-columns:1fr}.child-profile-quickbar{display:grid;grid-template-columns:1fr 1fr}.activity-facts span{font-size:10px}.grouped-settings-tabs{gap:4px}.settings-group-label{width:100%;padding-top:7px}}

/* ================================================================
   v27 — unified product design system and role-focused UX pass
   ================================================================ */
:root{
  --v27-bg:#f4f7f5;--v27-surface:#ffffff;--v27-soft:#eef5f1;--v27-soft-blue:#edf7fb;
  --v27-ink:#21352c;--v27-muted:#6c7a72;--v27-line:#dfe8e3;--v27-success:#2f8056;
  --v27-warning:#a76b19;--v27-danger:#b44d4d;--v27-radius:14px;--v27-shadow:0 8px 28px rgba(35,66,49,.06)
}
body{background:var(--v27-bg)}
.portal{grid-template-columns:228px 1fr}
.sidebar{padding:18px 12px;background:linear-gradient(180deg,#1e3528,#223e2e);box-shadow:8px 0 30px rgba(22,52,34,.06)}
.portal-brand{padding:0 8px 16px;margin-bottom:3px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar nav{gap:8px;padding-top:6px}
.nav-group{border-radius:12px}.nav-group-label{width:100%;padding:6px 9px!important;font-size:9.5px!important;letter-spacing:.1em;text-transform:uppercase;color:#8fac9a!important;justify-content:space-between!important;background:transparent!important}.nav-group-label i{font-style:normal;font-size:10px}.nav-group-items{display:grid;gap:2px}.nav-group-items.collapsed{display:none}.nav-group-items button{padding:9px 10px!important}.nav-group-items button b{font-weight:720}.nav-group-items button span{width:20px;text-align:center;font-size:14px}.nav-group-items button.active{background:#3a5c47!important;box-shadow:inset 3px 0 0 #ffd08a}
.app-shell{background:var(--v27-bg)}
.app-topbar{min-height:76px;padding:12px 24px;background:rgba(247,250,248,.93);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(35,64,48,.08)}
.topbar-left{min-width:210px}.topbar-navigation .eyebrow{background:transparent;padding:0;text-transform:none;letter-spacing:0;color:var(--v27-muted);font-size:11px;max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-navigation .eyebrow:before{display:none}.app-topbar h1{font-size:22px;margin:2px 0 0;letter-spacing:-.02em}
.top-actions{align-items:center;gap:7px}.global-search{width:min(330px,28vw);height:38px;display:flex;flex-direction:row;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--v27-line);border-radius:11px;background:#fff;color:#829087}.global-search input{border:0;padding:0;box-shadow:none!important;font-size:12px;background:transparent}.global-search input:focus{border:0}.quick-add-top{height:38px;min-height:38px;padding:0 12px}.top-settings,.top-icon-badge{height:38px;min-width:38px;border-radius:10px}.top-user{border:0;background:transparent;padding:3px 5px 3px 3px;display:flex;align-items:center;gap:8px;border-radius:12px;text-align:left;color:var(--v27-ink)}button.top-user:hover{background:#eaf1ed}.top-user-copy{display:flex;flex-direction:column;line-height:1.15}.top-user-copy b{font-size:12px}.top-user-copy small{font-size:10px;color:var(--v27-muted);margin-top:3px}.user-chevron{font-size:11px;color:#849187}.avatar.has-photo{background-size:cover;background-position:center;color:transparent}
.app-view{padding:22px 24px 96px;max-width:1680px;width:100%;margin:0 auto}.panel{border-radius:var(--v27-radius);border-color:var(--v27-line);box-shadow:var(--v27-shadow);padding:20px}.panel+.panel{margin-top:14px}
.role-dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-radius:18px;margin-bottom:16px;background:linear-gradient(125deg,#eaf6ef,#f7fbf9 58%,#edf6fa);border:1px solid #dcebe2}.role-dashboard-intro .eyebrow{background:transparent;padding:0}.role-dashboard-intro .eyebrow:before{display:none}.role-dashboard-intro h2{font-size:28px;margin:4px 0 5px;letter-spacing:-.03em}.role-dashboard-intro p{margin:0;color:var(--v27-muted);max-width:700px}.dashboard-date{min-width:190px;text-align:right}.dashboard-date b,.dashboard-date span{display:block}.dashboard-date b{font-size:13px}.dashboard-date span{font-size:11px;color:var(--v27-muted);margin-top:4px}
[data-role="Parent"] .page-dashboard .stats{display:none}[data-role="Parent"] .page-dashboard .attention-panel{display:none}[data-role="Teacher"] .page-dashboard .stats .stat:nth-child(2),[data-role="Teacher"] .page-dashboard .stats .stat:nth-child(4){background:#fffdf7}
.stats{gap:10px;margin-bottom:14px}.stat{border-radius:13px;padding:14px 16px;box-shadow:0 4px 14px rgba(35,66,49,.035)}.stat b{font-size:24px}.stat span{font-size:9.5px;letter-spacing:.07em}.attention-panel{margin-bottom:14px;border-radius:16px;padding:18px;background:#fff;border:1px solid var(--v27-line)}.attention-card{min-height:92px!important;border-radius:13px!important}.attention-card b{font-size:27px!important}
.planner-panel{overflow:hidden}.planner-toolbar{margin-bottom:10px}.planner-controls .btn,.planner-controls .icon-btn{min-height:34px;height:34px}.planner-day{min-height:96px!important}.planner-event{font-size:10px!important;padding:4px 6px!important;border-radius:6px!important}.planner-legend{font-size:10px!important}
/* Shared page/action patterns */
.section-title{gap:12px}.section-title h2{letter-spacing:-.015em}.section-title>span,.section-title small{color:var(--v27-muted)}
.btn{min-height:38px;border-radius:10px;padding:9px 14px;font-size:13px}.btn.small{min-height:32px;padding:6px 9px;font-size:11.5px}.btn.tiny{min-height:27px;padding:4px 7px;font-size:10px}.btn.text-quiet{background:transparent;color:var(--primary);box-shadow:none}.icon-btn,.notif-btn{height:36px;min-width:36px;border-radius:9px}.actions,.compact-actions{gap:6px}
input,select,textarea{border-radius:9px;padding:9px 10px;border-color:#d9e3dd}textarea{line-height:1.55}.form-grid{gap:13px}label{gap:5px}.form-card{margin-bottom:14px}.sticky-form-actions,.form-action-bar{position:sticky!important;bottom:10px!important;z-index:8!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(10px);border:1px solid var(--v27-line);border-radius:12px;padding:8px!important;box-shadow:0 8px 24px rgba(37,63,49,.10);display:flex;justify-content:flex-end;gap:7px}
.table-wrap{border-radius:12px;box-shadow:none}.data-table th,.data-table td{padding:10px 11px}.data-table th{font-size:9px;background:#f7faf8}.data-table tbody tr:hover{background:#fbfdfc}.badge{padding:4px 7px;font-size:9px}.empty{padding:38px 18px}.empty.compact{padding:20px 14px}.empty-icon{display:grid;margin:0 auto 8px;width:32px;height:32px;place-items:center;border-radius:10px;background:#edf5f1;color:var(--primary);font-size:14px}.error-state{text-align:center;max-width:520px;margin:50px auto}
/* Floating menus, global search and compact row actions */
.floating-menu{position:fixed;right:18px;top:68px;z-index:80;width:220px;background:#fff;border:1px solid var(--v27-line);border-radius:13px;padding:7px;box-shadow:0 20px 65px rgba(27,52,38,.18)}.floating-menu-title{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--v27-muted);font-weight:900;padding:7px 9px}.floating-menu button{width:100%;border:0;background:transparent;border-radius:8px;padding:9px 10px;display:flex;align-items:center;gap:9px;text-align:left;color:var(--v27-ink)}.floating-menu button:hover{background:#eff6f2}.floating-menu hr{border:0;border-top:1px solid var(--v27-line);margin:5px}.danger-text{color:var(--v27-danger)!important}.user-menu{right:18px}.global-search-results{position:fixed;z-index:79;top:64px;right:258px;width:min(430px,calc(100vw - 30px));max-height:480px;overflow:auto;background:#fff;border:1px solid var(--v27-line);border-radius:14px;padding:8px;box-shadow:0 20px 65px rgba(27,52,38,.18)}.global-search-head{display:flex;justify-content:space-between;padding:8px 9px;font-size:11px;color:var(--v27-muted)}.global-search-results>button{width:100%;border:0;background:#fff;border-radius:9px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:8px;text-align:left;padding:10px}.global-search-results>button:hover{background:#f1f7f4}.global-search-results button div{display:flex;flex-direction:column;min-width:0}.global-search-results button b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-results button small{font-size:10px;color:var(--v27-muted);margin-top:2px}.search-loading{padding:22px;text-align:center;color:var(--v27-muted)}
.row-action-menu{position:relative}.row-action-menu summary{list-style:none;width:32px;height:32px;border:1px solid var(--v27-line);border-radius:9px;display:grid;place-items:center;background:#fff;font-weight:900;cursor:pointer}.row-action-menu summary::-webkit-details-marker{display:none}.row-action-menu>div{position:absolute;right:0;top:36px;z-index:25;width:175px;background:#fff;border:1px solid var(--v27-line);border-radius:10px;padding:6px;box-shadow:0 15px 35px rgba(30,54,40,.16)}.row-action-menu button{width:100%;border:0;background:transparent;text-align:left;padding:8px;border-radius:7px;font-size:11px}.row-action-menu button:hover{background:#eff6f2}.compact-record-actions{flex-wrap:nowrap;justify-content:flex-end}
/* Children */
.children-page-actions{padding:16px 18px!important;display:flex;align-items:center!important;justify-content:space-between!important;margin-bottom:10px!important}.children-page-actions h2{margin:2px 0;font-size:21px}.children-page-actions p{margin:0;font-size:11px}.directory-toolbar{padding:9px 10px!important;position:sticky;top:76px;z-index:11;box-shadow:0 6px 18px rgba(37,63,49,.06)}.children-filter-bar{gap:6px!important}.children-filter-bar select,.children-filter-bar input{height:34px;padding:6px 8px;font-size:11px}.children-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:11px!important}.child-gallery-card,.child-tile{border-radius:14px!important;box-shadow:0 4px 16px rgba(40,72,53,.045)!important}.child-gallery-photo{height:155px!important}.child-gallery-copy{padding:14px!important}.child-gallery-copy h3{font-size:16px!important}.child-mini-facts{font-size:10px!important}.child-actions{margin-top:10px!important}.child-profile-panel{padding:0!important;overflow:hidden}.child-profile-panel>.section-title{padding:20px 20px 12px;margin:0;background:linear-gradient(135deg,#eef7f2,#fff)}.profile-tabs{padding:0 14px;border-bottom:1px solid var(--v27-line);overflow-x:auto;white-space:nowrap}.profile-tabs button{padding:11px 10px!important}.profile-tab{padding:18px!important}.profile-info-card{border-radius:12px!important}.child-timeline{max-width:900px}
/* Stories */
.stories-head-row{position:sticky;top:76px;z-index:10;background:var(--v27-bg);padding:8px 0;margin:-6px 0 6px}.story-scope-tabs,.segmented{background:#e9f0ec!important;padding:3px!important;border-radius:10px!important}.story-scope-tabs button,.segmented button{border-radius:8px!important;padding:6px 9px!important;font-size:10.5px!important}.story-filterbar{padding:8px 9px!important}.story-details-table td{vertical-align:middle}.story-title-link{font-weight:800}.story-editor-shell{max-width:1500px;margin:0 auto}.story-editor-toolbar,.story-sticky-actions{border-radius:12px!important}.story-editor-main{background:#fff!important;border:1px solid var(--v27-line)!important;box-shadow:var(--v27-shadow)}.rich-editor{min-height:360px!important}.story-preview-sheet{box-shadow:0 18px 55px rgba(31,52,39,.13)!important}.audit-summary-grid{gap:10px!important}.audit-summary-grid article{padding:15px!important;border-radius:12px!important}
/* Daily diary and care */
.daily-datebar{position:sticky!important;top:76px!important;z-index:10;background:rgba(244,247,245,.94)!important;backdrop-filter:blur(10px);padding:8px!important;border-radius:12px!important}.daily-activity-card{padding:15px!important}.daily-activity-time{font-size:11px!important}.daily-card-actions{gap:5px!important}.daily-card-actions .btn{min-height:30px!important}.diary-entry{padding:14px!important}.care-type-tabs{position:sticky;top:76px;z-index:10}.care-quick-actions button{border-radius:13px!important}
/* Planning, PGC, evaluation */
.page-planning .form-card,.page-pgc .form-card,.page-evaluation .form-card{max-width:1100px}.page-planning .item-card,.page-pgc .item-card,.page-evaluation .item-card{border-left:3px solid #cfe3d6}.evidence-card,.profile-info-card{background:#f8fbf9!important}
/* Meetings */
.page-meetings .meeting-card{border-radius:14px!important}.meeting-status{font-size:9px!important}.meeting-detail,.meeting-workspace{max-width:1400px}.meeting-phase{border-top:1px solid var(--v27-line);padding-top:14px;margin-top:14px}.meeting-agenda-item{border-radius:10px!important}.recording-controls .btn{min-height:32px}
/* Tasks */
.page-tasks .task-card{padding:13px 15px!important}.page-tasks .task-card.overdue{border-left:3px solid #d77a70!important;background:#fff}.page-tasks .task-card:not(.overdue){border-left:3px solid #d9e7df}.task-source{font-size:9px;color:var(--v27-muted)}
/* Policies */
.page-policies .policy-toolbar{position:sticky;top:76px;z-index:10;background:var(--v27-bg);padding:7px 0}.policy-card{padding:14px 16px!important}.policy-editor .rich-editor{min-height:480px!important}.policy-a4-preview{box-shadow:0 15px 45px rgba(36,54,43,.12)!important}
/* Leave */
.page-leave .leave-card{padding:14px 16px!important}.page-leave .leave-review-card{border-left:3px solid #f2bd71}.leave-summary-grid{gap:9px!important}
/* Roster — dense but readable */
.page-roster .roster-toolbar{padding:8px 10px!important}.page-roster .roster-grid{font-size:10px!important}.page-roster .roster-cell{padding:4px!important;min-height:55px!important}.page-roster .shift,.page-roster .roster-shift{padding:5px!important;border-radius:7px!important}.page-roster .break-chip,.page-roster .roster-chip{font-size:8.5px!important;padding:2px 4px!important}.page-roster .btn{min-height:28px!important;padding:4px 7px!important;font-size:9.5px!important}.page-roster .staff-roster-name{font-size:10px!important}
/* Orders */
.resource-order-card{padding:15px!important}.resource-order-grid{gap:8px!important}.resource-order-grid>div{padding:8px!important}.resource-order-form{padding:16px!important}
/* Questionnaires / parent teacher */
.questionnaire-builder,.pt-booking-workspace{max-width:1200px;margin:0 auto}.builder-question{padding:10px!important;border-radius:10px!important}.slot-button{border-radius:11px!important}.questionnaire-response-form .question-block{border-radius:12px!important}.page-parentteacher .pt-event-card{padding:15px!important}
/* Notifications */
.page-notifications .item-card{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:12px 14px}.page-notifications .item-card p{margin:2px 0}.page-notifications .unread{background:#f3faf6}
/* Reports */
.page-reports .report-toolbar{position:sticky;top:76px;z-index:10;background:var(--v27-bg);padding:8px 0}.page-reports .stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
/* Settings landing and settings subpages */
.settings-home-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:18px;background:linear-gradient(130deg,#e8f4ed,#f8fbf9 60%,#eef7fb);border:1px solid #dce9e1;margin-bottom:14px}.settings-home-hero h2{margin:4px 0;font-size:27px}.settings-home-hero p{margin:0;color:var(--v27-muted);max-width:720px}.settings-search{width:280px;display:flex;flex-direction:row;align-items:center;gap:8px;background:#fff;border:1px solid var(--v27-line);border-radius:11px;padding:0 10px}.settings-search input{border:0;box-shadow:none!important;background:transparent}.settings-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-category-card{background:#fff;border:1px solid var(--v27-line);border-radius:14px;padding:14px;box-shadow:var(--v27-shadow)}.settings-category-card header{padding:3px 5px 10px}.settings-category-card h3{margin:0 0 4px;font-size:15px}.settings-category-card p{margin:0;color:var(--v27-muted);font-size:10.5px}.settings-category-card>button{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;align-items:center;text-align:left;border-radius:9px;padding:10px 8px}.settings-category-card>button:hover{background:#f1f7f4}.settings-category-card button span{display:flex;flex-direction:column}.settings-category-card button b{font-size:12px}.settings-category-card button small{font-size:9.5px;color:var(--v27-muted);margin-top:3px}.settings-tabs{position:sticky!important;top:76px!important;z-index:12!important;background:rgba(244,247,245,.95)!important;backdrop-filter:blur(10px);padding:7px!important;border-radius:12px!important;margin-bottom:10px!important;max-height:74px;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.settings-group-label{font-size:8px!important}.settings-home-link{border:0;background:#e6f0ea;color:var(--primary);border-radius:8px;padding:6px 9px;font-weight:800;font-size:10px}.settings-pane{max-width:1500px}.settings-pane-title{padding:14px 2px!important}.settings-pane-title h2{font-size:22px!important}.settings-pane>.panel{margin-bottom:12px}.settings-grid{gap:11px!important}.staff-record-card{padding:12px 14px!important}.notification-rule-row{min-height:42px!important}.notification-rule-head,.notification-rule-row{font-size:10px!important}
/* Public website improvements */
.public-header{transition:height .2s ease,box-shadow .2s ease}.public-header nav{gap:18px}.public-header nav>a{font-size:12.5px}.hero{min-height:610px}.hero-actions{align-items:center}.hero-actions .text-quiet{font-size:12px}.public-rooms{background:#fbfdfb}.room-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.room-card-grid article{padding:28px;border:1px solid var(--v27-line);border-radius:22px;background:#fff;box-shadow:var(--v27-shadow)}.room-card-grid article>span{font-size:28px}.room-card-grid h3{font-size:19px;margin:16px 0 7px}.room-card-grid p{color:var(--v27-muted);line-height:1.6;margin:0}.public-proof{background:linear-gradient(135deg,#f8f3ff,#f2faf6)}.proof-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.proof-grid blockquote{margin:0;background:#fff;border-radius:20px;padding:30px;font-size:22px;line-height:1.5;box-shadow:var(--v27-shadow)}.proof-grid blockquote small{display:block;margin-top:18px;color:var(--v27-muted);font-size:12px}.proof-points{display:grid;gap:9px;align-content:center}.proof-points span{background:#fff;border-radius:12px;padding:13px 15px;font-weight:800;color:#3e6550}.visit-section{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#244333;color:#fff;padding-top:58px;padding-bottom:58px}.visit-section .eyebrow{color:#cfe8d9;background:rgba(255,255,255,.08)}.visit-section h2{color:#fff;margin-bottom:8px}.visit-section p{color:#d3e2d8;max-width:750px}.public-resource-section .resource-card,.split-resource .resource-card{border-left:4px solid #aed8c1}
/* Accessibility and feedback */
:focus-visible{outline:3px solid rgba(77,143,112,.28)!important;outline-offset:2px!important}.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.toast{border-radius:12px!important}.loading{min-height:260px!important}.loading span{width:34px!important;height:34px!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

@media(max-width:1180px){.global-search{width:230px}.quick-add-label{display:none}.portal{grid-template-columns:210px 1fr}.app-view{padding-left:18px;padding-right:18px}.settings-home-grid{grid-template-columns:1fr}.room-card-grid{gap:10px}.global-search-results{right:210px}}
@media(max-width:900px){.portal{display:block}.global-search{display:none}.quick-add-top{width:38px;padding:0}.app-topbar{min-height:68px;top:0}.top-user-copy,.user-chevron{display:none}.top-user{padding:0}.directory-toolbar,.stories-head-row,.daily-datebar,.settings-tabs,.page-policies .policy-toolbar,.page-reports .report-toolbar{top:68px!important}.global-search-results{right:12px;top:62px}.room-card-grid{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr}.visit-section{align-items:flex-start;flex-direction:column}.settings-home-hero{align-items:stretch;flex-direction:column}.settings-search{width:100%}}
@media(max-width:600px){.app-view{padding:12px 10px 86px}.app-topbar{padding:9px 10px}.top-actions{gap:4px}.role-dashboard-intro{padding:16px;align-items:flex-start}.role-dashboard-intro h2{font-size:23px}.dashboard-date{display:none}.stats{grid-template-columns:repeat(2,1fr)}.settings-home-grid{grid-template-columns:1fr}.settings-category-card{padding:10px}.children-page-actions{align-items:flex-start!important;flex-direction:column}.children-page-actions .actions{width:100%}.children-page-actions .btn{flex:1}.directory-toolbar{position:relative;top:auto!important}.story-scope-tabs{overflow-x:auto;white-space:nowrap;max-width:100%}.stories-head-row{top:68px!important}.panel{padding:14px}.room-card-grid article{padding:20px}.public-header nav>a{display:none}.public-header nav .btn{display:inline-flex}.public-header{height:68px}.topbar-navigation .eyebrow{display:none}.app-topbar h1{font-size:19px}.floating-menu{right:8px;top:60px}.user-menu{right:8px}.global-search-results{right:8px;left:8px;width:auto}.row-action-menu>div{position:fixed;left:12px;right:12px;bottom:78px;top:auto;width:auto}.profile-tab{padding:12px!important}.profile-tabs{padding:0 6px}.settings-tabs{max-height:62px}.daily-card-actions{display:grid!important;grid-template-columns:1fr 1fr}.proof-grid blockquote{font-size:18px;padding:22px}}
/* v27 child wizard / readable profile */
.child-step-form{display:grid;gap:14px}.child-form-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:5px;background:#edf4f0;border-radius:12px}.child-form-stepper button{border:0;background:transparent;border-radius:9px;padding:9px;display:flex;align-items:center;justify-content:center;gap:7px;color:#6d7c73;font-size:11px;font-weight:800}.child-form-stepper button b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#dce8e1;color:#547061}.child-form-stepper button.active{background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(36,64,48,.06)}.child-form-stepper button.active b{background:var(--primary);color:#fff}.child-step-panel{display:none}.child-step-panel.active{display:grid}.step-help{padding:12px;border-radius:10px;background:#f5faf7;color:#66786e;font-size:11px}.child-step-form>.form-action-bar{grid-column:auto}.profile-read-view{display:grid;gap:14px}.profile-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.profile-summary-grid>div{background:#f7faf8;border:1px solid #e3ebe6;border-radius:11px;padding:11px;display:flex;flex-direction:column;gap:3px}.profile-summary-grid small,.profile-read-notes>small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#78877e;font-weight:900}.profile-summary-grid b{font-size:13px}.profile-summary-grid span{font-size:10px;color:var(--v27-muted)}.profile-read-notes{padding:13px;border:1px solid var(--v27-line);border-radius:11px}.profile-read-notes p{margin:5px 0 0;color:#58685f;line-height:1.55}
/* v27 enrolment board */
.enrolment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.enrolment-head h2{margin:4px 0;font-size:22px}.enrolment-head p{margin:0;color:var(--v27-muted)}.enrolment-board{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));gap:9px;align-items:start}.enrolment-column{background:#eaf1ed;border-radius:13px;padding:7px;min-height:250px}.enrolment-column>header{display:flex;justify-content:space-between;align-items:center;padding:5px 5px 9px;font-size:11px}.enrolment-column>header span{min-width:21px;height:21px;border-radius:999px;background:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}.enrolment-column>div{display:grid;gap:7px}.enrolment-card{background:#fff;border:1px solid #e0e9e4;border-radius:10px;padding:10px;box-shadow:0 3px 10px rgba(33,60,44,.035);display:grid;gap:8px}.enrolment-child,.enrolment-parent{display:flex;flex-direction:column}.enrolment-child b{font-size:12px}.enrolment-card small,.enrolment-meta{font-size:9.5px;color:var(--v27-muted)}.enrolment-card select{height:30px;padding:4px 7px;font-size:10px}.closed-enrolments{margin-top:12px}.closed-enrolments>summary{cursor:pointer;font-size:11px;font-weight:900;color:var(--v27-muted);padding:10px}.enrolment-detail-panel{margin-top:13px}
@media(max-width:1350px){.enrolment-board{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media(max-width:750px){.enrolment-board{grid-template-columns:1fr 1fr}.enrolment-head{align-items:flex-start;flex-direction:column;gap:10px}.child-form-stepper button span{display:none}.child-form-stepper button{padding:8px}.profile-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.enrolment-board{grid-template-columns:1fr}.profile-summary-grid{grid-template-columns:1fr}}

/* v28 Story Designer: all controls inline, photo editing, patterns and spell check */
.story-toolbar-inline{position:sticky;top:118px;z-index:14;border-bottom:1px solid var(--line)!important;border-radius:10px!important;background:rgba(247,250,248,.97)!important;backdrop-filter:blur(8px)}
.story-toolbar-all{display:flex!important;align-items:center;gap:3px;flex-wrap:wrap!important}
.story-toolbar-all .toolbar-select{max-width:104px}.story-toolbar-all .size-select{max-width:74px}.spellcheck-toggle.active{background:#e8f5ec!important;color:#28613d!important;box-shadow:inset 0 0 0 1px #b9d8c3!important}.spellcheck-toggle{font-weight:850;white-space:nowrap}
.designer-options-4{display:grid;grid-template-columns:1.15fr 1fr 105px 1fr;gap:7px}.designer-options-4 label{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:850}.designer-options-4 select,.designer-options-4 input{height:34px;margin-top:3px;padding:5px 8px;font-size:10px}.designer-options-4 input[type=color]{padding:3px;width:100%}
.story-image-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 8px;background:#fffaf0;border:1px solid #eadfbf;border-top:0;border-radius:0 0 10px 10px;box-shadow:0 5px 14px rgba(62,55,31,.06)}.story-image-tools.hidden{display:none}.image-tools-title{display:flex;flex-direction:column;min-width:82px;margin-right:2px}.image-tools-title b{font-size:10px;color:#67592d}.image-tools-title span{font-size:8px;color:var(--muted)}.story-image-tools label{display:flex!important;align-items:center!important;gap:4px!important;font-size:8px!important;font-weight:800!important;color:#67592d!important;margin:0!important}.story-image-tools select{height:27px!important;min-width:66px;max-width:94px;padding:3px 20px 3px 5px!important;font-size:9px!important}.story-image-tools .toolbar-color{height:27px!important}.photo-align-tools{border-left:1px solid #e5dcc4;border-right:1px solid #e5dcc4;padding:0 5px;margin:0}.photo-align-tools button{height:27px;min-width:27px;border:0;background:#fff;border-radius:6px;color:#574a2c}.photo-align-tools button:hover{background:#f6edda}.story-image-tools .btn{height:27px!important;padding:4px 7px!important;font-size:9px!important}
.story-inline-photo{transition:outline .12s ease,box-shadow .12s ease,width .15s ease;position:relative}.story-inline-photo:has(.selected-photo){outline:2px dashed rgba(63,111,82,.38);outline-offset:3px}.story-inline-image{transition:border-radius .15s ease,border-width .15s ease;cursor:pointer!important}.story-inline-image.selected-photo{outline:3px solid rgba(63,111,82,.32)!important;outline-offset:3px!important}
.pattern-settings-panel{margin-top:18px}.pattern-editor-grid{display:grid;grid-template-columns:1.2fr 1fr 100px 100px 100px 100px auto minmax(100px,.6fr);gap:8px;align-items:end}.pattern-editor-grid label{font-size:9px;font-weight:800}.pattern-editor-grid input,.pattern-editor-grid select{margin-top:3px;height:34px;font-size:10px}.pattern-preview{min-height:34px;border:1px solid var(--line);border-radius:9px}.span-all{grid-column:1/-1}.pattern-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.pattern-admin-card{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px}.pattern-admin-card.disabled{opacity:.55}.pattern-swatch{width:50px;height:38px;border:1px solid var(--line);border-radius:8px}.pattern-admin-card b{display:block;font-size:11px}.pattern-admin-card small{font-size:8px;color:var(--muted)}
.story-preview-sheet,.story-read-window,.learning-story-card{background-repeat:repeat}

@media(max-width:1180px){.designer-options-4{grid-template-columns:1fr 1fr}.pattern-editor-grid{grid-template-columns:1fr 1fr 100px 100px}.pattern-preview{min-height:34px}.story-toolbar-inline{top:112px}}
@media(max-width:760px){.story-toolbar-inline{position:relative;top:auto;overflow-x:auto}.story-toolbar-all{flex-wrap:nowrap!important;min-width:max-content}.story-image-tools{overflow-x:auto;flex-wrap:nowrap}.story-image-tools>*{flex:0 0 auto}.designer-options-4{grid-template-columns:1fr 1fr}.pattern-editor-grid{grid-template-columns:1fr 1fr}.pattern-admin-list{grid-template-columns:1fr}.pattern-admin-card{grid-template-columns:44px 1fr auto}.pattern-swatch{width:42px}.story-inline-photo{max-width:100%!important}}
@media(max-width:480px){.designer-options-4{grid-template-columns:1fr}.pattern-editor-grid{grid-template-columns:1fr}.pattern-admin-card{grid-template-columns:38px 1fr}.pattern-admin-card .actions{grid-column:1/-1}.pattern-swatch{width:36px}}

/* v29 task scheduling + completion */
.task-create-grid{align-items:start}
.task-create-grid .form-card{height:100%}
.task-create-grid label small,.task-template-settings label small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}
.task-completion-panel{margin:0 0 18px;border-color:color-mix(in srgb,var(--primary) 28%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 5%,#fff),#fff)}
.task-completion-panel textarea{min-height:108px}
.task-complete-summary{display:grid;gap:3px;max-width:260px}
.task-complete-summary small{color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tiny-tag{display:inline-flex;margin-top:5px;padding:2px 7px;border-radius:999px;background:#edf5f0;color:#315c48;font-size:10px;font-weight:800;letter-spacing:.02em}
.compact-template-list .item-card{padding:13px 14px}
.task-settings-list{display:grid;gap:12px}
.task-template-settings{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fff}
.task-template-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.task-template-settings-head h3{margin:0 0 3px}
.task-template-settings-head small{color:var(--muted)}
.task-template-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;align-items:end}
.task-template-settings .compact-actions{justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}
@media(max-width:1100px){.task-template-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.task-template-settings-grid{grid-template-columns:1fr}.task-template-settings{padding:12px}.task-create-grid{grid-template-columns:1fr}}

/* v30 learning activity library */
.activity-library-toolbar{margin:10px 0 14px;align-items:end}.activity-library-toolbar .grow{flex:1 1 260px}.activity-library-toolbar label{min-width:190px}.activity-library-card.hidden{display:none!important}@media(max-width:760px){.activity-library-toolbar{display:grid;grid-template-columns:1fr 1fr}.activity-library-toolbar .grow{grid-column:1/-1}.activity-library-toolbar .result-count{align-self:center}}

/* v31 task scheduling / planner */
.planner-event.task-complete,.today-item.task-complete{background:#edf5ef;color:#4f6c59;text-decoration:none}
.planner-event.task-complete{opacity:.82}
.planner-event.task-complete b,.today-item.task-complete b{color:#3f614b}
.task-completion-panel textarea{min-height:96px}
.task-create-grid select[name="skip_count"],.task-template-settings select[name="skip_count"]{min-width:170px}

/* V32 merged V28 operational/evidence/task workflows */
.operational-quick-form{padding:20px}.operational-quick-grid{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:9px}.operational-type{min-height:88px;border:1px solid var(--line);background:#fff;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:var(--text)}.operational-type span{font-size:24px}.operational-type b{font-size:12px}.operational-type.active{outline:2px solid var(--primary);background:#f1f8f4}.quick-note-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.quick-note{border:1px solid var(--line);background:#f7faf8;border-radius:999px;padding:7px 10px;font:inherit;font-size:11px;cursor:pointer}.quick-note:hover{border-color:var(--primary)}.operational-report-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0 16px}.operational-report-controls label{min-width:170px}.compact-stats{margin-bottom:14px}.compact-stats-inline{padding:10px 12px;border-radius:10px;background:#f6f9f7;font-size:11px}.record-title-link{border:0;background:transparent;padding:0;color:var(--primary);font:inherit;font-weight:900;text-align:left;cursor:pointer}.record-title-link:hover{text-decoration:underline}.record-reader{margin-bottom:18px}.record-read-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.record-read-grid section{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfb}.record-read-grid h3{margin:0 0 6px;font-size:13px}.record-read-grid p{white-space:pre-wrap;margin:0}.evidence-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.evidence-check{display:flex;align-items:flex-start;gap:7px;padding:8px;border:1px solid var(--line);border-radius:9px}.notification-channel-fieldset{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:8px 11px}.notification-channel-fieldset legend{padding:0 5px;font-size:10px;font-weight:850;color:var(--muted)}.task-title-cell{display:flex;gap:9px;align-items:flex-start}.task-color-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:0 0 12px;margin-top:3px;margin-right:5px}.channel-tags{display:inline-flex;gap:4px;flex-wrap:wrap}.channel-tags i{font-style:normal;font-size:9px;font-weight:850;background:#eef3ef;border-radius:999px;padding:3px 6px}.task-colour-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.task-colour-settings label{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:8px}.planner-event.task,.today-item.task{border-left:4px solid var(--task-event-color,#8ac9ed)}.planner-event.task-complete,.today-item.task-complete{border-left:4px solid var(--task-event-color,#8ac9ed)}
@media(max-width:900px){.operational-quick-grid{grid-template-columns:repeat(4,minmax(82px,1fr))}.record-read-grid{grid-template-columns:1fr}.task-colour-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.operational-quick-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}.evidence-check-grid,.task-colour-settings{grid-template-columns:1fr}}

/* V32.1+ maintenance: backup, restore and data-safe upgrades */
.maintenance-settings{display:grid;gap:18px}.version-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:var(--primary,#3f6f52);color:#fff;font-weight:800;font-size:.8rem;white-space:nowrap}.version-pill.soft{background:rgba(63,111,82,.1);color:var(--primary,#3f6f52)}
.maintenance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.maintenance-stats>div{background:#fff;border:1px solid var(--line,#e2e8e3);border-radius:14px;padding:14px;display:grid;gap:3px}.maintenance-stats b{font-size:1.15rem}.maintenance-stats span{font-size:.78rem;color:var(--muted,#67746c)}
.maintenance-card{display:grid;gap:14px}.maintenance-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.maintenance-action{position:relative;border:1px solid var(--line,#dfe7e1);border-radius:14px;padding:15px;text-align:left;background:#fff;display:grid;gap:5px;cursor:pointer;min-height:92px;font:inherit;color:inherit}.maintenance-action:hover{border-color:var(--primary,#3f6f52);box-shadow:0 6px 18px rgba(39,70,53,.08)}.maintenance-action b{font-size:.95rem}.maintenance-action span{font-size:.8rem;color:var(--muted,#67746c);line-height:1.4}.primary-maintenance{background:rgba(63,111,82,.055);border-color:rgba(63,111,82,.28)}.file-action input,.file-btn input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.file-btn{position:relative;overflow:hidden}
.upgrade-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.upgrade-flow>div{padding:13px;border-radius:12px;background:rgba(63,111,82,.045);display:grid;gap:4px}.upgrade-flow b{font-size:.86rem}.upgrade-flow span{font-size:.78rem;color:var(--muted,#67746c);line-height:1.4}.maintenance-note{margin:0;padding:12px 14px;border-radius:12px;background:#f7faf8;font-size:.82rem;line-height:1.5}.snapshot-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.snapshot-row>div{display:grid;gap:3px}.snapshot-row span{font-size:.8rem;color:var(--muted,#67746c)}
@media (max-width:900px){.maintenance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-action-grid,.upgrade-flow{grid-template-columns:1fr}}@media (max-width:560px){.maintenance-stats{grid-template-columns:1fr 1fr}.snapshot-row{align-items:stretch;flex-direction:column}.snapshot-row .btn{width:100%}}

/* V32.2 staff clock-in / visitor kiosk */
.kiosk-app{position:fixed;inset:0;z-index:800;background:linear-gradient(180deg,#f4faf6 0%,#eef6f1 100%);display:grid;grid-template-rows:auto 1fr auto;color:#203129;font-family:var(--back-font,var(--font,Arial,sans-serif));overflow:auto}.kiosk-app.hidden{display:none}.kiosk-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:18px 28px;background:#fff;border-bottom:1px solid #dce7df;box-shadow:0 2px 14px rgba(42,72,55,.05);position:sticky;top:0;z-index:2}.kiosk-brand{display:flex;align-items:center;gap:12px}.kiosk-brand img{width:74px;max-height:56px;object-fit:contain}.kiosk-brand div{display:grid}.kiosk-brand b{font-size:1.2rem}.kiosk-brand span{font-size:.78rem;color:#6b776f}.kiosk-live-clock{text-align:center;display:grid}.kiosk-live-clock b{font-size:2rem;line-height:1}.kiosk-live-clock span{font-size:.82rem;color:#6b776f;margin-top:5px}.kiosk-session{justify-self:end;text-align:right;display:grid;gap:6px}.kiosk-session span{font-size:.75rem;color:#6b776f}.kiosk-session button,.kiosk-back{border:1px solid #ccd9d0;background:#fff;border-radius:10px;padding:8px 12px;font:inherit;font-weight:800;color:#315b47;cursor:pointer}.kiosk-main{width:min(1180px,100%);margin:0 auto;padding:34px 28px 42px;display:grid;align-content:start}.kiosk-footer{text-align:center;padding:12px 20px;color:#76847b;font-size:.75rem}.kiosk-content-head{display:grid;grid-template-columns:140px 1fr 140px;align-items:start;text-align:center;margin-bottom:30px}.kiosk-content-head h1{margin:0;font-size:2.2rem}.kiosk-content-head p{margin:7px 0 0;color:#66746c;font-size:1rem}.kiosk-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:980px;width:100%;margin:12px auto}.kiosk-choice{min-height:330px;border:0;border-radius:28px;background:#fff;box-shadow:0 14px 38px rgba(47,79,61,.1);padding:34px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;color:#203129;font:inherit;transition:transform .15s ease,box-shadow .15s ease}.kiosk-choice:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(47,79,61,.14)}.kiosk-choice-icon{font-size:4.3rem}.kiosk-choice b{font-size:2rem}.kiosk-choice small{font-size:1rem;color:#65736a;max-width:330px}.kiosk-choice em{font-style:normal;margin-top:10px;padding:8px 12px;border-radius:999px;background:#eef7f1;color:#3f6f52;font-size:.85rem;font-weight:800}.visitor-choice em{background:#fff5e9;color:#9a6421}.kiosk-rounding-note{text-align:center;margin-top:20px;color:#6b776f}.kiosk-pin-form{max-width:430px;width:100%;margin:0 auto;display:grid;gap:20px}.kiosk-pin-form>input{height:78px;border:2px solid #cbd9cf;border-radius:18px;background:#fff;text-align:center;font-size:2.2rem;letter-spacing:.35em}.kiosk-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kiosk-keypad button{height:78px;border:1px solid #cfddd3;background:#fff;border-radius:18px;font:inherit;font-size:1.5rem;font-weight:900;color:#294d3b;cursor:pointer}.kiosk-keypad button:active{transform:scale(.98);background:#edf6f0}.kiosk-primary{min-height:64px;border:0;border-radius:16px;background:#3f6f52;color:#fff;font:inherit;font-size:1.15rem;font-weight:900;padding:14px 24px;cursor:pointer}.kiosk-error{min-height:22px;text-align:center;color:#b43c3c;font-weight:800}.kiosk-staff-actions{max-width:720px;margin:0 auto;display:grid;gap:15px}.kiosk-action{min-height:88px;border:0;border-radius:20px;padding:18px 24px;font:inherit;font-size:1.4rem;font-weight:900;cursor:pointer;box-shadow:0 7px 20px rgba(48,78,61,.08)}.kiosk-action small{display:block;font-size:.8rem;margin-top:4px;opacity:.75}.kiosk-action.clock-in{background:#3f6f52;color:#fff}.kiosk-action.clock-out{background:#fff0ef;color:#963c37;border:1px solid #efc8c5}.kiosk-action.break-start{background:#fff7e9;color:#8a5f22;border:1px solid #ecd6ad}.kiosk-action.break-return{background:#e9f6ff;color:#315f78;border:1px solid #bddceb}.kiosk-state-card{background:#fff;border:1px solid #dce8df;border-radius:18px;padding:18px;text-align:center;display:grid;gap:4px}.kiosk-state-card span{color:#637168}.kiosk-state-card b{font-size:1.55rem}.kiosk-state-card small{color:#6f7b74}.kiosk-state-card.on-break{background:#fff9ee;border-color:#ead4a8}.kiosk-success{max-width:560px;margin:20px auto;text-align:center;background:#fff;border-radius:26px;padding:38px;box-shadow:0 15px 40px rgba(49,80,62,.1);display:grid;gap:10px}.kiosk-success>span{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:#e6f5eb;color:#3f6f52;font-size:2.4rem;font-weight:900}.kiosk-success>b{font-size:2.3rem}.kiosk-success p{margin:0;color:#66746c}.kiosk-success small{color:#6f7b74}.kiosk-success .kiosk-primary{margin-top:14px}.kiosk-visitor-list{max-width:820px;width:100%;margin:0 auto 22px;display:grid;gap:10px}.kiosk-visitor-list h2{font-size:1.1rem;color:#5f6d64}.kiosk-visitor-row{width:100%;border:1px solid #d8e4db;background:#fff;border-radius:16px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;cursor:pointer;font:inherit;color:#203129}.kiosk-visitor-row span{display:grid;gap:4px}.kiosk-visitor-row b{font-size:1.05rem}.kiosk-visitor-row small{color:#6a776f}.kiosk-visitor-row em{font-style:normal;color:#3f6f52;font-weight:900}.kiosk-new-visitor{max-width:820px;width:100%;margin:0 auto}.kiosk-empty{max-width:820px;margin:0 auto 22px;background:#fff;border:1px dashed #cad9cf;border-radius:18px;padding:34px;text-align:center;color:#6c7970}.kiosk-visitor-form{max-width:700px;margin:0 auto;background:#fff;border-radius:24px;padding:26px;box-shadow:0 12px 34px rgba(49,80,62,.08);display:grid;grid-template-columns:1fr 1fr;gap:16px}.kiosk-visitor-form label{display:grid;gap:6px;font-weight:850}.kiosk-visitor-form label small{font-weight:500;color:#718078}.kiosk-visitor-form input,.kiosk-visitor-form select{height:54px;border:1px solid #cbd8cf;border-radius:12px;padding:0 13px;font:inherit;font-size:1rem}.kiosk-visitor-form .kiosk-primary,.kiosk-visitor-form .kiosk-error{grid-column:1/-1}.clock-notify-users{margin:10px 0 18px}.settings-subtitle{margin-top:18px}.settings-full-block{display:grid;gap:7px;margin:18px 0}.settings-full-block textarea{width:100%}
@media(max-width:800px){.kiosk-header{grid-template-columns:1fr auto}.kiosk-live-clock{grid-column:1/-1;grid-row:2}.kiosk-session{grid-column:2;grid-row:1}.kiosk-choice-grid{grid-template-columns:1fr}.kiosk-choice{min-height:230px}.kiosk-content-head{grid-template-columns:90px 1fr 90px}.kiosk-content-head h1{font-size:1.8rem}.kiosk-visitor-form{grid-template-columns:1fr}.kiosk-visitor-form .kiosk-primary,.kiosk-visitor-form .kiosk-error{grid-column:1}.kiosk-main{padding:24px 16px}}
@media(max-width:520px){.kiosk-header{padding:12px 14px}.kiosk-brand img{width:54px}.kiosk-brand div span,.kiosk-session span{display:none}.kiosk-main{padding:18px 12px}.kiosk-content-head{grid-template-columns:70px 1fr 70px;margin-bottom:20px}.kiosk-content-head h1{font-size:1.45rem}.kiosk-content-head p{font-size:.85rem}.kiosk-back{padding:7px 8px}.kiosk-keypad button{height:64px}.kiosk-action{min-height:74px;font-size:1.15rem}.kiosk-choice b{font-size:1.55rem}.kiosk-choice-icon{font-size:3.2rem}}

/* V33 multi-branch */
.branch-switcher{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid var(--line,#dce6df);border-radius:12px;background:#fff;min-width:180px;max-width:260px}.branch-switcher>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6a776f;font-weight:800}.branch-switcher select{border:0;background:transparent;min-width:120px;max-width:190px;font:inherit;font-weight:800;color:var(--primary,#3f6f52);outline:none}.branch-switcher b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.branch-scope-callout{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;background:#eef7f1;border:1px solid #d5e8da;margin-bottom:14px}.branch-scope-callout span{color:#65736b;font-size:12px}.branch-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.branch-card{display:grid;gap:12px}.branch-card.active{outline:2px solid color-mix(in srgb,var(--primary,#3f6f52) 55%,transparent)}.branch-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.branch-card h3{margin:2px 0}.branch-card p{margin:0;color:#607068}.branch-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.branch-detail-grid span{display:flex;flex-direction:column;background:#f7faf8;border-radius:9px;padding:8px}.branch-detail-grid small{color:#7b8981;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.branch-detail-grid b{font-size:12px;margin-top:2px}.branch-record-form .compact-actions{margin-top:14px;justify-content:flex-end}.kiosk-brand i{font-style:normal;font-weight:800;color:#3f6f52}
@media(max-width:1100px){.branch-switcher{min-width:140px;max-width:190px}.branch-switcher>span{display:none}.branch-switcher select{min-width:120px;max-width:160px}}
@media(max-width:760px){.branch-switcher{order:-1;width:100%;max-width:none}.branch-switcher select{max-width:none;flex:1}.branch-scope-callout{align-items:flex-start;flex-direction:column}.branch-card-grid{grid-template-columns:1fr}}


/* V33.2 groups, notifications, activity log and workflow fixes */
.planning-suggestion-copy{display:grid;gap:6px}.planning-suggestion-child{display:block;margin-bottom:2px}.planning-suggestion-title{display:block;color:var(--muted);font-weight:750;padding-top:3px}
.notification-page{max-width:980px}.notification-list{display:grid;gap:12px}.notification-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.notification-record.is-unread{border-left:4px solid var(--primary)}.notification-record-main{padding:16px 18px;min-width:0}.notification-record-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.notification-record h3{margin:0 0 5px;font-size:16px}.notification-record small{color:var(--muted)}.notification-record p{margin:10px 0 0;line-height:1.55;overflow-wrap:anywhere}.notification-record-actions{min-width:130px;padding:14px;border-left:1px solid var(--line);background:#fafcfb;display:flex;align-items:center;justify-content:center}.notification-record-actions .btn{position:static!important;white-space:nowrap}.notification-unread-dot{width:9px;height:9px;border-radius:50%;background:var(--primary);flex:0 0 auto;margin-top:6px}.notification-read-label{font-size:12px}
.group-create-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(420px,1.6fr);gap:20px;align-items:end;margin-bottom:16px}.group-create-panel h3{margin:3px 0}.group-create-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.group-name-edit{max-width:420px;margin-bottom:12px}.module-access-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-access-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 10px}.module-access-row>span{display:grid}.module-access-row b{font-size:12px}.module-access-row small{font-size:9px;color:var(--muted)}.module-access-row select{height:36px;margin:0}.permission-role-panel .sticky-form-actions{justify-content:space-between}
.activity-log-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:12px}.activity-log-head h2{margin:3px 0}.activity-log-filters{display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:end;margin-bottom:10px}.activity-log-filters label{font-size:11px;font-weight:800}.activity-log-filters input,.activity-log-filters select{height:36px;margin-top:4px}.activity-log-count{text-align:right;color:var(--muted);font-size:12px;margin:0 2px 8px}.page-activitylog .data-table{min-width:900px}.page-activitylog .badge{white-space:nowrap}
@media(max-width:900px){.notification-record{grid-template-columns:1fr}.notification-record-actions{border-left:0;border-top:1px solid var(--line);justify-content:flex-end}.group-create-panel{grid-template-columns:1fr}.group-create-form{grid-template-columns:1fr 1fr}.group-create-form .btn{grid-column:1/-1}.module-access-matrix{grid-template-columns:1fr}.activity-log-filters{grid-template-columns:1fr 1fr 1fr}.activity-log-filters label:first-child{grid-column:1/-1}}
@media(max-width:560px){.notification-record-actions{padding:10px 14px}.notification-record-actions .btn{width:100%}.group-create-form,.activity-log-filters{grid-template-columns:1fr}.activity-log-filters label:first-child{grid-column:auto}.module-access-row{grid-template-columns:1fr}.module-access-row select{width:100%}.permission-role-head{align-items:flex-start;flex-direction:column}.permission-bulk{flex-wrap:wrap}}

/* V34 UX & Operations — reusable operational design system */
:root{--surface-soft:#f7faf8;--surface-warm:#fffaf2;--success-soft:#edf7f0;--warning-soft:#fff7e8;--danger-soft:#fff0ef;--info-soft:#eef6fb;--radius-card:16px;--shadow-soft:0 8px 24px rgba(40,65,51,.07)}
.page-attendance .workspace-head,.page-timesheets .workspace-head,.page-staffcompliance .workspace-head,.page-reports .workspace-head{margin-bottom:16px}
.operational-stats .stat.clickable{border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.operational-stats .stat.clickable:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}
.live-centre-panel{margin:16px 0}.live-centre-summary{display:flex;gap:8px;flex-wrap:wrap}.live-centre-summary span{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:8px 11px;display:flex;gap:5px;align-items:baseline;font-size:12px}.live-ratio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.ratio-card{border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}.ratio-card>div{display:grid}.ratio-card span,.ratio-card small{color:var(--muted)}.ratio-card strong{font-size:22px}.ratio-card small{grid-column:1/-1}.ratio-card.ok{background:var(--success-soft)}.ratio-card.warn{background:var(--warning-soft);border-color:#e7c98e}.organisation-overview{margin-bottom:16px}.branch-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.branch-overview-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;display:grid;gap:5px;cursor:pointer;font:inherit;color:inherit}.branch-overview-card:hover,.branch-overview-card.active{border-color:var(--primary);background:var(--success-soft)}.branch-overview-card span,.branch-overview-card small{color:var(--muted)}
.attendance-summary{margin-bottom:16px}.attendance-board{overflow:hidden}.attendance-list{display:grid;gap:9px}.attendance-child-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}.attendance-child-row.present{background:var(--success-soft);border-color:#c9dfd0}.attendance-child-main{display:flex;gap:12px;align-items:center;min-width:0}.attendance-avatar{width:46px;height:46px;border-radius:50%;background:#e5efe8;color:var(--primary);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.attendance-child-main h3{margin:0 0 2px;font-size:15px}.attendance-child-main p{margin:0 0 5px;color:var(--muted);font-size:12px}.attendance-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.attendance-actions .btn{min-height:42px}
.exception-chip{display:inline-flex;border-radius:999px;background:var(--warning-soft);border:1px solid #ead5a8;padding:4px 7px;font-size:10px;margin:1px}.warn-text{color:#a06419}.success-text{color:#376f4b}.compliance-item{display:grid;gap:1px;padding:5px 0;border-bottom:1px solid #edf1ee}.compliance-item:last-child{border-bottom:0}.compliance-item b{font-size:11px}.compliance-item span{font-size:10px;color:var(--muted)}.compliance-item.expired b,.compliance-item.overdue b{color:#a63d39}.compliance-item.warning b,.compliance-item.due b{color:#98641d}
.child-safety-alerts{display:grid;gap:8px;margin-bottom:12px}.safety-alert{display:grid;gap:2px;border:1px solid #cadfd1;border-radius:12px;background:var(--success-soft);padding:10px 12px}.safety-alert b{font-size:11px;text-transform:uppercase;letter-spacing:.05em}.safety-alert span{font-size:13px}.safety-alert.warning{background:var(--warning-soft);border-color:#ead3a3}.safety-alert.critical{background:var(--danger-soft);border-color:#ecc6c3;color:#863933}
.branch-ratio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.compliance-editor{border-top:1px solid var(--line);padding-top:14px;margin-top:12px}.followup-chip{display:inline-flex;border-radius:999px;padding:4px 7px;background:var(--info-soft);border:1px solid #d1e4ee;color:#3c6577;font-weight:750}.enrolment-followup-editor{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.enrolment-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:12px 0}.enrolment-detail-grid>div{background:var(--surface-soft);border-radius:10px;padding:9px;display:grid}.enrolment-detail-grid small{color:var(--muted)}
.ops-checklist-summary{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);background:var(--surface-soft);border-radius:12px}.attention-chip{display:inline-flex;border-radius:999px;padding:5px 8px;background:var(--warning-soft);border:1px solid #e9d2a1;color:#8d5d1e;font-weight:800;font-size:11px}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-bottom:14px}.checklist-card{display:grid;gap:10px}.checklist-card.complete{background:var(--success-soft)}.checklist-items{display:grid;gap:7px}.checklist-items label{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px}.checklist-items input{margin-top:2px}.checklist-review{list-style:none;padding:0;margin:0;display:grid;gap:4px}.checklist-review li{padding:5px 7px;border-radius:8px}.checklist-review .done{background:#f3f8f4}.checklist-review .missed{background:var(--warning-soft)}.checklist-complete-note{font-size:12px;color:#3f6f52;font-weight:750}.ops-secondary-record{margin-bottom:14px}.ops-secondary-record summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.ops-secondary-record summary span{color:var(--muted);font-size:12px;font-weight:500}
.kiosk-ratio-warning{display:grid;gap:4px;background:var(--warning-soft);border:1px solid #e6c987;border-radius:16px;padding:14px 16px;color:#7d571c}.kiosk-ratio-warning b{font-size:1rem}.kiosk-ratio-warning span{font-size:.88rem;line-height:1.45}
.notification-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.notification-toolbar label{display:grid;gap:4px;font-size:10px;font-weight:850}.notification-toolbar select{min-width:150px}.notification-page .segmented{align-self:end}
.report-catalogue{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:14px}.report-catalogue button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px;text-align:left;display:grid;gap:3px;cursor:pointer;font:inherit;color:inherit}.report-catalogue button:hover{background:var(--surface-soft);border-color:#bdcfc3}.report-catalogue b{font-size:12px}.report-catalogue span{font-size:10px;color:var(--muted)}.report-kpis{margin-bottom:14px}.scheduled-report-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding:9px 0}.scheduled-report-row>div{display:grid}.scheduled-report-row span{font-size:11px;color:var(--muted)}.scheduled-report-form{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr auto;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.permission-preview{display:grid;gap:8px}.permission-preview-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.favourite-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.favourite-module-grid label{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:8px}.preferences-modal{max-width:680px}.draft-recovery-bar{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--warning-soft);border:1px solid #e7ce98;border-radius:10px;padding:9px 11px;margin-bottom:4px}.draft-recovery-bar>div{display:flex;gap:8px}.autosave-indicator{grid-column:1/-1;text-align:right;color:var(--muted);font-size:10px}
.task-source-chip,.task-dependency-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;margin:2px;background:var(--info-soft);border:1px solid #d0e3ec;font-size:9px;font-weight:750}.task-dependency-chip{background:var(--surface-warm);border-color:#ead9b8}.accident-status{min-width:150px}
/* less crowded action areas */
.compact-actions{gap:6px}.record-reader .record-read-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.planning-suggestion{gap:14px}.planning-suggestion-copy{min-width:0}.planning-suggestion-title{margin-top:2px}
/* consistent focus and interactive states */
.btn,.icon-btn,.text-btn,.record-title-link,.planner-event,.report-catalogue button,.branch-overview-card{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.btn:focus-visible,.icon-btn:focus-visible,.text-btn:focus-visible,.record-title-link:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary,#3f6f52) 30%,transparent);outline-offset:2px}
@media(max-width:1100px){.report-catalogue{grid-template-columns:repeat(3,1fr)}.scheduled-report-form{grid-template-columns:1fr 1fr}.scheduled-report-form .btn{grid-column:1/-1}.branch-ratio-grid{grid-template-columns:1fr 1fr}.attendance-child-row{align-items:start}}
@media(max-width:760px){.attendance-child-row{grid-template-columns:1fr}.attendance-actions{justify-content:stretch}.attendance-actions .btn{flex:1;min-width:120px}.live-centre-summary{width:100%}.report-catalogue{grid-template-columns:1fr 1fr}.checklist-grid{grid-template-columns:1fr}.scheduled-report-form{grid-template-columns:1fr}.scheduled-report-form .btn{grid-column:auto}.branch-ratio-grid{grid-template-columns:1fr}.favourite-module-grid{grid-template-columns:1fr}.draft-recovery-bar{align-items:flex-start;flex-direction:column}.ops-secondary-record summary{flex-direction:column}.record-reader .record-read-grid{grid-template-columns:1fr}}
@media(max-width:520px){.report-catalogue{grid-template-columns:1fr}.attendance-child-main{align-items:flex-start}.attendance-avatar{width:40px;height:40px}.attendance-actions{display:grid;grid-template-columns:1fr}.live-ratio-grid{grid-template-columns:1fr}.branch-overview-grid{grid-template-columns:1fr}.notification-toolbar{display:grid;grid-template-columns:1fr;width:100%}.notification-toolbar label,.notification-toolbar select{width:100%}}
.daily-today-board{margin-bottom:14px}.today-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.today-board-column{border:1px solid var(--line);border-radius:13px;padding:10px;background:var(--surface-soft);display:grid;align-content:start;gap:7px}.today-board-column header{display:flex;justify-content:space-between;align-items:center}.today-board-column header span{font-size:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:2px 6px}.today-board-item{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;text-align:left;display:grid;gap:2px;font:inherit;color:inherit;cursor:pointer}.today-board-item b{font-size:11px}.today-board-item span{font-size:9px;color:var(--muted)}.today-board-item:hover{border-color:var(--primary)}@media(max-width:760px){.today-board-grid{grid-template-columns:1fr}}


/* V34.1 — Completed task records + Report Centre */
.completed-task-heading{margin-top:24px}
.completed-task-heading h3{margin-bottom:4px}
.report-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0 20px}
.report-type-tile{appearance:none;border:1px solid var(--line,#dfe6e1);background:var(--surface,#fff);border-radius:16px;padding:16px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:112px;cursor:pointer;box-shadow:0 6px 20px rgba(31,59,43,.05);transition:.18s ease;color:inherit}
.report-type-tile:hover,.report-type-tile:focus-visible{transform:translateY(-1px);border-color:var(--brand,#3f6f52);box-shadow:0 9px 24px rgba(31,59,43,.09);outline:none}
.report-type-tile.active{border-color:var(--brand,#3f6f52);background:var(--surface-soft,#f4f8f5)}
.report-type-tile i{font-style:normal;font-size:26px;line-height:1}
.report-type-tile span{display:grid;gap:4px;min-width:0}
.report-type-tile b{font-size:15px}
.report-type-tile small{font-size:12px;line-height:1.35;color:var(--muted,#66756c)}
.report-type-tile em{font-style:normal;font-size:12px;font-weight:800;color:var(--brand,#3f6f52);white-space:nowrap}
.report-single-workspace,.report-workspace{margin-top:14px}
.report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin:14px 0}
.report-filter-grid label{display:grid;gap:6px;font-weight:700;font-size:12px;color:var(--muted,#66756c)}
.report-filter-grid input,.report-filter-grid select{width:100%}
.report-filter-grid .span-2{grid-column:span 2}
.report-task-summary{margin:10px 0 16px;padding:10px 12px;border-radius:12px;background:var(--surface-soft,#f4f8f5)}
.task-report-printable{display:grid;gap:12px}
.task-report-record{border:1px solid var(--line,#dfe6e1);border-radius:14px;padding:16px;background:#fff;break-inside:avoid;page-break-inside:avoid}
.task-report-record h4{margin:0 0 8px;font-size:17px}
.task-report-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin:10px 0}
.task-report-meta div{font-size:12px;line-height:1.45}
.task-report-meta b{display:block;color:var(--muted,#66756c);font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.task-report-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--surface-soft,#f4f8f5);font-size:13px;line-height:1.5;white-space:pre-wrap}
.report-print-guide{padding:10px 12px;border-radius:10px;background:#fff8db;border:1px solid #ead78e;font-size:12px;margin-bottom:12px}
@media(max-width:1100px){.report-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.report-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-grid .span-2{grid-column:1/-1}}
@media(max-width:520px){.report-tile-grid,.report-filter-grid,.task-report-meta{grid-template-columns:1fr}.report-type-tile{grid-template-columns:auto 1fr;min-height:96px}.report-type-tile em{grid-column:2}.report-filter-grid .span-2{grid-column:auto}.task-report-record{padding:13px}}

/* V34.2 - full browser enrolment agreement */
.public-enrolment-portal{min-height:100vh;background:linear-gradient(180deg,#f4f8fb,#fff);padding:24px;color:var(--text,#20342c)}
.ef-access-wrap{min-height:calc(100vh - 48px);display:grid;place-items:center}
.ef-access-card{width:min(520px,100%);background:#fff;border:1px solid #d8e2e8;border-radius:22px;box-shadow:0 18px 55px rgba(28,57,78,.12);padding:32px}
.ef-access-card>img{display:block;width:min(250px,70%);max-height:92px;object-fit:contain;margin:0 auto 20px}.ef-access-card h1{margin:5px 0 10px}.ef-access-card p{line-height:1.55}.ef-access-card form{display:grid;gap:14px;margin:22px 0}.ef-access-card label{display:grid;gap:7px;font-weight:700}.ef-access-card input{min-height:48px;border:1px solid #bdcbd3;border-radius:10px;padding:10px 12px;font:inherit}
.ef-shell{width:min(1180px,100%);margin:0 auto}.ef-parent-shell{background:#fff;border:1px solid #dfe7eb;border-radius:20px;box-shadow:0 12px 40px rgba(34,64,78,.08);overflow:hidden}.ef-staff-shell{margin-top:18px;border:1px solid #dbe4e8;border-radius:18px;background:#fff;overflow:hidden}
.ef-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 24px;border-bottom:1px solid #e3eaee;background:#fff}.ef-brand{display:flex;gap:18px;align-items:center}.ef-brand img{width:150px;max-height:70px;object-fit:contain}.ef-brand h1{margin:2px 0;font-size:clamp(1.35rem,2.5vw,2rem)}.ef-brand p{margin:0;color:#64757d}.ef-header-actions{display:grid;gap:9px;justify-items:end}.ef-header-actions small{color:#66757c}
.ef-progress{position:relative;padding:20px 24px 16px;background:#f8fafb;border-bottom:1px solid #e4ebee}.ef-progress-bar{position:absolute;top:0;left:0;height:4px;width:var(--progress);background:#4f85bd;transition:width .25s}.ef-step-dots{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.ef-step-dots button{border:0;background:transparent;min-width:0;padding:0;color:#718087;display:grid;justify-items:center;gap:5px;font:inherit}.ef-step-dots button span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #bdcbd3;background:#fff;font-weight:800}.ef-step-dots button b{font-size:.7rem;line-height:1.2;text-align:center}.ef-step-dots button.active span,.ef-step-dots button.done span{background:#4f85bd;border-color:#4f85bd;color:#fff}.ef-step-dots button.active b{color:#244d72}.ef-state{display:flex;justify-content:space-between;gap:12px;padding:9px 24px;background:#eef5fb;border-bottom:1px solid #dae7f1;text-transform:capitalize;font-size:.86rem}.ef-state span{color:#61747e}.ef-state b{color:#315e87}
.ef-main-form{padding:0}.ef-step-head{padding:24px 28px 12px}.ef-step-head span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#718087;font-weight:800}.ef-step-head h2{margin:5px 0 5px}.ef-step-head p{margin:0;color:#667780}.ef-step-body{padding:8px 28px 30px}.ef-step-body>.form-grid{gap:16px}.ef-fieldset{border:1px solid #d7e1e6;border-radius:14px;padding:16px;margin:0;min-width:0;background:#fff}.ef-fieldset legend{font-weight:800;padding:0 8px;color:#315e87}.ef-fieldset p{line-height:1.55}.ef-office{background:#f7f9fb}.ef-inline-checks{display:flex;gap:14px 22px;flex-wrap:wrap;margin:4px 0 14px}.ef-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;font-weight:600!important}.ef-check input{width:18px;height:18px}.ef-schedule{border:1px solid #d7e1e6;border-radius:14px;overflow:auto}.ef-schedule-head,.ef-schedule-row{display:grid;grid-template-columns:minmax(90px,1.2fr) repeat(5,minmax(95px,1fr));min-width:710px}.ef-schedule-head>*{background:#4f85bd;color:#fff;padding:10px 8px;font-size:.78rem}.ef-schedule-row>*{border-top:1px solid #dde5e9;border-right:1px solid #e6ecef;padding:8px;min-width:0}.ef-schedule-row>b{display:flex;align-items:center;background:#f7f9fa}.ef-schedule-row input{border:0;border-radius:0;width:100%;background:transparent}.ef-terms,.ef-long-terms{line-height:1.55;color:#43565f}.ef-terms li{margin-bottom:7px}.ef-review{display:grid;gap:16px}.ef-review-card{border:1px solid #d7e1e6;border-radius:14px;padding:18px;background:#f9fbfc}.ef-review-card h3{margin-top:0}.ef-review-card li{margin:8px 0}.ef-form-actions{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 24px;border-top:1px solid #dde5e9;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:3}.ef-form-actions>div{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.ef-browser-note{padding:0 28px 22px;margin:0;color:#718087;font-size:.82rem}.ef-submitted-banner{margin:18px 24px 0;padding:14px 16px;border-radius:12px;background:#eaf6ee;border:1px solid #b8dcc4;display:grid;gap:4px;color:#285f3d}.ef-locked input,.ef-locked textarea,.ef-locked select{background:#f5f7f8!important;color:#43545c!important}.en-form-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eaf2f8;color:#315e87;font-size:.72rem;font-weight:800;text-transform:capitalize}.en-form-chip.form_submitted{background:#fff0c8;color:#805d00}.en-form-chip.signed_returned,.en-form-chip.enrolled{background:#e6f5e9;color:#276039}.en-form-chip.form_in_progress{background:#f0eafe;color:#62429b}.en-form-chip.muted{background:#f0f2f3;color:#6c777d}.enrolment-process-actions{display:flex;gap:9px;flex-wrap:wrap;padding:14px 0 18px;border-bottom:1px solid #e3e9ec;margin-bottom:16px}.enrolment-email-preview label{display:grid;gap:6px;margin:12px 0}.enrolment-email-preview input{width:100%;padding:10px;border:1px solid #c8d4da;border-radius:9px}.ef-access-card .alert.warn{background:#fff3d7;color:#735400;border:1px solid #ecd692;padding:10px 12px;border-radius:9px}
@media(max-width:900px){.public-enrolment-portal{padding:0}.ef-parent-shell{border-radius:0;border-left:0;border-right:0}.ef-header{align-items:flex-start}.ef-brand img{width:115px}.ef-step-dots{grid-template-columns:repeat(4,1fr);row-gap:14px}.ef-form-actions{align-items:stretch}.ef-form-actions>div{flex:1}.ef-form-actions .btn{flex:1}.ef-step-body{padding-left:18px;padding-right:18px}.ef-step-head{padding-left:18px;padding-right:18px}}
@media(max-width:600px){.ef-header{padding:15px;display:block}.ef-brand{align-items:flex-start}.ef-brand img{width:90px}.ef-header-actions{justify-items:start;margin-top:10px}.ef-progress{padding:15px 10px}.ef-step-dots{grid-template-columns:repeat(4,1fr)}.ef-step-dots button b{font-size:.62rem}.ef-state{padding:8px 14px}.ef-step-head{padding:18px 14px 10px}.ef-step-body{padding:6px 14px 24px}.ef-step-body .form-grid{grid-template-columns:1fr}.ef-step-body .span-2{grid-column:auto}.ef-fieldset .form-grid{grid-template-columns:1fr}.ef-fieldset .span-2{grid-column:auto}.ef-form-actions{position:static;display:grid;padding:12px 14px}.ef-form-actions>div{display:grid;grid-template-columns:1fr 1fr}.ef-form-actions>div .btn:last-child:nth-child(3){grid-column:1/-1}.ef-inline-checks{display:grid;grid-template-columns:1fr 1fr}.ef-browser-note{padding:0 14px 18px}.ef-submitted-banner{margin:12px 14px 0}.ef-access-card{border-radius:16px;padding:24px 18px}.enrolment-process-actions .btn{width:100%}}
@media print{.public-enrolment-portal,.ef-shell{box-shadow:none}.ef-progress,.ef-state,.ef-form-actions,.ef-browser-note{display:none!important}}

/* V34.3 enrolment visibility + complete child/parent record presentation */
.enrolment-card .compact-actions{flex-wrap:wrap;gap:6px}.enrolment-card .en-v343-send{flex:1 1 100%;white-space:normal;line-height:1.25;text-align:center}.enrolment-card .en-v343-open-form{white-space:nowrap}.parent-contact-card{display:flex!important;flex-direction:column;gap:3px;padding:9px 0!important}.parent-contact-card small{display:block;color:var(--muted,#68717c);line-height:1.35}.child-enrolment-core{margin-top:12px}.enrolment-record-grid{margin-bottom:16px}.enrolment-record-grid .profile-info-card p,.enrolment-about-grid .profile-info-card p{white-space:normal;line-height:1.45}.parent-record-fields{padding:14px;border:1px solid var(--border,#dfe4e8);border-radius:14px;background:var(--surface-soft,#f8fafb)}
@media(max-width:760px){.enrolment-card .en-v343-send{width:100%}.child-profile-panel .profile-tabs{overflow-x:auto;white-space:nowrap}.enrolment-record-grid,.enrolment-about-grid{grid-template-columns:1fr!important}}

/* V34.4 top-bar containment and public frontend templates */
:root{--front-template-bg:#f8fbf6;--front-template-surface:#fff;--front-template-text:#203129;--front-template-muted:#6e7a73;--front-template-hero-from:#f9f5ea;--front-template-hero-to:#edf5ee;--front-template-art:#cfdfc5;--front-template-sun:#f4c76f;--front-template-hill:#759b72;--front-template-house:#f6e8d2;--front-template-roof:#c36949;--front-template-feature:#f7faf7;--front-template-cream:#f8f4ea;--front-template-radius:20px;--front-template-button-radius:12px;--front-heading-font:Georgia,serif}
.app-topbar{min-width:0;gap:12px}.topbar-left{min-width:0!important;flex:1 1 auto}.topbar-navigation{min-width:0}.top-actions{min-width:0;flex:0 1 auto;max-width:calc(100% - 190px)}.top-actions>*{flex:0 0 auto}.branch-switcher{min-width:0}.top-user{flex:0 0 auto}.notif-btn{flex:0 0 auto}
@media(max-width:1280px){.global-search{width:190px}.branch-switcher{max-width:170px}.branch-switcher select{max-width:140px}.top-user-copy{display:none}.user-chevron{display:none}.top-user{padding:2px}}
@media(max-width:1020px){.global-search{display:none}.quick-add-label{display:none}.quick-add-top{width:38px;padding:0}.top-actions{max-width:calc(100% - 155px)}.topbar-left{min-width:130px!important}}
@media(max-width:760px){.app-topbar{min-height:64px!important;padding:8px 9px!important;gap:6px}.topbar-left{min-width:82px!important}.topbar-navigation .eyebrow{display:none}.app-topbar h1{font-size:17px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.top-actions{max-width:calc(100vw - 105px);gap:3px!important}.branch-switcher{order:0!important;width:auto!important;max-width:112px!important;padding:3px 5px!important;height:36px}.branch-switcher>span{display:none}.branch-switcher select{min-width:0!important;width:100px!important;max-width:100px!important;font-size:10px!important;padding:2px!important}.top-actions .icon-btn,.top-actions .notif-btn,.top-actions .top-user,.quick-add-top{display:flex!important;width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;align-items:center;justify-content:center}.top-user-copy,.user-chevron{display:none!important}.top-user .avatar{width:32px;height:32px}.notif-btn{font-size:0!important}.notif-btn::first-letter{font-size:15px}.top-icon-badge{position:relative}.top-icon-badge #notifCount{position:absolute;right:-3px;top:-4px;font-size:9px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;display:grid;place-items:center}.top-settings{display:none!important}}
@media(max-width:520px){.branch-switcher{max-width:96px!important}.branch-switcher select{width:84px!important;max-width:84px!important}.quick-add-top{display:none!important}.app-topbar h1{max-width:105px}.top-actions{max-width:calc(100vw - 92px)}}
@media(max-width:390px){.branch-switcher{display:none!important}.top-actions{max-width:none}.app-topbar h1{max-width:125px}}

/* Public template tokens */
#publicSite{background:var(--front-template-bg);color:var(--front-template-text);font-family:var(--front-font)}
#publicSite .hero{background:linear-gradient(135deg,var(--front-template-hero-from),var(--front-template-hero-to));position:relative}
#publicSite .hero h1,#publicSite .public-section h2{font-family:var(--front-heading-font);color:var(--front-template-text)}
#publicSite .hero-copy>p,#publicSite .feature-grid p,#publicSite .split p,#publicSite .enrol-section>div>p{color:var(--front-template-muted)}
#publicSite .hero-art{background:var(--front-template-art);border-radius:calc(var(--front-template-radius) * 1.6)}#publicSite .sun{background:var(--front-template-sun)}#publicSite .hill{background:var(--front-template-hill)}#publicSite .hill.h2{background:color-mix(in srgb,var(--front-template-hill) 82%,#1f665e)}#publicSite .house{background:var(--front-template-house)}#publicSite .roof{background:var(--front-template-roof)}
#publicSite .public-section{background:var(--front-template-surface)}#publicSite .split{background:var(--front-template-cream)}#publicSite .feature-grid article,#publicSite .resource-card,#publicSite .quote-card,#publicSite .panel{border-radius:var(--front-template-radius)}#publicSite .feature-grid article{background:var(--front-template-feature)}#publicSite .btn{border-radius:var(--front-template-button-radius)}
body[data-frontend-pattern="dots"] #publicSite .hero:after,body[data-frontend-pattern="soft-dots"] #publicSite .hero:after,body[data-frontend-pattern="confetti"] #publicSite .hero:after,body[data-frontend-pattern="stars"] #publicSite .hero:after,body[data-frontend-pattern="clouds"] #publicSite .hero:after,body[data-frontend-pattern="waves"] #publicSite .hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;z-index:0}#publicSite .hero>*{position:relative;z-index:1}
body[data-frontend-pattern="dots"] #publicSite .hero:after{background-image:radial-gradient(circle,var(--accent) 1.5px,transparent 1.7px);background-size:28px 28px}
body[data-frontend-pattern="soft-dots"] #publicSite .hero:after{background-image:radial-gradient(circle,var(--primary) 1px,transparent 1.2px);background-size:34px 34px;opacity:.12}
body[data-frontend-pattern="confetti"] #publicSite .hero:after{background-image:radial-gradient(circle at 15% 25%,var(--accent) 2px,transparent 2.5px),radial-gradient(circle at 70% 35%,var(--primary) 2px,transparent 2.5px),radial-gradient(circle at 40% 75%,#ef8aa8 2px,transparent 2.5px);background-size:44px 44px,58px 58px,72px 72px;opacity:.22}
body[data-frontend-pattern="stars"] #publicSite .hero:after{background-image:radial-gradient(circle,var(--accent) 1.5px,transparent 2px),radial-gradient(circle,var(--primary) 1px,transparent 1.5px);background-size:48px 48px,72px 72px}
body[data-frontend-pattern="clouds"] #publicSite .hero:after{background-image:radial-gradient(ellipse at center,rgba(255,255,255,.75) 0 28%,transparent 30%);background-size:120px 54px;opacity:.28}
body[data-frontend-pattern="waves"] #publicSite .hero:after{background-image:radial-gradient(ellipse at 50% 120%,transparent 0 48%,var(--primary) 50% 52%,transparent 54%);background-size:120px 50px;opacity:.12}

/* Frontend template manager */
.frontend-template-settings{max-width:1500px}.template-upload-label{cursor:pointer}.frontend-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.frontend-template-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(34,55,43,.05)}.frontend-template-card.active{outline:2px solid var(--primary);outline-offset:1px}.frontend-template-card-body{padding:13px;display:grid;gap:10px}.frontend-template-title{display:flex;justify-content:space-between;gap:10px}.frontend-template-title>div{display:flex;flex-direction:column;gap:4px}.frontend-template-title b{font-size:14px}.frontend-template-title small{font-size:10px;color:var(--muted);line-height:1.4}.template-swatches{display:flex;gap:5px}.template-swatches i{width:22px;height:22px;border-radius:7px;border:1px solid rgba(0,0,0,.07)}.frontend-template-preview{height:185px;background:var(--bg);padding:10px;overflow:hidden}.ftp-head{height:28px;background:var(--surface);border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;font-size:7px;font-weight:900;color:var(--p)}.ftp-head b{background:var(--p);color:#fff;border-radius:999px;padding:4px 7px}.ftp-hero{margin-top:8px;height:105px;border-radius:var(--radius);background:linear-gradient(135deg,var(--hero1),var(--hero2));padding:15px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.ftp-hero small{font-size:6px;font-weight:900;color:var(--p);letter-spacing:.08em}.ftp-hero strong{font-family:Georgia,serif;font-size:13px;max-width:65%;line-height:1.05}.ftp-hero span{position:absolute;width:70px;height:70px;border-radius:50%;background:var(--a);right:12px;top:18px;opacity:.65}.ftp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.ftp-cards i{height:24px;border-radius:7px;background:var(--surface);border-left:3px solid var(--p)}.frontend-template-help{margin-top:16px}.frontend-template-help h3{margin-top:0}
@media(max-width:700px){.frontend-template-settings .settings-pane-title{align-items:flex-start;flex-direction:column}.frontend-template-settings .settings-pane-title .actions{width:100%}.frontend-template-settings .settings-pane-title .btn{flex:1}.frontend-template-grid{grid-template-columns:1fr}.template-only-tabs{position:sticky!important;top:64px!important}}
@media(max-width:760px){.top-actions .notif-btn{font-size:14px!important}.top-actions .notif-btn #notifCount{font-size:9px!important}}
@media(max-width:760px){.top-actions .icon-btn.hidden{display:none!important}.top-settings:not(.hidden){display:flex!important}}
@media(max-width:390px){.branch-switcher{display:flex!important;max-width:80px!important}.branch-switcher select{width:70px!important;max-width:70px!important}.app-topbar h1{max-width:78px}}

/* V34.6 cache-reset release: runtime assets use unique filenames so older V34 service-worker/browser caches cannot mask newer UI/features. */
/* V34.6 enrolment invitation persistence */
.enrolment-invite-panel{margin:16px 0;padding:16px;border:1px solid #cfe0da;border-radius:16px;background:#f7fbf9;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.5fr) minmax(170px,.65fr);gap:12px;align-items:end}.enrolment-invite-panel>div:first-child{align-self:center}.enrolment-invite-panel h3{margin:2px 0 4px}.enrolment-invite-panel p{margin:0;color:var(--muted)}.enrolment-invite-panel label{margin:0}.enrolment-invite-panel .compact-actions{grid-column:1/-1}@media(max-width:900px){.enrolment-invite-panel{grid-template-columns:1fr 1fr}.enrolment-invite-panel>div:first-child,.enrolment-invite-panel .compact-actions{grid-column:1/-1}}@media(max-width:620px){.enrolment-invite-panel{grid-template-columns:1fr}.enrolment-invite-panel>div:first-child,.enrolment-invite-panel .compact-actions{grid-column:auto}}
/* V34.6 enrolment invitation persistence */
.enrolment-invite-panel{margin:16px 0;padding:16px;border:1px solid #cfe0da;border-radius:16px;background:#f7fbf9;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.5fr) minmax(170px,.65fr);gap:12px;align-items:end}.enrolment-invite-panel>div:first-child{align-self:center}.enrolment-invite-panel h3{margin:2px 0 4px}.enrolment-invite-panel p{margin:0;color:var(--muted)}.enrolment-invite-panel label{margin:0}.enrolment-invite-panel .compact-actions{grid-column:1/-1}@media(max-width:900px){.enrolment-invite-panel{grid-template-columns:1fr 1fr}.enrolment-invite-panel>div:first-child,.enrolment-invite-panel .compact-actions{grid-column:1/-1}}@media(max-width:620px){.enrolment-invite-panel{grid-template-columns:1fr}.enrolment-invite-panel>div:first-child,.enrolment-invite-panel .compact-actions{grid-column:auto}}

/* V34.8 - clearer full enrolment form + 20 Hours ECE schedule */
.ef-parent-shell,.ef-staff-shell{border-color:#aebbc1;box-shadow:0 14px 40px rgba(34,64,78,.10)}
.ef-step-head{background:linear-gradient(180deg,#fbfdfe,#f7fafb);border-bottom:1px solid #d4dde1;padding-bottom:18px}
.ef-step-head h2{font-size:1.5rem;color:#284c69}
.ef-step-body{background:#f6f9fa;padding-top:20px}
.ef-step-body>.form-grid{gap:18px;align-items:start}
.ef-step-body label:not(.ef-check){display:grid;gap:7px;font-weight:750;color:#314a56;line-height:1.3}
.ef-step-body input:not([type=checkbox]),.ef-step-body select,.ef-step-body textarea{width:100%;border:1.5px solid #9eabb2;border-radius:9px;background:#fff;padding:10px 11px;color:#20343e;min-height:42px;box-shadow:inset 0 1px 1px rgba(35,58,70,.03)}
.ef-step-body textarea{min-height:88px;resize:vertical}
.ef-step-body input:focus,.ef-step-body select:focus,.ef-step-body textarea:focus{outline:3px solid rgba(79,133,189,.16);border-color:#4f85bd}
.ef-fieldset{border:1.7px solid #98a8b0;border-radius:13px;padding:18px;background:#fff;box-shadow:0 2px 7px rgba(39,61,71,.03)}
.ef-fieldset legend{color:#244f73;background:#f6f9fa;border:1px solid #a8b5bb;border-radius:999px;padding:4px 10px;font-size:.9rem}
.ef-office{background:#f1f5f7;border-style:dashed}
.ef-inline-checks{padding:4px 0 0;margin-bottom:4px}
.ef-schedule-wrap{display:grid;gap:10px}
.ef-ece-rule{display:grid;gap:4px;padding:13px 15px;border:1.7px solid #8ca8b9;border-radius:12px;background:#eef7fb;color:#26475a}
.ef-ece-rule b{font-size:.95rem}.ef-ece-rule span{line-height:1.45}.ef-ece-rule small{color:#56707e}
.ef-schedule{border:1.7px solid #8899a2;border-radius:12px;background:#fff}
.ef-schedule-head,.ef-schedule-row{grid-template-columns:minmax(90px,1.1fr) repeat(5,minmax(105px,1fr)) minmax(120px,.9fr);min-width:850px}
.ef-schedule-head>*{padding:10px 8px}.ef-schedule-row>*{padding:7px 8px}
.ef-schedule-row input{min-height:36px!important;border:1px solid #b5c0c5!important;border-radius:7px!important;background:#fff!important;padding:6px!important}
.ef-ece-cell{display:grid;gap:2px!important;align-content:center}.ef-ece-cell small{font-size:.68rem;color:#5e737d;text-align:right}
.ef-copy-day{white-space:normal;line-height:1.15;min-height:36px;align-self:center}
.ef-ece-total{display:flex;justify-content:flex-end;gap:10px;align-items:center;padding:8px 12px;border:1px solid #b7c3c8;border-radius:9px;background:#fff;font-size:.86rem}.ef-ece-total b{color:#275877}.ef-ece-total b.over{color:#a33131}
.ef-review-card{border-color:#9eabb2}
@media(max-width:600px){.ef-step-head h2{font-size:1.25rem}.ef-fieldset{padding:14px}.ef-fieldset legend{font-size:.82rem}.ef-step-body input:not([type=checkbox]),.ef-step-body select,.ef-step-body textarea{font-size:16px}.ef-ece-rule{padding:11px 12px}.ef-ece-total{justify-content:space-between}}


/* V34.9 - enrolment schedule, streamlined progress, story thumbnails and top-bar containment */
.ef-schedule-head,.ef-schedule-row{grid-template-columns:minmax(90px,1.1fr) repeat(5,minmax(105px,1fr)) minmax(150px,1.1fr)}
.ef-day-actions{display:flex;gap:5px;align-items:center;justify-content:center;flex-wrap:wrap}.ef-day-actions .btn{padding:6px 8px;min-height:32px}.ef-day-note{display:block;margin-top:3px;font-size:.66rem;font-weight:800;color:var(--muted)}.ef-day-note.warn{color:#a33b32}
.enrolment-visit-checks{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:7px 0}.enrolment-visit-checks label{display:inline-flex;flex-direction:row;align-items:center;gap:5px;padding:5px 8px;border:1px solid #c9d4cf;border-radius:999px;background:#fff;font-size:11px;color:#3a5145}.enrolment-visit-checks input{width:auto;margin:0}.profile-summary-grid .enrolment-visit-checks{margin:3px 0 0}
.story-group-media-thumbs{display:flex;align-items:center;min-width:64px}.story-group-media-thumbs img{width:34px;height:34px;border-radius:8px;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);margin-left:-6px}.story-group-media-thumbs img:first-child{margin-left:0}.story-group-media-thumbs span{margin-left:4px;font-size:10px;font-weight:900;color:var(--muted)}.story-group-media-empty{width:38px;height:38px;border-radius:10px;background:#eef4ef;color:var(--primary);display:grid;place-items:center;font-size:18px}
/* Keep notification/account actions reachable at every width. */
.app-topbar{width:100%;max-width:100%;overflow:visible}.topbar-left{overflow:hidden}.top-actions{margin-left:auto;justify-content:flex-end;align-items:center;overflow:visible;max-width:none!important}.top-actions .notif-btn,.top-actions .top-user{flex:0 0 auto!important}.top-user{max-width:180px}.user-menu{max-width:calc(100vw - 16px);right:8px!important}
@media(max-width:1360px){.global-search{display:none!important}.top-user-copy,.user-chevron{display:none!important}.top-user{padding:2px!important}.branch-switcher{max-width:150px!important}.branch-switcher select{max-width:120px!important}}
@media(max-width:1040px){.quick-add-label{display:none!important}.quick-add-top{width:38px!important;min-width:38px!important;padding:0!important}.top-actions{gap:5px!important}.app-topbar h1{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:760px){.app-topbar{padding:8px!important;gap:5px!important}.topbar-left{flex:1 1 auto!important;min-width:70px!important}.top-actions{flex:0 0 auto!important;gap:4px!important}.quick-add-top,.top-settings{display:none!important}.branch-switcher{max-width:92px!important;width:92px!important}.branch-switcher select{width:82px!important;max-width:82px!important}.top-actions .notif-btn,.top-actions .top-user{width:36px!important;min-width:36px!important;height:36px!important}.app-topbar h1{max-width:110px!important}}
@media(max-width:460px){.branch-switcher{display:none!important}.top-actions{max-width:none!important}.app-topbar h1{max-width:150px!important}.top-actions .notif-btn,.top-actions .top-user{display:flex!important;visibility:visible!important}}
@media(max-width:600px){.enrolment-visit-checks{align-items:flex-start;flex-direction:column}.ef-day-actions{justify-content:flex-start}}


/* V35.0 kiosk operations workspace */
.kiosk-app{overflow:hidden!important;height:100dvh;max-height:100dvh}.kiosk-main{overflow:hidden!important;height:100%;max-height:100%;padding:20px 24px!important}.kiosk-footer{padding:7px 16px!important}.kiosk-content-head{margin-bottom:14px!important}.kiosk-content-head h1{font-size:1.65rem!important}.kiosk-content-head p{margin-top:3px!important;font-size:.88rem!important}.kiosk-header{padding:10px 20px!important}.kiosk-live-clock b{font-size:1.55rem!important}.kiosk-session button{white-space:nowrap}.kiosk-staff-workspace{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(520px,1.4fr);gap:18px;min-height:0;height:calc(100dvh - 190px)}.kiosk-clock-column,.kiosk-ops-column{background:#fff;border:1px solid #d5e0d8;border-radius:22px;padding:18px;min-height:0;overflow:hidden}.kiosk-clock-column h2,.kiosk-ops-column h2{margin:0 0 10px;font-size:1.12rem}.kiosk-staff-actions{max-width:none;height:calc(100% - 34px);overflow-y:auto;scrollbar-width:none}.kiosk-staff-actions::-webkit-scrollbar,.kiosk-ops-body::-webkit-scrollbar,.kiosk-sleep-workspace::-webkit-scrollbar{display:none}.kiosk-action{min-height:58px!important;font-size:1rem!important;padding:10px 14px!important;border-radius:14px!important}.kiosk-state-card{padding:10px!important}.kiosk-state-card b{font-size:1.15rem!important}.kiosk-column-note{color:#6c7970;font-size:.85rem}.kiosk-column-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.kiosk-column-head p{margin:3px 0 0;color:#6a776f;font-size:.78rem}.kiosk-column-head>span{font-size:.68rem;font-weight:900;padding:5px 8px;border-radius:999px;background:#e8f5eb;color:#3c6b4d}.kiosk-ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.kiosk-ops-grid button{min-height:92px;border:1px solid #d6e1d9;border-radius:16px;background:#f9fcfa;color:#263c31;font:inherit;display:grid;place-items:center;align-content:center;gap:6px;padding:10px;cursor:pointer}.kiosk-ops-grid button:hover:not(:disabled){background:#eef7f1;border-color:#aac6b3;transform:translateY(-1px)}.kiosk-ops-grid button:disabled{opacity:.4;cursor:not-allowed}.kiosk-ops-grid span{font-size:1.85rem;line-height:1}.kiosk-ops-grid b{font-size:.78rem;line-height:1.15;text-align:center}.kiosk-ops-modal{position:fixed;inset:0;z-index:810;background:rgba(19,38,29,.55);padding:18px;display:grid;place-items:center;overflow:hidden}.kiosk-ops-dialog{width:min(1180px,96vw);height:min(850px,94dvh);background:#f6faf7;border-radius:24px;box-shadow:0 24px 70px rgba(20,45,32,.28);display:grid;grid-template-rows:auto 1fr;overflow:hidden}.kiosk-ops-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fff;border-bottom:1px solid #d9e4dc;padding:14px 18px}.kiosk-ops-dialog>header h2{margin:1px 0;font-size:1.35rem}.kiosk-ops-dialog>header p{margin:3px 0 0;color:#68766e;font-size:.82rem}.kiosk-ops-close{border:0;background:#edf3ef;width:40px;height:40px;border-radius:12px;font-size:1.7rem;cursor:pointer}.kiosk-ops-body{overflow-y:auto;scrollbar-width:none;padding:16px}.kiosk-record-form{display:grid;gap:14px}.kiosk-child-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px}.kiosk-child-tile{position:relative;border:2px solid #cad8cf;background:#fff;border-radius:16px;padding:8px;display:grid;place-items:center;gap:4px;text-align:center;cursor:pointer}.kiosk-child-tile input{position:absolute;opacity:0;pointer-events:none}.kiosk-child-tile:has(input:checked){border-color:#3f6f52;box-shadow:0 0 0 3px #dcecdf;background:#f5fbf6}.kiosk-child-photo,.kiosk-sleep-photo{width:58px;height:58px;border-radius:14px;overflow:hidden;background:#e9f1ec;display:grid;place-items:center}.kiosk-child-photo img,.kiosk-sleep-photo img{width:100%;height:100%;object-fit:cover}.kiosk-child-tile strong{font-size:.86rem}.kiosk-child-tile small{font-size:.68rem;color:#748078}.kiosk-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kiosk-form-grid label{display:grid;gap:4px;font-size:.78rem;font-weight:850}.kiosk-form-grid input,.kiosk-form-grid select,.kiosk-form-grid textarea{width:100%;border:1.5px solid #bdccc2;border-radius:10px;background:#fff;padding:9px;font:inherit}.kiosk-form-grid .span-2{grid-column:1/-1}.kiosk-form-grid label small{font-weight:500;color:#718078}.kiosk-quick-notes{display:grid;gap:8px}.kiosk-quick-notes>div{display:flex;gap:7px;flex-wrap:wrap}.kiosk-quick-notes label input{display:none}.kiosk-quick-notes label span{display:block;padding:8px 11px;border:1.5px solid #bdccc2;background:#fff;border-radius:999px;font-size:.78rem;font-weight:850;cursor:pointer}.kiosk-quick-notes label.selected span{background:#dcecdf;border-color:#3f6f52;color:#2e5a41}.child-care-settings{border:1.5px solid #b9cabe;border-radius:13px;padding:12px;background:#f7faf8}.child-care-settings>b{display:block;margin-bottom:3px}.kiosk-sleep-workspace{height:100%;overflow-y:auto;scrollbar-width:none;display:grid;gap:12px}.kiosk-sleep-available{display:flex;gap:8px;flex-wrap:wrap}.kiosk-sleep-child{position:relative;display:flex;align-items:center;gap:9px;padding:8px 38px 8px 8px;border:1.5px solid #c9d7ce;border-radius:14px;background:#fff;min-width:205px}.kiosk-sleep-child.available{padding-right:8px}.kiosk-sleep-child>div:nth-child(2){display:grid;gap:2px;min-width:0}.kiosk-sleep-child b{font-size:.86rem}.kiosk-sleep-child small{font-size:.68rem;color:#6f7c74}.kiosk-sleep-photo{width:44px;height:44px;border-radius:11px;flex:0 0 auto}.sleep-small-action{margin-left:auto;border:0;background:#e5f2e9;color:#346348;border-radius:9px;padding:6px 8px;font-size:.7rem;font-weight:900;cursor:pointer}.sleep-remove{position:absolute;right:6px;top:6px;border:0;background:#fff0ef;color:#a23e39;width:27px;height:27px;border-radius:8px;font-size:1.05rem;cursor:pointer}.kiosk-sleep-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kiosk-sleep-zone{min-height:180px;border:2px dashed #b9cbbf;border-radius:18px;background:#f9fcfa;padding:10px;transition:.15s}.kiosk-sleep-zone.sleeping{background:#f8f6ff;border-color:#c8c0df}.kiosk-sleep-zone.dragover{border-color:#3f6f52;background:#eaf5ed;transform:scale(1.005)}.kiosk-sleep-zone>header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.kiosk-sleep-zone>header>span{font-size:1.5rem}.kiosk-sleep-zone h3{margin:0;font-size:1rem}.kiosk-sleep-zone header small{color:#748078}.kiosk-sleep-zone>div{display:flex;gap:8px;flex-wrap:wrap}.kiosk-sleep-zone>div>p{color:#77847c;font-size:.78rem}.kiosk-sleep-checks{border:1px solid #d5e0d8;background:#fff;border-radius:16px;padding:10px}.kiosk-sleep-checks>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.kiosk-sleep-checks header span{font-size:.7rem;color:#6e7a73}.sleep-check-child{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start;padding:7px 0;border-top:1px solid #edf1ee}.sleep-check-line{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.sleep-check-line::-webkit-scrollbar{display:none}.sleep-check{min-width:84px;border:1px solid #d8e1db;border-radius:10px;padding:6px;background:#f7faf8;display:grid;gap:2px;text-align:center}.sleep-check input{margin:auto}.sleep-check span{font-size:.74rem;font-weight:900}.sleep-check small{font-size:.58rem;color:#748078}.sleep-check.enabled{border-color:#e4ad43;background:#fff7df}.sleep-check.done{border-color:#8ebc9d;background:#edf7f0}.sleep-check.locked{opacity:.55}.sleep-due-title::after{content:' • CHECK DUE';color:#a35b00;font-size:.62rem;vertical-align:middle}.kiosk-app,.kiosk-app *{scrollbar-width:none}.kiosk-app *::-webkit-scrollbar{display:none}
@media(max-width:900px){.kiosk-staff-workspace{grid-template-columns:1fr 1.35fr}.kiosk-ops-grid{grid-template-columns:repeat(3,1fr)}.kiosk-header{grid-template-columns:1fr auto 1fr!important}.kiosk-live-clock{grid-column:auto!important;grid-row:auto!important}.kiosk-session{grid-column:auto!important;grid-row:auto!important}.kiosk-brand div span{display:none}.kiosk-main{padding:12px!important}.kiosk-content-head{grid-template-columns:88px 1fr 88px!important}}
@media(max-width:650px){.kiosk-staff-workspace{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:calc(100dvh - 170px)}.kiosk-clock-column{padding:10px}.kiosk-clock-column h2{display:none}.kiosk-staff-actions{display:flex;gap:7px;align-items:stretch;overflow-x:auto;height:auto}.kiosk-staff-actions>*{min-width:120px;margin:0}.kiosk-ops-column{padding:10px}.kiosk-ops-grid{grid-template-columns:repeat(3,1fr);gap:7px}.kiosk-ops-grid button{min-height:74px;padding:6px}.kiosk-ops-grid span{font-size:1.45rem}.kiosk-form-grid{grid-template-columns:1fr}.kiosk-form-grid .span-2{grid-column:1}.kiosk-sleep-columns{grid-template-columns:1fr}.kiosk-sleep-checks>header{display:grid}.sleep-check-child{grid-template-columns:1fr}.kiosk-ops-modal{padding:6px}.kiosk-ops-dialog{width:99vw;height:98dvh;border-radius:16px}.kiosk-child-picker{grid-template-columns:repeat(3,1fr)}}


/* V35.1 Operational Records register */
.operational-register-panel{display:grid;gap:16px}.operational-register-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;align-items:end;padding:14px;border:1px solid #c8d4cc;border-radius:16px;background:#f8fbf9}.operational-register-filters label{display:grid;gap:6px;font-weight:700;font-size:12px}.operational-register-filters input,.operational-register-filters select{min-height:40px}.operational-filter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.operational-register-summary{padding:9px 12px;border-radius:12px;background:#eef5f0;border:1px solid #d4e2d8}.operational-register-row td{vertical-align:top}.operational-record-modal{z-index:1200}.operational-record-editor{width:min(980px,94vw);max-height:92vh;overflow:auto;padding:24px}.operational-record-editor .form-grid{margin-top:16px}.operational-edit-chips{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px}.operational-edit-chips label{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #bdcbc2;border-radius:999px;background:#fff;font-weight:600}.operational-edit-chips input{width:auto;min-height:0}.operational-sleep-check-editor{border:1px solid #c7d4cb;border-radius:14px;padding:14px;background:#f8fbf9}.operational-sleep-check-editor h4{margin:0 0 10px}.sleep-check-edit-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:10px 0;border-top:1px solid #dde6df}.sleep-check-edit-row:first-of-type{border-top:0}.operational-edit-audit{margin-top:14px;padding:10px 12px;border-radius:10px;background:#f4f6f5;color:#65736b;font-size:12px}.operational-record-editor .sticky-form-actions{position:sticky;bottom:-24px;margin:18px -24px -24px;padding:14px 24px;background:rgba(255,255,255,.97);border-top:1px solid #dfe7e1;z-index:2}
@media(max-width:1000px){.operational-register-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.operational-filter-actions{grid-column:1/-1}.sleep-check-edit-row{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.operational-register-filters{grid-template-columns:1fr}.operational-filter-actions{grid-column:auto}.operational-record-editor{width:96vw;padding:18px}.sleep-check-edit-row{grid-template-columns:1fr}.operational-record-editor .sticky-form-actions{bottom:-18px;margin:18px -18px -18px;padding:12px 18px}}

/* V35.3 Daily Activity workflow */
.daily-plan-v353{display:grid;gap:18px}.daily-activity-search-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:18px;align-items:start}.daily-activity-search-layout>section{min-width:0}.daily-activity-search-results{display:grid;gap:7px;max-height:300px;overflow:auto;padding:6px 2px;margin:8px 0}.daily-activity-result{width:100%;text-align:left;border:1px solid #c9d8ce;background:#fff;border-radius:12px;padding:10px 12px;display:grid;gap:3px;cursor:pointer;color:inherit}.daily-activity-result:hover,.daily-activity-result.selected{border-color:var(--primary,#3f6f52);box-shadow:0 0 0 2px rgba(63,111,82,.12)}.daily-activity-result small{color:var(--muted,#6e7a73)}.daily-activity-details{border:2px solid #b8cbbd;border-radius:16px;padding:16px;background:#fbfdfb;min-height:170px}.daily-activity-detail-empty{color:#6e7a73;display:grid;place-items:center;min-height:130px;text-align:center}.daily-selected-activity-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.daily-selected-activity-head h3{margin:2px 0 0}.activity-favourite{font-size:12px;background:#fff3c9;border:1px solid #ead58d;border-radius:999px;padding:5px 9px;white-space:nowrap}.daily-activity-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.daily-activity-info-grid section{display:grid;gap:4px;border:1px solid #d8e2db;border-radius:10px;padding:10px;background:#fff}.daily-activity-info-grid section b{font-size:12px;color:#405448}.daily-activity-info-grid section span{font-size:13px;line-height:1.4}.daily-audience-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 12px}.daily-child-tiles label{border-width:1.5px}.daily-child-tiles label:has(input:checked){border-color:#3f6f52;background:#f0f7f2;box-shadow:0 0 0 2px rgba(63,111,82,.09)}.daily-activity-time{min-width:92px;display:flex;flex-direction:column;gap:3px}.daily-activity-time b{font-size:13px}.daily-activity-time small{color:#69756e}.daily-description{margin-bottom:7px}.daily-plan-note{font-size:13px;color:#57645d}.daily-outcome,.daily-parent-outcome{margin:10px 0;padding:10px 12px;border-left:3px solid #6b9a77;background:#f2f8f3;border-radius:0 10px 10px 0}.daily-outcome p,.daily-parent-outcome p{margin:4px 0 0}.daily-new-activity-modal{max-width:760px;max-height:92vh;overflow:auto}.daily-resource-picker{max-height:180px;overflow:auto;border:1px solid #d6e0d9;border-radius:10px;padding:8px}.daily-complete-modal{max-width:620px}.daily-requirement.neutral{background:#eef4f7;color:#435b65;border-color:#cbdce3}.story-activity-evidence{border:2px solid #bdcec2;border-radius:16px;padding:16px;background:#fbfdfb}.story-activity-results{display:grid;gap:8px;max-height:300px;overflow:auto;margin-top:10px}.story-activity-option{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;border:1px solid #d1ded5;border-radius:12px;padding:10px;background:#fff;cursor:pointer}.story-activity-option:has(input:checked){border-color:#3f6f52;background:#f2f8f3}.story-activity-option div{display:grid;gap:2px}.story-activity-option span,.story-activity-option small{color:#65716a}.story-linked-activities{display:grid;gap:8px}.story-linked-activities article{border:1px solid #d7e1da;border-radius:10px;padding:10px;background:rgba(255,255,255,.75);display:grid;gap:3px}.story-linked-activities article span{font-size:12px;color:#647068}.story-linked-activities article p{margin:4px 0 0}
@media(max-width:880px){.daily-activity-search-layout{grid-template-columns:1fr}.daily-activity-info-grid{grid-template-columns:1fr}.daily-activity-search-results{max-height:220px}}
@media(max-width:560px){.daily-audience-buttons .btn{flex:1 1 calc(50% - 8px)}.daily-activity-details{padding:12px}.daily-activity-search-layout{gap:12px}.daily-activity-time{min-width:74px}.story-activity-option{padding:9px}}

/* V35.3 — per-user Daily Activity requirement settings */
.daily-requirement-admin-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(260px,1.2fr);gap:14px;align-items:end;margin-bottom:12px}.daily-target-bulk{display:flex;gap:8px;align-items:end}.daily-target-bulk label{flex:1}.daily-target-user-list{display:grid;gap:8px;margin:14px 0 16px}.daily-target-user-row{display:grid;grid-template-columns:minmax(220px,1fr) 100px 58px;gap:10px;align-items:center;border:1px solid #c9d4cd;border-radius:12px;padding:9px 11px;background:#fff}.daily-target-user-row>span{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center}.daily-target-user-row>span .user-thumb,.daily-target-user-row>span .avatar{grid-row:1/3}.daily-target-user-row>span b{align-self:end}.daily-target-user-row>span small{align-self:start;color:var(--muted,#66756d)}.daily-target-user-row input{text-align:center;font-weight:700}.daily-target-user-row em{font-style:normal;color:var(--muted,#66756d);font-size:.85rem}.settings-json-advanced{display:block;margin:12px 0}
@media(max-width:900px){.daily-requirement-admin-grid{grid-template-columns:1fr 1fr}.daily-target-bulk{grid-column:1/-1}.daily-target-user-row{grid-template-columns:minmax(180px,1fr) 90px 54px}}
@media(max-width:620px){.daily-requirement-admin-grid{grid-template-columns:1fr}.daily-target-bulk{grid-column:auto;flex-direction:column;align-items:stretch}.daily-target-user-row{grid-template-columns:1fr 78px 46px}.daily-target-user-row>span{grid-template-columns:32px 1fr}}

/* V35.5 compact header + branch operating calendar */
#pageEyebrow{display:none!important}.topbar-navigation{align-items:center}.topbar-navigation h1{margin:0}.closed-day-callout{margin-bottom:14px}.branch-record-form textarea[name=public_holidays],.branch-record-form textarea[name=closed_days]{min-height:110px;border-color:#9aaea1}.module-access-row select{min-width:180px}

/* V35.5 permission scopes */
.permission-scope-heading{margin:18px 0 8px;padding-top:16px;border-top:2px solid var(--line,#d6ddd8)}
.permission-scope-heading b{display:block;font-size:15px}.permission-scope-heading small{display:block;color:var(--muted,#6b756f);margin-top:3px}
.permission-scope-matrix{display:grid;gap:8px;margin-bottom:16px}.scope-access-row{background:#fbfcfb}.scope-access-row select{min-width:170px}
@media(max-width:760px){.scope-access-row select{min-width:0;width:100%}}

/* V35.6 inline resource creation inside Daily Activity quick-add */
.daily-add-resource-btn{margin-top:10px}
.daily-new-resource-inline{margin-top:12px;padding:12px;border:1px solid var(--line,#cbd8cf);border-radius:12px;background:rgba(255,255,255,.72);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.daily-new-resource-inline.hidden{display:none}
.daily-new-resource-inline label{margin:0}
@media(max-width:720px){.daily-new-resource-inline{grid-template-columns:1fr}.daily-new-resource-inline .span-2{grid-column:auto}}

/* ================================================================
   LITTLE LOVES V36.2 — PORTAL UI/UX CONSOLIDATION
   Public/portal relationship recommendation #27 intentionally omitted.
   ================================================================ */
:root{
  --v36-space-1:4px;--v36-space-2:8px;--v36-space-3:12px;--v36-space-4:16px;--v36-space-5:20px;--v36-space-6:24px;--v36-space-8:32px;
  --v36-radius-sm:9px;--v36-radius:14px;--v36-radius-lg:20px;--v36-control:42px;--v36-shadow:0 8px 28px rgba(33,55,43,.07);
  --v36-surface:#fff;--v36-soft:#f5f8f6;--v36-border:#d9e2dc;--v36-text:#23352b;--v36-muted:#68766e;
}
*{box-sizing:border-box}
button,input,select,textarea{font:inherit}
button,input,select,textarea,a{outline:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 35%,white);outline-offset:2px}
.btn{min-height:var(--v36-control);border-radius:var(--v36-radius-sm);font-weight:800}
.btn.small{min-height:36px}.btn.tiny{min-height:30px}
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{min-height:var(--v36-control);border-radius:10px;border-color:#cbd8cf}
textarea{line-height:1.5}
.panel,.item-card,.stat{border-color:var(--v36-border);box-shadow:var(--v36-shadow)}
.section-title{gap:16px;align-items:flex-start}.section-title h2,.section-title h3{line-height:1.2}.section-title p{margin:5px 0 0}
.workspace-head{align-items:flex-start;gap:18px}.workspace-head>div>p{max-width:760px}
.app-view{max-width:1680px;width:100%;margin:0 auto;padding:22px 26px 96px}
.app-view>.workspace-head:first-child,.app-view>.section-title:first-child{margin-top:0}

/* permanent top bar */
.app-topbar{min-height:68px;height:68px;padding:10px 22px;gap:18px;background:rgba(248,250,248,.96);backdrop-filter:blur(14px);z-index:60}
.topbar-left{display:flex;align-items:center;min-width:0;flex:1 1 auto}.topbar-navigation{min-width:0}.app-topbar h1{font-size:22px!important;line-height:1.1;margin:0!important;max-width:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar .eyebrow,#pageEyebrow{display:none!important}
.top-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:7px;min-width:0;flex:0 1 auto}.top-actions>*{flex:0 0 auto}.top-settings{display:none!important}.global-search{height:38px;min-width:200px;max-width:330px;flex:1 1 260px}.global-search input{min-height:36px}.branch-switcher{min-height:38px;padding:3px 7px;max-width:230px}.branch-switcher span{font-size:9px}.branch-switcher select{max-width:155px;min-height:32px}.quick-add-top{height:38px;min-height:38px}.notif-btn,.top-user{height:38px;min-height:38px;flex:0 0 auto!important}.notif-btn{width:42px;min-width:42px}.top-user{max-width:180px}.top-user .avatar{width:31px;height:31px}.top-user-copy{min-width:0}.top-user-copy b,.top-user-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-menu{right:10px!important;top:62px!important;max-width:min(330px,calc(100vw - 20px));min-width:245px;padding:8px}.user-menu button{display:flex;align-items:center;gap:9px;width:100%;min-height:42px}.user-menu .v36-icon{width:18px;height:18px}.v36-mobile-branch{display:none;padding:8px 10px;border-bottom:1px solid var(--v36-border);gap:5px}.v36-mobile-branch small{display:block;font-weight:850;color:var(--v36-muted)}.v36-mobile-branch select{width:100%}

/* sidebar + icon family */
.portal{grid-template-columns:238px minmax(0,1fr)}.sidebar{width:auto;padding:16px 12px;background:#20362a}.portal-brand{padding:4px 8px 14px}.sidebar nav{gap:8px}.nav-group{display:grid;gap:2px}.nav-group-label{padding:7px 9px!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.08em;color:#9fb4a7!important}.nav-group-label:hover{background:transparent!important}.nav-group-items{display:grid;gap:2px}.nav-group-items.collapsed{display:none}.sidebar nav .nav-group-items button,.sidebar-settings-link{min-height:40px!important;padding:8px 10px!important;border-radius:10px!important;gap:10px!important}.sidebar nav button b,.sidebar-settings-link b{font-size:12px;line-height:1.15}.sidebar nav button.active,.sidebar-settings-link.active{background:#3b6948!important;box-shadow:inset 3px 0 0 #f0c86a}.v36-icon{width:20px;height:20px;display:inline-grid;place-items:center;flex:0 0 auto}.v36-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v36-icon svg circle,.v36-icon svg rect{fill:none}.nav-settings-separator{height:1px;background:rgba(255,255,255,.12);margin:5px 8px}.sidebar-settings-link{border:0;background:transparent;color:#dfe9e2;display:flex;align-items:center;width:100%;text-align:left;cursor:pointer}
.mobile-nav .v36-icon{width:19px;height:19px}.mobile-nav button>span:last-child{font-size:9px}

/* dashboard */
.v36-dashboard-greeting{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:2px 2px 6px}.v36-dashboard-greeting>div{display:flex;align-items:baseline;gap:9px}.v36-dashboard-greeting b{font-size:18px}.v36-dashboard-greeting span{font-size:12px;color:var(--v36-muted)}.v36-live-dot{display:inline-flex!important;align-items:center;gap:6px;font-weight:850!important;background:#eaf6ed;border:1px solid #bed8c5;color:#326442!important;padding:6px 9px;border-radius:999px}.v36-live-dot:before{content:'';width:7px;height:7px;border-radius:50%;background:#3d9a59}.operational-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.operational-stats .stat{padding:13px 14px;border-radius:13px}.operational-stats .stat b{font-size:23px}.attention-panel{margin:0 0 14px}.attention-panel .section-title{margin-bottom:9px}.attention-panel .section-title .eyebrow{display:none}.attention-panel .section-title h2{font-size:17px}.attention-grid{gap:8px}.attention-card{min-height:82px;border-radius:13px}.live-centre-panel,.planner-panel{margin-top:14px}.v36-learning-today{margin:14px 0}.v36-learning-dayparts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v36-learning-dayparts>div{padding:12px;border:1px solid var(--v36-border);border-radius:12px;background:var(--v36-soft);display:grid;gap:3px}.v36-learning-dayparts>div>b{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#456452}.v36-learning-dayparts>div>span{font-weight:900}.v36-learning-dayparts small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v36-muted)}

/* general page/toolbars */
.directory-toolbar,.notification-toolbar,.operational-register-filters,.report-filter-grid{border-radius:14px}.toolbar,.children-filter-bar,.notification-toolbar,.operational-register-filters,.report-filter-grid{gap:8px}.compact-search input{min-height:38px}.segmented{border-radius:10px}.segmented button{min-height:34px}.status-badge,.badge{font-weight:850}

/* mobile tables become labelled cards */
@media(max-width:680px){
 .app-view .table-wrap:not(.force-table){overflow:visible;border:0;background:transparent}.app-view .data-table:not(.force-table){min-width:0;width:100%;display:block}.app-view .data-table:not(.force-table) thead{display:none}.app-view .data-table:not(.force-table) tbody{display:grid;gap:10px}.app-view .data-table:not(.force-table) tr{display:block;background:#fff;border:1px solid var(--v36-border);border-radius:14px;box-shadow:0 4px 16px rgba(35,58,45,.05);overflow:hidden;padding:7px 11px}.app-view .data-table:not(.force-table) td{display:grid;grid-template-columns:minmax(92px,35%) 1fr;gap:9px;padding:7px 2px!important;border:0!important;align-items:start}.app-view .data-table:not(.force-table) td:before{content:attr(data-label);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--v36-muted);font-weight:900}.app-view .data-table:not(.force-table) td[data-label=""]:before{display:none}.app-view .data-table:not(.force-table) td[data-label=""]{display:block;text-align:right;border-top:1px solid #eef2ef!important;margin-top:4px;padding-top:9px!important}
}

/* action overflow */
.v36-more-actions{position:relative}.v36-more-actions>summary{list-style:none;cursor:pointer;min-width:38px;height:36px;border:1px solid var(--v36-border);border-radius:9px;background:#fff;display:grid;place-items:center;font-weight:900}.v36-more-actions>summary::-webkit-details-marker{display:none}.v36-more-menu{position:absolute;right:0;top:41px;z-index:70;display:grid;gap:5px;min-width:190px;background:#fff;border:1px solid var(--v36-border);box-shadow:0 15px 40px rgba(25,45,34,.18);padding:8px;border-radius:12px}.v36-more-menu>*{width:100%;justify-content:flex-start}

/* Children */
.child-gallery-card,.child-record-card{position:relative}.v36-child-status{position:absolute;top:10px;right:10px;padding:5px 8px;border-radius:999px;background:#eef2ef;border:1px solid #d8e0da;color:#54645b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.v36-child-status.present{background:#e5f5e9;color:#2e7142;border-color:#bad7c2}.v36-child-status.sick,.v36-child-status.unexplained{background:#fff0ec;color:#963f31;border-color:#edc8bf}.v36-child-status.holiday,.v36-child-status.absent{background:#fff7e5;color:#76591f;border-color:#ead7a7}.v36-profile-identity{display:grid;grid-template-columns:72px 1fr;gap:15px;align-items:center;padding:14px;margin:0 0 12px;border:1px solid var(--v36-border);border-radius:16px;background:linear-gradient(135deg,#f7fbf8,#fff)}.v36-profile-avatar{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;background:#dcecdf;color:#315f42;font-size:26px;font-weight:950}.v36-profile-identity h2{margin:0}.v36-profile-identity p{margin:4px 0;color:var(--v36-muted)}.v36-profile-alert-strip{display:flex;gap:6px;flex-wrap:wrap}.v36-profile-alert-strip span{font-size:10px;font-weight:800;background:#fff0ec;color:#853e32;padding:5px 7px;border-radius:8px}.child-profile-panel .profile-tabs{position:sticky;top:75px;z-index:3;background:#fff;padding:6px 0;border-bottom:1px solid var(--v36-border)}

/* Story designer: control layering */
.v36-design-options{border:1px solid var(--v36-border);background:#f8fbf9;border-radius:12px;padding:12px;margin:8px 0}.v36-design-options.hidden{display:none!important}.v36-audience-choice{border:1px solid #d9e6dc;border-radius:14px;background:#f8fbf9;padding:12px}.story-image-tools{box-shadow:var(--v36-shadow)}

/* Daily Activity */
.v36-today-board .today-board-grid{gap:10px}.v36-today-board .today-board-column{border-radius:14px}.daily-activity-search-results{display:grid;gap:7px}.daily-activity-search-results>*{border:1px solid var(--v36-border)!important;border-radius:12px!important;background:#fff!important;padding:10px!important;box-shadow:none!important}.daily-activity-details{border-radius:14px!important;border-color:var(--v36-border)!important}.daily-activity-card{border-radius:16px!important}.daily-plan-form{border-radius:18px}

/* Kiosk visual grouping */
.kiosk-app{background:#edf4ef}.kiosk-header{background:#fff;border-bottom:1px solid #d5e0d8}.kiosk-clock-column,.kiosk-ops-column{box-shadow:0 10px 30px rgba(28,52,38,.07)}.kiosk-ops-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.v36-kiosk-op-group{border:1px solid #d9e4dc;border-radius:16px;background:#f9fcfa;padding:9px}.v36-kiosk-op-group>h3{margin:0 0 7px;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:#5c6d63}.v36-kiosk-op-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v36-kiosk-op-group button{min-height:72px!important}.kiosk-sleep-child{border-width:2px}.kiosk-sleep-zone{background:#fbfdfb}.kiosk-sleep-zone.sleeping{background:#f6f3ff}.sleep-check.enabled{box-shadow:0 0 0 3px rgba(228,173,67,.18)}

/* Operational records timeline */
.v36-record-timeline{display:grid;gap:0;margin:0 0 16px;padding:4px 0 4px 14px;border-left:2px solid #bcd2c2}.v36-record-timeline>div{position:relative;display:grid;grid-template-columns:145px 1fr;gap:10px;padding:8px 10px}.v36-record-timeline>div:before{content:'';position:absolute;left:-20px;top:15px;width:10px;height:10px;border-radius:50%;background:#4e8a61;border:2px solid #fff;box-shadow:0 0 0 1px #9db9a7}.v36-record-timeline>div.pending:before{background:#d59d3b}.v36-record-timeline time{font-size:11px;color:var(--v36-muted)}.v36-record-timeline b{font-size:12px}.operational-record-editor{max-width:920px}

/* Enrolments */
.v36-enrol-progress{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:10px 13px;border:1px solid var(--v36-border);border-radius:13px;background:#fff}.v36-enrol-progress span{display:inline-flex;align-items:center;gap:5px;font-size:11px}.v36-enrol-progress span::first-letter{font-weight:950}.v36-enrol-progress i{font-style:normal;color:#9aaa9f}.v36-enrol-progress small{width:100%;color:var(--v36-muted)}.enrolment-card{border-radius:14px!important}.v36-next-action{margin-top:8px;border-top:1px solid #e8eee9;padding-top:8px;display:grid;gap:1px}.v36-next-action small{text-transform:uppercase;letter-spacing:.06em;font-size:8px;color:var(--v36-muted);font-weight:900}.v36-next-action b{font-size:11px;color:#355e44}

/* Browser full enrolment step UX */
.ef-progress{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);padding-top:4px}.ef-step-dots{gap:5px}.ef-step-dots button{border-radius:10px}.ef-step-body{max-width:1120px;margin:0 auto}.ef-fieldset{border:1.5px solid #aebeb3!important;border-radius:12px!important}.ef-main-form input,.ef-main-form select,.ef-main-form textarea{border-color:#aebeb3!important}.ef-main-form input:focus,.ef-main-form select:focus,.ef-main-form textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(63,111,82,.11)}.ef-form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.97);border-top:1px solid var(--v36-border);z-index:9}

/* Reflective planning / PGC */
.v36-reflective-guide{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px;border:1px solid #cfe0d4;background:#f6fbf7;border-radius:12px;margin-bottom:14px}.v36-reflective-guide span{font-size:10px;font-weight:900;color:#3e644c;background:#fff;border:1px solid #d8e5dc;padding:5px 7px;border-radius:999px}.v36-reflective-guide i{font-style:normal;color:#8aa092}.v36-private-record{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px;background:#f4f3fb;border:1px solid #dad5ed;border-radius:12px;color:#514a73}.v36-private-record span{font-size:11px}.planning-editor,.pgc-editor,.evaluation-editor{border-radius:18px!important}

/* Permission progressive disclosure */
.v36-permission-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;background:#f6faf7;border:1px solid var(--v36-border);border-radius:11px;margin:8px 0}.v36-permission-summary b{font-size:12px}.v36-permission-summary span{font-size:10px;color:var(--v36-muted)}.v36-permission-advanced{border:1px solid var(--v36-border);border-radius:12px;background:#fff;margin:8px 0}.v36-permission-advanced>summary{cursor:pointer;padding:11px 13px;font-weight:900;color:#365e45}.v36-permission-advanced-body{padding:0 10px 10px}.v36-permission-advanced .module-access-matrix,.v36-permission-advanced .permission-scope-matrix{margin-top:8px}

/* Settings category flow */
.settings-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-category-card{border-radius:16px!important}.v36-compact-settings-nav{display:flex!important;align-items:center;gap:8px;overflow:visible!important;padding:8px 0!important}.v36-compact-settings-nav .settings-group-label,.v36-compact-settings-nav .settings-tab:not(.active){display:none!important}.v36-compact-settings-nav .settings-home-link,.v36-compact-settings-nav .settings-tab.active{display:inline-flex!important;width:auto!important}.v36-photography-settings{margin-top:16px}.v36-room-photo{display:block;width:100%;height:160px;object-fit:cover;border-radius:16px;margin-bottom:12px}.hero-art.v36-real-centre-photo{background-image:linear-gradient(180deg,rgba(20,40,29,.03),rgba(20,40,29,.12)),var(--v36-photo)!important;background-size:cover!important;background-position:center!important;overflow:hidden}.hero-art.v36-real-centre-photo>*{display:none!important}

/* Reports */
.report-grid{gap:11px}.report-tile{border-radius:15px!important;box-shadow:0 5px 20px rgba(32,54,42,.05)}.report-workspace{border-radius:16px}.report-filter-grid{background:#f8faf8;padding:10px;border:1px solid var(--v36-border)}

/* Notification inbox */
.notification-page{max-width:980px}.notification-toolbar{position:sticky;top:76px;z-index:4;background:#f7f9f7;padding:8px 0}.notification-list{display:grid;gap:7px}.v36-inbox-row{border-radius:12px!important;box-shadow:none!important}.v36-inbox-row:not(.read){border-left:3px solid var(--primary)!important}

/* drawers for selected routine editors */
#staffEditor:not(.hidden),#learningActivityEditor:not(:empty),#resourceEditor:not(:empty){position:fixed;inset:68px 0 0 auto;width:min(620px,92vw);z-index:75;background:#fff;border-left:1px solid var(--v36-border);box-shadow:-18px 0 45px rgba(28,48,37,.14);overflow:auto;padding:16px;border-radius:0!important}#staffEditor:not(.hidden):before,#learningActivityEditor:not(:empty):before,#resourceEditor:not(:empty):before{content:'';position:fixed;inset:68px min(620px,92vw) 0 0;background:rgba(25,42,32,.14);z-index:-1}

/* accessibility / motion */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(prefers-contrast:more){.panel,.item-card,.data-table,.child-gallery-card,.child-record-card{border-width:2px}.muted,small{color:#4d5a53}.btn{border-width:2px}}

/* responsive */
@media(max-width:1180px){.global-search{max-width:220px;min-width:150px}.top-user{max-width:48px}.top-user-copy,.user-chevron{display:none}.operational-stats{grid-template-columns:repeat(3,1fr)}.settings-home-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:940px){.portal{display:block}.sidebar{position:fixed;z-index:90;left:-260px;width:250px;top:0;transition:left .18s ease;box-shadow:18px 0 45px rgba(0,0,0,.15)}.sidebar.open{left:0}.mobile-menu{display:inline-grid!important}.global-search{display:none!important}.quick-add-label{display:none}.quick-add-top{width:38px;min-width:38px;padding:0}.branch-switcher{max-width:155px}.branch-switcher select{max-width:110px}.v36-mobile-branch{display:grid}.app-topbar{padding:9px 12px}.app-view{padding:16px 14px 90px}.settings-home-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.app-topbar{height:60px;min-height:60px}.app-topbar h1{font-size:18px!important}.branch-switcher{display:none!important}.quick-add-top{display:none!important}.notif-btn,.top-user{display:flex!important;width:38px!important;min-width:38px!important}.topbar-left{min-width:0}.app-view{padding:12px 10px 84px}.operational-stats{grid-template-columns:repeat(2,1fr)}.operational-stats .stat{padding:10px}.v36-learning-dayparts{grid-template-columns:1fr}.settings-home-grid{grid-template-columns:1fr}.v36-dashboard-greeting>div{display:grid;gap:1px}.v36-dashboard-greeting b{font-size:16px}.child-profile-panel .profile-tabs{top:62px;overflow-x:auto;flex-wrap:nowrap}.v36-profile-identity{grid-template-columns:54px 1fr}.v36-profile-avatar{width:54px;height:54px}.ef-step-dots button b{display:none}.ef-step-dots{justify-content:center}.ef-step-dots button{width:34px;min-width:34px;padding:4px}.v36-enrol-progress{gap:5px}.v36-enrol-progress span{font-size:9px}.v36-enrol-progress small{font-size:9px}.kiosk-ops-grid{grid-template-columns:1fr!important}.v36-kiosk-op-group>div{grid-template-columns:repeat(2,1fr)}.v36-record-timeline>div{grid-template-columns:105px 1fr}.mobile-nav{z-index:80}.mobile-nav button{gap:2px}.mobile-nav button .v36-icon{display:grid}}
@media(max-width:430px){.top-actions{gap:3px}.notif-btn,.top-user{width:36px!important;min-width:36px!important}.mobile-menu{width:36px;height:36px}.v36-live-dot{display:none!important}.v36-profile-alert-strip span{width:100%}.v36-kiosk-op-group>div{grid-template-columns:1fr 1fr}}

@media print{.v36-dashboard-greeting,.v36-enrol-progress,.v36-permission-summary,.v36-permission-advanced>summary,.v36-csv-export{display:none!important}.v36-permission-advanced{border:0}.v36-permission-advanced-body{padding:0}}

/* V36.2 final consolidation refinements */
.v36-child-status-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:7px}.v36-child-status.sleep{background:#eee9ff;color:#5b4b86;border-color:#d8cff7}.v36-child-status.care{background:#edf7ff;color:#35627b;border-color:#d0e8f7}.v36-child-status.due{background:#fff5df;color:#855d19;border-color:#efd7a5}
.v36-activity-result{display:grid!important;text-align:left!important;gap:5px!important;width:100%!important}.v36-activity-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.v36-activity-result-head em{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--v36-muted);white-space:nowrap}.v36-activity-result>small{font-size:10px;line-height:1.4;color:var(--v36-muted)}.v36-activity-result-meta{display:flex;flex-wrap:wrap;gap:4px}.v36-activity-result-meta i{font-style:normal;font-size:8px;font-weight:850;padding:3px 5px;border-radius:999px;background:#f1f6f2;color:#466351}.v36-activity-safety{font-size:9px;color:#7b5b2e;background:#fff8e9;border-radius:8px;padding:4px 6px}.v36-use-activity{font-size:9px;color:var(--primary);margin-top:2px}
.v36-pgc-timeline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 11px;border:1px solid #ddd9ef;background:#faf9ff;border-radius:11px;margin-bottom:12px}.v36-pgc-timeline span{font-size:9px;font-weight:900;color:#5a527d;padding:4px 6px;background:#fff;border:1px solid #e5e1f2;border-radius:999px}.v36-pgc-timeline i{font-style:normal;color:#9892ad}
/* Right-side drawers for quick/routine editors; full learning/compliance forms remain full-page. */
#taskEditArea:not(:empty),#taskCompletionArea:not(:empty),#enrolmentDetail:not(:empty){position:fixed;inset:68px 0 0 auto;width:min(680px,94vw);z-index:76;background:#f9fbfa;border-left:1px solid var(--v36-border);box-shadow:-18px 0 45px rgba(28,48,37,.16);overflow:auto;padding:14px}#taskEditArea:not(:empty)>*,#taskCompletionArea:not(:empty)>*,#enrolmentDetail:not(:empty)>*{margin:0!important;border-radius:16px!important}
#editChildForm:not(.hidden){position:fixed;inset:68px 0 0 auto;width:min(600px,94vw);z-index:78;background:#fff;border-left:1px solid var(--v36-border);box-shadow:-18px 0 45px rgba(28,48,37,.16);overflow:auto;padding:18px;display:grid!important;align-content:start}
.v36-drawer-modal{align-items:stretch!important;justify-content:flex-end!important;padding:68px 0 0!important;background:rgba(24,39,30,.22)!important}.v36-drawer-modal .operational-record-editor{height:100%;max-height:none!important;width:min(720px,96vw);max-width:none!important;margin:0!important;border-radius:0!important;overflow:auto;padding:18px}
@media(max-width:680px){#taskEditArea:not(:empty),#taskCompletionArea:not(:empty),#enrolmentDetail:not(:empty),#editChildForm:not(.hidden){inset:60px 0 0 0;width:auto}.v36-drawer-modal{padding-top:60px!important}.v36-drawer-modal .operational-record-editor{width:100%}.v36-pgc-timeline i{display:none}}


/* V36.2 top-bar collision guard: move Branch into the account menu before controls can overlap. */
@media(max-width:1280px){
  .global-search{display:none!important}
  .quick-add-label{display:none!important}
  .quick-add-top{width:38px!important;min-width:38px!important;padding:0!important}
  .branch-switcher{max-width:180px!important}
  .branch-switcher select{max-width:125px!important;width:125px!important}
}
@media(max-width:1080px){
  .branch-switcher{display:none!important}
  .v36-mobile-branch{display:grid!important}
  .top-actions{flex:0 0 auto!important;max-width:none!important;overflow:visible!important}
  .app-topbar{overflow:visible!important}
}
@media(min-width:1081px){
  .user-menu .v36-mobile-branch{display:none!important}
}

/* V36.2 Programme Planning: Parent Questionnaire evidence within Whānau / tamariki voice. */
.programme-whanau-editor{display:grid;gap:10px;padding:14px;border:1px solid #b9cbbf;border-radius:14px;background:#f9fcfa}
.programme-whanau-editor>label{display:grid;gap:6px}
.parent-voice-evidence-picker{border:1px solid #9fb5a6;border-radius:12px;padding:10px 11px;background:#fff}
.parent-voice-evidence-picker legend{padding:0 6px;font-weight:900;color:#365e45}
.parent-voice-evidence-picker>p{margin:0 0 8px}
.parent-voice-response-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto;padding:2px}
.parent-voice-response-option{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;border:1px solid #d4e0d7;border-radius:11px;padding:9px!important;background:#fff;cursor:pointer}
.parent-voice-response-option:has(input:checked){border-color:#5f8a6e;background:#f0f8f2;box-shadow:0 0 0 2px rgba(63,111,82,.08)}
.parent-voice-response-option input{width:auto!important;min-height:0!important;margin-top:3px}
.parent-voice-response-option span{display:grid;gap:3px;min-width:0}
.parent-voice-response-option b{font-size:12px}
.parent-voice-response-option small{color:var(--muted)}
.parent-voice-response-option em{font-style:normal;font-size:10px;line-height:1.4;color:#52665a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.programme-whanau-read{grid-column:1/-1!important}
.programme-parent-voice-list{display:grid;gap:9px;margin-top:10px}
.programme-parent-voice{border:1px solid #cddbd1;border-radius:11px;background:#fbfdfb;padding:10px}
.programme-parent-voice header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:7px;border-bottom:1px solid #e5ece7}
.programme-parent-voice header>div{display:grid;gap:2px}
.programme-parent-voice header span,.programme-parent-voice header small{font-size:10px;color:var(--muted)}
.programme-parent-voice>div{display:grid;gap:7px;padding-top:7px}
.programme-parent-voice p{margin:0!important;padding:7px 8px;background:#fff;border-radius:8px}
.programme-parent-voice p strong,.programme-parent-voice p span{display:block}
.programme-parent-voice p strong{font-size:10px;color:#3d5e49;margin-bottom:3px}
.programme-parent-voice p span{font-size:11px;line-height:1.5}
@media(max-width:760px){.parent-voice-response-grid{grid-template-columns:1fr}}
@media print{
 .programme-parent-voice{break-inside:avoid;page-break-inside:avoid;border-color:#c7d1ca!important}
 .programme-parent-voice-list{display:block}
 .programme-parent-voice{margin-bottom:4mm}
}

/* V36.2 · Programme Planning checkbox links, individual focus and meeting categories */
.curriculum-check-group{border:1px solid #cfd9d2;border-radius:12px;padding:10px 12px;background:#fbfdfb;margin:8px 0}.curriculum-check-group legend{font-size:11px;font-weight:900;color:#355642;padding:0 5px}.curriculum-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.curriculum-check-option{display:grid!important;grid-template-columns:auto 1fr;gap:7px;align-items:start;padding:8px 9px;border:1px solid #cbd6ce;border-radius:9px;background:#fff;cursor:pointer;text-transform:none!important;letter-spacing:0!important;color:inherit!important}.curriculum-check-option:has(input:checked){border-color:#77a788;background:#edf7f0}.curriculum-check-option input{width:16px;height:16px;margin:2px 0 0}.curriculum-check-option b{display:block;font-size:10px}.curriculum-check-option small{display:block;font-size:9px;color:var(--muted);line-height:1.35;margin-top:2px}
.plan-focus-choice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #cfd9d2;border-radius:12px;padding:10px 12px;background:#f8fbf9}.plan-focus-choice legend{font-size:11px;font-weight:900;padding:0 5px}.plan-focus-choice .choice-pill{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;border:1px solid #cbd6ce;border-radius:999px;padding:7px 10px;background:#fff;cursor:pointer;text-transform:none!important;letter-spacing:0!important}.plan-focus-choice .choice-pill:has(input:checked){background:#eaf5ed;border-color:#79a889}.plan-focus-choice input{width:15px;height:15px;margin:0}.programme-plan-child-focus{display:flex;align-items:center;gap:12px;border:1px solid #c9d7cd;background:#f3f9f5;border-radius:14px;padding:12px;margin-bottom:14px}.programme-plan-child-focus img{width:58px;height:58px;border-radius:14px;object-fit:cover}.programme-plan-child-focus h2{margin:1px 0 2px;font-size:18px}.programme-plan-child-focus p{margin:0;color:var(--muted)}
.meeting-category-chip{--meeting-colour:#5b6f63;display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--meeting-colour) 45%,#fff);background:color-mix(in srgb,var(--meeting-colour) 12%,#fff);color:color-mix(in srgb,var(--meeting-colour) 78%,#17231b);border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.meeting-category-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--meeting-colour)}.meeting-category-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meeting-category-next-grid .next-meeting-card{margin:0}.meeting-category-manager{margin-bottom:14px}.meeting-category-manager>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:10px}.meeting-category-settings-list{display:grid;gap:10px;margin-top:12px}.meeting-category-form{border:1px solid #ccd8cf;border-radius:12px;background:#fbfdfb;padding:11px}.meeting-category-form-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}.meeting-category-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.meeting-category-settings-grid .span-2{grid-column:span 2}.meeting-category-settings-grid label{min-width:0}.meeting-category-add{border:1px dashed #9eb2a4;border-radius:12px;padding:11px;background:#f7faf8;margin-top:10px}.category-next-meeting .meeting-two-col{margin-top:10px}
@media(max-width:1050px){.meeting-category-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.curriculum-checkbox-grid,.meeting-category-next-grid,.meeting-category-settings-grid{grid-template-columns:1fr}.meeting-category-settings-grid .span-2{grid-column:auto}.plan-focus-choice{align-items:stretch}.plan-focus-choice .choice-pill{width:100%}.meeting-category-form-head{align-items:flex-start;flex-direction:column}.programme-plan-child-focus{align-items:flex-start}}
