:root{--admin-sidebar-width: 252px;--admin-topbar-height: 60px;--admin-bg: #f7f0e4;--admin-surface: #fffdf8;--admin-border: #e6dac4;--admin-navy: #BA2025;--admin-navy-hover: #D42A30;--admin-scarlet-tint: #fbe9e5;--admin-gold: #c8962a;--admin-gold-light: #dcac47;--admin-gold-tint: #fbf1dc;--admin-pine: #3a7d54;--admin-pine-tint: #e2f2e6;--admin-plum: #7c3aed;--admin-plum-tint: #f1e9fe;--admin-sky: #2563eb;--admin-sky-tint: #e5edfe;--admin-cream: #FFFBEA;--admin-red: #dc2626;--admin-text: #211a12;--admin-text-muted: #7a6a54;--admin-text-light: #a9977c;--admin-radius: 14px;--admin-radius-sm: 9px;--admin-shadow: 0 2px 8px rgba(90, 58, 20, .07), 0 1px 2px rgba(90, 58, 20, .06);--admin-shadow-md: 0 14px 34px rgba(90, 58, 20, .14), 0 4px 10px rgba(90, 58, 20, .08);--font-display: "Fraunces", Georgia, serif;--font-body: "Plus Jakarta Sans", sans-serif}.admin-layout{display:flex;min-height:100vh;background:radial-gradient(circle at 1.5px 1.5px,rgba(186,32,37,.055) 1.5px,transparent 0) 0 0/22px 22px,var(--admin-bg)}.admin-header{display:none;position:fixed;top:0;left:0;right:0;height:var(--admin-topbar-height);background:linear-gradient(120deg,var(--admin-primary-hover, #D42A30),var(--admin-primary, #BA2025) 60%,#7d1418);color:#fff;padding:0 1rem;align-items:center;gap:1rem;z-index:200;border-bottom:1px solid rgba(255,255,255,.15)}.menu-toggle{background:none;border:none;color:#fffc;cursor:pointer;padding:.25rem;display:flex;align-items:center;transition:color .15s}.menu-toggle:hover{color:#fff}.admin-brand{display:flex;flex-direction:column;gap:.05rem}.brand-name{font-family:var(--font-display);font-size:1rem;font-weight:700;font-style:italic;color:#fff;line-height:1.2}.brand-subtitle{font-family:var(--font-body);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c}.admin-sidebar{width:var(--admin-sidebar-width);background:radial-gradient(circle at 85% 0%,rgba(255,255,255,.09) 0%,transparent 45%),linear-gradient(165deg,var(--admin-navy-hover) 0%,var(--admin-navy) 55%,#7d1418 100%);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;transition:transform .25s ease,width .25s ease;box-shadow:4px 0 24px #5a14142e}.sidebar-header{display:flex;align-items:center;gap:.7rem;padding:1.5rem 1.25rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.15)}.sidebar-collapse-toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;margin-left:auto;padding:0;border-radius:9999px;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;color:#ffffffe6;cursor:pointer;transition:background .15s,color .15s}.sidebar-collapse-toggle:hover{background:#ffffff38;color:#fff}.sidebar-collapse-toggle:focus-visible{outline:2px solid var(--admin-gold-light);outline-offset:2px}.user-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.user-name{font-family:var(--font-body);font-size:.88rem;font-weight:700;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-family:var(--font-body);font-size:.63rem;font-weight:600;text-transform:uppercase;color:var(--admin-gold-light);letter-spacing:.08em}.sidebar-nav{flex:1;padding:1.25rem .75rem;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:9999px;color:#ffffffd1;font-family:var(--font-body);font-size:.85rem;font-weight:500;text-decoration:none;margin-bottom:3px;transition:background .15s,color .15s,transform .15s;position:relative;border:none;background:none;width:100%;cursor:pointer;text-align:left}.nav-item:hover{background:#ffffff1f;color:#fff;transform:translate(2px)}.nav-item.active{background:var(--admin-cream);color:var(--admin-navy);font-weight:700;box-shadow:0 4px 12px #00000026}.nav-item.active svg{color:var(--admin-gold)}.nav-item .nav-alert,.nav-item.active .nav-alert{margin-left:auto;color:#f97316;flex-shrink:0}.sidebar-footer{padding:1rem .75rem;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;gap:.75rem}.tier-selector{background:#0003;border:1px dashed rgba(255,255,255,.2);border-radius:var(--admin-radius);padding:.75rem}.tier-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.tier-selector-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#ffffff80}.tier-badge{font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:9999px;border:1px solid;letter-spacing:.04em}.tier-desc{font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;color:#ffffff8c;margin:0 0 .6rem;line-height:1.45}.tier-pills{display:flex;gap:.35rem}.tier-pill{flex:1;padding:.3rem 0;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:700;border-radius:9999px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff9;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s;text-align:center}.tier-pill:active:not(:disabled){transform:scale(.95)}.tier-pill:hover:not(:disabled){background:#ffffff26;color:#ffffffe6;border-color:#ffffff59}.tier-pill:disabled{opacity:.5;cursor:not-allowed}.tier-source{font-family:Plus Jakarta Sans,sans-serif;font-size:.62rem;color:#ffffff59;margin:.45rem 0 0;text-align:center;font-style:italic}.nav-divider{height:1px;margin:.6rem .85rem;background:#ffffff26}.logout-btn{display:flex;align-items:center;gap:.6rem;width:100%;padding:.65rem .85rem;background:none;border:1px solid rgba(255,255,255,.2);border-radius:9999px;color:#ffffffa6;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-align:left;margin-bottom:0}.logout-btn:hover{background:#ffffff1a;color:#ffffffe6;border-color:#ffffff4d}.logout-btn:before{display:none}.admin-sidebar .nav-item.logout-btn{gap:.75rem;padding:.65rem .85rem;border:none;border-radius:9999px;color:#ffffffd1;font-family:var(--font-body);font-size:.85rem;font-weight:500;margin-bottom:3px}.admin-sidebar .nav-item.logout-btn:hover{background:#ffffff1f;color:#fff;border-color:transparent}@media(min-width:769px){.sidebar-collapse-toggle{display:flex}.admin-layout.sidebar-collapsed{--admin-sidebar-width: 76px}.admin-layout.sidebar-collapsed .sidebar-header{justify-content:center;padding:1.25rem .5rem 1rem}.admin-layout.sidebar-collapsed .user-info{display:none}.admin-layout.sidebar-collapsed .sidebar-collapse-toggle{margin:0 auto}.admin-layout.sidebar-collapsed .sidebar-nav{padding:1.25rem .5rem}.admin-layout.sidebar-collapsed .sidebar-footer{padding:1rem .5rem}.admin-layout.sidebar-collapsed .nav-item{justify-content:center;gap:0;padding:.65rem 0}.admin-layout.sidebar-collapsed .nav-divider{margin:.6rem .25rem}.admin-layout.sidebar-collapsed .nav-item:hover{transform:none}.admin-layout.sidebar-collapsed .nav-item>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.admin-layout.sidebar-collapsed .nav-item .nav-alert,.admin-layout.sidebar-collapsed .nav-item.active .nav-alert{position:absolute;top:4px;right:4px;width:12px;height:12px;margin:0}}.admin-main{flex:1;margin-left:var(--admin-sidebar-width);min-height:100vh;padding:2rem 2rem 3rem;max-width:1400px;width:100%;transition:margin-left .25s ease}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}@media(max-width:768px){.admin-header{display:flex}.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0;padding:1.5rem 1rem 2rem;padding-top:calc(var(--admin-topbar-height) + 1.5rem)}}.admin-layout .admin-tour-layer{bottom:5.5rem}.ql-container{font-family:Plus Jakarta Sans,sans-serif!important;font-size:.9rem!important;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.ql-toolbar{border-top-left-radius:6px!important;border-top-right-radius:6px!important;border-color:var(--admin-border)!important}.ql-container.ql-snow{border:none!important}.ql-editor{min-height:180px;padding:.85rem 1rem!important;color:var(--admin-text)!important;line-height:1.7!important}.ql-editor.ql-blank:before{color:var(--admin-text-light)!important;font-style:normal!important;font-size:.88rem!important}.ql-editor a{color:var(--admin-gold)!important}.ql-editor h1,.ql-editor h2{font-family:Fraunces,Georgia,serif!important;color:var(--admin-navy)!important}.admin-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.admin-page-title{font-family:Fraunces,Georgia,serif;font-size:1.9rem;font-weight:700;font-style:italic;color:var(--admin-navy);margin-bottom:.3rem;letter-spacing:-.01em}.admin-page-subtitle{font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;color:var(--admin-text-muted)}.admin-page-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.admin-card{background:var(--admin-surface, #fff);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow)}.admin-card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--admin-border);display:flex;justify-content:space-between;align-items:center;gap:1rem}.admin-card-header h3{font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:700;color:var(--admin-navy)}.admin-card-body{padding:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card{background:var(--admin-surface, #fff);border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:1.5rem;box-shadow:var(--admin-shadow);position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--admin-shadow-md)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-radius:5px 5px 0 0;background:var(--admin-gold)}.stat-card.gold:before{background:var(--admin-gold)}.stat-card.green:before{background:var(--admin-pine)}.stat-card.blue:before{background:var(--admin-sky)}.stat-card.red:before{background:var(--admin-primary, #BA2025)}.stat-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--admin-text-muted);margin-bottom:.5rem}.stat-value{font-family:Fraunces,Georgia,serif;font-size:2.15rem;font-weight:700;color:var(--admin-text);line-height:1;margin-bottom:.25rem}.stat-sub{font-family:Plus Jakarta Sans,sans-serif;font-size:.75rem;color:var(--admin-text-light)}.stat-change{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;margin-top:.4rem;display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .4rem;border-radius:4px}.stat-change.positive{color:#166534;background:#dcfce7}.stat-change.negative{color:#dc2626;background:#fee2e2}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem}.admin-table th{text-align:left;padding:.8rem 1rem;background:var(--admin-scarlet-tint);border-bottom:2px solid var(--admin-border);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--admin-navy);white-space:nowrap}.admin-table td{padding:.85rem 1rem;border-bottom:1px solid var(--admin-border);color:var(--admin-text);vertical-align:middle}.admin-table tbody tr:hover{background:var(--admin-gold-tint)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table td.actions{white-space:nowrap;text-align:right}.btn-admin-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--admin-primary, #BA2025);color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.62rem 1.3rem;border:2px solid var(--admin-primary, #BA2025);border-radius:9999px;cursor:pointer;transition:background .15s,color .15s,transform .12s,box-shadow .15s;text-decoration:none;box-shadow:0 3px #0000001f}.btn-admin-primary:hover{background:var(--admin-primary-hover, #D42A30);border-color:var(--admin-primary-hover, #D42A30);color:#fff;transform:translateY(-1px)}.btn-admin-primary:active{transform:translateY(1px);box-shadow:0 1px #0000001f}.btn-admin-secondary{display:inline-flex;align-items:center;gap:.4rem;background:var(--admin-surface, #fff);color:var(--admin-navy);font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.57rem 1.05rem;border:1.5px solid var(--admin-border);border-radius:9999px;cursor:pointer;transition:background .15s,border-color .15s,transform .12s;text-decoration:none}.btn-admin-secondary:hover{background:var(--admin-scarlet-tint);border-color:var(--admin-primary, #BA2025);transform:translateY(-1px)}.btn-admin-danger{display:inline-flex;align-items:center;gap:.4rem;background:var(--admin-surface, #fff);color:#dc2626;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.57rem 1.05rem;border:1.5px solid #fca5a5;border-radius:9999px;cursor:pointer;transition:background .15s,transform .12s}.btn-admin-danger:hover{background:#fee2e2;transform:translateY(-1px)}.btn-admin-sm{padding:.4rem .85rem;font-size:.7rem}.badge{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:100px;border:1px solid transparent;font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.badge-active,.badge-completed,.badge-head{background:var(--admin-pine-tint);color:var(--admin-pine);border-color:#3a7d5440}.badge-inactive,.badge-cancelled,.badge-other{background:#f1f5f9;color:#475569}.badge-subscriber,.badge-spouse{background:var(--admin-gold-tint);color:#92400e;border-color:#c8962a4d}.badge-visitor,.badge-child{background:var(--admin-plum-tint);color:var(--admin-plum);border-color:#7c3aed38}.badge-pending,.badge-paused{background:#fef9c3;color:#854d0e}.badge-refunded{background:#fee2e2;color:#991b1b}.badge-graduated{background:#ecfdf5;color:#166534;font-style:italic}.badge-deceased{background:#f1f5f9;color:#334155;text-decoration:line-through}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group.full{grid-column:1 / -1}.form-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--admin-text-muted)}.form-input,.form-select,.form-textarea{width:100%;padding:.7rem .9rem;border:1.5px solid var(--admin-border);border-radius:var(--admin-radius-sm);background:var(--admin-surface, #fff);font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;color:var(--admin-text);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--admin-gold);box-shadow:0 0 0 3px #c8962a2e}.form-input.error,.form-select.error{border-color:#dc2626}.form-textarea{resize:vertical;min-height:120px}.form-error{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;color:#dc2626}.form-hint{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;color:var(--admin-text-light)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--admin-surface, #fff);border-radius:20px;box-shadow:var(--admin-shadow-md);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;border-top:5px solid var(--admin-gold)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--admin-border);position:sticky;top:0;background:var(--admin-surface, #fff);z-index:1}.modal-header h3{font-family:Fraunces,Georgia,serif;font-size:1.2rem;font-weight:700;font-style:italic;color:var(--admin-navy)}.modal-close{background:none;border:none;cursor:pointer;color:var(--admin-text-muted);padding:.3rem;border-radius:9999px;transition:background .15s}.modal-close:hover{background:var(--admin-scarlet-tint);color:var(--admin-primary, #BA2025)}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--admin-border);display:flex;justify-content:flex-end;gap:.75rem;position:sticky;bottom:0;background:var(--admin-surface, #fff)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--admin-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.4}.empty-state h3{font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-style:italic;color:var(--admin-navy);margin-bottom:.5rem}.empty-state p{font-family:Plus Jakarta Sans,sans-serif;font-size:.88rem;max-width:320px;margin:0 auto 1.5rem}.search-bar{position:relative;max-width:320px}.search-bar input{width:100%;padding:.6rem .9rem .6rem 2.5rem;border:1.5px solid var(--admin-border);border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;background:var(--admin-surface, #fff);color:var(--admin-text);transition:border-color .15s,box-shadow .15s}.search-bar input:focus{outline:none;border-color:var(--admin-gold);background:var(--admin-surface, #fff);box-shadow:0 0 0 3px #c8962a2e}.search-bar-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--admin-text-light);pointer-events:none}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem;border-top:1px solid var(--admin-border);font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem}.text-muted{color:var(--admin-text-muted);font-size:.85rem}.text-right{text-align:right}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-2{margin-bottom:1rem}.flex{display:flex}.gap-2{gap:.75rem}.items-center{align-items:center}.justify-between{justify-content:space-between}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:1}.stats-grid{grid-template-columns:repeat(2,1fr)}}.bulk-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#fee2e2;border-bottom:1px solid #fca5a5;font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;color:#991b1b;font-weight:600}.admin-table th.col-check,.admin-table td.col-check{width:36px;padding-left:1rem;padding-right:.25rem}.admin-table th{position:relative}.col-menu-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;background:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer;color:var(--admin-text-muted);opacity:0;transition:opacity .12s,background .12s,color .12s}.admin-table th:hover .col-menu-btn{opacity:1}.col-menu-btn--active{opacity:1;background:var(--admin-gold);border-color:var(--admin-gold);color:#fff}.col-menu-btn--active:hover{background:var(--admin-gold-light);border-color:var(--admin-gold-light)}.col-menu-btn:not(.col-menu-btn--active):hover{background:var(--admin-border);color:var(--admin-navy)}.col-menu-sort-arrow{font-size:.55rem;color:var(--admin-gold);line-height:1;flex-shrink:0}.col-menu-panel{position:fixed;z-index:9999;background:var(--admin-surface, #fff);border:1px solid var(--admin-border);border-radius:10px;box-shadow:0 6px 24px #5a3a1429,0 2px 8px #5a3a1414;min-width:210px;max-width:260px;overflow:hidden}.col-menu-section{padding:.45rem}.col-menu-divider{height:1px;background:var(--admin-border);margin:0}.col-menu-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--admin-text-muted);padding:.2rem .4rem .4rem}.col-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.42rem .6rem;background:none;border:none;border-radius:4px;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;color:var(--admin-text);text-align:left;transition:background .1s}.col-menu-item:hover{background:var(--admin-bg)}.col-menu-item--active{color:var(--admin-gold);font-weight:700}.col-menu-item--danger{color:#dc2626;font-size:.76rem}.col-menu-item--danger:hover{background:#fff5f5}.col-menu-arrow{font-family:monospace;font-size:.85rem;width:14px;text-align:center;flex-shrink:0}.col-menu-input{display:block;width:100%;padding:.42rem .6rem;border:1px solid var(--admin-border);border-radius:4px;font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;color:var(--admin-text);background:var(--admin-surface, #fff);box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.col-menu-input:focus{outline:none;border-color:var(--admin-gold);box-shadow:0 0 0 2px #ba20251f}.col-menu-clear{display:block;width:100%;margin-top:.35rem;padding:.28rem .4rem;background:none;border:none;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;color:#dc2626;text-align:left}.col-menu-clear:hover{text-decoration:underline}.admin-group-stages{margin-top:.45rem;max-width:320px}.portal-shell{height:100vh;height:100dvh}.portal-shell .admin-sidebar{position:relative;height:100%;flex-shrink:0;transform:none;z-index:1}.portal-menu-toggle{display:none;background:none;border:none;color:#ffffffe6;cursor:pointer;padding:.25rem;align-items:center;flex-shrink:0}.portal-bottom-nav{display:none}@media(max-width:768px){.portal-shell .admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(var(--admin-sidebar-width),82vw);transform:translate(-100%);visibility:hidden;z-index:200}.portal-shell .sidebar-footer{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.portal-shell .admin-sidebar.open{transform:translate(0);visibility:visible}.portal-menu-toggle{display:flex}.portal-shell main{padding:1rem!important;padding-bottom:calc(1rem + 60px + env(safe-area-inset-bottom,0px))!important}.portal-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;background:#fff;border-top:1px solid var(--admin-border, #e6dac4);box-shadow:0 -2px 10px #5a3a1414;overflow-x:auto;padding-bottom:env(safe-area-inset-bottom,0px)}.portal-bottom-nav-item{flex:1 0 auto;min-width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:.4rem .5rem;background:none;border:none;cursor:pointer;color:var(--admin-text-muted, #8a7a5c);font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:600;white-space:nowrap}.portal-bottom-nav-item.active{color:var(--admin-navy, #BA2025)}}.portal-bottom-nav-icon{position:relative;display:inline-flex}.portal-bottom-nav-alert{position:absolute;top:-2px;right:-2px;background:#dc2626;color:#fff;border-radius:9999px;font-size:.6rem;font-weight:700;line-height:1;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 3px;box-sizing:border-box}@media(max-width:480px){.portal-notif-dropdown{width:min(320px,calc(100vw - 2rem))!important;right:-.5rem!important}}.portal-cal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1rem .85rem;border-bottom:1px solid var(--admin-border)}.portal-cal-month{font-family:Fraunces,Georgia,serif;font-weight:800;font-size:1.45rem;line-height:1.1;color:var(--portal-heading, var(--admin-navy))}.portal-cal-year{font-weight:400;color:var(--admin-text-muted)}.portal-cal-subhead{margin-top:.15rem;font-size:.78rem;color:var(--admin-text-muted)}.portal-cal-nav{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.portal-cal-today,.portal-cal-navbtn{display:inline-flex;align-items:center;justify-content:center;height:34px;border:1px solid var(--admin-border);background:var(--portal-surface, #fff);color:var(--portal-heading, var(--admin-navy));cursor:pointer;font-family:Plus Jakarta Sans,sans-serif}.portal-cal-today{padding:0 .85rem;border-radius:9999px;font-size:.8rem;font-weight:700}.portal-cal-navbtn{width:34px;border-radius:50%}.portal-cal-today:hover,.portal-cal-navbtn:hover{background:var(--portal-surface-3, #f3f4f6)}.portal-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.portal-cal-cell{position:relative;min-width:0;min-height:92px;padding:.4rem .3rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;border-right:1px solid var(--admin-border);border-bottom:1px solid var(--admin-border);background:var(--portal-surface, #fff)}.portal-cal-cell.is-outside{background:var(--portal-surface-2, #f9fafb)}.portal-cal-cell.has-events{cursor:pointer}.portal-cal-cell.has-events:hover{background:var(--portal-surface-3, #f3f4f6)}.portal-cal-cell.selected{box-shadow:inset 0 0 0 2px var(--admin-gold)}.portal-cal-daynum{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:600;color:var(--portal-text-primary, #111)}.portal-cal-cell.is-outside .portal-cal-daynum{font-weight:400;color:var(--admin-text-light)}.portal-cal-cell.is-today .portal-cal-daynum{background:var(--admin-navy);color:#fff;font-weight:700;box-shadow:0 0 0 3px var(--admin-gold-tint)}.portal-cal-stickers{position:absolute;top:calc(.4rem + 14px);left:0;right:0;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.portal-cal-sticker{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:3px solid #fff;border-radius:14px;background:linear-gradient(145deg,#fffdf8 0%,var(--admin-gold-tint, #fbf1dc) 100%);box-shadow:0 4px 8px #3a241440;font-size:1.5rem;line-height:1;cursor:pointer;transform:rotate(var(--tilt, 0deg));transition:transform .15s ease}.portal-cal-sticker+.portal-cal-sticker{margin-left:-12px}.portal-cal-sticker:hover,.portal-cal-sticker:focus-visible{transform:rotate(0) scale(1.12)}.portal-cal-more{margin-left:4px;padding:1px 6px;border-radius:9999px;background:var(--admin-navy);color:#fff;font-size:.66rem;font-weight:700;line-height:1.4}.portal-cal-more--narrow{display:none}@media(max-width:640px){.portal-cal-head{padding:.85rem .9rem .7rem}.portal-cal-month{font-size:1.2rem}.portal-cal-today{height:30px;padding:0 .65rem;font-size:.74rem}.portal-cal-navbtn{width:30px;height:30px}.portal-cal-cell{min-height:64px;padding:.3rem .1rem;gap:.2rem}.portal-cal-daynum{width:24px;height:24px;font-size:.75rem}.portal-cal-stickers{top:calc(.3rem + 12px)}.portal-cal-sticker{width:38px;height:38px;border-width:2px;border-radius:11px;font-size:1.15rem}.portal-cal-sticker+.portal-cal-sticker{display:none}.portal-cal-more--wide{display:none}.portal-cal-more--narrow{display:inline-block;margin-left:3px;padding:0 4px;font-size:.6rem}.portal-cal-daynames>div{padding:.3rem 0!important;font-size:.62rem!important}}.portal-cal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--portal-overlay, rgba(26, 39, 68, .45));z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:portal-cal-fade-in .15s ease-out both}.portal-cal-modal{background:var(--portal-surface, #fff);border-radius:16px;border-top:4px solid var(--admin-navy, #BA2025);width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000040;animation:portal-cal-pop-in .18s ease-out both}.portal-cal-modal-header{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--admin-border);flex-shrink:0}.portal-cal-modal-header-title{flex:1;min-width:0;text-align:center;font-family:"'Fraunces', Georgia, serif";font-weight:700;font-size:.95rem;color:var(--portal-heading, var(--admin-navy));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-cal-modal-body{padding:1rem;overflow-y:auto}.portal-cal-hero{padding:1.4rem 1.25rem 1.2rem;text-align:center;color:#fff;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.18),transparent 45%),linear-gradient(135deg,#ba2025,#d42a30 55%,#c8962a);flex-shrink:0}.portal-cal-hero-sticker{width:72px;height:72px;margin:0 auto .6rem;display:flex;align-items:center;justify-content:center;border:3px solid #fff;border-radius:20px;background:linear-gradient(145deg,#fffdf8,#fbf1dc);box-shadow:0 8px 18px #00000040;font-size:2.1rem;line-height:1;transform:rotate(-6deg)}.portal-cal-hero-title{font-family:Fraunces,Georgia,serif;font-weight:800;font-size:1.35rem;line-height:1.2;overflow-wrap:anywhere}.portal-cal-hero-when{display:inline-block;margin-top:.5rem;padding:.25rem .7rem;border-radius:9999px;background:#ffffff2e;font-size:.8rem;font-weight:600}.portal-cal-chips{display:flex;flex-wrap:wrap;gap:.4rem}.portal-cal-chip{display:inline-flex;align-items:center;gap:4px;padding:.25rem .7rem;border-radius:9999px;font-size:.78rem;font-weight:600}.portal-cal-chip--place{background:var(--portal-surface-2, #f9fafb);border:1px solid var(--admin-border);color:var(--portal-text-secondary, #4b5563)}.portal-cal-chip--group{background:var(--admin-scarlet-tint, #fbe9e5);color:var(--admin-navy)}.portal-cal-chip--all{background:var(--admin-gold-tint, #fbf1dc);color:#7a5410}.portal-cal-desc{margin:.9rem 0 0;font-size:.9rem;line-height:1.55;color:var(--admin-text);white-space:pre-wrap}.portal-cal-checkin{width:100%;margin-top:1rem;padding:.7rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:9999px;background:var(--admin-navy);color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #ba20254d}.portal-cal-checkin:hover{background:var(--admin-navy-hover)}.portal-cal-newevent{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:.5rem 1rem;border:none;border-radius:9999px;background:var(--portal-primary, #111111);color:var(--portal-on-primary, #ffffff);font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:700;cursor:pointer}.portal-cal-newevent:hover{background:var(--portal-primary-hover, #2a2a2a)}.portal-cal-manage{display:flex;gap:.5rem;margin-top:.85rem}.portal-cal-manage-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:.55rem .8rem;border:1px solid var(--admin-border);border-radius:9999px;background:var(--portal-surface, #fff);color:var(--portal-heading, #111111);font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:700;cursor:pointer}.portal-cal-manage-btn--danger{background:#fef2f2;color:#dc2626;border-color:#fecaca}.portal-cal-agenda-row{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:.6rem .7rem;border:1px solid var(--admin-border);border-radius:12px;background:var(--portal-surface, #fff);cursor:pointer}.portal-cal-agenda-sticker{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid #fff;border-radius:12px;background:linear-gradient(145deg,#fffdf8 0%,var(--admin-gold-tint, #fbf1dc) 100%);box-shadow:0 2px 5px #3a24142e;font-size:1.15rem;line-height:1;transform:rotate(-4deg)}@media(max-width:600px){.portal-cal-modal-overlay{align-items:flex-end;padding:0}.portal-cal-modal{max-width:100%;max-height:75vh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:portal-cal-slide-up .2s ease-out both}.portal-cal-modal-header{padding:1rem 1rem .8rem}.portal-cal-modal-body{padding:.85rem 1rem}}.contact-modal{width:100%;max-width:560px;max-height:90vh;border-radius:20px}@media(max-width:600px){.contact-modal-overlay{align-items:flex-end;padding:0}.contact-modal{max-width:100%;max-height:88vh;max-height:88dvh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0)}}.portal-contact-announcement{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.75rem 1rem;border-radius:12px;margin-bottom:1.1rem;background:#fffbeb;border:1px solid #fde68a}.portal-contact-announcement-text{flex:1 1 220px;font-size:.85rem;font-weight:600;color:#92400e;min-width:0}@media(max-width:480px){.portal-contact-announcement{padding:.65rem .85rem}}.contact-input::placeholder{color:#3c3c4366}.contact-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--portal-overlay, rgba(33, 26, 18, .5))}.contact-detail{width:100%;max-width:440px;max-height:88vh;max-height:88dvh;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:var(--portal-surface, #fff);box-shadow:0 20px 60px #0003;border-top:5px solid var(--admin-gold, #c8962a);outline:none}.contact-detail-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 1.25rem .9rem}.contact-detail-actions{display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1.25rem 1.1rem;border-top:1px solid var(--admin-border, #e6dac4)}@media(max-width:600px){.contact-detail-overlay{align-items:flex-end;padding:0}.contact-detail{max-width:100%;max-height:88vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0)}.contact-detail-actions{padding-bottom:calc(1.1rem + env(safe-area-inset-bottom,0px))}}.portal-shell{color-scheme:light;--portal-bg: var(--color-background);--portal-surface: #ffffff;--portal-surface-2: #f9fafb;--portal-surface-3: #f3f4f6;--portal-heading: var(--admin-navy);--portal-text-primary: #1f2937;--portal-text-secondary: #4b5563;--portal-overlay: rgba(26, 39, 68, .45);--portal-input-bg: #ffffff}.portal-shell[data-theme=dark]{color-scheme:dark;color:var(--portal-text-primary);--portal-bg: #000000;--portal-surface: #1c1c1e;--portal-surface-2: #2c2c2e;--portal-surface-3: #3a3a3c;--portal-heading: #ffffff;--portal-text-primary: #f2f2f7;--portal-text-secondary: #98989f;--portal-overlay: rgba(0, 0, 0, .75);--portal-input-bg: #2c2c2e;--admin-border: #2c2c2e;--admin-text: #f2f2f7;--admin-text-muted: #98989f;--admin-text-light: #6e6e73;--admin-bg: #000000;--admin-cream: #2c2c2e}.portal-shell[data-theme=dark] .admin-sidebar{border-right-color:#2c2c2e}.portal-shell[data-theme=dark] .portal-bottom-nav{background:var(--portal-surface);border-top-color:var(--admin-border);box-shadow:0 -2px 10px #0006}.portal-shell[data-theme=dark] .portal-bottom-nav-item.active{color:#fff}.portal-shell[data-theme=dark] .pd-feed-item--unread{background:#c8962a29}.portal-shell[data-theme=dark] .pd-feed-item--unread:hover{background:#c8962a3d}.portal-shell[data-theme=dark]{--portal-stage-selected-bg: linear-gradient(135deg, rgba(255,255,255,.1), rgba(200,150,42,.16));--portal-unread-bg: rgba(29, 78, 216, .22)}.help-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:9999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .12s}.help-btn--page{width:38px;height:38px;background:var(--admin-surface, #fff);border:1.5px solid var(--admin-border);color:var(--admin-navy)}.help-btn--page:hover{background:var(--admin-scarlet-tint);border-color:var(--admin-primary, #BA2025);transform:translateY(-1px)}.help-btn--modal{width:26px;height:26px;background:none;border:none;color:var(--admin-text-muted)}.help-btn--modal:hover{background:var(--admin-scarlet-tint);color:var(--admin-navy)}.help-btn--dark{width:26px;height:26px;background:#ffffff1f;border:none;color:#ffffffd9}.help-btn--dark:hover{background:#ffffff38;color:#fff}.help-btn-wrap{display:inline-flex;align-items:center;gap:.6rem}.help-callout{position:relative;font-family:Plus Jakarta Sans,sans-serif;font-size:.74rem;font-weight:600;font-style:normal;line-height:1.3;white-space:nowrap;color:#fff;background:var(--admin-primary, #BA2025);border:none;border-radius:8px;padding:.35rem .7rem;cursor:pointer;box-shadow:var(--admin-shadow);transform-origin:right center;animation:help-callout-in .4s cubic-bezier(.2,.8,.3,1.15) both;transition:background .15s}.help-callout:after{content:"";position:absolute;right:-4px;top:50%;width:9px;height:9px;background:inherit;border-radius:2px;transform:translateY(-50%) rotate(45deg)}.help-callout:hover{background:var(--admin-primary-hover, #D42A30)}.help-callout:focus-visible{outline:2px solid var(--admin-gold);outline-offset:2px}.help-btn--highlight,.help-btn--highlight:hover{background:var(--admin-gold-tint);color:var(--admin-navy);box-shadow:0 0 0 1.5px var(--admin-gold)}.help-btn--highlight:hover{color:var(--admin-navy-hover);transform:scale(1.08)}.help-btn--pulse{animation:help-btn-pulse 1.8s ease-out .45s 3}@keyframes help-callout-in{0%{opacity:0;transform:translate(12px) scale(.85)}to{opacity:1;transform:none}}@keyframes help-btn-pulse{0%{box-shadow:0 0 0 1.5px var(--admin-gold),0 0 #c8962a8c}70%{box-shadow:0 0 0 1.5px var(--admin-gold),0 0 0 9px #c8962a00}to{box-shadow:0 0 0 1.5px var(--admin-gold),0 0 #c8962a00}}@media(max-width:560px){.help-callout{display:none}}@media(prefers-reduced-motion:reduce){.help-callout,.help-btn--pulse{animation:none}}.help-modal-backdrop{z-index:600}.help-modal{max-width:520px}.help-modal-body{display:flex;flex-direction:column;gap:1.1rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.87rem;font-style:normal;font-weight:400;color:var(--admin-text)}.help-section h4{font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:700;font-style:normal;letter-spacing:.04em;color:var(--admin-navy);margin-bottom:.35rem}.help-section>div,.help-section p,.help-section li{font-family:Plus Jakarta Sans,sans-serif;font-size:.87rem;font-style:normal;font-weight:400;line-height:1.55;color:var(--admin-text)}.help-section p+p{margin-top:.5rem}.help-section ul{padding-left:1.1rem;margin-top:.3rem;display:flex;flex-direction:column;gap:.35rem}.help-section strong{color:var(--admin-navy)}.pd-root{max-width:760px;margin:0 auto}.pd-greeting{margin-bottom:1.5rem;animation:pd-pop-in .4s ease-out both}.pd-greeting-title{font-family:Playfair Display,Georgia,serif;font-size:1.75rem;font-weight:700;font-style:italic;color:var(--portal-heading, var(--admin-navy))}.pd-greeting-date{font-family:Lato,sans-serif;font-size:.85rem;color:var(--admin-text-muted);margin-top:2px}.pd-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:2rem}.pd-stat-card{position:relative;border-radius:18px;padding:1.5rem 1.5rem 1.35rem;color:#fff;overflow:hidden;box-shadow:0 10px 30px #00000029,0 2px 6px #00000014;animation:pd-pop-in .45s ease-out both;transition:transform .2s ease,box-shadow .2s ease}.pd-stat-card:hover{transform:translateY(-4px) rotate(-.3deg);box-shadow:0 16px 40px #0003,0 4px 10px #0000001a}.pd-stat-card--mass{background:linear-gradient(135deg,#d42a30,#7a1418);animation-delay:.05s}.pd-stat-card--clickable{cursor:pointer}.pd-stat-card--clickable:focus-visible{outline:2px solid #fff;outline-offset:2px}.pd-stat-icon{width:42px;height:42px;border-radius:12px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.pd-stat-label{font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:700;opacity:1;margin-bottom:.35rem}.pd-stat-value{font-family:Playfair Display,Georgia,serif;font-size:2.6rem;font-weight:700;line-height:1.1}.pd-stat-value--emphasis{font-size:3.6rem;font-weight:800}.pd-stat-delta{display:inline-flex;align-items:center;gap:4px;margin-top:.6rem;padding:3px 10px;border-radius:9999px;font-family:Lato,sans-serif;font-size:.75rem;font-weight:700;background:#ffffff2e}.pd-stat-delta--up{color:#d1fae5}.pd-stat-delta--down{color:#ffe4e6}.pd-section{margin-bottom:2rem;animation:pd-pop-in .5s ease-out both;animation-delay:.18s}.pd-section--spaced-top{margin-top:2.25rem}.pd-section-header{display:flex;align-items:center;gap:.5rem;font-family:Playfair Display,Georgia,serif;font-size:1.15rem;font-weight:700;font-style:italic;color:var(--portal-heading, var(--admin-navy));margin-bottom:.85rem}.pd-empty{background:var(--portal-surface-2, #f9fafb);border:1px dashed var(--admin-border, #d1d5db);border-radius:12px;padding:1.5rem;text-align:center;color:var(--admin-text-muted);font-size:.875rem}.pd-feed{background:var(--portal-surface, #fff);border:1px solid var(--admin-border);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.pd-feed-item{display:flex;align-items:flex-start;gap:.75rem;width:100%;text-align:left;padding:.85rem 1rem;border:none;border-bottom:1px solid var(--admin-border);background:var(--portal-surface, #fff);cursor:default;font:inherit}.pd-feed-item:last-child{border-bottom:none}.pd-feed-item:not(:disabled){cursor:pointer}.pd-feed-item:not(:disabled):hover{background:var(--portal-surface-2, #f9fafb)}.pd-feed-item--unread{background:#fff7ed}.pd-feed-item--unread:hover{background:#fef3e2}.pd-feed-item--announcement{border-left:3px solid var(--admin-gold)}.pd-feed-item--announcement .pd-feed-icon{background:var(--admin-gold);color:#fff}.pd-feed-icon{flex-shrink:0;width:34px;height:34px;border-radius:9999px;background:var(--admin-cream, #fffdd0);color:var(--portal-heading, var(--admin-navy));display:flex;align-items:center;justify-content:center}.pd-feed-body{flex:1;min-width:0}.pd-feed-title{font-family:Lato,sans-serif;font-size:.85rem;font-weight:700;color:var(--admin-text)}.pd-feed-text{font-family:Lato,sans-serif;font-size:.78rem;color:var(--admin-text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pd-feed-time{font-family:Lato,sans-serif;font-size:.7rem;color:var(--admin-text-light);margin-top:4px}.pd-feed-dot{flex-shrink:0;width:8px;height:8px;border-radius:9999px;background:var(--admin-gold);margin-top:6px}.pd-whats-happening{display:flex;align-items:center;gap:1rem;width:100%;padding:1.1rem 1.4rem;border:none;border-radius:18px;background:linear-gradient(120deg,#1d4ed8,#0891b2 130%);color:#fff;cursor:pointer;text-align:left;font:inherit;box-shadow:0 10px 30px #00000024;animation:pd-pop-in .5s ease-out both;animation-delay:.2s;transition:transform .2s ease,box-shadow .2s ease;margin-bottom:2rem}.pd-whats-happening:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0003}.pd-whats-happening-icon{flex-shrink:0;width:46px;height:46px;border-radius:13px;background:#ffffff2e;display:flex;align-items:center;justify-content:center}.pd-whats-happening-body{flex:1}.pd-whats-happening-title{font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:700}.pd-whats-happening-sub{font-family:Lato,sans-serif;font-size:.8rem;opacity:.88;margin-top:2px}.pd-whats-happening-arrow{flex-shrink:0;opacity:.85}.pd-stats-row.pd-stats-row--pair,.portal-student .pd-stats-row.pd-stats-row--pair{grid-template-columns:1fr 1fr}.pd-stats-row.pd-stats-row--trio,.portal-student .pd-stats-row.pd-stats-row--trio{grid-template-columns:repeat(3,1fr)}.pd-stat-card--events,.pd-stat-card--checkins,.pd-stat-card--attendance{background:linear-gradient(135deg,#0f766e,#134e4a)}.pd-stat-card--checkins{animation-delay:.12s}.pd-stat-card--attendance{animation-delay:.19s}.pd-dome{display:block;width:100%;max-width:150px;height:auto;margin:.35rem 0 .1rem;overflow:visible}.pd-dome-fill{transition:stroke-dasharray .8s ease-out}@media(prefers-reduced-motion:reduce){.pd-dome-fill{transition:none}}.pd-event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.pd-event-card{display:flex;flex-direction:column;padding:0;border:1px solid var(--admin-border, #e6dac4);border-radius:18px;background:var(--portal-surface, #fff);color:var(--portal-heading, var(--admin-navy));overflow:hidden;cursor:pointer;text-align:left;font:inherit;box-shadow:0 6px 20px #00000014;transition:transform .2s ease,box-shadow .2s ease}.pd-event-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #00000024}.pd-event-card:focus-visible{outline:2px solid var(--portal-accent, #7c3aed);outline-offset:2px}.pd-event-card-image{height:120px;display:flex;align-items:center;justify-content:center}.pd-event-card-emoji{font-size:3.2rem;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.pd-event-card-body{display:flex;flex-direction:column;gap:2px;padding:.85rem 1rem 1rem}.pd-event-card-date{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-accent, #7c3aed)}.pd-event-card-title{font-family:Playfair Display,Georgia,serif;font-size:1.02rem;font-weight:700;line-height:1.25}.pd-event-card-sub{font-size:.78rem;color:var(--admin-text-muted)}@media(max-width:480px){.pd-stat-value{font-size:2.1rem}.portal-student .pd-stats-row--pair .pd-stat-card{padding:1.1rem 1rem}.portal-student .pd-stats-row--pair .pd-stat-value--emphasis{font-size:2.2rem}.pd-stat-value--emphasis{font-size:2.8rem}.pd-stats-row.pd-stats-row--trio,.portal-student .pd-stats-row.pd-stats-row--trio{grid-template-columns:1fr 1fr}.pd-stats-row--trio .pd-stat-card--attendance{grid-column:1 / -1}}.pd-modal-body-html{width:100%;min-height:240px;border:1px solid var(--admin-border);border-radius:10px;background:var(--portal-surface, #fff)}.pd-modal-body-text{font-family:Lato,sans-serif;font-size:.9rem;color:var(--admin-text);white-space:pre-wrap;margin:0}.pd-modal-body-empty{color:var(--admin-text-muted)}.pd-modal-footer{flex-shrink:0;padding:.85rem 1.1rem;border-top:1px solid var(--admin-border)}.pd-modal-clear-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.65rem;border-radius:10px;border:1px solid var(--admin-border);background:var(--portal-surface, #fff);color:var(--admin-text-muted);font-family:Lato,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer}.pd-modal-clear-btn:hover:not(:disabled){background:var(--portal-surface-2, #f8f5ee);color:var(--portal-heading, var(--admin-navy));border-color:var(--admin-gold, #c8962a)}.pd-modal-clear-btn:disabled{opacity:.6;cursor:default}.pd-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--portal-overlay, rgba(26, 39, 68, .45));z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:pd-fade-in .15s ease-out both}.pd-modal{background:var(--portal-surface, #fff);border-radius:20px;border-top:5px solid var(--admin-gold, #c8962a);width:100%;max-width:440px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000040;animation:pd-pop-in .2s ease-out both}.pd-modal-header{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;border-bottom:1px solid var(--admin-border);flex-shrink:0}.pd-modal-header-icon{width:30px;height:30px;border-radius:9999px;background:var(--admin-cream, #fffdd0);color:var(--portal-heading, var(--admin-navy));display:flex;align-items:center;justify-content:center;flex-shrink:0}.pd-modal-header-title{flex:1;font-family:Playfair Display,Georgia,serif;font-weight:700;font-size:1.05rem;color:var(--portal-heading, var(--admin-navy))}.pd-modal-close{background:none;border:none;cursor:pointer;color:var(--admin-text-muted);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9999px;flex-shrink:0}.pd-modal-close:hover{background:var(--portal-surface-3, #f3f4f6);color:var(--portal-heading, var(--admin-navy))}.pd-modal-body{padding:1.1rem;overflow-y:auto}.pd-modal-meta{display:flex;flex-direction:column;gap:.5rem;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px dashed var(--admin-border)}.pd-modal-meta-row{display:flex;align-items:center;gap:.5rem;font-family:Lato,sans-serif;font-size:.82rem;color:var(--admin-text)}.pd-modal-meta-row svg{flex-shrink:0;color:var(--admin-text-muted)}.pd-modal-message-title{font-family:Lato,sans-serif;font-weight:700;font-size:.92rem;color:var(--portal-heading, var(--admin-navy));margin-bottom:.4rem}.pd-modal-message-text{font-family:Lato,sans-serif;font-size:.88rem;line-height:1.5;color:var(--admin-text);white-space:pre-wrap;word-break:break-word}@media(max-width:600px){.pd-modal-overlay{align-items:flex-end;padding:0}.pd-modal{max-width:100%;max-height:80vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:pd-slide-up .22s ease-out both}.pd-modal-close{width:44px;height:44px}.pd-modal-header{padding:1rem 1rem .85rem}.pd-modal-body{padding:1rem}}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#ffffff59,#1a27442e);animation:celebration-veil .25s ease-out both}.celebration-particle{position:absolute;top:-10vh;line-height:1;animation-name:celebration-fall;animation-timing-function:cubic-bezier(.25,.55,.45,1);animation-fill-mode:both;will-change:transform}.celebration-message{position:relative;max-width:88vw;padding:1rem 1.6rem;border-radius:18px;background:#fffdf8;color:#1a2744;font-family:var(--portal-display, Georgia, serif);font-size:clamp(1.3rem,5vw,1.9rem);font-weight:700;text-align:center;box-shadow:0 18px 50px #1a274440;animation:celebration-pop .45s ease-out both}@keyframes celebration-veil{0%{opacity:0}to{opacity:1}}@keyframes celebration-fall{0%{transform:translateZ(0) rotate(0);opacity:0}10%{opacity:1}to{transform:translate3d(var(--drift),115vh,0) rotate(var(--spin));opacity:1}}@keyframes celebration-pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.celebration-overlay,.celebration-message{animation:none}.celebration-particle{display:none}}.stagebar{display:flex;flex-direction:column;gap:.3rem}.stagebar-track{display:flex;gap:2px;height:6px;border-radius:9999px;overflow:hidden}.stagebar-seg{flex-basis:0;min-width:4px}.stagebar-seg--committed{background:#4ade80}.stagebar-seg--invited{background:#60a5fa}.stagebar-seg--new{background:#fbbf24}.stagebar-legend{display:flex;flex-wrap:wrap;gap:.15rem .7rem;font-size:.72rem;font-weight:500;color:var(--admin-text-muted)}.stagebar-legend-item{display:inline-flex;align-items:center;gap:.28rem;white-space:nowrap}.stagebar-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.mm-root{max-width:100%}.mm-header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;background:var(--admin-bg, #fdfaf4);padding:.5rem .25rem;border-bottom:1px solid var(--admin-border, #e6dac4);margin-bottom:.75rem}.mm-header-title{margin:0;text-align:center;font-family:Fraunces,Georgia,serif;font-size:1.15rem;color:var(--portal-heading, var(--admin-navy));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-header-back,.mm-header-add{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:9999px;color:var(--portal-heading, var(--admin-navy));cursor:pointer}.mm-header-back:hover,.mm-header-add:hover{background:#1a27440f}.mm-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:.85rem}.mm-stat-card{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .75rem;border:1px solid var(--admin-border, #e6dac4);border-radius:12px;background:var(--portal-surface-2, #fdfaf3)}.mm-stat-value{font-family:Fraunces,Georgia,serif;font-size:1.4rem;font-weight:700;color:var(--portal-heading, var(--admin-navy))}.mm-stat-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;color:var(--admin-text-muted)}@media(min-width:480px){.mm-stats{grid-template-columns:repeat(4,1fr)}}.mm-search{display:block;width:100%;box-sizing:border-box;margin:0 0 .75rem;padding:.6rem .75rem;font-size:16px;font-family:Plus Jakarta Sans,sans-serif;border:1px solid var(--admin-border, #e6dac4);border-radius:10px}.mm-group-list{display:flex;flex-direction:column}.mm-group-row{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;min-height:68px;width:100%;padding:.6rem .25rem;background:none;border:none;border-bottom:1px solid var(--admin-border, #e6dac4);text-align:left;cursor:pointer}.mm-group-row-top{display:flex;align-items:center;gap:.6rem;width:100%}.mm-group-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.98rem;color:var(--portal-heading, var(--admin-navy))}.mm-group-row-sub{flex-shrink:0;font-size:.8rem;color:var(--admin-text-muted)}.mm-group-row-referred{flex-shrink:0;padding:.1rem .5rem;border-radius:9999px;background:var(--portal-warn-tint);color:var(--portal-warn);font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;font-weight:700;white-space:nowrap}.mm-group-row-chevron{flex-shrink:0;color:var(--admin-text-muted)}.mm-group-row-stages{padding-right:1.6rem}.mm-list{display:flex;flex-direction:column}.mm-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;min-height:68px;width:100%;padding:.55rem .25rem;border-bottom:1px solid var(--admin-border, #e6dac4)}.mm-row-main{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0;padding:0;background:none;border:none;text-align:left;font:inherit;color:inherit}button.mm-row-main{cursor:pointer}.mm-row-name{flex-shrink:0;max-width:45%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Plus Jakarta Sans,sans-serif;font-weight:500;font-size:.95rem;color:var(--portal-heading, var(--admin-navy))}.mm-row-phone{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;color:var(--admin-text-muted)}.mm-row-dup-btn{flex-shrink:0;display:flex;padding:2px;background:none;border:none;color:#dc2626;cursor:pointer}.mm-row-dup-note{order:1;flex-basis:100%;margin-top:.4rem;padding:5px 8px;border-radius:6px;background:#fef2f2;border:1px solid #fca5a5;font-size:.75rem;color:#991b1b}.mm-row-leader-tag{display:inline-block;margin-left:.4rem;padding:.1rem .45rem;border-radius:9999px;background:#c8962a26;color:var(--admin-gold, #c8962a);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}.mm-row-badge{flex-shrink:0;padding:.2rem .55rem;border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:700;white-space:nowrap}.mm-row-badge--committed{background:#dcfce7;color:#166534}.mm-row-badge--invited{background:#dbeafe;color:#1d4ed8}.mm-row-badge--new{background:#fef3c7;color:#92400e}.mm-row-badge--declined{background:#f3f4f6;color:#6b7280}.mm-row-badge--referred{background:var(--portal-warn-tint);color:var(--portal-warn)}.mm-row-history-btn{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:var(--portal-surface, #fff);border:1px solid var(--admin-border);color:var(--portal-heading, var(--admin-navy));font-family:Plus Jakarta Sans,sans-serif;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.mm-row--declined{opacity:.7}.mm-section-toggle{display:flex;align-items:center;gap:.35rem;width:100%;padding:.6rem .25rem;margin-top:.35rem;background:none;border:none;border-top:1px solid var(--admin-border, #e6dac4);font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:600;color:var(--admin-text-muted);cursor:pointer;text-align:left}.mm-section-count{font-weight:400}.mm-list--declined{margin-top:.25rem}.mm-empty{background:var(--portal-surface-2, #f9fafb);border:1px dashed var(--admin-border, #d1d5db);border-radius:14px;padding:1.5rem;text-align:center;color:var(--admin-text-muted);font-size:.875rem}.mm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--portal-overlay, rgba(26, 39, 68, .45));z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.mm-modal{background:var(--portal-surface, #fff);border-radius:20px;border-top:5px solid var(--admin-gold, #c8962a);width:100%;max-width:440px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;box-shadow:0 20px 60px #00000040}.mm-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:1rem 1.1rem;border-bottom:1px solid var(--admin-border);flex-shrink:0}.mm-modal-title{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Fraunces,Georgia,serif;font-size:1.1rem;color:var(--portal-heading, var(--admin-navy))}.mm-modal-close{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:9999px;color:var(--admin-text-muted);cursor:pointer}.mm-modal-close:hover{background:#1a27440f}.mm-modal-body{padding:1.1rem;overflow-y:auto}@media(max-width:600px){.mm-modal-overlay{align-items:flex-end;padding:0}.mm-modal{max-width:100%;max-height:88vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:mm-slide-up .22s ease-out both}}.mm-contact{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--admin-border, #e6dac4)}.mm-contact-links{display:flex;flex-direction:column;gap:.2rem;min-width:0}.mm-contact-row{margin:0;color:var(--admin-text-muted);font-size:.85rem}.mm-contact-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:#1d4ed8;text-decoration:none}.mm-contact-link:hover{text-decoration:underline}.mm-stage-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.85rem}.mm-stage{display:flex;align-items:center;justify-content:space-between;min-height:56px;width:100%;padding:.6rem .9rem;border:2px solid var(--admin-border, #e6dac4);border-radius:12px;background:var(--portal-surface, #fff);font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:600;color:var(--portal-heading, var(--admin-navy));cursor:pointer}.mm-stage--selected{border-color:var(--admin-navy);background:var(--portal-stage-selected-bg, linear-gradient(135deg, rgba(26,39,68,.06), rgba(200,150,42,.08)))}.mm-stage-check{color:var(--portal-heading, var(--admin-navy));font-weight:700}.mm-subflow-wrap{position:relative}.mm-subflow{margin-bottom:.85rem}.mm-field-label{display:block;font-size:.8rem;font-weight:700;color:var(--portal-heading, var(--admin-navy));margin-bottom:.4rem}.mm-date-input{width:100%;box-sizing:border-box;padding:.6rem .7rem;font-size:16px;font-family:Plus Jakarta Sans,sans-serif;border:1px solid var(--admin-border, #e6dac4);border-radius:8px}.mm-reset-new{display:block;width:100%;min-height:40px;margin-bottom:.6rem;border:1px solid #fde68a;border-radius:10px;background:#fef3c7;color:#92400e;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer}.mm-reset-new:disabled{opacity:.5;cursor:not-allowed}.mm-yesno{display:flex;gap:.6rem;margin-bottom:.6rem}.mm-yesno-btn{flex:1;min-height:48px;border:2px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-surface, #fff);color:var(--admin-text);font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.95rem;cursor:pointer}.mm-yesno-btn--yes.mm-yesno-btn--selected{border-color:#16a34a;background:#dcfce7;color:#166534}.mm-yesno-btn--no.mm-yesno-btn--selected{border-color:#dc2626;background:#fee2e2;color:#991b1b}.mm-reason{display:block;width:100%;box-sizing:border-box;min-height:72px;padding:.6rem .7rem;margin-bottom:.6rem;font-size:.9rem;font-family:Plus Jakarta Sans,sans-serif;border:1px solid var(--admin-border, #e6dac4);border-radius:8px;resize:vertical}.mm-group-picker{margin-top:.4rem}.mm-group-picker-row{display:flex;align-items:center;gap:.5rem;min-height:44px;width:100%;padding:.4rem .25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;color:var(--portal-heading, var(--admin-navy));text-align:left;background:none;border:none;border-bottom:1px solid var(--admin-border, #e6dac4);cursor:pointer}button.mm-group-picker-row{border-radius:8px}button.mm-group-picker-row:hover{background:#1a27440f}.mm-group-picker-row--parent{justify-content:space-between}.mm-group-picker-row--expandable{font-weight:600}.mm-group-picker-row--expandable .mm-group-picker-expand:hover{background:none}.mm-group-picker-check{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;cursor:pointer}.mm-group-picker-expand{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;margin-left:.5rem;background:none;border:none;border-radius:6px;color:var(--admin-text-muted);cursor:pointer}.mm-group-picker-expand:hover{background:#1a27440f;color:var(--portal-heading, var(--admin-navy))}.mm-group-picker-children{margin-left:1.5rem}.mm-group-picker-row--child{padding-left:.25rem;font-size:.85rem}.mm-hint{margin:0 0 .6rem;font-size:.78rem;color:var(--admin-text-muted)}.mm-error{margin:0 0 .6rem;font-size:.82rem;color:#b91c1c}.mm-save{display:block;width:100%;min-height:48px;border:none;border-radius:10px;background:var(--admin-navy);color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.95rem;cursor:pointer;margin-bottom:.5rem}.mm-save:disabled{opacity:.5;cursor:not-allowed}.mm-cancel{display:block;width:100%;min-height:44px;border:1px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-surface, #fff);color:var(--admin-text-muted);font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.9rem;cursor:pointer}.mm-invite{margin-bottom:.9rem;padding:.75rem;border:1px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-surface-2, #fdfaf3)}.mm-invite .mm-hint{margin-bottom:0}.mm-invite-select{display:block;width:100%;min-height:44px;margin-bottom:.5rem;padding:0 .6rem;border:1px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-input-bg, #fff);font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;color:var(--admin-text, #2b2b2b)}.mm-invite-button{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:48px;border:none;border-radius:10px;background:var(--admin-gold, #c8962a);color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.95rem;cursor:pointer}.mm-invite-button:disabled{opacity:.5;cursor:not-allowed}.mm-confirm{margin-top:.6rem;padding:.75rem;border:1px solid #fecaca;border-radius:10px;background:#fef2f2}.mm-confirm p{margin:0 0 .6rem;font-size:.85rem;color:#991b1b}.mm-confirm--reset{margin-top:0;margin-bottom:.85rem;border-color:#fde68a;background:#fffbeb}.mm-confirm--reset p{color:#92400e}.mm-remove{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;min-height:44px;margin-top:.75rem;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#dc2626;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer}.mm-search-result{display:flex;align-items:center;gap:.6rem;min-height:56px;width:100%;padding:.5rem .25rem;background:none;border:none;border-bottom:1px solid var(--admin-border, #e6dac4);text-align:left;cursor:pointer}.mm-search-result--disabled{opacity:.5;cursor:not-allowed}.mm-orphans{margin-bottom:.75rem}.mm-orphans-title{padding:.5rem .25rem .25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--admin-text-muted)}.mm-orphan-sub{font-size:.8rem;color:var(--admin-text-muted)}.mm-referral-meta{margin:0 0 .5rem;font-size:.85rem;color:var(--admin-text-muted)}.mm-referral-note{margin:0 0 .5rem;font-size:.85rem;font-style:italic;color:var(--portal-text-muted, var(--admin-text-muted))}.mm-referral-notice{margin-top:.6rem;padding:6px 9px;border-radius:8px;font-size:.78rem;border:1px solid var(--portal-line-strong, #e6dac4)}.mm-referral-notice--warn{background:var(--portal-warn-tint);color:var(--portal-warn)}.mm-referral-notice--danger{background:var(--portal-danger-tint);color:var(--portal-danger)}.mm-referral-status{display:inline-flex;align-items:center;gap:4px;margin:.6rem 0 0;padding:4px 10px;border-radius:6px;background:var(--portal-accent-tint);color:var(--portal-accent);font-size:.78rem;font-weight:600}.mm-referral-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.mm-referral-actions .mm-save,.mm-referral-actions .mm-remove{margin:0}.mm-referral-history{align-self:flex-start}.mm-referral-link{align-self:center;background:none;border:none;padding:.25rem;color:var(--admin-text-muted);font-size:.8rem;text-decoration:underline;cursor:pointer}.mm-referral-link:disabled{opacity:.5;cursor:not-allowed}.mm-referral-choices{display:flex;flex-direction:column;gap:.4rem}.mm-referral-choice{width:100%;min-height:44px;padding:.6rem .8rem;border:1px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-surface, #fff);color:var(--portal-heading, var(--admin-navy));font-family:Plus Jakarta Sans,sans-serif;font-size:.88rem;font-weight:600;text-align:left;cursor:pointer}.mm-referral-choice:disabled{opacity:.5;cursor:not-allowed}.ocia-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.ocia-field-label{font-size:.85rem;font-weight:600;color:var(--portal-text-primary, var(--admin-text, #211a12))}.ocia-field-req{color:#dc2626}.ocia-field-help{margin:0;font-size:.75rem;color:var(--portal-text-secondary, var(--admin-text-muted, #7a6a54))}.ocia-field-error{margin:0;font-size:.78rem;color:#dc2626}.ocia-input{width:100%;box-sizing:border-box;padding:.65rem .8rem;font:inherit;font-size:.95rem;border:1.5px solid var(--admin-border, #e6dac4);border-radius:9px;background:var(--portal-input-bg, #fff);color:var(--portal-text-primary, var(--admin-text, #211a12))}.ocia-input:focus{outline:none;border-color:var(--admin-gold, #c8962a);box-shadow:0 0 0 3px #c8962a2e}.ocia-input:disabled{opacity:.6}textarea.ocia-input{resize:vertical;min-height:96px}.ocia-radio-row{display:flex;gap:.5rem}.ocia-radio{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;padding:.5rem 1rem;border:1.5px solid var(--admin-border, #e6dac4);border-radius:9999px;font-size:.9rem;color:var(--portal-text-primary, var(--admin-text, #211a12));background:var(--portal-input-bg, #fff)}.ocia-radio.is-on{border-color:var(--admin-gold, #c8962a);background:var(--admin-gold-tint, #fbf1dc);font-weight:600}.ocia-radio input{accent-color:var(--admin-navy, #BA2025)}.ocia-file-chips{display:flex;flex-wrap:wrap;gap:.4rem}.ocia-file-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.3rem .35rem .3rem .6rem;border-radius:9999px;background:var(--admin-gold-tint, #fbf1dc);font-size:.8rem;color:var(--portal-text-primary, var(--admin-text, #211a12))}.ocia-file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.ocia-file-chip-x{display:inline-flex;border:none;background:none;cursor:pointer;padding:.15rem;border-radius:9999px;color:inherit}.ocia-file-chip-x:hover{background:#00000014}.ocia-file-btn{align-self:flex-start;cursor:pointer;padding:.5rem 1rem;border-radius:9999px;font:inherit;font-size:.85rem;font-weight:600;border:1.5px dashed var(--admin-border, #e6dac4);background:transparent;color:var(--portal-text-primary, var(--admin-text, #211a12))}.ocia-file-btn:disabled{opacity:.5;cursor:not-allowed}.po-root{max-width:760px;margin:0 auto}.po-title{font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--portal-heading, var(--admin-navy));margin:0 0 .25rem}.po-sub{margin:0 0 1.25rem;font-size:.88rem;color:var(--admin-text-muted)}.po-section{margin-bottom:1.5rem}.po-section-title{display:flex;align-items:center;gap:.45rem;font-size:.95rem;font-weight:700;color:var(--portal-heading, var(--admin-navy));margin:0 0 .6rem}.po-count{background:#dc2626;color:#fff;border-radius:9999px;font-size:.68rem;padding:.05rem .45rem}.po-card{width:100%;box-sizing:border-box;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;margin-bottom:.5rem;font:inherit;cursor:pointer;background:var(--portal-surface, #fff);border:1px solid var(--admin-border);border-radius:11px;color:var(--portal-text-primary, var(--admin-text))}.po-card--attn{border-left:4px solid #d97706}.po-card-title{font-weight:700;font-size:.92rem;color:var(--portal-heading, var(--admin-navy))}.po-card-sub{font-size:.78rem;color:var(--admin-text-muted);margin-top:2px}.po-card-note{font-size:.8rem;margin-top:4px;color:#92400e;white-space:pre-wrap;overflow-wrap:anywhere}.po-pill{flex-shrink:0;font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:9999px;background:var(--portal-surface-2, #f1f5f9);color:var(--admin-text-muted)}.po-pill--warn{background:#fef3c7;color:#92400e}.po-pill--ok{background:#dcfce7;color:#166534}.po-empty{padding:1rem;text-align:center;color:var(--admin-text-muted);font-size:.85rem;background:var(--portal-surface, #fff);border:1px dashed var(--admin-border);border-radius:11px}.po-announce{padding:.8rem 1rem;margin-bottom:.5rem;background:var(--portal-surface, #fff);border:1px solid var(--admin-border);border-radius:11px}.po-announce p{margin:.25rem 0 0;font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--portal-text-primary, var(--admin-text))}.po-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem}.po-modal{width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;background:var(--portal-surface, #fff);border-radius:14px;overflow:hidden}.po-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;border-bottom:1px solid var(--admin-border)}.po-modal-head h3{margin:0;font-size:1.05rem;color:var(--portal-heading, var(--admin-navy))}.po-x{background:none;border:none;cursor:pointer;color:var(--admin-text-muted);display:flex;padding:.2rem}.po-modal-body{padding:1.1rem 1.15rem .4rem;overflow-y:auto}.po-modal-foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.15rem;border-top:1px solid var(--admin-border);flex-wrap:wrap}.po-btn{padding:.6rem 1.1rem;font:inherit;font-size:.88rem;font-weight:700;border-radius:9px;cursor:pointer;border:1.5px solid var(--admin-border);background:transparent;color:var(--portal-text-primary, var(--admin-text))}.po-btn--primary{background:var(--admin-navy);border-color:var(--admin-navy);color:#fff}.po-btn:disabled{opacity:.55;cursor:not-allowed}.po-instructions{font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 1rem;color:var(--portal-text-primary, var(--admin-text))}.po-banner{font-size:.82rem;padding:.6rem .8rem;border-radius:9px;background:#fffbeb;border:1px solid #fcd34d;color:#78350f;margin-bottom:1rem;white-space:pre-wrap;overflow-wrap:anywhere}.po-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.po-head .po-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem}.po-modal--wide{max-width:640px}.po-form-heading{margin:1.25rem 0 .7rem;padding-bottom:.35rem;font-size:.9rem;color:var(--portal-heading, var(--admin-navy));border-bottom:1px solid var(--admin-border)}.po-form-heading:first-child{margin-top:0}.po-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.po-form-row>*{min-width:0}.po-form-fieldset{border:none;padding:0;margin:0 0 1rem}.po-form-check{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem;font-size:.92rem;cursor:pointer;color:var(--portal-text-primary, var(--admin-text))}.po-form-check input{accent-color:var(--admin-navy);width:16px;height:16px;flex-shrink:0}@media(max-width:480px){.po-form-row{grid-template-columns:1fr;gap:0}.po-modal-foot .po-btn{flex:1}}.portal-tour-layer{position:fixed;right:1rem;bottom:1rem;z-index:1000;width:min(380px,calc(100vw - 2rem));pointer-events:none}.portal-tour-card{pointer-events:auto;display:flex;flex-direction:column;max-height:min(62vh,540px);background:var(--portal-surface, #fff);border-radius:16px;box-shadow:0 12px 36px #00000038;border:1px solid var(--admin-border, #e6dac4);border-top:4px solid var(--admin-gold, #c8962a);overflow:hidden}.portal-tour-body{overflow-y:auto;min-height:0}@media(max-width:768px){.portal-tour-layer{left:.75rem;right:.75rem;bottom:calc(4.25rem + env(safe-area-inset-bottom,0px));width:auto}.portal-tour-card{max-height:40vh}}.portal-tour-layer.portal-tour-layer--centered{top:0;left:0;right:0;bottom:0;width:auto;display:flex;align-items:center;justify-content:center;padding:1rem}.portal-tour-layer--centered .portal-tour-card{width:min(380px,100%);max-height:min(80vh,540px)}.portal-tour-layer.portal-tour-layer--top{top:calc(4.5rem + env(safe-area-inset-top,0px));bottom:auto;left:0;right:0;width:auto;padding:0 1rem}.portal-tour-layer--top .portal-tour-card{width:min(380px,100%);max-height:min(60vh,540px);margin:0 auto;height:auto}body.guided-tour-open .mm-modal{max-height:55vh}.portal-tour-card--gold{border:1px solid var(--portal-accent, #dcac47);border-top:4px solid var(--portal-accent, #dcac47)}.portal-tour-pointer{position:fixed;z-index:1001;pointer-events:none;fill:var(--portal-accent, #dcac47);filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));animation-duration:1.2s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.portal-tour-pointer--above{animation-name:portal-tour-bob-down}.portal-tour-pointer--below{animation-name:portal-tour-bob-up}@keyframes portal-tour-bob-down{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes portal-tour-bob-up{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.portal-tour-pointer{animation:none}}.portal-shell.portal-student{color-scheme:dark;--portal-display: "Archivo", "Helvetica Neue", Arial, sans-serif;--portal-body: "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;--portal-bg: #1a0a0b;--portal-surface: #2b1416;--portal-surface-2: #361a1d;--portal-surface-3: #432225;--portal-overlay: rgba(20, 6, 7, .72);--portal-input-bg: #2b1416;--portal-line: rgba(255, 236, 214, .1);--portal-line-strong: rgba(255, 236, 214, .22);--portal-glow: radial-gradient(70% 150% at 30% 0%, rgba(200, 150, 42, .38) 0%, rgba(186, 32, 37, .42) 42%, transparent 85%), radial-gradient(60% 130% at 75% 0%, rgba(186, 32, 37, .35) 0%, transparent 80%);--portal-card-glow: radial-gradient(120% 140% at 0% 0%, rgba(200, 150, 42, .42) 0%, rgba(186, 32, 37, .32) 45%, transparent 75%), #2b1416;--portal-rail: #140607;--portal-ok: #86efac;--portal-ok-tint: rgba(134, 239, 172, .12);--portal-heading: #fffdf8;--portal-text-primary: #fffdf8;--portal-text-secondary: rgba(255, 253, 248, .72);--portal-text-muted: rgba(255, 253, 248, .5);--portal-primary: #BA2025;--portal-on-primary: #ffffff;--portal-primary-hover: #D42A30;--portal-chip: rgba(255, 255, 255, .06);--portal-chip-active: rgba(255, 255, 255, .16);--portal-chip-border: rgba(255, 255, 255, .4);--portal-accent: #dcac47;--portal-accent-tint: rgba(200, 150, 42, .16);--portal-danger: #fca5a5;--portal-danger-tint: rgba(252, 165, 165, .12);--portal-warn: #e8b84d;--portal-warn-tint: rgba(232, 184, 77, .12);--portal-radius-card: 20px;--portal-radius-pill: 9999px;--portal-shadow: none;--admin-bg: var(--portal-bg);--admin-surface: var(--portal-surface);--admin-border: var(--portal-line);--admin-navy: var(--portal-heading);--admin-navy-hover: var(--portal-heading);--admin-gold: var(--portal-accent);--admin-gold-light: var(--portal-accent);--admin-gold-tint: var(--portal-accent-tint);--admin-scarlet-tint: var(--portal-chip);--admin-cream: var(--portal-chip-active);--admin-text: var(--portal-text-primary);--admin-text-muted: var(--portal-text-muted);--admin-text-light: var(--portal-text-muted);--admin-sky-tint: var(--portal-chip);--admin-plum-tint: var(--portal-accent-tint);--admin-pine-tint: var(--portal-chip)}.portal-shell.portal-student[data-theme=light]{color-scheme:light;color:var(--portal-text-primary);--portal-bg: #f7f0e4;--portal-surface: #fffdf8;--portal-surface-2: #f3eadb;--portal-surface-3: #ebdfc9;--portal-overlay: rgba(59, 14, 16, .4);--portal-input-bg: #fffdf8;--portal-line: rgba(122, 90, 40, .14);--portal-line-strong: rgba(122, 90, 40, .3);--portal-glow: radial-gradient(70% 150% at 30% 0%, rgba(200, 150, 42, .45) 0%, rgba(186, 32, 37, .2) 45%, transparent 85%), radial-gradient(60% 130% at 75% 0%, rgba(186, 32, 37, .2) 0%, transparent 80%);--portal-card-glow: radial-gradient(120% 140% at 0% 0%, rgba(200, 150, 42, .4) 0%, rgba(186, 32, 37, .16) 45%, transparent 75%), #fffdf8;--portal-ok: #166534;--portal-ok-tint: #dcfce7;--portal-heading: #BA2025;--portal-text-primary: #211a12;--portal-text-secondary: rgba(33, 26, 18, .72);--portal-text-muted: rgba(33, 26, 18, .5);--portal-primary: #BA2025;--portal-on-primary: #ffffff;--portal-primary-hover: #D42A30;--portal-chip: rgba(122, 90, 40, .07);--portal-chip-active: rgba(122, 90, 40, .14);--portal-chip-border: rgba(122, 90, 40, .45);--portal-accent: #9a6b12;--portal-accent-tint: rgba(200, 150, 42, .16);--portal-danger: #dc2626;--portal-danger-tint: #fef2f2;--portal-warn: #8a5a00;--portal-warn-tint: #fbf1dc;--portal-shadow: 0 1px 2px rgba(60, 30, 10, .06)}.portal-shell.portal-student .admin-sidebar{background:var(--portal-rail);border-right:1px solid rgba(255,255,255,.08);box-shadow:none}.portal-shell.portal-student .sidebar-header,.portal-shell.portal-student .sidebar-footer{border-color:#ffffff1a}.portal-shell.portal-student .user-name{color:#fff}.portal-shell.portal-student .user-role{color:#ffffff80}.portal-shell.portal-student .nav-item{color:#ffffffb3;font-family:var(--portal-body);font-weight:600;transition:background .15s,color .15s}.portal-shell.portal-student .nav-item:hover{background:#ffffff14;color:#fff;transform:none}.portal-shell.portal-student .nav-item.active{background:#ffffff29;color:#fff;font-weight:700;box-shadow:inset 0 0 0 1px #fff6}.portal-shell.portal-student .nav-item.active svg{color:#fff}.portal-shell.portal-student .logout-btn{color:#ffffffb3}.portal-shell.portal-student .logout-btn:hover{color:#fff}.portal-shell.portal-student .portal-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.75rem;padding-top:calc(.85rem + env(safe-area-inset-top,0px));flex-shrink:0;background:var(--portal-bg);color:var(--portal-heading)}.portal-shell.portal-student .portal-topbar-start{display:flex;align-items:center;gap:.75rem;min-width:0}.portal-shell.portal-student .portal-topbar-end{display:flex;align-items:center;gap:.85rem;flex-shrink:0}.portal-shell.portal-student .portal-topbar-name{font-family:var(--portal-display);font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:var(--portal-heading)}.portal-shell.portal-student .portal-topbar-sub{font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-text-muted)}.portal-shell.portal-student .portal-topbar-icon,.portal-shell.portal-student .portal-topbar-avatar{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;color:var(--portal-heading);opacity:.85}.portal-shell.portal-student .portal-topbar-icon:hover{opacity:1}.portal-shell.portal-student .portal-menu-toggle{color:var(--portal-heading)}.portal-shell.portal-student .portal-main{position:relative;flex:1;overflow-y:auto;padding:1.5rem 1.75rem;font-family:var(--portal-body);color:var(--portal-text-primary)}.portal-shell.portal-student .portal-main:before{content:"";position:absolute;left:0;right:0;top:0;height:460px;background:var(--portal-glow);pointer-events:none;z-index:-1}.portal-shell.portal-student .portal-main:before{display:none}.portal-shell.portal-student .portal-glow{position:relative;min-height:100%}.portal-shell.portal-student .portal-glow:before{content:"";position:absolute;top:-1.5rem;bottom:-1.5rem;left:-1.75rem;right:-1.75rem;background:var(--portal-glow);pointer-events:none;z-index:-1}.portal-shell.portal-student .pd-greeting-title,.portal-shell.portal-student .po-title{font-family:var(--portal-display);font-weight:800;font-stretch:112%;letter-spacing:-.02em;line-height:1.05}.portal-shell.portal-student .po-btn--primary{border-radius:var(--portal-radius-pill)}.portal-shell.portal-student .po-btn{border-radius:var(--portal-radius-pill);border:.8px solid var(--portal-line-strong);background:var(--portal-chip);color:var(--portal-text-primary);font-family:var(--portal-body);font-weight:600}.portal-shell.portal-student .portal-cal-today,.portal-shell.portal-student .portal-cal-navbtn{border:.8px solid var(--portal-line-strong);background:var(--portal-chip);color:var(--portal-text-primary)}.portal-shell.portal-student .po-card,.portal-shell.portal-student .po-modal,.portal-shell.portal-student .po-announce,.portal-shell.portal-student .portal-cal-modal,.portal-shell.portal-student .portal-cal-modal-overlay .portal-cal-modal{border-radius:var(--portal-radius-card)}@media(max-width:768px){.portal-shell.portal-student .portal-topbar-desktop-only{display:none}.portal-shell.portal-student .portal-bottom-nav{background:var(--portal-rail);border-top:1px solid rgba(255,255,255,.08);box-shadow:none}.portal-shell.portal-student .portal-bottom-nav-item{color:#ffffff80}.portal-shell.portal-student .portal-bottom-nav-item.active{color:#fff}}.portal-shell.portal-student[data-theme=light] .admin-sidebar{background:var(--portal-primary);border-right-color:#ffffff1f}.portal-shell.portal-student[data-theme=light] .sidebar-header,.portal-shell.portal-student[data-theme=light] .sidebar-footer{border-color:#ffffff2e}.portal-shell.portal-student[data-theme=light] .user-role{color:#ffffffbf}.portal-shell.portal-student[data-theme=light] .nav-item{color:#ffffffd9}.portal-shell.portal-student[data-theme=light] .nav-item:hover{background:#ffffff1f;color:#fff}.portal-shell.portal-student[data-theme=light] .nav-item.active{background:#fff3;color:#fff;box-shadow:inset 0 0 0 1px #ffffff80}.portal-shell.portal-student[data-theme=light] .logout-btn{color:#ffffffd9}.portal-shell.portal-student[data-theme=light] .logout-btn:hover{color:#fff}@media(max-width:768px){.portal-shell.portal-student[data-theme=light] .portal-bottom-nav{background:var(--portal-primary);border-top:1px solid rgba(255,255,255,.12);box-shadow:none}.portal-shell.portal-student[data-theme=light] .portal-bottom-nav-item{color:#ffffffb3}.portal-shell.portal-student[data-theme=light] .portal-bottom-nav-item.active{color:#fff}}.portal-shell.portal-student{height:100vh;height:100dvh;isolation:isolate}.portal-shell.portal-student .admin-sidebar{position:relative;height:100%;flex-shrink:0;transform:none;z-index:1}.portal-student .portal-menu-toggle{display:none;background:none;border:none;color:#ffffffe6;cursor:pointer;padding:.25rem;align-items:center;flex-shrink:0}.portal-student .portal-bottom-nav{display:none}@media(max-width:768px){.portal-shell.portal-student .admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(var(--admin-sidebar-width),82vw);transform:translate(-100%);visibility:hidden;z-index:200}.portal-shell.portal-student .sidebar-footer{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.portal-shell.portal-student .admin-sidebar.open{transform:translate(0);visibility:visible}.portal-student .portal-menu-toggle{display:flex}.portal-shell.portal-student main{padding:1rem!important;padding-bottom:calc(1rem + 60px + env(safe-area-inset-bottom,0px))!important}.portal-student .portal-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;background:#fff;border-top:1px solid var(--admin-border, #e6dac4);box-shadow:var(--portal-shadow);overflow-x:auto;padding-bottom:env(safe-area-inset-bottom,0px)}.portal-student .portal-bottom-nav-item{flex:1 0 auto;min-width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:.4rem .5rem;background:none;border:none;cursor:pointer;color:var(--admin-text-muted, #8a7a5c);font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:600;white-space:nowrap}.portal-student .portal-bottom-nav-item.active{color:var(--portal-primary)}}@media(max-width:480px){.portal-student .portal-notif-dropdown{width:min(320px,calc(100vw - 2rem))!important;right:-.5rem!important}}.portal-student .portal-cal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1rem .85rem;border-bottom:1px solid var(--admin-border)}.portal-student .portal-cal-month{font-family:var(--portal-display);font-weight:800;font-size:1.45rem;line-height:1.1;color:var(--portal-heading, var(--admin-navy))}.portal-student .portal-cal-year{font-weight:400;color:var(--admin-text-muted)}.portal-student .portal-cal-subhead{margin-top:.15rem;font-size:.78rem;color:var(--admin-text-muted)}.portal-student .portal-cal-nav{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.portal-student .portal-cal-today,.portal-student .portal-cal-navbtn{display:inline-flex;align-items:center;justify-content:center;height:34px;border:1px solid var(--admin-border);background:var(--portal-surface, #fff);color:var(--portal-heading, var(--admin-navy));cursor:pointer;font-family:Plus Jakarta Sans,sans-serif}.portal-student .portal-cal-today{padding:0 .85rem;border-radius:9999px;font-size:.8rem;font-weight:700}.portal-student .portal-cal-navbtn{width:34px;border-radius:50%}.portal-student .portal-cal-today:hover,.portal-student .portal-cal-navbtn:hover{background:var(--portal-surface-3, var(--portal-surface-3))}.portal-student .portal-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.portal-student .portal-cal-cell{position:relative;min-width:0;min-height:92px;padding:.4rem .3rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;border-right:1px solid var(--admin-border);border-bottom:1px solid var(--admin-border);background:var(--portal-surface, #fff)}.portal-student .portal-cal-cell.is-outside{background:var(--portal-surface-2, var(--portal-surface-2))}.portal-student .portal-cal-cell.has-events{cursor:pointer}.portal-student .portal-cal-cell.has-events:hover{background:var(--portal-surface-3, var(--portal-surface-3))}.portal-student .portal-cal-cell.selected{box-shadow:inset 0 0 0 2px var(--admin-gold)}.portal-student .portal-cal-daynum{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:600;color:var(--portal-text-primary, #111)}.portal-student .portal-cal-cell.is-outside .portal-cal-daynum{font-weight:400;color:var(--admin-text-light)}.portal-student .portal-cal-cell.is-today .portal-cal-daynum{background:var(--portal-primary);color:var(--portal-on-primary);font-weight:700;box-shadow:0 0 0 3px var(--admin-gold-tint)}.portal-student .portal-cal-stickers{position:absolute;top:calc(.4rem + 14px);left:0;right:0;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.portal-student .portal-cal-sticker{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:3px solid var(--portal-line-strong);border-radius:14px;background:var(--portal-surface-2);box-shadow:var(--portal-shadow);font-size:1.5rem;line-height:1;cursor:pointer;transform:rotate(var(--tilt, 0deg));transition:transform .15s ease}.portal-student .portal-cal-sticker+.portal-cal-sticker{margin-left:-12px}.portal-student .portal-cal-sticker:hover,.portal-student .portal-cal-sticker:focus-visible{transform:rotate(0) scale(1.12)}.portal-student .portal-cal-more{margin-left:4px;padding:1px 6px;border-radius:9999px;background:var(--portal-primary);color:var(--portal-on-primary);font-size:.66rem;font-weight:700;line-height:1.4}.portal-student .portal-cal-more--narrow{display:none}@media(max-width:640px){.portal-student .portal-cal-head{padding:.85rem .9rem .7rem}.portal-student .portal-cal-month{font-size:1.2rem}.portal-student .portal-cal-today{height:30px;padding:0 .65rem;font-size:.74rem}.portal-student .portal-cal-navbtn{width:30px;height:30px}.portal-student .portal-cal-cell{min-height:64px;padding:.3rem .1rem;gap:.2rem}.portal-student .portal-cal-daynum{width:24px;height:24px;font-size:.75rem}.portal-student .portal-cal-stickers{top:calc(.3rem + 12px)}.portal-student .portal-cal-sticker{width:38px;height:38px;border-width:2px;border-radius:11px;font-size:1.15rem}.portal-student .portal-cal-sticker+.portal-cal-sticker{display:none}.portal-student .portal-cal-more--wide{display:none}.portal-student .portal-cal-more--narrow{display:inline-block;margin-left:3px;padding:0 4px;font-size:.6rem}.portal-student .portal-cal-daynames>div{padding:.3rem 0!important;font-size:.62rem!important}}@keyframes portal-cal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes portal-cal-pop-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes portal-cal-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.portal-student .portal-cal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--portal-overlay, rgba(26, 39, 68, .45));z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:portal-cal-fade-in .15s ease-out both}.portal-student .portal-cal-modal{background:var(--portal-surface, #fff);border-radius:16px;border-top:1px solid var(--portal-line);width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--portal-shadow);animation:portal-cal-pop-in .18s ease-out both}.portal-student .portal-cal-modal-header{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--admin-border);flex-shrink:0}.portal-student .portal-cal-modal-header-title{flex:1;min-width:0;text-align:center;font-family:"var(--portal-display)";font-weight:700;font-size:.95rem;color:var(--portal-heading, var(--admin-navy));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-student .portal-cal-modal-body{padding:1rem;overflow-y:auto}.portal-student .portal-cal-hero{padding:1.4rem 1.25rem 1.2rem;text-align:center;color:var(--portal-text-primary);background:var(--portal-card-glow);flex-shrink:0}.portal-student .portal-cal-hero-sticker{width:72px;height:72px;margin:0 auto .6rem;display:flex;align-items:center;justify-content:center;border:3px solid var(--portal-line-strong);border-radius:20px;background:var(--portal-surface-2);box-shadow:var(--portal-shadow);font-size:2.1rem;line-height:1;transform:rotate(-6deg)}.portal-student .portal-cal-hero-title{font-family:var(--portal-display);font-weight:800;font-size:1.35rem;line-height:1.2;overflow-wrap:anywhere}.portal-student .portal-cal-hero-when{display:inline-block;margin-top:.5rem;padding:.25rem .7rem;border-radius:9999px;background:#ffffff2e;font-size:.8rem;font-weight:600}.portal-student .portal-cal-chips{display:flex;flex-wrap:wrap;gap:.4rem}.portal-student .portal-cal-chip{display:inline-flex;align-items:center;gap:4px;padding:.25rem .7rem;border-radius:9999px;font-size:.78rem;font-weight:600}.portal-student .portal-cal-chip--place{background:var(--portal-surface-2, var(--portal-surface-2));border:1px solid var(--admin-border);color:var(--portal-text-secondary, #4b5563)}.portal-student .portal-cal-chip--group{background:var(--admin-scarlet-tint, #fbe9e5);color:var(--admin-navy)}.portal-student .portal-cal-chip--all{background:var(--admin-gold-tint, #fbf1dc);color:var(--portal-warn)}.portal-student .portal-cal-desc{margin:.9rem 0 0;font-size:.9rem;line-height:1.55;color:var(--admin-text);white-space:pre-wrap}.portal-student .portal-cal-checkin{width:100%;margin-top:1rem;padding:.7rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:9999px;background:var(--portal-primary);color:var(--portal-on-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:var(--portal-shadow)}.portal-student .portal-cal-checkin:hover{background:var(--portal-primary-hover)}.portal-student .portal-cal-agenda-row{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:.6rem .7rem;border:1px solid var(--admin-border);border-radius:12px;background:var(--portal-surface, #fff);cursor:pointer}.portal-student .portal-cal-agenda-sticker{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid #fff;border-radius:12px;background:var(--portal-surface-2);box-shadow:var(--portal-shadow);font-size:1.15rem;line-height:1;transform:rotate(-4deg)}@media(max-width:600px){.portal-student .portal-cal-modal-overlay{align-items:flex-end;padding:0}.portal-student .portal-cal-modal{max-width:100%;max-height:75vh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:portal-cal-slide-up .2s ease-out both}.portal-student .portal-cal-modal-header{padding:1rem 1rem .8rem}.portal-student .portal-cal-modal-body{padding:.85rem 1rem}}.portal-student .contact-modal{width:100%;max-width:560px;max-height:90vh;border-radius:20px}@media(max-width:600px){.portal-student .contact-modal-overlay{align-items:flex-end;padding:0}.portal-student .contact-modal{max-width:100%;max-height:88vh;max-height:88dvh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0)}}.portal-student .portal-contact-announcement{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.75rem 1rem;border-radius:12px;margin-bottom:1.1rem;background:var(--portal-warn-tint);border:1px solid var(--portal-line-strong)}.portal-student .portal-contact-announcement-text{flex:1 1 220px;font-size:.85rem;font-weight:600;color:var(--portal-warn);min-width:0}@media(max-width:480px){.portal-student .portal-contact-announcement{padding:.65rem .85rem}}.portal-student .contact-input::placeholder{color:var(--portal-text-muted)}.portal-student .contact-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--portal-overlay, rgba(33, 26, 18, .5))}.portal-student .contact-detail{width:100%;max-width:440px;max-height:88vh;max-height:88dvh;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:var(--portal-surface, #fff);box-shadow:var(--portal-shadow);border-top:1px solid var(--portal-line);outline:none}.portal-student .contact-detail-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 1.25rem .9rem}.portal-student .contact-detail-actions{display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1.25rem 1.1rem;border-top:1px solid var(--admin-border, #e6dac4)}@media(max-width:600px){.portal-student .contact-detail-overlay{align-items:flex-end;padding:0}.portal-student .contact-detail{max-width:100%;max-height:88vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0)}.portal-student .contact-detail-actions{padding-bottom:calc(1.1rem + env(safe-area-inset-bottom,0px))}}@keyframes pd-pop-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.portal-student .pd-root{max-width:760px;margin:0 auto}.portal-student .pd-greeting{margin-bottom:1.5rem;animation:pd-pop-in .4s ease-out both}.portal-student .pd-greeting-title{font-family:var(--portal-display);font-size:1.75rem;font-weight:700;color:var(--portal-heading, var(--admin-navy))}.portal-student .pd-greeting-date{font-family:var(--portal-body);font-size:.85rem;color:var(--admin-text-muted);margin-top:2px}.portal-student .pd-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:2rem}.portal-student .pd-stat-card{position:relative;border-radius:18px;padding:1.5rem 1.5rem 1.35rem;color:var(--portal-text-primary);overflow:hidden;box-shadow:var(--portal-shadow);animation:pd-pop-in .45s ease-out both;transition:transform .2s ease,box-shadow .2s ease}.portal-student .pd-stat-card:hover{transform:translateY(-4px) rotate(-.3deg);box-shadow:var(--portal-shadow)}.portal-student .pd-stat-card--mass{background:var(--portal-card-glow);animation-delay:.05s}.portal-student .pd-stat-card--clickable{cursor:pointer}.portal-student .pd-stat-card--clickable:focus-visible{outline:2px solid var(--portal-text-primary);outline-offset:2px}.portal-student .pd-stat-icon{width:42px;height:42px;border-radius:12px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.portal-student .pd-stat-label{font-family:var(--portal-display);font-size:1.1rem;font-weight:700;opacity:1;margin-bottom:.35rem}.portal-student .pd-stat-value{font-family:var(--portal-display);font-size:2.6rem;font-weight:700;line-height:1.1}.portal-student .pd-stat-value--emphasis{font-size:3.6rem;font-weight:800}.portal-student .pd-stat-delta{display:inline-flex;align-items:center;gap:4px;margin-top:.6rem;padding:3px 10px;border-radius:9999px;font-family:var(--portal-body);font-size:.75rem;font-weight:700;background:#ffffff2e}.portal-student .pd-stat-delta--up{color:var(--portal-ok-tint)}.portal-student .pd-stat-delta--down{color:var(--portal-line-strong)}.portal-student .pd-section{margin-bottom:2rem;animation:pd-pop-in .5s ease-out both;animation-delay:.18s}.portal-student .pd-section--spaced-top{margin-top:2.25rem}.portal-student .pd-section-header{display:flex;align-items:center;gap:.5rem;font-family:var(--portal-display);font-size:1.15rem;font-weight:700;color:var(--portal-heading, var(--admin-navy));margin-bottom:.85rem}.portal-student .pd-empty{background:var(--portal-surface-2, var(--portal-surface-2));border:1px dashed var(--admin-border, #d1d5db);border-radius:12px;padding:1.5rem;text-align:center;color:var(--admin-text-muted);font-size:.875rem}.portal-student .pd-feed{background:var(--portal-surface, #fff);border:1px solid var(--admin-border);border-radius:16px;overflow:hidden;box-shadow:var(--portal-shadow)}.portal-student .pd-feed-item{display:flex;align-items:flex-start;gap:.75rem;width:100%;text-align:left;padding:.85rem 1rem;border:none;border-bottom:1px solid var(--admin-border);background:var(--portal-surface, #fff);cursor:default;font:inherit}.portal-student .pd-feed-item:last-child{border-bottom:none}.portal-student .pd-feed-item:not(:disabled){cursor:pointer}.portal-student .pd-feed-item:not(:disabled):hover{background:var(--portal-surface-2, var(--portal-surface-2))}.portal-student .pd-feed-item--unread,.portal-student .pd-feed-item--unread:hover{background:var(--portal-warn-tint)}.portal-student .pd-feed-item--announcement{border-left:3px solid var(--admin-gold)}.portal-student .pd-feed-item--announcement .pd-feed-icon{background:var(--portal-primary);color:var(--portal-on-primary)}.portal-student .pd-feed-icon{flex-shrink:0;width:34px;height:34px;border-radius:9999px;background:var(--admin-cream, #fffdd0);color:var(--portal-heading, var(--admin-navy));display:flex;align-items:center;justify-content:center}.portal-student .pd-feed-body{flex:1;min-width:0}.portal-student .pd-feed-title{font-family:var(--portal-body);font-size:.85rem;font-weight:700;color:var(--admin-text)}.portal-student .pd-feed-text{font-family:var(--portal-body);font-size:.78rem;color:var(--admin-text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.portal-student .pd-feed-time{font-family:var(--portal-body);font-size:.7rem;color:var(--admin-text-light);margin-top:4px}.portal-student .pd-feed-dot{flex-shrink:0;width:8px;height:8px;border-radius:9999px;background:var(--portal-primary);margin-top:6px}.portal-student .pd-whats-happening{display:flex;align-items:center;gap:1rem;width:100%;padding:1.1rem 1.4rem;border:none;border-radius:18px;background:var(--portal-card-glow);color:var(--portal-text-primary);cursor:pointer;text-align:left;font:inherit;box-shadow:var(--portal-shadow);animation:pd-pop-in .5s ease-out both;animation-delay:.2s;transition:transform .2s ease,box-shadow .2s ease;margin-bottom:2rem}.portal-student .pd-whats-happening:hover{transform:translateY(-3px);box-shadow:var(--portal-shadow)}.portal-student .pd-whats-happening-icon{flex-shrink:0;width:46px;height:46px;border-radius:13px;background:#ffffff2e;display:flex;align-items:center;justify-content:center}.portal-student .pd-whats-happening-body{flex:1}.portal-student .pd-whats-happening-title{font-family:var(--portal-display);font-size:1.1rem;font-weight:700}.portal-student .pd-whats-happening-sub{font-family:var(--portal-body);font-size:.8rem;opacity:.88;margin-top:2px}.portal-student .pd-whats-happening-arrow{flex-shrink:0;opacity:.85}.portal-student .pd-mission{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.5rem;border:none;border-radius:18px;background:var(--portal-card-glow);color:var(--portal-text-primary);cursor:pointer;text-align:left;font:inherit;box-shadow:var(--portal-shadow);animation:pd-pop-in .55s ease-out both;animation-delay:.26s;transition:transform .2s ease,box-shadow .2s ease}.portal-student .pd-mission:hover{transform:translateY(-3px);box-shadow:var(--portal-shadow)}.portal-student .pd-mission-icon{flex-shrink:0;width:52px;height:52px;border-radius:14px;background:#ffffff26;display:flex;align-items:center;justify-content:center}.portal-student .pd-mission-body{flex:1}.portal-student .pd-mission-title{font-family:var(--portal-display);font-size:1.15rem;font-weight:700}.portal-student .pd-mission-sub{font-family:var(--portal-body);font-size:.82rem;opacity:.85;margin-top:2px}.portal-student .pd-mission-arrow{flex-shrink:0;opacity:.85}@media(max-width:480px){.portal-student .pd-stat-value{font-size:2.1rem}.portal-student .pd-stat-value--emphasis{font-size:2.8rem}}.portal-student .pd-modal-body-html{width:100%;min-height:240px;border:1px solid var(--admin-border);border-radius:10px;background:var(--portal-surface, #fff)}.portal-student .pd-modal-body-text{font-family:var(--portal-body);font-size:.9rem;color:var(--admin-text);white-space:pre-wrap;margin:0}.portal-student .pd-modal-body-empty{color:var(--admin-text-muted)}.portal-student .pd-modal-footer{flex-shrink:0;padding:.85rem 1.1rem;border-top:1px solid var(--admin-border)}.portal-student .pd-modal-clear-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.65rem;border-radius:10px;border:1px solid var(--admin-border);background:var(--portal-surface, #fff);color:var(--admin-text-muted);font-family:var(--portal-body);font-size:.85rem;font-weight:600;cursor:pointer}.portal-student .pd-modal-clear-btn:hover:not(:disabled){background:var(--portal-surface-2, var(--portal-surface-2));color:var(--portal-heading, var(--admin-navy));border-color:var(--portal-accent)}.portal-student .pd-modal-clear-btn:disabled{opacity:.6;cursor:default}@keyframes pd-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pd-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.portal-student .pd-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--portal-overlay, rgba(26, 39, 68, .45));z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:pd-fade-in .15s ease-out both}.portal-student .pd-modal{background:var(--portal-surface, #fff);border-radius:20px;border-top:1px solid var(--portal-line);width:100%;max-width:440px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--portal-shadow);animation:pd-pop-in .2s ease-out both}.portal-student .pd-modal-header{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;border-bottom:1px solid var(--admin-border);flex-shrink:0}.portal-student .pd-modal-header-icon{width:30px;height:30px;border-radius:9999px;background:var(--admin-cream, #fffdd0);color:var(--portal-heading, var(--admin-navy));display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-student .pd-modal-header-title{flex:1;font-family:var(--portal-display);font-weight:700;font-size:1.05rem;color:var(--portal-heading, var(--admin-navy))}.portal-student .pd-modal-close{background:none;border:none;cursor:pointer;color:var(--admin-text-muted);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9999px;flex-shrink:0}.portal-student .pd-modal-close:hover{background:var(--portal-surface-3, var(--portal-surface-3));color:var(--portal-heading, var(--admin-navy))}.portal-student .pd-modal-body{padding:1.1rem;overflow-y:auto}.portal-student .pd-modal-meta{display:flex;flex-direction:column;gap:.5rem;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px dashed var(--admin-border)}.portal-student .pd-modal-meta-row{display:flex;align-items:center;gap:.5rem;font-family:var(--portal-body);font-size:.82rem;color:var(--admin-text)}.portal-student .pd-modal-meta-row svg{flex-shrink:0;color:var(--admin-text-muted)}.portal-student .pd-modal-message-title{font-family:var(--portal-body);font-weight:700;font-size:.92rem;color:var(--portal-heading, var(--admin-navy));margin-bottom:.4rem}.portal-student .pd-modal-message-text{font-family:var(--portal-body);font-size:.88rem;line-height:1.5;color:var(--admin-text);white-space:pre-wrap;word-break:break-word}@media(max-width:600px){.portal-student .pd-modal-overlay{align-items:flex-end;padding:0}.portal-student .pd-modal{max-width:100%;max-height:80vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:pd-slide-up .22s ease-out both}.portal-student .pd-modal-close{width:44px;height:44px}.portal-student .pd-modal-header{padding:1rem 1rem .85rem}.portal-student .pd-modal-body{padding:1rem}}.portal-student .mm-root{max-width:100%}.portal-student .mm-header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;background:transparent;padding:.5rem .25rem;border-bottom:1px solid var(--admin-border, #e6dac4);margin-bottom:.75rem}.portal-student .mm-header-title{margin:0;text-align:center;font-family:var(--portal-display);font-size:1.15rem;color:var(--portal-heading, var(--admin-navy));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-student .mm-header-back,.portal-student .mm-header-add{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:9999px;color:var(--portal-heading, var(--admin-navy));cursor:pointer}.portal-student .mm-header-back:hover,.portal-student .mm-header-add:hover{background:var(--portal-chip)}.portal-student .mm-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:.85rem}.portal-student .mm-stat-card{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .75rem;border:1px solid var(--admin-border, #e6dac4);border-radius:12px;background:var(--portal-surface-2, var(--portal-surface-2))}.portal-student .mm-stat-value{font-family:var(--portal-display);font-size:1.4rem;font-weight:700;color:var(--portal-heading, var(--admin-navy))}.portal-student .mm-stat-label{font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;color:var(--admin-text-muted)}@media(min-width:480px){.portal-student .mm-stats{grid-template-columns:repeat(4,1fr)}}.portal-student .mm-search{display:block;width:100%;box-sizing:border-box;margin:0 0 .75rem;padding:.6rem .75rem;font-size:16px;font-family:Plus Jakarta Sans,sans-serif;border:1px solid var(--admin-border, #e6dac4);border-radius:10px}.portal-student .mm-group-list{display:flex;flex-direction:column}.portal-student .mm-group-row{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;min-height:68px;width:100%;padding:.6rem .25rem;background:none;border:none;border-bottom:1px solid var(--admin-border, #e6dac4);text-align:left;cursor:pointer}.portal-student .mm-group-row-top{display:flex;align-items:center;gap:.6rem;width:100%}.portal-student .mm-group-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.98rem;color:var(--portal-heading, var(--admin-navy))}.portal-student .mm-group-row-sub{flex-shrink:0;font-size:.8rem;color:var(--admin-text-muted)}.portal-student .mm-group-row-chevron{flex-shrink:0;color:var(--admin-text-muted)}.portal-student .mm-group-row-stages{padding-right:1.6rem}.portal-student .mm-list{display:flex;flex-direction:column}.portal-student .mm-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;min-height:68px;width:100%;padding:.55rem .25rem;border-bottom:1px solid var(--admin-border, #e6dac4)}.portal-student .mm-row-main{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0;padding:0;background:none;border:none;text-align:left;font:inherit;color:inherit}.portal-student button.mm-row-main{cursor:pointer}.portal-student .mm-row-name{flex-shrink:0;max-width:45%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Plus Jakarta Sans,sans-serif;font-weight:500;font-size:.95rem;color:var(--portal-heading, var(--admin-navy))}.portal-student .mm-row-phone{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;color:var(--admin-text-muted)}.portal-student .mm-row-dup-btn{flex-shrink:0;display:flex;padding:2px;background:none;border:none;color:var(--portal-danger);cursor:pointer}.portal-student .mm-row-dup-note{order:1;flex-basis:100%;margin-top:.4rem;padding:5px 8px;border-radius:6px;background:var(--portal-danger-tint);border:1px solid var(--portal-line-strong);font-size:.75rem;color:var(--portal-danger)}.portal-student .mm-row-leader-tag{display:inline-block;margin-left:.4rem;padding:.1rem .45rem;border-radius:9999px;background:var(--portal-accent-tint);color:var(--portal-accent);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}.portal-student .mm-row-badge{flex-shrink:0;padding:.2rem .55rem;border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:700;white-space:nowrap}.portal-student .mm-row-badge--committed{background:var(--portal-ok-tint);color:var(--portal-ok)}.portal-student .mm-row-badge--invited{background:var(--portal-accent-tint);color:var(--portal-accent)}.portal-student .mm-row-badge--new{background:var(--portal-warn-tint);color:var(--portal-warn)}.portal-student .mm-row-badge--declined{background:var(--portal-surface-3);color:var(--portal-text-muted)}.portal-student .mm-row-history-btn{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:var(--portal-surface, #fff);border:1px solid var(--admin-border);color:var(--portal-heading, var(--admin-navy));font-family:Plus Jakarta Sans,sans-serif;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.portal-student .mm-row--declined{opacity:.7}.portal-student .mm-section-toggle{display:flex;align-items:center;gap:.35rem;width:100%;padding:.6rem .25rem;margin-top:.35rem;background:none;border:none;border-top:1px solid var(--admin-border, #e6dac4);font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:600;color:var(--admin-text-muted);cursor:pointer;text-align:left}.portal-student .mm-section-count{font-weight:400}.portal-student .mm-list--declined{margin-top:.25rem}.portal-student .mm-empty{background:var(--portal-surface-2, var(--portal-surface-2));border:1px dashed var(--admin-border, #d1d5db);border-radius:14px;padding:1.5rem;text-align:center;color:var(--admin-text-muted);font-size:.875rem}@keyframes mm-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.portal-student .mm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--portal-overlay, rgba(26, 39, 68, .45));z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.portal-student .mm-modal{background:var(--portal-surface, #fff);border-radius:20px;border-top:1px solid var(--portal-line);width:100%;max-width:440px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;box-shadow:var(--portal-shadow)}.portal-student .mm-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:1rem 1.1rem;border-bottom:1px solid var(--admin-border);flex-shrink:0}.portal-student .mm-modal-title{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--portal-display);font-size:1.1rem;color:var(--portal-heading, var(--admin-navy))}.portal-student .mm-modal-close{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:9999px;color:var(--admin-text-muted);cursor:pointer}.portal-student .mm-modal-close:hover{background:var(--portal-chip)}.portal-student .mm-modal-body{padding:1.1rem;overflow-y:auto}@media(max-width:600px){.portal-student .mm-modal-overlay{align-items:flex-end;padding:0}.portal-student .mm-modal{max-width:100%;max-height:88vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:mm-slide-up .22s ease-out both}}.portal-student .mm-contact{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--admin-border, #e6dac4)}.portal-student .mm-contact-links{display:flex;flex-direction:column;gap:.2rem;min-width:0}.portal-student .mm-contact-row{margin:0;color:var(--admin-text-muted);font-size:.85rem}.portal-student .mm-contact-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--portal-accent);text-decoration:none}.portal-student .mm-contact-link:hover{text-decoration:underline}.portal-student .mm-stage-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.85rem}.portal-student .mm-stage{display:flex;align-items:center;justify-content:space-between;min-height:56px;width:100%;padding:.6rem .9rem;border:2px solid var(--admin-border, #e6dac4);border-radius:12px;background:var(--portal-surface, #fff);font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:600;color:var(--portal-heading, var(--admin-navy));cursor:pointer}.portal-student .mm-stage--selected{border-color:var(--admin-navy);background:var(--portal-stage-selected-bg, linear-gradient(135deg, rgba(26,39,68,.06), rgba(200,150,42,.08)))}.portal-student .mm-stage-check{color:var(--portal-heading, var(--admin-navy));font-weight:700}.portal-student .mm-subflow-wrap{position:relative}.portal-student .mm-subflow{margin-bottom:.85rem}.portal-student .mm-field-label{display:block;font-size:.8rem;font-weight:700;color:var(--portal-heading, var(--admin-navy));margin-bottom:.4rem}.portal-student .mm-date-input{width:100%;box-sizing:border-box;padding:.6rem .7rem;font-size:16px;font-family:Plus Jakarta Sans,sans-serif;border:1px solid var(--admin-border, #e6dac4);border-radius:8px}.portal-student .mm-reset-new{display:block;width:100%;min-height:40px;margin-bottom:.6rem;border:1px solid var(--portal-line-strong);border-radius:10px;background:var(--portal-warn-tint);color:var(--portal-warn);font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer}.portal-student .mm-reset-new:disabled{opacity:.5;cursor:not-allowed}.portal-student .mm-yesno{display:flex;gap:.6rem;margin-bottom:.6rem}.portal-student .mm-yesno-btn{flex:1;min-height:48px;border:2px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-surface, #fff);color:var(--admin-text);font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.95rem;cursor:pointer}.portal-student .mm-yesno-btn--yes.mm-yesno-btn--selected{border-color:var(--portal-ok);background:var(--portal-ok-tint);color:var(--portal-ok)}.portal-student .mm-yesno-btn--no.mm-yesno-btn--selected{border-color:var(--portal-danger);background:var(--portal-danger-tint);color:var(--portal-danger)}.portal-student .mm-reason{display:block;width:100%;box-sizing:border-box;min-height:72px;padding:.6rem .7rem;margin-bottom:.6rem;font-size:.9rem;font-family:Plus Jakarta Sans,sans-serif;border:1px solid var(--admin-border, #e6dac4);border-radius:8px;resize:vertical}.portal-student .mm-group-picker{margin-top:.4rem}.portal-student .mm-group-picker-row{display:flex;align-items:center;gap:.5rem;min-height:44px;width:100%;padding:.4rem .25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;color:var(--portal-heading, var(--admin-navy));text-align:left;background:none;border:none;border-bottom:1px solid var(--admin-border, #e6dac4);cursor:pointer}.portal-student button.mm-group-picker-row{border-radius:8px}.portal-student button.mm-group-picker-row:hover{background:var(--portal-chip)}.portal-student .mm-group-picker-row--parent{justify-content:space-between}.portal-student .mm-group-picker-row--expandable{font-weight:600}.portal-student .mm-group-picker-row--expandable .mm-group-picker-expand:hover{background:none}.portal-student .mm-group-picker-check{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;cursor:pointer}.portal-student .mm-group-picker-expand{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;margin-left:.5rem;background:none;border:none;border-radius:6px;color:var(--admin-text-muted);cursor:pointer}.portal-student .mm-group-picker-expand:hover{background:var(--portal-chip);color:var(--portal-heading, var(--admin-navy))}.portal-student .mm-group-picker-children{margin-left:1.5rem}.portal-student .mm-group-picker-row--child{padding-left:.25rem;font-size:.85rem}.portal-student .mm-hint{margin:0 0 .6rem;font-size:.78rem;color:var(--admin-text-muted)}.portal-student .mm-error{margin:0 0 .6rem;font-size:.82rem;color:var(--portal-danger)}.portal-student .mm-save{display:block;width:100%;min-height:48px;border:none;border-radius:10px;background:var(--portal-primary);color:var(--portal-on-primary);font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.95rem;cursor:pointer;margin-bottom:.5rem}.portal-student .mm-save:disabled{opacity:.5;cursor:not-allowed}.portal-student .mm-cancel{display:block;width:100%;min-height:44px;border:1px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-surface, #fff);color:var(--admin-text-muted);font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.9rem;cursor:pointer}.portal-student .mm-invite{margin-bottom:.9rem;padding:.75rem;border:1px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-surface-2, var(--portal-surface-2))}.portal-student .mm-invite .mm-hint{margin-bottom:0}.portal-student .mm-invite-select{display:block;width:100%;min-height:44px;margin-bottom:.5rem;padding:0 .6rem;border:1px solid var(--admin-border, #e6dac4);border-radius:10px;background:var(--portal-input-bg, #fff);font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;color:var(--admin-text, var(--portal-text-primary))}.portal-student .mm-invite-button{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:48px;border:none;border-radius:10px;background:var(--portal-accent);color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.95rem;cursor:pointer}.portal-student .mm-invite-button:disabled{opacity:.5;cursor:not-allowed}.portal-student .mm-confirm{margin-top:.6rem;padding:.75rem;border:1px solid var(--portal-line-strong);border-radius:10px;background:var(--portal-danger-tint)}.portal-student .mm-confirm p{margin:0 0 .6rem;font-size:.85rem;color:var(--portal-danger)}.portal-student .mm-confirm--reset{margin-top:0;margin-bottom:.85rem;border-color:var(--portal-line-strong);background:var(--portal-warn-tint)}.portal-student .mm-confirm--reset p{color:var(--portal-warn)}.portal-student .mm-remove{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;min-height:44px;margin-top:.75rem;border:1px solid var(--portal-line-strong);border-radius:10px;background:var(--portal-danger-tint);color:var(--portal-danger);font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer}.portal-student .mm-search-result{display:flex;align-items:center;gap:.6rem;min-height:56px;width:100%;padding:.5rem .25rem;background:none;border:none;border-bottom:1px solid var(--admin-border, #e6dac4);text-align:left;cursor:pointer}.portal-student .mm-search-result--disabled{opacity:.5;cursor:not-allowed}.portal-student .po-root{max-width:760px;margin:0 auto}.portal-student .po-title{font-family:var(--portal-display);font-size:1.5rem;font-weight:700;color:var(--portal-heading, var(--admin-navy));margin:0 0 .25rem}.portal-student .po-sub{margin:0 0 1.25rem;font-size:.88rem;color:var(--admin-text-muted)}.portal-student .po-section{margin-bottom:1.5rem}.portal-student .po-section-title{display:flex;align-items:center;gap:.45rem;font-size:.95rem;font-weight:700;color:var(--portal-heading, var(--admin-navy));margin:0 0 .6rem}.portal-student .po-count{background:var(--portal-danger);color:#fff;border-radius:9999px;font-size:.68rem;padding:.05rem .45rem}.portal-student .po-card{width:100%;box-sizing:border-box;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;margin-bottom:.5rem;font:inherit;cursor:pointer;background:var(--portal-surface, #fff);border:1px solid var(--admin-border);border-radius:11px;color:var(--portal-text-primary, var(--admin-text))}.portal-student .po-card--attn{border-left:3px solid var(--portal-warn)}.portal-student .po-card-title{font-weight:700;font-size:.92rem;color:var(--portal-heading, var(--admin-navy))}.portal-student .po-card-sub{font-size:.78rem;color:var(--admin-text-muted);margin-top:2px}.portal-student .po-card-note{font-size:.8rem;margin-top:4px;color:var(--portal-warn);white-space:pre-wrap;overflow-wrap:anywhere}.portal-student .po-pill{flex-shrink:0;font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:9999px;background:var(--portal-surface-2, #f1f5f9);color:var(--admin-text-muted)}.portal-student .po-pill--warn{background:var(--portal-warn-tint);color:var(--portal-warn)}.portal-student .po-pill--ok{background:var(--portal-ok-tint);color:var(--portal-ok)}.portal-student .po-empty{padding:1rem;text-align:center;color:var(--admin-text-muted);font-size:.85rem;background:var(--portal-surface, #fff);border:1px dashed var(--admin-border);border-radius:11px}.portal-student .po-announce{padding:.8rem 1rem;margin-bottom:.5rem;background:var(--portal-surface, #fff);border:1px solid var(--admin-border);border-radius:11px}.portal-student .po-announce p{margin:.25rem 0 0;font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--portal-text-primary, var(--admin-text))}.portal-student .po-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem}.portal-student .po-modal{width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;background:var(--portal-surface, #fff);border-radius:14px;overflow:hidden}.portal-student .po-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;border-bottom:1px solid var(--admin-border)}.portal-student .po-modal-head h3{margin:0;font-size:1.05rem;color:var(--portal-heading, var(--admin-navy))}.portal-student .po-x{background:none;border:none;cursor:pointer;color:var(--admin-text-muted);display:flex;padding:.2rem}.portal-student .po-modal-body{padding:1.1rem 1.15rem .4rem;overflow-y:auto}.portal-student .po-modal-foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.15rem;border-top:1px solid var(--admin-border);flex-wrap:wrap}.portal-student .po-btn{padding:.6rem 1.1rem;font:inherit;font-size:.88rem;font-weight:700;border-radius:9px;cursor:pointer;border:1.5px solid var(--admin-border);background:transparent;color:var(--portal-text-primary, var(--admin-text))}.portal-student .po-btn--primary{background:var(--portal-primary);border-color:var(--admin-navy);color:var(--portal-on-primary)}.portal-student .po-btn:disabled{opacity:.55;cursor:not-allowed}.portal-student .po-instructions{font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 1rem;color:var(--portal-text-primary, var(--admin-text))}.portal-student .po-banner{font-size:.82rem;padding:.6rem .8rem;border-radius:9px;background:var(--portal-warn-tint);border:1px solid var(--portal-line-strong);color:var(--portal-warn);margin-bottom:1rem;white-space:pre-wrap;overflow-wrap:anywhere}.portal-student .po-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.portal-student .po-head .po-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem}.portal-student .po-modal--wide{max-width:640px}.portal-student .po-form-heading{margin:1.25rem 0 .7rem;padding-bottom:.35rem;font-size:.9rem;color:var(--portal-heading, var(--admin-navy));border-bottom:1px solid var(--admin-border)}.portal-student .po-form-heading:first-child{margin-top:0}.portal-student .po-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.portal-student .po-form-row>*{min-width:0}.portal-student .po-form-fieldset{border:none;padding:0;margin:0 0 1rem}.portal-student .po-form-check{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem;font-size:.92rem;cursor:pointer;color:var(--portal-text-primary, var(--admin-text))}.portal-student .po-form-check input{accent-color:var(--admin-navy);width:16px;height:16px;flex-shrink:0}@media(max-width:480px){.portal-student .po-form-row{grid-template-columns:1fr;gap:0}.portal-student .po-modal-foot .po-btn{flex:1}}.portal-student .portal-tour-layer{position:fixed;right:1rem;bottom:1rem;z-index:1000;width:min(380px,calc(100vw - 2rem));pointer-events:none}.portal-student .portal-tour-card{pointer-events:auto;display:flex;flex-direction:column;max-height:min(62vh,540px);background:var(--portal-surface, #fff);border-radius:16px;box-shadow:var(--portal-shadow);border:1px solid var(--admin-border, #e6dac4);border-top:1px solid var(--portal-line);overflow:hidden}.portal-student .portal-tour-body{overflow-y:auto;min-height:0}@media(max-width:768px){.portal-student .portal-tour-layer{left:.75rem;right:.75rem;bottom:calc(4.25rem + env(safe-area-inset-bottom,0px));width:auto}.portal-student .portal-tour-card{max-height:40vh}}.portal-student .pd-stat-card.pd-stat-card{display:flex;flex-direction:column;min-height:196px;padding:1.1rem 1.2rem 1.2rem;border-radius:22px;border:1px solid var(--portal-line);background:var(--portal-surface);box-shadow:none;isolation:isolate}.portal-student .pd-stat-card.pd-stat-card:before{content:"";position:absolute;inset:0 0 auto 0;height:64%;z-index:-1;background:var(--card-cover)}.portal-student .pd-stat-card.pd-stat-card:hover{transform:translateY(-3px);border-color:var(--portal-line-strong);box-shadow:none}.portal-student .pd-stat-card--mass.pd-stat-card{--card-cover: linear-gradient(180deg, rgba(43, 20, 22, 0) 45%, var(--portal-surface) 100%), radial-gradient(120% 140% at 0% 0%, rgba(186, 32, 37, .85) 0%, rgba(212, 42, 48, .4) 50%, rgba(212, 42, 48, 0) 80%), #5e1013;background:var(--portal-surface);color:#fffdf8}.portal-student .pd-stat-card--events.pd-stat-card,.portal-student .pd-stat-card--checkins.pd-stat-card,.portal-student .pd-stat-card--attendance.pd-stat-card{--card-cover: linear-gradient(180deg, rgba(43, 20, 22, 0) 45%, var(--portal-surface) 100%), radial-gradient(120% 140% at 0% 0%, rgba(212, 42, 48, .75) 0%, rgba(200, 150, 42, .3) 50%, rgba(200, 150, 42, 0) 80%), #3d0c0e;background:var(--portal-surface);color:#fffdf8}.portal-student .pd-stat-card--checkins.pd-stat-card{animation-delay:.12s}.portal-student .pd-stat-card--attendance.pd-stat-card{animation-delay:.19s}.portal-student .pd-stat-card .pd-stat-icon{flex-shrink:0;margin-bottom:.25rem}.portal-student .pd-stat-card .pd-stat-label{margin-top:auto;margin-bottom:0;font-size:1rem;color:var(--portal-text-primary)}.portal-student .pd-stat-card .pd-stat-value--emphasis{font-size:3.4rem}@media(max-width:480px){.portal-student .pd-stats-row--pair .pd-stat-card.pd-stat-card{min-height:168px;padding:1rem 1rem 1.05rem}.portal-student .pd-stats-row--pair .pd-stat-value--emphasis{font-size:2.6rem}}.portal-student .pd-event-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.4rem 1rem}.portal-student .pd-event-card{gap:0;padding:0;border:none;border-radius:0;background:none;color:var(--portal-text-primary);box-shadow:none;overflow:visible}.portal-student .pd-event-card:hover{transform:translateY(-3px);box-shadow:none}.portal-student .pd-event-card-image{position:relative;width:100%;height:auto;aspect-ratio:1 / 1;border-radius:18px;overflow:hidden}.portal-student .pd-event-card-when{position:absolute;top:12px;left:12px;z-index:2;padding:5px 11px;border-radius:9999px;background:#1111119e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-family:var(--portal-body);font-size:.78rem;font-weight:600;white-space:nowrap}.portal-student .pd-event-card-emoji{position:relative;z-index:1;font-size:5.2rem;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}.portal-student .pd-event-card-body{gap:3px;padding:.7rem .15rem 0}.portal-student .pd-event-card-title{font-family:var(--portal-display);font-size:1.05rem;font-weight:700;line-height:1.25;color:var(--portal-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portal-student .pd-event-card-sub{font-size:.84rem;color:var(--portal-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root{--color-primary: #BB2026;--color-secondary: #8B5A2B;--color-accent: #C49A6C;--color-background: #F0E6D8;--color-surface: #FFFFFF;--color-surface-alt: #E5DCD2;--color-text: #2C1810;--color-muted: #7B6B65;--color-error: #B71C1C;--color-success: #2E7D32}*{box-sizing:border-box}body{margin:0;padding:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}a{color:var(--color-secondary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}::selection{background:var(--color-accent);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}.ql-toolbar{border-color:#0000001f!important;border-radius:6px 6px 0 0!important;background:var(--color-surface-alt)!important}.ql-container{border-radius:0 0 6px 6px!important;font-family:inherit!important;font-size:1rem!important}.ql-editor{min-height:200px}
