/* Abercarn Webforms Studio / 2026 redesign. Loaded after app.css to preserve legacy forms. */
:root{
 --studio-navy:#111f37; --studio-deep:#0b1730; --studio-paper:#f6f7fb;
 --studio-white:#fff; --studio-soft:#f0f4f9; --studio-ink:#17263d;
 --studio-muted:#718098; --studio-border:#e4eaf1; --studio-teal:#19a69b;
 --studio-gold:#e9b55b; --studio-shadow:0 7px 30px rgba(27,48,78,.055);
 --studio-shadow-heavy:0 22px 70px rgba(14,32,55,.12);
 --ink:var(--studio-ink); --sub:var(--studio-muted); --line:var(--studio-border);
 --bg:var(--studio-paper); --surface:#fff; --shadow:var(--studio-shadow)
}
*{scroll-margin-top:90px}
html{scroll-behavior:smooth}
body.redesign-v1{background:var(--studio-paper);color:var(--studio-ink);font-size:14px;letter-spacing:-.005em}
body.redesign-v1 h1,body.redesign-v1 h2,body.redesign-v1 h3{letter-spacing:-.035em;line-height:1.24}
body.redesign-v1 h1{font-size:clamp(23px,2.6vw,32px)}
body.redesign-v1 h2{font-size:clamp(19px,1.85vw,24px)}
body.redesign-v1 h3{font-size:17px}
body.redesign-v1 p{color:#6a788e;line-height:1.7}
body.redesign-v1 a:focus-visible,body.redesign-v1 button:focus-visible,body.redesign-v1 input:focus-visible,body.redesign-v1 select:focus-visible,body.redesign-v1 textarea:focus-visible{outline:3px solid #54c5be;outline-offset:2px}
body.redesign-v1 button,body.redesign-v1 a{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}
body.redesign-v1 .button{border-radius:11px;padding:11px 17px;font-size:13px;font-weight:740;min-height:40px;box-shadow:0 4px 10px rgba(23,56,94,.065)}
body.redesign-v1 .button:hover{filter:none;transform:translateY(-1px);box-shadow:0 7px 18px rgba(23,56,94,.13)}
body.redesign-v1 .button.secondary{background:#fff;border:1px solid #dce4ee;box-shadow:0 1px 3px #172f4808}
body.redesign-v1 .button.danger{background:#a73546;border-color:#a73546}
body.redesign-v1 .button.small{padding:7px 10px;min-height:32px;font-size:11px}
body.redesign-v1 label{color:#293c55;font-weight:670;font-size:12px;line-height:1.4}
body.redesign-v1 input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=hidden]),body.redesign-v1 select,body.redesign-v1 textarea{border-radius:10px;border-color:#d8e1ec;background:#fff;min-height:42px;color:#21334e;box-shadow:0 1px 2px #091d3610}
body.redesign-v1 input::placeholder,body.redesign-v1 textarea::placeholder{color:#9aa9ba}
body.redesign-v1 input[type=color]{border:1px solid #dae4ef;min-height:42px;cursor:pointer}
body.redesign-v1 .eyebrow{font-size:10px;letter-spacing:.12em;color:#7689a2;font-weight:800}
body.redesign-v1 .panel,body.redesign-v1 .stat,body.redesign-v1 .form-panel{border:1px solid var(--studio-border);box-shadow:var(--studio-shadow);border-radius:17px}
body.redesign-v1 .panel{padding:26px}
body.redesign-v1 .flash{border-radius:10px}
body.redesign-v1 .status{border-radius:7px;font-weight:700;padding:6px 9px;font-size:11px;letter-spacing:.02em}
body.redesign-v1 .status.published,body.redesign-v1 .status.new{background:#e1f8ee;color:#147a50}

/* Staff application chrome */
body.admin .app-shell{display:grid;grid-template-columns:263px minmax(0,1fr);min-height:100vh}
body.admin .sidebar{height:100vh;min-height:0;position:sticky;top:0;overflow-y:auto;overflow-x:hidden;width:263px;min-width:0;padding:22px 15px 18px;background:linear-gradient(170deg,#152b48 0%,#101f36 56%,#0c192d 100%);border-right:1px solid #ffffff12;scrollbar-width:thin;scrollbar-color:#ffffff33 transparent}
body.admin .brand{display:flex;padding:5px 9px 25px;border-bottom:1px solid #ffffff1a;gap:12px;text-decoration:none;align-items:center}
body.admin .brand .school-logo{width:43px;height:43px;border-radius:11px;background:#fff;padding:3px}
body.admin .brand .brand-mark{background:#eebd6d;border-radius:12px;width:43px;height:43px;font-size:17px}
body.admin .brand strong{font-size:18px;line-height:1.18;color:#fff;font-weight:780;letter-spacing:-.05em}
body.admin .brand strong span{color:#f1ca84}
body.admin .brand small{display:block;letter-spacing:.13em;font-weight:780;color:#92a9c6;font-size:8px;margin-bottom:5px}
body.admin .sidebar-caption{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:9px;letter-spacing:.14em;color:#8195ae;margin:20px 12px 7px}
.sidebar-caption-dot{width:7px;height:7px;background:#50c9b1;border-radius:50%;box-shadow:0 0 0 3px #50c9b120}
body.admin .side-nav{display:block;padding:0 0 20px}
body.admin .side-nav .nav-section-title{color:#8298b0;font-size:9px;font-weight:800;letter-spacing:.15em;margin:25px 12px 10px}
body.admin .side-nav a{display:flex;position:relative;gap:13px;align-items:center;min-height:43px;padding:11px 12px;border-radius:9px;font-size:12.6px;color:#c3d1e2;font-weight:630;margin-bottom:3px;border:1px solid transparent}
body.admin .side-nav .nav-icon{width:19px;height:19px;flex:none;opacity:.83}
body.admin .side-nav a:hover{background:#ffffff10;color:#fff;transform:translateX(2px);border-color:#ffffff0c}
body.admin .side-nav a.active,body.admin .side-nav a[aria-current=page]{background:linear-gradient(90deg,#294665,#263d57a0);color:#fff;border-color:#d7e7ff13;box-shadow:inset 3px 0 0 #f0be6c}
body.admin .side-nav a.active .nav-icon{color:#f8cc86;opacity:1}
.sidebar-live-dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#f3bd74;box-shadow:0 0 0 3px #f3bd7429}
body.admin .sidebar-bottom{background:#ffffff0d;border:1px solid #ffffff18;border-radius:12px;padding:12px;margin-top:auto}
body.admin .sidebar-bottom .user-chip{margin-bottom:10px}
body.admin .sidebar-bottom .user-chip strong{font-size:12px;color:#fff;display:block}
body.admin .sidebar-bottom .avatar{background:#b4cde8;color:#133251;border-radius:10px}
body.admin .sidebar-bottom .logout{border:1px solid #ffffff23;background:#ffffff08;border-radius:9px;font-size:12px;color:#e9f0f8;display:flex;align-items:center;justify-content:space-between;padding:9px 11px}
body.admin .sidebar-bottom .logout:hover{background:#ffffff19}
body.admin .workspace{min-width:0;background:var(--studio-paper);display:flex;flex-direction:column}
body.admin .topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--studio-border);background:#ffffffef;backdrop-filter:blur(20px);padding:22px clamp(20px,3.15vw,49px);min-height:91px}
body.admin .topbar-left{display:flex;align-items:center;gap:16px;min-width:0}
body.admin .topbar h1{margin:3px 0 0;font-size:25px;letter-spacing:-.045em}
body.admin .topbar .eyebrow{margin:0;color:#899cb0;font-size:9px}
body.admin .topbar-actions{display:flex;align-items:center;gap:14px}
body.admin .topbar-preview{font-size:12px;color:#49637f;font-weight:710;white-space:nowrap}
body.admin .topbar-preview:hover{color:#162f55;text-decoration:none}
body.admin .topbar-new{padding:9px 15px;border-radius:10px;white-space:nowrap}
body.admin .mobile-menu-toggle{display:none;border:0;background:#f3f6fa;border-radius:9px;width:38px;height:38px;color:#223d5a}
body.admin .content{width:100%;max-width:1600px;flex:1;padding:33px clamp(20px,3.15vw,49px) 70px}
body.admin .app-footer{font-size:11px;padding:19px clamp(20px,3.15vw,49px);display:flex;justify-content:space-between;gap:12px;color:#90a0b3;background:transparent}
body.admin .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}
body.admin .stat{padding:22px 25px;background:linear-gradient(180deg,#fff,#fbfcfe);position:relative;overflow:hidden;min-height:136px}
body.admin .stat:before{content:'';display:block;position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary)}
body.admin .stat:nth-child(2):before{background:#18a995}
body.admin .stat:nth-child(3):before{background:#e6a944}
body.admin .stat span{font-size:12px;font-weight:660;color:#6a7c91;margin-bottom:12px}
body.admin .stat strong{font-size:35px;letter-spacing:-.055em;font-weight:760;color:#162a44}
body.admin .stat small{font-size:11px;color:#8697aa;margin-top:7px}
body.admin .data-table{min-width:650px}
body.admin .data-table thead{background:#f7f9fc}
body.admin .data-table th{letter-spacing:.12em;font-size:9px;color:#8b9bad;font-weight:800;padding:14px}
body.admin .data-table td{padding:16px 14px;border-color:#edf1f6}
body.admin .data-table tbody tr:hover{background:#fafcff}
body.admin .data-table .title-cell strong{font-size:13px;color:#223450}
body.admin .section-head{margin-top:28px}
body.admin .section-head h2{font-size:19px}
.workspace-intro,.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}
.workspace-intro h2,.dashboard-welcome h2{font-size:26px;margin:5px 0 8px;color:#172942}
.workspace-intro p,.dashboard-welcome p{margin:0;max-width:640px}
.dashboard-welcome{padding:29px 32px;background:linear-gradient(113deg,#193b61 0%,#143251 65%,#185268 120%);border-radius:17px;color:#fff;position:relative;overflow:hidden}
.dashboard-welcome:after{content:'';width:220px;height:220px;border:1px solid #ffffff21;border-radius:50%;position:absolute;right:-65px;top:-90px;box-shadow:0 0 0 45px #ffffff09,0 0 0 90px #ffffff06;pointer-events:none}
.dashboard-welcome h2,.dashboard-welcome p{color:#fff;position:relative;z-index:1}
.dashboard-welcome .eyebrow{color:#f2cb8e}
.dashboard-welcome p{color:#ccdae9}
.dashboard-welcome a{position:relative;z-index:1;border:1px solid #ffffff55;background:#ffffff18;color:#fff;white-space:nowrap;padding:11px 15px;border-radius:10px;font-weight:700;font-size:12px}
.dashboard-welcome a:hover{text-decoration:none;background:#ffffff29}

/* Public pages */
body.public{background:#f7f8fa}
body.public .public-shell{min-height:100vh;display:flex;flex-direction:column}
body.public .public-header{padding:17px clamp(20px,4vw,60px);background:#fff;border-bottom:1px solid #e6ecf2;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:86px}
body.public .public-brand{gap:12px;font-size:14px;font-weight:730;color:#1c314d;text-decoration:none;display:flex;align-items:center}
body.public .public-brand .school-logo,body.public .public-brand .brand-mark{width:49px;height:49px;object-fit:contain;border-radius:12px}
body.public .public-brand small{font-size:9px;display:block;color:#8195a8;letter-spacing:.17em;margin-top:4px}
body.public .public-brand strong{display:block;font-size:14px;line-height:1.2}
body.public .public-header-links{display:flex;gap:26px;align-items:center}
body.public .public-header-links a{font-size:12px;font-weight:740;color:#51647c;text-decoration:none}
body.public .public-header-links .staff-link{padding:11px 14px;border:1px solid #d9e3ef;border-radius:9px;color:#204060;background:#fff}
body.public .public-header-links a:hover{color:var(--primary)}
body.public .public-content{flex:1;max-width:1220px;width:100%;margin:0 auto;padding:34px 25px 58px}
body.public .public-content:has(.portal-hero){max-width:100%;padding:0 0 45px}
body.public .portal-hero{margin:0;min-height:340px;border-radius:0;background:radial-gradient(ellipse at 84% 37%,#26557799 0%,transparent 40%),linear-gradient(115deg,#122d4e 4%,#143b5c 62%,#1a5668 110%);box-shadow:none;padding:72px max(35px,calc((100vw - 1140px)/2)) 72px;color:#fff;position:relative;isolation:isolate;overflow:hidden}
body.public .portal-hero:before{content:'';pointer-events:none;position:absolute;right:7%;top:12%;width:260px;height:260px;border:1px solid #ffffff26;border-radius:50%;box-shadow:0 0 0 44px #ffffff08,0 0 0 90px #ffffff05}
body.public .portal-hero:after{content:'';position:absolute;bottom:0;left:max(35px,calc((100vw - 1140px)/2));width:65px;height:4px;background:#e6b969;border-radius:5px}
body.public .portal-eyebrow{color:#e5bc78;letter-spacing:.18em;font-weight:830;font-size:10px}
body.public .portal-hero h1{font-size:clamp(37px,5.5vw,61px);max-width:770px;margin:15px 0 19px;line-height:1.08;letter-spacing:-.062em;color:#fff}
body.public .portal-hero p{font-size:15px;line-height:1.83;max-width:650px;color:#dce8f3}
body.public .portal-links{margin-top:27px;display:flex;flex-wrap:wrap;gap:10px}
body.public .portal-links a{background:#ffffff16;color:white;border:1px solid #ffffff58;border-radius:10px;padding:12px 17px;font-weight:730;font-size:12px}
body.public .portal-links a:first-child{background:#fff;color:#19395c}
body.public .portal-links a:hover{text-decoration:none;background:#ffffff2d}
body.public .portal-section,body.public .portal-help,body.public .portal-custom{max-width:1140px;margin-left:auto;margin-right:auto}
body.public .portal-section{padding:42px 20px 13px}
body.public .portal-section-head{margin-bottom:22px;align-items:flex-end}
body.public .portal-section-head h2{font-size:28px;margin-top:7px;color:#172b46}
body.public .portal-count{background:#e9f3f6;color:#397283;font-weight:730;border-radius:8px;padding:9px 12px;font-size:11px}
body.public .portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.public .portal-card{position:relative;border:1px solid #e2e8f0;border-radius:17px;box-shadow:0 5px 22px #172d4a0b;min-height:221px;padding:27px 26px 25px;background:#fff;transition:transform .16s,box-shadow .16s,border-color .16s}
body.public .portal-card:hover{transform:translateY(-4px);box-shadow:0 15px 36px #172d4a16;border-color:#b3cdd6}
body.public .portal-card h2{font-size:17px;margin:19px 0 7px;color:#1d3655}
body.public .portal-card p{font-size:12px;line-height:1.68;color:#76859a;margin:0 0 20px}
body.public .portal-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#eaf4f6;font-size:22px}
body.public .portal-card:nth-child(3n+2) .portal-card-icon{background:#fef4e0}
body.public .portal-card:nth-child(3n) .portal-card-icon{background:#eef0ff}
body.public .portal-card-link{color:#1e557b;font-weight:770;font-size:12px;display:inline-flex;align-items:center;gap:6px}
body.public .portal-card-link:hover{text-decoration:none;gap:10px}
body.public .portal-help{margin-top:26px;margin-bottom:16px;border-radius:16px;padding:29px 32px;background:#eaf2f6;border:1px solid #d7e5ec}
body.public .portal-help h2{font-size:20px;color:#1c3c57}
body.public .portal-help p{color:#65798b;font-size:13px;margin:0}
body.public .portal-custom{background:white;margin-top:20px;border-radius:14px;border:1px solid var(--line);padding:25px}
body.public .public-footer{background:#12263f;color:#bfd0e1;padding:28px clamp(22px,5vw,70px);display:flex;justify-content:space-between;gap:20px;font-size:11px}
body.public .login-card{max-width:455px;margin:34px auto;padding:36px 40px;border:1px solid #dee6f1;box-shadow:0 18px 55px #12325014}
body.public .login-card .brand-mark{height:47px;width:47px;border-radius:12px;margin-bottom:20px}
body.public .login-card h1{font-size:28px;margin:7px 0 11px}
body.public .login-card p{font-size:13px}
body.public .form-panel{border:1px solid #dfe6f0;border-radius:17px;box-shadow:0 12px 42px #1532500c}
body.public .form-hero{background:linear-gradient(100deg,#f4f8fc,#fff);border-bottom:1px solid #e8edf4;padding:25px 28px}
body.public .form-hero h1{font-size:29px;line-height:1.3}
body.public .public-field .field-label{color:#253957;font-size:12px}
body.public .public-field input,body.public .public-field select,body.public .public-field textarea{min-height:44px}

/* Builder, share, email editor, forms tables */
body.admin .builder-grid{gap:16px}
body.admin .builder-left,body.admin .builder-right{background:#fff;border:1px solid #e0e7f1;border-radius:15px;padding:21px;box-shadow:0 3px 15px #1c34440a}
body.admin .builder-preview{background:linear-gradient(165deg,#f4f7fb,#eaf0f8);border:1px solid #dde6f0;border-radius:16px;padding:25px;box-shadow:inset 0 1px 3px #12325707;min-width:0}
body.admin .builder-preview h2{font-size:23px;color:#233a59}
body.admin #builder-fields{background:#fff;border:1px solid #e7edf4;border-radius:12px;padding:16px;margin:16px 0;min-height:140px;box-shadow:0 8px 22px #122f570b}
body.admin .builder-field{border-radius:11px;background:#fff;border-color:#dfe7f1;transition:border-color .15s,background-color .15s}
body.admin .builder-field:hover{border-color:#87aac4}
body.admin .builder-field.selected{background:#eef5fb;border-color:#6794b7}
body.admin .field-tool-list{gap:8px}
body.admin .field-tool{border-radius:9px;border-color:#dae5f0;background:#f9fbfe;color:#354d6a;font-weight:660}
body.admin .field-tool:hover{background:#eaf2fb}
body.admin .builder-layout-switcher{border-radius:13px;border-color:var(--studio-border);box-shadow:0 3px 10px #152e4905;background:#fff}
body.admin .builder-layout-option{border-radius:8px;color:#5d6f88}
body.admin .builder-layout-option[aria-pressed=true]{background:#e9f2fb;border-color:#9bc1dd;color:#204d78;box-shadow:0 0 0 2px #e6f4ff}
body.admin .email-block-row{border-radius:10px;border-color:#dfe7f0;padding:11px;background:#fff}
body.admin .email-block-row.selected{border-color:#78a6c3;background:#edf5fa}
body.admin #email-design-preview{background:repeating-linear-gradient(45deg,#eef2f7,#eef2f7 10px,#f5f7fb 10px,#f5f7fb 20px);border:1px solid #e0e8f0;padding:24px}
body.admin .share-nav{border-radius:14px;box-shadow:0 4px 20px #132e4909}
body.admin .share-nav a{font-size:12px;font-weight:650}
body.admin .share-nav a.active{background:#ecf4fa;border-color:#436d8c}

/* Maintenance editor */
.maintenance-editor-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:23px;align-items:start}
.maintenance-editor-controls{display:grid;gap:17px;min-width:0}
body.admin .maintenance-editor-panel{padding:25px}
.maintenance-editor-panel h3{font-size:18px;margin:7px 0 12px;color:#233957}
.maintenance-editor-panel p.muted{font-size:12px;margin:0 0 16px}
.maintenance-mode-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0 16px}
.maintenance-mode-item{display:block;border:1px solid #dce5ee;border-radius:11px;padding:12px;cursor:pointer;background:#fff;min-width:0}
.maintenance-mode-item:has(input:checked){background:#ebf6f8;border-color:#64aab7;box-shadow:0 0 0 2px #a8d7da50}
.maintenance-mode-item input{accent-color:#1c8d8c;vertical-align:middle;margin:0 0 9px}
.maintenance-mode-item strong{display:block;font-size:11px;color:#233950}
.maintenance-mode-item small{display:block;font-size:10px;line-height:1.5;color:#74859a;margin-top:5px}
#maintenance-schedule-fields[hidden]{display:none!important}
.maintenance-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.maintenance-template{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid #e0e7ef;border-radius:10px;background:#fff;color:#253b54;cursor:pointer;min-width:0}
.maintenance-template:hover{border-color:#a9c7d9;background:#f7fbfd}
.maintenance-template[aria-pressed=true]{background:#eef7f8;border-color:#75b2b8;box-shadow:inset 0 0 0 1px #75b2b8}
.maintenance-template-bullet{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:9px;background:#edf0f8;font-size:12px;font-weight:820;color:#476d8b}
.maintenance-template strong,.maintenance-template small{display:block;min-width:0}
.maintenance-template strong{font-size:11px;color:#263c59;line-height:1.4}
.maintenance-template small{font-size:10px;color:#8a9bad;line-height:1.5;margin-top:4px}
.maintenance-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.maintenance-check{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:610!important;color:#526881!important;background:#f7f9fc;border:1px solid #e5ebf1;border-radius:9px;padding:10px;margin:0}
.maintenance-check input{margin:0;width:16px;height:16px;accent-color:#167985}
.maintenance-savebar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:6px 3px 20px}
.maintenance-savebar span{color:#8594a5;font-size:11px}
.maintenance-preview-column{position:sticky;top:112px;background:#fff;border-radius:17px;padding:17px;border:1px solid #e0e8f1;box-shadow:var(--studio-shadow-heavy)}
.maintenance-preview-header,.maintenance-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 4px 14px}
.maintenance-preview-header strong{font-size:13px;display:block}
.maintenance-preview-header small{font-size:10px;color:#8797a9;display:block;margin-top:4px}
.maintenance-preview-switch{background:#f1f4f8;padding:3px;border-radius:9px;display:flex;gap:4px}
.maintenance-preview-switch button{border:0;border-radius:7px;background:transparent;font-size:10px;font-weight:750;padding:8px;color:#8793a5}
.maintenance-preview-switch button[aria-pressed=true]{color:#20456f;background:#fff;box-shadow:0 2px 5px #122d500f}
.maintenance-preview-surface{height:590px;background:#e8edf3;border-radius:12px;overflow:auto;padding:28px 14px;display:flex;align-items:flex-start;justify-content:center}
.maintenance-preview-surface.preview-narrow .maintenance-preview-page{max-width:280px}
.maintenance-preview-page{background:#f8f9fb;width:100%;max-width:660px;min-height:430px;border-radius:8px;padding:24px;transition:max-width .15s;box-shadow:0 10px 35px #14293b17}
.maintenance-preview-brand{display:flex;gap:9px;align-items:center;font-size:10px;color:#243c57;font-weight:800;letter-spacing:.06em}
.maintenance-preview-brand small{display:block;font-size:7px;letter-spacing:.13em;color:#8798a9;margin-top:3px}
.maintenance-preview-mark{width:31px;height:31px;display:grid;place-items:center;background:#193956;color:#fff;border-radius:8px;font-size:10px}
.maintenance-preview-card{background:#fff;border:1px solid #e5eaf1;border-radius:10px;padding:32px 29px;margin-top:45px;box-shadow:0 9px 40px #273b520b}
.maintenance-preview-card .maintenance-eyebrow{display:block;font-size:9px;color:#8798a7;font-weight:850;letter-spacing:.14em}
.maintenance-preview-star{display:block;margin-top:20px;font-size:24px;color:var(--maintenance-accent,#e4b861)}
.maintenance-preview-card h2{font-size:23px!important;line-height:1.2;margin:15px 0;color:#172d47}
.maintenance-preview-card p{font-size:11px;line-height:1.7;color:#6c7d8f}
.preview-extra{font-size:10px;color:#75869a;border-top:1px solid #edf0f5;margin-top:15px;padding-top:12px;line-height:1.7}
.maintenance-preview-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}
.maintenance-preview-actions span{background:#183f60;color:#fff;font-size:9px;font-weight:750;padding:10px 13px;border-radius:8px}
.maintenance-preview-actions small{color:#5b7690;font-size:9px}
.maintenance-preview-page footer{text-align:center;font-size:8px;color:#9eabb9;margin-top:27px}
.maintenance-preview-surface.preview-dark .maintenance-preview-page{background:#10253d}
.maintenance-preview-surface.preview-dark .maintenance-preview-card{background:#193450;border-color:#37516a}
.maintenance-preview-surface.preview-dark .maintenance-preview-card h2,.maintenance-preview-surface.preview-dark .maintenance-preview-brand{color:#fff}
.maintenance-preview-surface.preview-dark .maintenance-preview-card p{color:#c8d8e8}
.maintenance-preview-surface.preview-dark .maintenance-preview-actions span{background:#f1c37c;color:#1b324d}
.maintenance-preview-surface.preview-minimal .maintenance-preview-page{background:#fff}
.maintenance-preview-surface.preview-minimal .maintenance-preview-card{border:0;box-shadow:none}
.maintenance-preview-foot{padding:14px 4px 1px;align-items:center}
.maintenance-preview-foot p{font-size:10px;margin:0;max-width:210px}

/* Full public maintenance notice, intentionally independent of admin chrome */
body.maintenance-screen{min-height:100vh;margin:0;background:#f4f7fa;color:#172b42;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.maintenance-landing{min-height:100vh;max-width:1160px;margin:0 auto;padding:42px 36px 30px;display:flex;flex-direction:column}
.maintenance-landing-top{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:820;letter-spacing:.075em;color:#17344f}
.maintenance-landing-top small{display:block;color:#91a2b1;margin-top:4px;font-size:9px;letter-spacing:.19em}
.maintenance-logo{width:53px;height:53px;object-fit:contain;display:block}
.maintenance-logo-fallback{width:50px;height:50px;display:grid;place-items:center;border-radius:12px;background:#1c4867;color:#fff;font-weight:830;font-size:19px}
.maintenance-brand-dot{width:16px;height:16px;border-radius:50%;background:var(--maintenance-accent);display:inline-block}
.maintenance-landing-card{margin:auto;max-width:670px;width:100%;background:#fff;border:1px solid #e1e8f0;border-radius:22px;padding:clamp(28px,5vw,65px);box-shadow:0 26px 80px #223f5811}
.maintenance-eyebrow{letter-spacing:.17em;font-size:10px;color:#718598;font-weight:800}
.maintenance-signal{display:grid;place-items:center;width:57px;height:57px;background:#fdf2d8;border-radius:16px;color:#9b742e;margin:28px 0 22px;font-size:29px}
.maintenance-landing-card h1{font-size:clamp(30px,4.7vw,48px);line-height:1.12;letter-spacing:-.055em;color:#17324f;margin:0 0 22px}
.maintenance-lead{font-size:15px;line-height:1.85;color:#60738a;margin-bottom:14px}
.maintenance-detail{font-size:13px;line-height:1.8;color:#6e8092}
.maintenance-eta{padding:13px 15px;border-radius:9px;background:#f4f8fa;color:#667b8d;margin:23px 0;font-size:12px}
.maintenance-eta strong{color:#274964}
.maintenance-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-top:27px}
.maintenance-main-link{border:1px solid #153d60;padding:13px 19px;border-radius:10px;background:#153d60;color:#fff;font-size:12px;font-weight:750;text-decoration:none}
.maintenance-main-link:hover{background:#1c527f}
.maintenance-contact{font-size:12px;color:#406781;text-decoration:none;font-weight:680}
.maintenance-landing-footer{text-align:center;padding-top:30px;font-size:11px;color:#95a4b5}
body.maintenance-style-dark{background:#102339}
body.maintenance-style-dark .maintenance-landing-top{color:#fff}
body.maintenance-style-dark .maintenance-landing-card{background:#173450;border-color:#35526c}
body.maintenance-style-dark .maintenance-landing-card h1{color:#fff}
body.maintenance-style-dark .maintenance-lead,body.maintenance-style-dark .maintenance-detail{color:#c8d8e8}
body.maintenance-style-dark .maintenance-main-link{background:#ebbd74;border-color:#ebbd74;color:#17314a}
body.maintenance-style-dark .maintenance-contact{color:#c2d5eb}
body.maintenance-style-minimal{background:#fff}
body.maintenance-style-minimal .maintenance-landing-card{border:0;box-shadow:none}

@media(max-width:1280px){
 .maintenance-editor-layout{grid-template-columns:1fr}
 .maintenance-preview-column{position:static;max-width:100%}
 .maintenance-preview-surface{height:490px}
 body.admin .builder-grid{gap:12px}
}
@media(max-width:1050px){
 body.admin .app-shell{grid-template-columns:224px minmax(0,1fr)}
 body.admin .sidebar{width:224px;padding-left:10px;padding-right:10px}
 body.admin .topbar-preview{display:none}
 body.public .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.admin .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 body.admin .app-shell{display:block}
 body.admin .sidebar{position:fixed;z-index:80;left:0;top:0;height:100dvh;width:min(290px,85vw);transform:translateX(-101%);transition:transform .18s ease;box-shadow:0 0 0 0 transparent}
 body.admin.studio-nav-open .sidebar{transform:none;box-shadow:10px 0 0 200vw #071b356e}
 body.admin .mobile-menu-toggle{display:grid;place-items:center}
 body.admin .side-nav{display:block;overflow-x:visible}
 body.admin .sidebar-bottom{display:block}
 body.admin .topbar{padding:16px 18px;min-height:76px}
 body.admin .topbar h1{font-size:20px}
 body.admin .topbar .eyebrow{font-size:8px}
 body.admin .topbar-new{padding:8px 10px;font-size:11px}
 body.admin .content{padding:21px 14px 44px}
 body.admin .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 body.admin .stat{padding:18px;min-height:118px}
 body.admin .stat strong{font-size:30px}
 body.admin .app-footer{padding:16px;display:block}
 body.admin .app-footer span{display:block;margin-bottom:4px}
 .dashboard-welcome,.workspace-intro{display:block;padding:22px 20px}
 .workspace-intro{padding:0}
 .dashboard-welcome a{display:inline-block;margin-top:18px}
 body.public .public-header{padding:15px 18px;min-height:70px}
 body.public .public-header-links{gap:10px}
 body.public .public-header-links a:not(.staff-link){display:none}
 body.public .public-brand .school-logo,body.public .public-brand .brand-mark{width:38px;height:38px}
 body.public .public-brand strong{font-size:11px}
 body.public .public-brand small{font-size:8px}
 body.public .public-header-links .staff-link{font-size:10px;padding:9px}
 body.public .portal-hero{padding:45px 22px 51px;min-height:0}
 body.public .portal-hero:before{right:-130px}
 body.public .portal-hero:after{left:22px}
 body.public .portal-hero h1{font-size:38px}
 body.public .portal-hero p{font-size:13px}
 body.public .portal-section{padding:34px 15px 6px}
 body.public .portal-grid{grid-template-columns:1fr;gap:11px}
 body.public .portal-card{min-height:0;padding:23px}
 body.public .portal-card h2{margin-top:14px}
 body.public .portal-help{margin:22px 15px;border-radius:14px;padding:23px}
 body.public .public-footer{display:block;padding:25px 20px}
 body.public .public-footer span{display:block;margin-bottom:8px}
 body.public .login-card{padding:28px 22px}
 .maintenance-mode-cards{grid-template-columns:1fr}
 .maintenance-template-list{grid-template-columns:1fr}
 .maintenance-options{grid-template-columns:1fr}
 .maintenance-editor-layout{display:block}
 .maintenance-preview-column{margin-top:22px;padding:11px}
 .maintenance-preview-surface{height:500px;padding:13px 7px}
 .maintenance-preview-card{padding:23px 19px}
 .maintenance-landing{padding:20px}
 .maintenance-landing-card{border-radius:15px;margin:60px auto;padding:29px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Five-stage workflow switcher, specific to the form editor. */
.form-workflow-tabs{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:6px;background:#fff;border:1px solid #e1e7ef;border-radius:13px;margin:8px 0 16px;box-shadow:0 2px 12px #19345208}
.form-workflow-tabs a{font-size:11px;font-weight:800;color:#8ca0b3;display:flex;gap:8px;padding:11px 13px;border-radius:9px;align-items:center}
.form-workflow-tabs a span{color:#506981;font-weight:700}
.form-workflow-tabs a.active{background:#e8f2f9;color:#45759b;text-decoration:none}
.form-workflow-tabs a.active span{color:#194f77}
.form-workflow-tabs a:hover{background:#f5f8fb;text-decoration:none}
@media(max-width:760px){.form-workflow-tabs{flex-wrap:nowrap;overflow-x:auto}.form-workflow-tabs a{white-space:nowrap}}

/* Embedded forms: intentionally transparent and borderless when enabled per form.
   Higher specificity overrides legacy app.css and the redesign panel rules. */
body.redesign-v1.embed.embed-transparent,
body.redesign-v1.embed.embed-transparent .embed-content,
body.redesign-v1.embed.embed-transparent .embed-content > .panel,
body.redesign-v1.embed.embed-transparent .embed-content > .form-panel,
body.redesign-v1.embed.embed-transparent .form-hero {
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.redesign-v1.embed.embed-transparent {min-height:0!important;margin:0!important;padding:0!important;}
body.redesign-v1.embed.embed-transparent .embed-content {
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.redesign-v1.embed.embed-transparent .embed-content > .panel,
body.redesign-v1.embed.embed-transparent .embed-content > .form-panel {
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
}
body.redesign-v1.embed.embed-transparent .form-hero {
  border:0!important;
  border-radius:0!important;
  padding:0 0 14px!important;
  margin:0 0 14px!important;
}
body.redesign-v1.embed.embed-transparent #public-form {background:transparent!important;border:0!important;box-shadow:none!important;}
/* Staff editor setting, not a styling control for the public site. */
body.admin .embed-background-option {display:block;padding:14px 16px;border:1px solid #d7e3ee;border-radius:11px;background:#f6fafd;margin:13px 0;}
body.admin .embed-background-option input[type=checkbox] {vertical-align:middle;margin-right:8px;accent-color:#166b9c;}
body.admin .embed-background-option small {display:block;padding-left:26px;margin-top:7px;color:#667c90;font-size:11px;line-height:1.5;font-weight:400;}
@media(max-width:600px){body.redesign-v1.embed.embed-transparent .embed-content{padding:0!important}body.redesign-v1.embed.embed-transparent .form-hero{padding-top:0!important}}


/* Form builder layout and field controls */
.builder-grid{display:grid!important;grid-template-columns:minmax(190px,235px) minmax(0,1fr) minmax(240px,285px)!important;gap:14px!important;align-items:start}
.builder-left,.builder-preview,.builder-right{min-width:0;border-radius:16px}
.builder-left,.builder-right{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.builder-left,.builder-right{background:#fff;border:1px solid #e1e8f0;box-shadow:0 8px 28px rgba(23,38,61,.06)}
.builder-preview{background:#fff;border:1px solid #e1e8f0}
.field-actions .edit-field{min-width:56px}
.builder-inline-properties{margin-top:14px;padding:14px;border:1px solid #e1e8f0;background:#f7f9fc;border-radius:12px}
.property-tabs{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid #dbe3ee;margin:0 0 12px}
.property-tabs [role=tab]{padding:8px 11px;border:0;border-bottom:2px solid transparent;background:transparent;color:#52637a;font:inherit}
.property-tabs [aria-selected=true]{color:#173f70;border-bottom-color:#173f70;font-weight:700}
.property-tab-panel[hidden]{display:none!important}
.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:#f1f5fa;border:1px solid #dbe3ee;border-radius:9px 9px 0 0}
.rich-toolbar-button{min-width:34px;padding:6px;border:1px solid transparent;background:#fff;border-radius:6px;cursor:pointer}
.rich-toolbar-button:hover{border-color:#cbd5e1;background:#fff}
.rich-text-editor{min-height:92px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:0 0 9px 9px;background:#fff}
.rich-text-editor:focus{outline:2px solid #93c5fd;outline-offset:1px}
.choice-group--list{display:grid;grid-template-columns:1fr;gap:8px}
.choice-group--inline{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:1080px){.builder-grid{grid-template-columns:minmax(170px,220px) minmax(0,1fr)!important}.builder-right{position:static;grid-column:1/-1;max-height:none}}
@media(max-width:680px){.builder-grid{grid-template-columns:minmax(0,1fr)!important}.builder-left,.builder-right{position:static;max-height:none}.builder-left{order:1}.builder-preview{order:2}.builder-right{order:3}}

/* Canvas first layout */
.builder-grid[data-builder-layout="canvas"]{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;align-items:start}
.builder-grid[data-builder-layout="canvas"] .builder-left,.builder-grid[data-builder-layout="canvas"] .builder-preview,.builder-grid[data-builder-layout="canvas"] .builder-right{grid-column:1;position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;width:auto!important;min-width:0}
.builder-grid[data-builder-layout="canvas"] .builder-left{order:1}
.builder-grid[data-builder-layout="canvas"] .builder-preview{order:2}
.builder-grid[data-builder-layout="canvas"] .builder-right{order:3}
.builder-grid .builder-field{grid-template-columns:34px minmax(0,1fr)!important;align-items:start;min-width:0}
.builder-grid .builder-field .builder-field-body{grid-column:2;grid-row:1;min-width:0;width:100%;overflow-wrap:anywhere}
.builder-grid .builder-field .field-actions{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;min-width:0}
.builder-grid .builder-field .builder-inline-properties{grid-column:1/-1;width:100%;min-width:0}
.builder-grid .builder-field .mini-input{width:min(100%,460px)!important;max-width:100%;min-width:0}
.builder-grid .builder-layout-switcher{max-width:none}
@media(max-width:1080px){.builder-grid[data-builder-layout="canvas"]{grid-template-columns:minmax(0,1fr)!important}.builder-grid[data-builder-layout="canvas"] .builder-left,.builder-grid[data-builder-layout="canvas"] .builder-preview,.builder-grid[data-builder-layout="canvas"] .builder-right{position:static!important;max-height:none!important}}
@media(max-width:680px){.builder-grid[data-builder-layout="canvas"]{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.builder-grid[data-builder-layout="canvas"] .builder-left{padding:14px!important}.builder-grid .builder-field{grid-template-columns:28px minmax(0,1fr)!important;padding:12px!important}.builder-grid .builder-field .field-actions{justify-content:flex-start}.builder-grid .builder-field .field-actions button{min-height:36px;min-width:36px}.builder-grid .builder-field .builder-field-body .mini-input{min-height:38px}}

/* Keep field labels readable while the editor opens below the field */
.builder-grid .builder-field{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;align-items:start;min-width:0}
.builder-grid .builder-field>.drag{grid-column:1;grid-row:1;align-self:start}
.builder-grid .builder-field>.builder-field-body{grid-column:2;grid-row:1;min-width:0;width:100%;overflow-wrap:anywhere}
.builder-grid .builder-field>.field-actions{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;min-width:0}
.builder-grid .builder-field>.builder-inline-editor{grid-column:1/-1!important;grid-row:3!important;display:block!important;width:100%!important;max-width:100%;min-width:0!important}
.builder-grid .builder-field>.builder-inline-editor[hidden]{display:none!important}
.builder-grid .builder-field>.builder-inline-editor .builder-inline-properties{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
.builder-grid .builder-field-body .mini-input{width:min(100%,460px)!important;max-width:100%;min-width:0}
@media(max-width:680px){.builder-grid .builder-field{grid-template-columns:28px minmax(0,1fr)!important;padding:12px!important}.builder-grid .builder-field>.field-actions{justify-content:flex-start}.builder-grid .builder-field>.field-actions button{min-height:36px;min-width:36px}}

/* Forms Studio global field focus policy: neutral grey, never green/teal.
   Applies to existing and newly created forms, including embedded forms. */
:where(body, #public-form, .public-shell, .form-panel) :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select, [contenteditable="true"]):is(:focus, :focus-visible),
#public-form .public-field :is(input, textarea, select):is(:focus, :focus-visible),
.public-field :is(input, textarea, select):is(:focus, :focus-visible) {
  border-color: #aab5c4 !important;
  outline: 2px solid #aab5c4 !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}
