:root{
  --bg:#f4f7fb; --card:#fff; --ink:#111827; --muted:#65738a; --line:#dfe6f0;
  --blue:#1667e8; --navy:#092a74; --purple:#6d39d8; --green:#16a34a; --amber:#f59e0b; --red:#dc2626;
  --shadow:0 16px 40px rgba(15,23,42,.08); --radius:22px; --safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit} button{cursor:pointer;border:0}.hidden{display:none!important}.muted{color:var(--muted)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:284px 1fr}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 16px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.logo{width:48px;height:48px;border-radius:17px;background:linear-gradient(135deg,var(--navy),var(--purple));display:grid;place-items:center;color:#fff;font-weight:950}.brand h1{font-size:25px;margin:0;color:var(--navy)}.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}.nav-title{font-size:12px;color:var(--muted);font-weight:900;margin:20px 10px 8px}.nav{display:grid;gap:4px}.nav-btn{width:100%;height:48px;border-radius:15px;background:transparent;color:#24324a;text-align:left;padding:0 14px;font-weight:800}.nav-btn.active,.nav-btn:hover{background:#eef4ff;color:var(--blue)}
.main{padding:22px;max-width:1420px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar h2{font-size:27px;margin:0}.topbar p{margin:4px 0 0;color:var(--muted)}.role-switch{display:flex;gap:8px;background:#fff;border:1px solid var(--line);padding:6px;border-radius:16px;flex-wrap:wrap}.role-switch button{height:42px;padding:0 13px;border-radius:12px;background:transparent;font-weight:850}.role-switch button.active{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.stat b{font-size:28px;color:var(--blue)}.stat span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.layout{grid-template-columns:1.1fr .9fr}.layout-wide{grid-template-columns:1fr 1fr}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.section-title{margin:0 0 14px;font-size:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.section-head .section-title{margin:0}.pill{padding:7px 10px;border-radius:999px;background:#eef4ff;color:var(--blue);font-size:12px;font-weight:900;white-space:nowrap}.pill.green{background:#eaf8ef;color:#15803d}.pill.amber{background:#fff7df;color:#92400e}.pill.red{background:#ffecec;color:#b91c1c}
.btn{height:48px;border-radius:15px;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-weight:900;padding:0 16px;box-shadow:0 12px 24px rgba(82,70,220,.22)}.btn.block{width:100%}.btn.light{background:#eef4ff;color:var(--blue);box-shadow:none}.btn.green{background:linear-gradient(135deg,#16a34a,#22c55e)}.btn.danger{background:#fff1f1;color:#b91c1c;box-shadow:none}.form{display:grid;gap:13px}.field label{display:block;font-size:13px;font-weight:900;margin:0 0 7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:0 12px;background:#fff}.field input,.field select{height:48px}.field textarea{min-height:92px;padding-top:12px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.search{height:50px;border:1px solid var(--line);border-radius:16px;padding:0 14px;background:#fff;width:100%;margin-bottom:12px}
.item{border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:11px;background:#fff}.item-head{display:flex;gap:12px;align-items:flex-start}.avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple));color:white;display:grid;place-items:center;font-weight:950;flex:none}.item-main{flex:1;min-width:0}.item-title{font-weight:950;font-size:17px}.item-meta{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.45}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mini{height:36px;border-radius:12px;background:#eef4ff;color:var(--blue);font-weight:900;padding:0 12px}.mini.gray{background:#f3f6fa;color:#334155}.mini.red{background:#fff1f1;color:#b91c1c}.progress-row{display:flex;justify-content:space-between;margin:12px 0 7px;font-size:13px;font-weight:850}.progress{height:10px;background:#e7edf5;border-radius:999px;overflow:hidden}.bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--purple))}.bar.green{background:linear-gradient(90deg,#16a34a,#22c55e)}
.table-list{display:grid;gap:10px}.row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff}.row small{color:var(--muted)}.attendance-grid{display:grid;gap:10px}.att-row{display:grid;grid-template-columns:1fr 160px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.status-select{height:42px;border:1px solid var(--line);border-radius:12px;padding:0 10px;background:#fff}.note{border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff;margin-bottom:10px}.note small{color:var(--muted)}.chat{height:390px;overflow:auto;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:10px}.msg{max-width:82%;padding:10px 12px;border-radius:16px;background:#fff;border:1px solid var(--line)}.msg.me{align-self:flex-end;background:#eaf2ff;border-color:#cfe1ff}.chat-input{display:flex;gap:8px;margin-top:10px}.chat-input input{flex:1;height:48px;border:1px solid var(--line);border-radius:14px;padding:0 12px}.chat-input button{width:102px;border-radius:14px;background:var(--blue);color:#fff;font-weight:900}.alert{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:20;max-width:620px;width:calc(100% - 28px);background:#fff;border:2px solid var(--blue);color:#10213d;border-radius:18px;padding:15px;box-shadow:var(--shadow);font-weight:900}.footer-space{height:0}
@media(max-width:980px){.app-shell{display:block}.sidebar{height:auto;position:relative;border-right:0;border-bottom:1px solid var(--line);padding:14px}.brand{margin-bottom:10px}.brand h1{font-size:22px}.nav-title{display:none}.nav{display:flex;overflow:auto;gap:7px;padding-bottom:2px}.nav-btn{white-space:nowrap;min-width:max-content;height:42px}.main{padding:14px}.topbar{display:block}.role-switch{margin-top:12px}.stats{grid-template-columns:repeat(2,1fr)}.layout,.layout-wide{grid-template-columns:1fr}.three{grid-template-columns:1fr}.topbar h2{font-size:22px}.footer-space{height:76px}.sidebar{padding-bottom:10px}}
@media(max-width:620px){body{padding-bottom:calc(72px + var(--safe-bottom))}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:15;border-top:1px solid var(--line);border-bottom:0;padding:7px 8px calc(7px + var(--safe-bottom));box-shadow:0 -12px 30px rgba(15,23,42,.08)}.brand{display:none}.nav{justify-content:space-between}.nav-btn{font-size:11px;min-width:0;flex:1;height:50px;text-align:center;padding:0 4px}.main{padding:12px}.stats{grid-template-columns:1fr}.card{padding:14px}.two{grid-template-columns:1fr}.item-head{align-items:flex-start}.avatar{width:40px;height:40px}.att-row{grid-template-columns:1fr}.role-switch button{flex:1}.chat-input button{width:86px}.alert{top:10px}.section-head{align-items:flex-start;flex-direction:column}.row{grid-template-columns:1fr}.footer-space{height:0}}

/* v2.2 additions */
table{width:100%;border-collapse:separate;border-spacing:0 8px;margin-top:10px}th{text-align:left;font-size:12px;color:var(--muted);font-weight:900;padding:4px 10px}td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;vertical-align:top}td:first-child{border-left:1px solid var(--line);border-radius:14px 0 0 14px}td:last-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}td small{display:block;color:var(--muted);margin-top:3px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end}.form-row input,.form-row select,.filters input,.filters select,.role-switch select,td input,td select{height:42px;border:1px solid var(--line);border-radius:12px;padding:0 10px;background:#fff;color:var(--text)}button{border:0;background:var(--blue);color:#fff;border-radius:12px;padding:10px 13px;font-weight:900;cursor:pointer}td button{margin:2px;padding:8px 10px}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.filters label{font-size:12px;color:var(--muted);font-weight:900;display:flex;gap:6px;align-items:center}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:14px}.stats b{font-size:34px;display:block}.stats span{color:var(--muted);font-weight:800}.package{border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:14px;margin:12px 0}.package h4{margin:0 0 4px}.package p{color:var(--muted);margin:6px 0 10px}.teacher-a td{background:#eef6ff}.teacher-b td{background:#f2fff1}.teacher-c td{background:#fff7eb}ul{margin-top:6px}.nav button{width:100%}
@media(max-width:780px){.sidebar{display:none}.main{padding:12px}.topbar{display:block}.role-switch{margin-top:10px}.filters{display:grid}.form-row{grid-template-columns:1fr}table{font-size:13px}th:nth-child(n+4),td:nth-child(n+4){display:none}}

.package summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}.package summary::-webkit-details-marker{display:none}.package summary strong{font-size:18px}.package summary span{color:var(--muted);font-weight:800}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.details-grid div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}.details-grid b{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.details-grid span{font-weight:800}

/* v2.4 FlexiPack status / validation */
label{font-size:12px;color:var(--muted);font-weight:900;display:grid;gap:5px}.required{border-color:var(--red)!important;background:#fff5f5!important}.missing{color:var(--red);font-weight:950}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:950;margin-right:7px}.status.active{background:#eef4ff;color:var(--blue)}.status.inactive{background:#f1f5f9;color:#64748b}.status.complete{background:#fff7df;color:#92400e}.status.done{background:#eaf8ef;color:#15803d}.package[open]{background:#f8fafc}.package summary strong::after{content:'▾';font-size:13px;margin-left:8px;color:var(--muted)}.package:not([open]) summary strong::after{content:'▸'}

/* v2.6 FlexiPack form corrections */
.compact-form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.compact-form label{min-width:0}.compact-form input,.compact-form select{height:38px;font-size:14px;padding:0 9px}.compact-form button{height:40px;padding:0 12px;align-self:end}.flexi-entry{margin-top:8px;grid-template-columns:minmax(140px,1.1fr) 120px 105px minmax(140px,1fr) 120px 130px 170px}.admin-entry-title{margin:14px 0 6px;font-size:12px;color:var(--muted);font-weight:950;text-transform:uppercase;letter-spacing:.02em}.accordion-hint{font-style:normal;color:var(--blue);font-size:12px;font-weight:950;white-space:nowrap;background:#eef4ff;border-radius:999px;padding:5px 8px}.package summary{position:relative}.package[open] .accordion-hint{background:#fff1f1;color:#b91c1c}.secondary{background:#eef4ff!important;color:var(--blue)!important}.missing{color:var(--red);font-weight:950}.missing:before{content:'⚠ ';}
@media(max-width:900px){.compact-form,.flexi-entry{grid-template-columns:1fr}.accordion-hint{display:inline-flex}}

/* v2.7 FlexiPacks grouped by teacher/student */
.teacher-group,.student-group{border:1px solid var(--line);border-radius:18px;margin:12px 0;padding:12px;background:#fff}.teacher-group>summary,.student-group>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-group>summary::-webkit-details-marker,.student-group>summary::-webkit-details-marker{display:none}.teacher-group>summary strong,.student-group>summary strong{font-size:18px}.teacher-group>summary span,.student-group>summary span{color:var(--muted);font-weight:850}.teacher-group[open]{background:#f8fbff}.student-group[open]{background:#fbfdff}.inline-filter{margin:8px 0 14px}.package .package{margin-left:0}.student-group .package{margin-left:0;background:#f8fafc}.teacher-group>summary strong:before{content:'👨‍🏫 ';}.student-group>summary strong:before{content:'👤 ';}

/* v2.9 FlexiPack payment/date UI fixes */
.paid-switch{display:inline-flex!important;align-items:center;justify-content:center;gap:0;width:38px;height:20px;border-radius:999px;padding:0!important;margin:0;cursor:pointer;background:transparent!important}
.paid-switch input{display:none}.paid-switch span{position:relative;display:block;width:38px;height:20px;border-radius:999px;background:#ef4444;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:.18s}.paid-switch span:after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.25);transition:.18s}.paid-switch input:checked+span{background:#22c55e}.paid-switch input:checked+span:after{left:21px}.lesson-comment{min-width:180px;width:100%;height:38px}.package table th:nth-child(5),.package table td:nth-child(5){text-align:center;min-width:78px}.package table th:nth-child(4),.package table td:nth-child(4){min-width:190px}.package table th:nth-child(6),.package table td:nth-child(6){min-width:110px}.small-btn{padding:7px 9px;font-size:12px}.compact-form input,.compact-form select{min-width:0}.form-row.compact-form{align-items:end}.details-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
@media(max-width:780px){.package table th:nth-child(n+4),.package table td:nth-child(n+4){display:table-cell}.package table{font-size:12px}.lesson-comment{min-width:120px}.paid-switch{width:36px}.paid-switch span{width:36px}.paid-switch input:checked+span:after{left:19px}}

.paid-cell{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.paid-cell small{display:inline;color:var(--muted);font-size:11px;margin:0}.paid-cell.locked{gap:5px}.muted{color:var(--muted);font-size:12px}

.paid-switch.readonly{opacity:.75;cursor:not-allowed}.paid-switch.readonly span{cursor:not-allowed}

/* v2.13 New FlexiPack collapsed green button */
.success-btn{background:#22c55e!important;color:#fff!important;border-radius:14px;padding:12px 18px;font-weight:950;box-shadow:0 8px 18px rgba(34,197,94,.18)}
.success-btn:hover{filter:brightness(.96)}
.new-flexi-form{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.new-flexi-form label{font-size:11px}
.new-flexi-form input,.new-flexi-form select{height:36px;font-size:13px}
.package-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 8px}.danger-btn{height:40px;border-radius:12px;background:#fff1f1;color:#b91c1c;font-weight:900;padding:0 12px}.danger-btn:disabled{opacity:.45;cursor:not-allowed}.edit-flexi-box{border:1px dashed var(--line);border-radius:16px;padding:10px;margin:8px 0 12px;background:#fbfdff}.edit-flexi-form{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.edit-flexi-form label{font-size:12px;color:var(--muted);font-weight:950}.edit-flexi-form label input,.edit-flexi-form label select{margin-top:4px}

/* v2.15 Flexi UI cleanup */
.flexi-card{background:linear-gradient(180deg,#ffffff,#f8fbff);border-radius:22px;padding:0;overflow:hidden;border-color:#dbe7f5}
.flexi-card>summary{padding:16px 18px;background:#fff;border-bottom:1px solid transparent}
.flexi-card[open]>summary{border-bottom-color:var(--line);background:#f7fbff}
.package-title{display:grid;gap:3px;min-width:0}.package-title strong{font-size:17px}.package-title small{color:var(--muted);font-weight:850}.flexi-card>summary>span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.flexi-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 18px 12px}.flexi-info-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.flexi-info-card .mini-label{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:950;margin-bottom:4px}.flexi-info-card strong{display:block;font-size:16px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flexi-info-card span{display:block;margin-top:4px;color:var(--muted);font-size:13px;font-weight:800}.primary-info{border-color:#bfdbfe;background:#f8fbff}.warning-card{border-color:#fecaca;background:#fff7f7}.warning-card strong,.warning-card span{color:#b91c1c}
.progress-box{margin:0 18px 14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px}.progress-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.progress-top span{color:var(--muted);font-weight:900}.progress-track{height:14px;background:#e5edf7;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:999px;transition:width .25s ease}.progress-note{font-size:12px;color:var(--muted);font-weight:850;margin-top:7px}.flexi-secondary-details{margin:0 18px 14px}.lessons-panel{margin:0 18px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;overflow:auto}.lessons-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.lessons-head h4{margin:0;font-size:16px}.lessons-head span{color:var(--muted);font-weight:900}.quick-entry-box{margin:0 18px 18px;background:#fbfdff;border:1px dashed #cbd5e1;border-radius:16px;padding:12px}.teacher-group,.student-group{background:#fff;border-color:#dbe7f5}.student-group[open]{background:#f9fcff}.accordion-hint{min-width:76px;text-align:center}
@media(max-width:780px){.flexi-card>summary{display:grid;grid-template-columns:1fr auto;align-items:start}.flexi-card>summary .accordion-hint{grid-column:1/-1;justify-self:start;margin-top:6px}.flexi-card>summary>span{justify-content:flex-end}.flexi-overview{grid-template-columns:1fr;margin:12px}.progress-box,.flexi-secondary-details,.lessons-panel,.quick-entry-box{margin-left:12px;margin-right:12px}.progress-top{display:block}.progress-top span{display:block;margin-top:3px}}


/* v2.16 FlexiPack serial badge */
.package-title.with-badge{display:flex;align-items:center;gap:12px;min-width:0}
.package-title.with-badge>div{display:grid;gap:3px;min-width:0}
.package-serial-badge{width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:1000;font-size:15px;box-shadow:0 8px 18px rgba(15,23,42,.16);flex:0 0 auto}
.package-serial-badge.paid{background:#16a34a}
.package-serial-badge.unpaid{background:#dc2626}
.serial-explain{font-size:11px;color:var(--muted);font-weight:800}
@media(max-width:780px){.package-title.with-badge{align-items:flex-start}.package-serial-badge{width:38px;height:38px;font-size:14px}}


/* v2.17 Receipt update + clearer serial badge */
.package-serial-badge{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.22)}
.package-serial-badge.paid,.package-serial-badge.unpaid{color:#fff!important}
.receipt-update-box{margin:0 18px 12px;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;grid-template-columns:1fr minmax(180px,260px) auto;gap:10px;align-items:center;background:#fff}
.receipt-update-box.unpaid{border-color:#fecaca;background:#fff7f7}.receipt-update-box.paid{border-color:#bbf7d0;background:#f0fdf4}
.receipt-update-box strong{display:block}.receipt-update-box small{display:block;color:var(--muted);font-weight:800;margin-top:3px}.receipt-update-box.unpaid strong{color:#b91c1c}.receipt-update-box.paid strong{color:#15803d}
.receipt-update-box input{height:38px;border:1px solid var(--line);border-radius:12px;padding:0 10px;background:#fff;min-width:0}
@media(max-width:780px){.receipt-update-box{grid-template-columns:1fr;margin-left:12px;margin-right:12px}.receipt-update-box button{width:100%}}

/* v2.18 Mobile clarity + stronger visual hierarchy */
:root{
  --sidebar-bg:#071f55;
  --sidebar-bg-2:#0b2f78;
  --soft-blue:#eaf2ff;
  --soft-green:#effdf4;
  --soft-red:#fff1f2;
  --panel:#f8fbff;
}
body{background:linear-gradient(180deg,#eef4ff 0,#f5f8fc 220px,#f4f7fb 100%)}
.sidebar{background:linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-2));border-right:0;box-shadow:10px 0 28px rgba(7,31,85,.13)}
.sidebar .brand h1,.sidebar .brand p{color:#fff}.sidebar .brand p{opacity:.78}.sidebar .logo{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22)}
.sidebar .nav-btn{color:#dbeafe}.sidebar .nav-btn:hover{background:rgba(255,255,255,.10);color:#fff}.sidebar .nav-btn.active{background:#fff;color:#0b3b8f;box-shadow:0 10px 22px rgba(0,0,0,.13)}
.card,.stat{border-color:#d7e2f2}.topbar{background:rgba(255,255,255,.72);border:1px solid #dbe7f5;border-radius:24px;padding:16px 18px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.topbar h2{color:#071f55}.role-switch{background:#f8fbff}.filters.card{background:#fff;border-left:5px solid var(--blue)}
.flexi-card{box-shadow:0 12px 30px rgba(15,23,42,.08)}.teacher-group>summary,.student-group>summary,.flexi-card>summary{min-height:58px}.teacher-group>summary strong,.student-group>summary strong{color:#071f55}.student-group{background:#fff}.student-group[open]{background:#f5f9ff}
.package-title.with-badge strong{line-height:1.2}.package-title.with-badge small{line-height:1.25}.package-serial-badge{border:3px solid #fff;box-shadow:0 8px 18px rgba(15,23,42,.22)}
.flexi-overview{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.flexi-info-card{background:#fff}.progress-box{border-color:#cbdcf3;background:#f8fbff}.progress-track{height:16px}.lessons-panel{background:#fff}.quick-entry-box{background:#f8fbff}
.accordion-hint{border:1px solid currentColor;background:#eef4ff!important}.package[open] .accordion-hint,.student-group[open]>summary .accordion-hint,.teacher-group[open]>summary .accordion-hint{background:#fff1f1!important;color:#b91c1c}

/* Teacher-focused view: hide admin noise and make assigned work easier to read */
.role-teacher .topbar{background:linear-gradient(135deg,#071f55,#1551bf);color:#fff;border:0}.role-teacher .topbar h2,.role-teacher .topbar p{color:#fff}.role-teacher .role-switch{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25)}
.role-teacher .card{border-color:#cfe0f7}.role-teacher .student-group>summary{background:#f8fbff;border-radius:14px;padding:10px 12px}.role-teacher .flexi-card>summary{background:#fff}.role-teacher .lessons-head h4:before{content:'Το πακέτο σου · ';color:var(--muted);font-weight:800}.role-teacher .receipt-update-box{display:none!important}.role-teacher .package-actions,.role-teacher .quick-entry-box,.role-teacher .flexi-secondary-details{display:none!important}.role-teacher .flexi-overview{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.role-teacher .warning-card{display:block!important}.role-teacher .lessons-panel{border-color:#cfe0f7}

@media(max-width:980px){
  .sidebar{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 10px 28px rgba(15,23,42,.06)}
  .sidebar .brand h1{color:var(--navy)}.sidebar .brand p{color:var(--muted);opacity:1}.sidebar .logo{background:linear-gradient(135deg,var(--navy),var(--purple));border:0}.sidebar .nav-btn{color:#23324a}.sidebar .nav-btn.active{background:var(--navy);color:#fff}.sidebar .nav-btn:hover{background:#eef4ff;color:var(--blue)}
}
@media(max-width:620px){
  body{background:#f3f7fc}.main{padding:10px}.topbar{border-radius:18px;padding:13px;margin-bottom:12px}.topbar h2{font-size:20px}.topbar p{font-size:12px;line-height:1.35}.role-switch{gap:6px;padding:5px}.role-switch select{width:100%;min-height:42px}
  .card{border-radius:18px;padding:12px;box-shadow:0 8px 20px rgba(15,23,42,.05)}.section-head{gap:8px}.success-btn{width:100%;height:46px}.filters.card{border-left:0;border-top:4px solid var(--blue)}
  .sidebar{background:#071f55;border-top:0;box-shadow:0 -10px 26px rgba(7,31,85,.22)}.sidebar .nav{gap:5px}.sidebar .nav-btn{color:#dbeafe;background:rgba(255,255,255,.08);border-radius:15px;height:54px;font-size:10.5px;line-height:1.1;display:flex;align-items:center;justify-content:center}.sidebar .nav-btn.active{background:#fff;color:#0b3b8f}.sidebar .nav-btn:hover{background:#fff;color:#0b3b8f}
  .teacher-group,.student-group{border-radius:18px;padding:9px}.teacher-group>summary,.student-group>summary{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.teacher-group>summary span,.student-group>summary span{font-size:12px}.teacher-group>summary .accordion-hint,.student-group>summary .accordion-hint{grid-column:1/-1;justify-self:start}
  .flexi-card>summary{padding:13px 12px;border-radius:18px}.package-title.with-badge{gap:10px}.package-serial-badge{width:40px;height:40px}.package-title.with-badge strong{font-size:15px}.package-title.with-badge small{font-size:12px}.serial-explain{display:none}
  .flexi-overview,.progress-box,.lessons-panel,.quick-entry-box,.receipt-update-box{margin-left:0!important;margin-right:0!important}.flexi-overview{gap:8px}.flexi-info-card{padding:11px;border-radius:14px}.progress-box{padding:11px}.lessons-panel{padding:9px;overflow-x:auto;-webkit-overflow-scrolling:touch}.lessons-panel table{min-width:720px}.lessons-head{position:sticky;left:0;background:#fff;z-index:1;padding-bottom:4px}
  .role-teacher .teacher-group{border:0;padding:0;background:transparent}.role-teacher .teacher-group>summary{display:none}.role-teacher .student-group{padding:0;border:0;background:transparent}.role-teacher .student-group>summary{background:#fff;border:1px solid #cfe0f7;border-radius:18px;padding:14px;box-shadow:0 8px 20px rgba(15,23,42,.05)}.role-teacher .student-group>summary strong{font-size:18px}.role-teacher .flexi-card{border-radius:20px}.role-teacher .flexi-card>summary{background:#fff}.role-teacher .flexi-overview{grid-template-columns:1fr}.role-teacher .flexi-info-card .mini-label{font-size:10px}.role-teacher .progress-top strong{font-size:16px}.role-teacher .progress-track{height:18px}.role-teacher .lessons-panel table{min-width:650px}.role-teacher .paid-cell{justify-content:flex-start}
}

/* v3.0 UI Foundation - stronger desktop layout + mobile teacher app */
:root{
  --pc-navy:#061d52;
  --pc-blue:#1269e8;
  --pc-violet:#6d37db;
  --pc-mint:#18b86b;
  --pc-rose:#ef2f6b;
  --pc-warn:#f6a800;
}
body{background:radial-gradient(circle at 20% 0%,#e9f2ff 0,#f7faff 310px,#f3f6fb 100%)}
.app-shell{grid-template-columns:300px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#061d52 0%,#0a3184 62%,#071943 100%)!important;color:#fff;padding:24px 14px;box-shadow:18px 0 36px rgba(6,29,82,.18)}
.sidebar .brand{padding:8px 10px 24px;border-bottom:1px solid rgba(255,255,255,.14)}
.sidebar .brand h1{letter-spacing:.2px;color:#fff!important}.sidebar .brand p{color:#cfe0ff!important}.sidebar .logo{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.18)!important}
.sidebar .nav{gap:7px;margin-top:18px}.nav-btn{display:flex;align-items:center;gap:11px;color:#dce9ff!important;border-radius:16px;height:48px;transition:.15s ease}.nav-btn .nav-ico{width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:14px;flex:none}.nav-btn.active{background:#fff!important;color:#0a3184!important;box-shadow:0 12px 28px rgba(0,0,0,.16)}.nav-btn.active .nav-ico{background:#eaf2ff;color:#1269e8}.nav-btn:hover:not(.active){background:rgba(255,255,255,.12)!important;color:#fff!important}
.main{max-width:1500px;padding:22px 28px}.topbar{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(10px);border-radius:26px;border:1px solid #dbe7f5;display:flex!important}.topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.top-action{height:44px;border-radius:14px;background:linear-gradient(135deg,var(--pc-violet),var(--pc-blue));box-shadow:0 10px 20px rgba(109,55,219,.2)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:16px}.admin-hero,.teacher-hero{border-radius:28px;padding:22px;margin-bottom:16px;background:linear-gradient(135deg,#092a74,#1368e8);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 18px 42px rgba(9,42,116,.2)}.teacher-hero{background:linear-gradient(135deg,#072461,#7438dc)}.admin-hero h2,.teacher-hero h2{margin:3px 0 4px;font-size:28px}.admin-hero p,.teacher-hero p{margin:0;color:#dce9ff}.hero-kicker{font-size:12px;font-weight:950;letter-spacing:.12em;color:#bcd7ff}.teacher-hero button{background:#fff;color:#0a3184;border-radius:15px;height:48px;padding:0 16px;box-shadow:0 12px 24px rgba(0,0,0,.16)}
.v3-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{position:relative;overflow:hidden;min-height:120px}.stat-card span{position:absolute;right:16px;top:14px;width:48px;height:48px;border-radius:17px;display:grid;place-items:center;color:#fff;font-weight:1000}.stat-card b{font-size:34px;display:block;margin-top:24px}.stat-card small{color:var(--muted);font-weight:900}.stat-card.blue span{background:linear-gradient(135deg,#1269e8,#2f7cff)}.stat-card.green span{background:linear-gradient(135deg,#16a34a,#22c55e)}.stat-card.amber span{background:linear-gradient(135deg,#f6a800,#f97316)}.stat-card.red span{background:linear-gradient(135deg,#ef2f6b,#dc2626)}
.dash-package{border:1px solid #dbe7f5;background:#fff;border-radius:20px;padding:15px;margin:11px 0;cursor:pointer;transition:.15s ease}.dash-package:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.08)}.dash-package-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dash-package-head>div{display:flex;align-items:center;gap:10px;min-width:0}.dash-package-head strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-package-head span{padding:6px 9px;border-radius:999px;background:#eef4ff;color:#1269e8;font-size:12px;font-weight:950}.dash-package p{margin:8px 0;color:#334155;font-weight:800}.progress-track.tiny{height:9px}.warning-line{margin-top:10px;padding:9px 10px;border-radius:12px;background:#fff7df;color:#a15c00;font-weight:900;font-size:13px}.ok-line{margin-top:10px;color:#159447;font-weight:900;font-size:13px}.clean-list{display:grid;gap:9px}.clean-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e3ebf6;border-radius:15px;padding:12px;background:#fff}.clean-row b{display:block}.clean-row small{display:block;color:var(--muted);margin-top:3px}.pay-dot{padding:7px 9px;border-radius:999px;font-size:12px;font-weight:950}.pay-dot.paid{background:#eaf8ef;color:#15803d}.pay-dot.unpaid{background:#fff1f2;color:#be123c}.mobile-stats{display:none}
/* Flexi cards: more app-like */
.teacher-group,.student-group,.package.flexi-card{border-radius:22px!important}.teacher-group>summary,.student-group>summary{border-radius:18px;padding:14px 16px;background:#fff}.student-group>summary{background:#f8fbff}.flexi-card>summary{background:linear-gradient(180deg,#fff,#f9fbff);border-radius:20px;padding:16px}.package-title.with-badge strong{font-size:17px}.package-title.with-badge small{color:#64748b;font-weight:800}.flexi-overview{padding-top:2px}.flexi-info-card{border-radius:18px;border-color:#dce8f5}.progress-box{border-radius:18px}.lessons-panel{border-radius:18px}.receipt-update-box{border-radius:18px}.package-serial-badge{color:#fff!important}
@media(max-width:980px){.app-shell{display:block}.sidebar{background:#fff!important;color:#0f172a!important}.sidebar .brand h1{color:#092a74!important}.sidebar .brand p{color:#64748b!important}.sidebar .nav-btn{color:#24324a!important}.sidebar .nav-btn.active{background:#092a74!important;color:#fff!important}.dashboard-grid{grid-template-columns:1fr}.v3-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.main{padding:10px}.topbar{display:block!important;background:#fff!important}.topbar-right{margin-top:10px}.top-action{width:100%}.admin-hero{display:none}.teacher-hero{border-radius:0 0 26px 26px;margin:-10px -10px 14px;padding:22px 16px 18px}.teacher-hero h2{font-size:25px}.teacher-hero button{width:100%;margin-top:10px}.mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.mobile-stats>div{background:#fff;border:1px solid #dbe7f5;border-radius:18px;padding:12px;text-align:center;box-shadow:0 8px 18px rgba(15,23,42,.05)}.mobile-stats b{font-size:24px;color:#1269e8;display:block}.mobile-stats span{font-size:11px;color:#64748b;font-weight:900}.dashboard-grid{display:grid;grid-template-columns:1fr}.v3-stats{grid-template-columns:1fr}.sidebar{background:#061d52!important}.sidebar .nav-btn{color:#dce9ff!important}.sidebar .nav-btn .nav-ico{display:none}.sidebar .nav-btn.active{background:#fff!important;color:#092a74!important}.role-teacher .topbar{display:none!important}.role-teacher.screen-flexi .card:first-of-type{margin-top:0}.role-teacher .flexi-card>summary{box-shadow:0 10px 24px rgba(15,23,42,.07)}.role-teacher .package-title.with-badge strong{font-size:16px}.role-teacher .progress-track{height:16px}.role-teacher .lessons-panel{margin-top:10px}.role-teacher .lessons-panel table{min-width:0!important;display:block}.role-teacher .lessons-panel tbody,.role-teacher .lessons-panel tr,.role-teacher .lessons-panel td{display:block;width:100%}.role-teacher .lessons-panel tr:first-child{display:none}.role-teacher .lessons-panel tr{border:1px solid #dbe7f5;border-radius:16px;margin:10px 0;padding:10px;background:#fff}.role-teacher .lessons-panel td{border:0!important;border-radius:0!important;padding:5px 2px;background:transparent}.role-teacher .lessons-panel td:first-child:before{content:'Μάθημα ';font-weight:900;color:#64748b}.role-teacher .lessons-panel td:nth-child(2):before{content:'Ημ/νία: ';font-weight:900;color:#64748b}.role-teacher .lessons-panel td:nth-child(3):before{content:'Καθηγητής: ';font-weight:900;color:#64748b}.role-teacher .lessons-panel td:nth-child(4):before{content:'Σχόλια: ';font-weight:900;color:#64748b}.role-teacher .lessons-panel td:nth-child(5):before{content:'Πληρωμή: ';font-weight:900;color:#64748b}.role-teacher .lessons-panel td:nth-child(6):before{content:'Ημ/νία πληρωμής: ';font-weight:900;color:#64748b}.dash-package{border-radius:18px}.dash-package-head span{font-size:11px}.package-serial-badge{width:38px!important;height:38px!important}}

/* v3.1 settings + mobile teacher clarity */
.year-chip{display:flex;align-items:center;gap:8px;background:#eef4ff;border:1px solid #cfe0ff;border-radius:16px;padding:7px 10px;font-weight:900;color:#092a74;white-space:nowrap}.active-year-select{height:38px;border:1px solid #cfe0ff;border-radius:12px;padding:0 10px;background:#fff;color:#092a74;font-weight:900}.teacher-quick-nav{display:flex;gap:8px;margin:-6px 0 14px;padding:10px}.teacher-quick-nav button{flex:1;background:#eef4ff;color:#0b3b8f;border-radius:14px}.teacher-quick-nav button:hover{background:#dbeafe}.settings-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;border-left:6px solid var(--blue)}.settings-hero h3{margin:0 0 4px}.settings-hero p{margin:0;color:var(--muted)}.active-year-panel{display:grid;gap:6px;min-width:220px}.active-year-panel span{font-size:12px;font-weight:950;color:var(--muted);text-transform:uppercase}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card.wide{grid-column:1/-1}.settings-branch-line{margin:0 0 12px}.settings-branch-line label{display:flex;gap:8px;align-items:center;font-weight:900;color:var(--muted)}.settings-branch-line select{height:40px;border:1px solid var(--line);border-radius:12px;padding:0 10px;background:#fff}.teacher-payment-warning{margin:0 18px 14px;background:#fff7df;border:1px solid #f4bd4f;color:#92400e;border-radius:14px;padding:12px;font-weight:900}.warning-line{color:#b45309!important}.ok-line{color:#15803d!important}.accordion-switch{width:58px;height:30px;border-radius:999px;background:#f59e0b;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 5px 12px rgba(15,23,42,.16);position:relative;display:inline-flex;align-items:center;flex:none;transition:.18s}.accordion-switch:before{content:'off';color:#fff;font-size:10px;font-weight:950;margin-left:8px;text-transform:lowercase}.accordion-switch i{position:absolute;width:24px;height:24px;background:#fff;border-radius:50%;right:3px;top:3px;box-shadow:0 2px 8px rgba(15,23,42,.28);transition:.18s}.accordion-switch i:before{content:'‹';position:absolute;inset:0;display:grid;place-items:center;color:#94a3b8;font-size:20px;line-height:1}.package[open]>summary .accordion-switch,.teacher-group[open]>summary .accordion-switch,.student-group[open]>summary .accordion-switch{background:#e5e7eb}.package[open]>summary .accordion-switch:before,.teacher-group[open]>summary .accordion-switch:before,.student-group[open]>summary .accordion-switch:before{content:'on';color:#fff;margin-left:31px}.package[open]>summary .accordion-switch i,.teacher-group[open]>summary .accordion-switch i,.student-group[open]>summary .accordion-switch i{right:31px}.package[open]>summary .accordion-switch i:before,.teacher-group[open]>summary .accordion-switch i:before,.student-group[open]>summary .accordion-switch i:before{content:'›';color:#f59e0b}.accordion-hint{display:none!important}.role-teacher .flexi-info-card:nth-child(3) strong{font-size:18px}.role-teacher .topbar-right{gap:8px}.role-teacher .teacher-quick-nav{position:sticky;top:8px;z-index:5}.role-teacher .dash-package .ok-line{font-weight:950}.role-teacher .dash-package .warning-line{background:#fff7df;border:1px solid #f4bd4f;border-radius:12px;padding:8px;margin-top:8px;font-weight:950}
@media(max-width:980px){.settings-grid{grid-template-columns:1fr}.settings-hero{display:block}.active-year-panel{margin-top:12px}.topbar-right{margin-top:10px}.year-chip{width:100%;justify-content:space-between}.active-year-select{min-width:160px}.teacher-quick-nav{overflow:auto}.teacher-quick-nav button{min-width:max-content}.accordion-switch{width:54px;height:28px}.accordion-switch i{width:22px;height:22px}.package[open]>summary .accordion-switch i,.teacher-group[open]>summary .accordion-switch i,.student-group[open]>summary .accordion-switch i{right:29px}}
@media(max-width:620px){.year-chip{font-size:12px}.active-year-select{height:36px;max-width:150px}.teacher-quick-nav{box-shadow:0 8px 20px rgba(15,23,42,.06);border-radius:18px}.teacher-quick-nav button{font-size:12px;padding:9px 10px}.settings-card table{font-size:12px}.settings-card td,.settings-card th{display:table-cell!important}.settings-card{overflow:auto}.role-teacher .teacher-hero{display:block}.role-teacher .teacher-hero h2{font-size:24px}.teacher-payment-warning{margin:0 12px 12px;font-size:13px}.accordion-switch{width:52px;height:28px}.accordion-switch:before{font-size:9px}.accordion-switch i{width:22px;height:22px}.package[open]>summary .accordion-switch i,.teacher-group[open]>summary .accordion-switch i,.student-group[open]>summary .accordion-switch i{right:27px}.package[open]>summary .accordion-switch:before,.teacher-group[open]>summary .accordion-switch:before,.student-group[open]>summary .accordion-switch:before{margin-left:29px}}

/* v3.2 Settings redesign */
.settings-stack{display:grid;gap:14px;margin-top:16px}.settings-accordion{padding:0;overflow:hidden;border-radius:22px}.settings-accordion-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;color:#071f55;padding:16px 18px;border-radius:22px;font-size:17px;text-align:left}.settings-accordion.open .settings-accordion-head{background:linear-gradient(135deg,#f8fbff,#eef4ff)}.settings-accordion-body{padding:0 18px 18px;border-top:1px solid #e5edf7}.settings-accordion .switch{width:58px;height:30px;border-radius:999px;background:#f59e0b;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 5px 12px rgba(15,23,42,.16);position:relative;display:inline-flex;align-items:center;flex:none;transition:.18s;color:#fff}.settings-accordion .switch i{position:absolute;width:24px;height:24px;background:#fff;border-radius:50%;right:3px;top:3px;box-shadow:0 2px 8px rgba(15,23,42,.28);transition:.18s}.settings-accordion .switch b{font-size:10px;font-weight:950;text-transform:lowercase;margin-left:8px}.settings-accordion .switch i:before{content:'‹';position:absolute;inset:0;display:grid;place-items:center;color:#94a3b8;font-size:20px;line-height:1}.settings-accordion .switch.on{background:#e5e7eb}.settings-accordion .switch.on i{right:31px}.settings-accordion .switch.on b{margin-left:31px;color:#fff}.settings-accordion .switch.on i:before{content:'›';color:#f59e0b}.tiny-x{border:0;background:transparent!important;color:#0b3b8f!important;padding:0 0 0 4px!important;margin:0!important;font-weight:950}.settings-accordion table .pill{display:inline-flex;align-items:center;gap:3px;margin:2px}.settings-accordion-body .form-row{margin:12px 0}.settings-accordion-body table{margin-top:12px}.settings-hero{margin-bottom:0}.settings-accordion .danger-btn{background:#fee2e2;color:#b91c1c}.settings-accordion .secondary{background:#eef4ff;color:#0b3b8f}
@media(max-width:780px){.settings-accordion-head{font-size:15px;padding:14px}.settings-accordion-body{padding:0 12px 14px}.settings-accordion .switch{width:52px;height:28px}.settings-accordion .switch i{width:22px;height:22px}.settings-accordion .switch.on i{right:27px}.settings-accordion .switch.on b{margin-left:29px}.settings-accordion-body{overflow:auto}.settings-accordion-body table{min-width:680px}}


/* PolyLogo branding update */
.logo img{width:38px;height:38px;object-fit:contain;display:block}
.sidebar .logo{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.18)!important;overflow:hidden}
@media(max-width:980px){.sidebar .logo{background:#eef4ff!important}}


/* v3.5 PolyLogo full sidebar logo placement */
.sidebar .brand.brand-full{
  display:block;
  padding:6px 10px 22px;
  margin-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.brand-full-logo{
  display:block;
  width:100%;
  max-width:220px;
  height:auto;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.sidebar .brand.brand-full p{
  margin:10px 4px 0;
  color:#dbeafe!important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.2px;
}
@media(max-width:980px){
  .sidebar .brand.brand-full{display:flex;align-items:center;gap:12px;padding:8px 4px 12px;margin-bottom:10px;border-bottom:0}
  .brand-full-logo{width:150px;max-width:48vw;border-radius:12px;box-shadow:none}
  .sidebar .brand.brand-full p{color:#64748b!important;margin:0;font-size:12px}
}
@media(max-width:620px){
  .sidebar .brand.brand-full{display:none}
}

/* v3.6 focused UI fixes */
.accordion-switch:before,
.package[open]>summary .accordion-switch:before,
.teacher-group[open]>summary .accordion-switch:before,
.student-group[open]>summary .accordion-switch:before{
  color:#111827!important;
}
.settings-accordion .switch.on b{color:#111827!important;}
.flexi-local-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:10px 0 16px!important;}
.flexi-local-filters label{min-width:240px;}
.teacher-group[open]>summary,
.student-group[open]>summary,
.package[open]>summary{
  background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;
  border-color:#93c5fd!important;
  box-shadow:0 12px 28px rgba(30,64,175,.16)!important;
}
.teacher-group[open]>summary strong,
.student-group[open]>summary strong,
.package[open]>summary strong{color:#071f55!important;}
.package[open]>summary .status.active,
.teacher-group[open]>summary span:not(.accordion-switch),
.student-group[open]>summary span:not(.accordion-switch){color:#0f3b8f!important;font-weight:950;}
.hero-kicker{text-transform:none!important;letter-spacing:.04em!important;}


/* PolyLogo v4.0 FlexiPack-only refinements */
.role-teacher .teacher-quick-nav{display:flex;gap:10px;flex-wrap:wrap}
.settings-hero h3::after{content:' · FlexiPack Only'; color:#16a34a; font-size:.78em; margin-left:8px;}
