@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";:root{--color-primary:#000c26;--color-primary-container:#0e2245;--color-on-primary:#fff;--color-on-primary-container:#788ab3;--color-primary-fixed:#d8e2ff;--color-primary-fixed-dim:#b4c6f2;--color-on-primary-fixed:#051a3d;--color-on-primary-fixed-variant:#35466b;--color-secondary:#006c49;--color-secondary-container:#6cf8bb;--color-on-secondary:#fff;--color-on-secondary-container:#00714d;--color-secondary-fixed:#6ffbbe;--color-secondary-fixed-dim:#4edea3;--color-on-secondary-fixed:#002113;--color-on-secondary-fixed-variant:#005236;--color-tertiary:#160a00;--color-tertiary-container:#341e00;--color-on-tertiary:#fff;--color-on-tertiary-container:#c17b00;--color-tertiary-fixed:#ffddb8;--color-tertiary-fixed-dim:#ffb95f;--color-on-tertiary-fixed:#2a1700;--color-on-tertiary-fixed-variant:#653e00;--color-background:#f7f9fb;--color-surface:#f7f9fb;--color-surface-dim:#d8dadc;--color-surface-bright:#f7f9fb;--color-surface-container-lowest:#fff;--color-surface-container-low:#f2f4f6;--color-surface-container:#eceef0;--color-surface-container-high:#e6e8ea;--color-surface-container-highest:#e0e3e5;--color-surface-variant:#e0e3e5;--color-on-surface:#191c1e;--color-on-surface-variant:#44474e;--color-on-surface-subtle:#64748b;--color-outline:#75777f;--color-outline-variant:#c5c6cf;--color-divider:#e2e8f0;--color-error:#ba1a1a;--color-error-container:#ffdad6;--color-on-error:#fff;--color-on-error-container:#93000a;--color-warning-bg:#ef44441a;--color-warning-border:#ef44444d;--color-warning-text:#ef4444;--color-inverse-surface:#2d3133;--color-inverse-on-surface:#eff1f3;--color-inverse-primary:#b4c6f2;--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-icon:"Material Symbols Outlined";--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 4px #0000000d;--shadow-md:0 4px 12px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 10px 25px -5px #0e22451a, 0 8px 10px -6px #0000000a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}.material-symbols-outlined{font-family:var(--font-icon);letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;vertical-align:middle;direction:ltr;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-block}h1,h2,h3,h4,h5,h6{color:var(--color-primary);letter-spacing:-.02em;font-weight:700;line-height:1.25}h1{font-size:1.75rem}@media (width>=768px){h1{font-size:2.25rem}}h2{font-size:1.35rem}@media (width>=768px){h2{font-size:1.65rem}}h3{font-size:1.15rem}h4{font-size:1rem}p{color:var(--color-on-surface-variant);font-size:.925rem;line-height:1.5}a{color:var(--color-secondary);transition:all var(--transition-fast);font-weight:500;text-decoration:none}a:hover{color:var(--color-on-secondary-container);text-decoration:underline}a:visited{color:var(--color-secondary)}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]),select,textarea{width:100%;font-family:var(--font-sans);color:var(--color-on-surface);background-color:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;min-height:44px;padding:.75rem 1rem;font-size:.925rem}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):focus,select:focus,textarea:focus{border-color:var(--color-primary-container);background-color:var(--color-surface-container-lowest);box-shadow:0 0 0 3px #0e224526}button,input[type=submit],input[type=button]{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background-color:var(--color-primary);min-height:44px;color:var(--color-on-primary);box-shadow:var(--shadow-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.925rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}button:hover,input[type=submit]:hover,input[type=button]:hover{background-color:var(--color-primary-container);color:var(--color-on-primary);box-shadow:var(--shadow-md)}button:active,input[type=submit]:active,input[type=button]:active{transform:scale(.99)}#loading{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;color:var(--color-primary);background-color:#f7f9fbe6;justify-content:center;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;display:flex;position:fixed;inset:0}#loading:before{content:"";border:3px solid var(--color-surface-container-highest);border-top-color:var(--color-secondary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-danger,button[type=submit]{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1.25rem;font-family:inherit;font-size:.925rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn-primary,button[type=submit]{background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover,button[type=submit]:hover{background-color:var(--color-primary-container);color:var(--color-on-primary);box-shadow:var(--shadow-md)}.btn-primary:active,button[type=submit]:active{transform:scale(.99)}.btn-secondary{background-color:var(--color-surface-container);color:var(--color-primary);border-color:var(--color-outline-variant)}.btn-secondary:hover{background-color:var(--color-surface-container-high);color:var(--color-primary)}.btn-outline{color:var(--color-primary);border-color:var(--color-outline);background-color:#0000}.btn-outline:hover{background-color:var(--color-surface-container-low);border-color:var(--color-primary)}.btn-danger{background-color:var(--color-error);color:var(--color-on-error)}.btn-danger:hover{background-color:#911}.btn-sm{border-radius:var(--radius-sm);min-height:36px;padding:.4rem .75rem;font-size:.825rem}.btn-lg{border-radius:var(--radius-lg);padding:1rem 1.75rem;font-size:1rem}.btn-block{width:100%}.btn-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.role-grid{grid-template-columns:1fr;gap:1rem;width:100%;display:grid}@media (width>=640px){.role-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.role-grid{grid-template-columns:repeat(3,1fr)}}.role-card{background-color:var(--color-surface-container-lowest);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.role-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.role-card h2{color:var(--color-primary);justify-content:space-between;align-items:center;font-size:1.15rem;display:flex}.role-card p{color:var(--color-on-surface-variant);font-size:.875rem}.form-group{flex-direction:column;gap:.375rem;width:100%;margin-bottom:1.25rem;display:flex}label,.form-label{color:var(--color-on-surface);letter-spacing:.01em;font-size:.85rem;font-weight:600}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{width:100%;color:var(--color-on-surface);background-color:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;min-height:44px;padding:.75rem 1rem;font-family:inherit;font-size:.925rem}input:focus,select:focus,textarea:focus{border-color:var(--color-primary-container);background-color:var(--color-surface-container-lowest);box-shadow:0 0 0 3px #0e22451f}input::placeholder,select::placeholder,textarea::placeholder{color:var(--color-outline)}.form-section{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background-color:var(--color-surface-container-lowest);margin-bottom:1.5rem;padding:1.25rem}.form-section legend{color:var(--color-primary);padding:0 .5rem;font-size:.95rem;font-weight:700}.form-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.students-checkbox-list,.selection-list{border:1px solid var(--color-divider);border-radius:var(--radius-md);background-color:var(--color-surface-container-low);grid-template-columns:1fr;gap:.75rem;max-height:360px;padding:.5rem;display:grid;overflow-y:auto}@media (width>=640px){.students-checkbox-list,.selection-list{grid-template-columns:repeat(2,1fr)}}.checkbox-item,.checkbox-label{background-color:var(--color-surface-container-lowest);border:1px solid var(--color-outline-variant);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.checkbox-item:hover,.checkbox-label:hover{border-color:var(--color-secondary);background-color:var(--color-surface-container-lowest)}.checkbox-item input[type=checkbox],.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-secondary)}.card,.auth-card,.teacher-card,.student-card,.scanner-card,.coupon-card,.item-card,.invitation-card,.pending-card{background-color:var(--color-surface-container-lowest);border-radius:var(--radius-xl);border:1px solid var(--color-outline-variant);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);margin-bottom:1rem;padding:1.5rem}@media (width>=768px){.card,.auth-card,.teacher-card,.student-card,.scanner-card,.coupon-card,.item-card,.invitation-card,.pending-card{padding:2rem}}.auth-card{width:100%;max-width:460px;margin:2rem auto}.kpi-card{background-color:var(--color-surface-container-lowest);border-radius:var(--radius-lg);border:1px solid var(--color-outline-variant);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:1.25rem 1.5rem;display:flex}.kpi-card .kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-on-surface-subtle);font-size:.75rem;font-weight:600}.kpi-card .kpi-value{color:var(--color-primary);margin-top:.25rem;font-size:1.85rem;font-weight:700}.hub-card{background-color:var(--color-surface-container-lowest);border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);color:inherit;flex-direction:column;justify-content:space-between;padding:1.5rem;text-decoration:none;display:flex}.hub-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-container);transform:translateY(-2px)}.hub-card h2,.hub-card h3{margin-bottom:.5rem;font-size:1.15rem}.hub-card p{font-size:.875rem}.warning-banner,.notice-box,.alert{border-radius:var(--radius-md);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:1rem 1.25rem;font-size:.9rem;display:flex}.warning-banner{background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text)}.notice-box{background-color:var(--color-surface-container);border:1px solid var(--color-outline-variant);color:var(--color-on-surface);flex-direction:column;align-items:flex-start}.empty-state{text-align:center;background-color:var(--color-surface-container-lowest);border:1px dashed var(--color-outline-variant);border-radius:var(--radius-lg);color:var(--color-on-surface-subtle);margin:1.5rem 0;padding:2.5rem 1.5rem;font-size:.95rem}.data-table-container,.table-responsive{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background-color:var(--color-surface-container-lowest);width:100%;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;overflow-x:auto}table,.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}th{background-color:var(--color-surface-container-low);color:var(--color-on-surface-subtle);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-divider);padding:.85rem 1rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--color-divider);color:var(--color-on-surface);padding:.9rem 1rem}tr:last-child td{border-bottom:none}tr:hover td{background-color:var(--color-surface-container-low)}.badge,.status-badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge-verified,.badge-success{color:var(--color-secondary);background-color:#006c491f;border:1px solid #006c494d}.badge-pending,.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.badge-danger,.badge-error{background-color:var(--color-error-container);color:var(--color-on-error-container)}.error-msg,.error-message{color:var(--color-error,#ba1a1a);margin-top:.35rem;font-size:.85rem;font-weight:500;display:block}.legal-document-body{color:var(--color-on-surface-variant);font-size:.95rem;line-height:1.7}.legal-document-body h2.legal-title{color:var(--color-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.legal-document-body .legal-effective-date{color:var(--color-on-surface-subtle);background-color:var(--color-surface-container);border-radius:var(--radius-sm);border:1px solid var(--color-outline-variant);margin-bottom:2rem;padding:.35rem .75rem;font-size:.875rem;display:inline-block}.legal-document-body h3.legal-section-header{color:var(--color-primary);border-bottom:1px solid var(--color-divider);margin-top:2rem;margin-bottom:1rem;padding-bottom:.35rem;font-size:1.15rem;font-weight:700}.legal-document-body p{margin-bottom:1rem}.legal-document-body ol.legal-list{margin-bottom:1.25rem;padding-left:1.25rem;list-style-type:decimal}.legal-document-body ol.legal-list li{margin-bottom:.75rem;padding-left:.25rem}.legal-document-body ul.legal-bullet-list{margin-bottom:1.25rem;padding-left:1.25rem;list-style-type:disc}.legal-document-body ul.legal-bullet-list li{margin-bottom:.5rem}.legal-document-body a{color:var(--color-primary);text-decoration:underline}.search-bar-wrapper{align-items:center;width:100%;margin-bottom:1.5rem;display:flex;position:relative}.search-bar-wrapper .search-icon{color:var(--color-on-surface-subtle);pointer-events:none;font-size:22px;position:absolute;left:1rem}.search-bar-wrapper input.search-input,.search-bar-wrapper input[type=search]{border-radius:var(--radius-lg);background-color:var(--color-surface-container-low);border:1px solid var(--color-outline-variant);width:100%;min-height:48px;transition:all var(--transition-fast);font-size:.95rem;padding-left:2.8rem!important;padding-right:2.8rem!important}.search-bar-wrapper input.search-input:focus,.search-bar-wrapper input[type=search]:focus{border-color:var(--color-primary-container);background-color:var(--color-surface-container-lowest);box-shadow:0 0 0 3px #0e22451f}.search-clear-btn{cursor:pointer;color:var(--color-on-surface-subtle);border-radius:50%;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;right:.75rem;box-shadow:none!important;background:0 0!important;border:none!important;min-height:auto!important}.search-clear-btn:hover{color:var(--color-on-surface);background-color:var(--color-surface-container)!important}.search-loading-container{color:var(--color-on-surface-variant);justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;font-size:.95rem;font-weight:500;display:flex}.spinner{border:3px solid var(--color-outline-variant);border-top-color:var(--color-secondary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.alert{border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.9rem;line-height:1.4;display:flex}.alert-error{background-color:var(--color-error-container);color:var(--color-on-error-container);border:1px solid #ba1a1a33}.coupon-card{flex-direction:column;justify-content:space-between;height:100%;display:flex}.coupon-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem;display:flex}.coupon-title{color:var(--color-primary);margin:0;font-size:1.1rem;font-weight:700;line-height:1.3}.coupon-company-subtitle{color:var(--color-on-surface-variant);align-items:center;gap:.25rem;margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:flex}.coupon-description{color:var(--color-on-surface-variant);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:4.2em;margin-bottom:1rem;font-size:.875rem;line-height:1.4;display:-webkit-box;overflow:hidden}.password-strength-meter{flex-direction:column;gap:.35rem;margin-top:.5rem;margin-bottom:.5rem;display:flex}.password-strength-bars{gap:.375rem;width:100%;height:5px;display:flex}.password-strength-bar{background-color:var(--color-outline-variant,#e0e0e0);border-radius:9999px;flex:1;height:100%;transition:background-color .25s,transform .2s,box-shadow .25s}.password-strength-bar.active{box-shadow:0 1px 3px #0000001f}.password-strength-meta{color:var(--color-on-surface-subtle,#64748b);justify-content:space-between;align-items:center;margin-top:.1rem;font-size:.775rem;display:flex}.password-strength-label{font-weight:500}.password-strength-req{font-size:.75rem;font-weight:600;transition:color .2s}.password-strength-tip{color:var(--color-error,#ba1a1a);background-color:var(--color-error-container,#ffdad6);border-radius:var(--radius-sm,6px);border-left:3px solid var(--color-error,#ba1a1a);margin-top:.2rem;padding:.375rem .6rem;font-size:.75rem;line-height:1.35}.feedback-type-grid{grid-template-columns:1fr;gap:.875rem;width:100%;display:grid}@media (width>=520px){.feedback-type-grid{grid-template-columns:1fr 1fr}}.feedback-type-card{background-color:var(--color-surface-container-low);border:2px solid var(--color-outline-variant);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;flex-direction:column;gap:.35rem;padding:1.125rem 1rem;display:flex;position:relative}.feedback-type-card:hover{border-color:var(--color-primary-container);background-color:var(--color-surface-container-lowest);transform:translateY(-1px)}.feedback-type-card.selected{border-color:var(--color-secondary);background-color:var(--color-surface-container-lowest);box-shadow:0 0 0 1px var(--color-secondary), var(--shadow-sm)}.feedback-type-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.feedback-type-icon{border-radius:var(--radius-md);background-color:var(--color-surface-container);width:38px;height:38px;color:var(--color-primary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.feedback-type-card.selected .feedback-type-icon{background-color:var(--color-secondary-container);color:var(--color-on-secondary-container)}.feedback-type-radio{color:var(--color-outline-variant);align-items:center;font-size:22px;display:flex}.feedback-type-card.selected .feedback-type-radio{color:var(--color-secondary)}.feedback-type-card h3{color:var(--color-on-surface);margin-top:.35rem;margin-bottom:0;font-size:.95rem;font-weight:700}.feedback-type-card p{color:var(--color-on-surface-variant);margin:0;font-size:.8rem;line-height:1.35}.char-counter{color:var(--color-on-surface-subtle);text-align:right;margin-top:.25rem;font-size:.775rem}.feedback-success-card{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1.5rem;display:flex}.feedback-success-icon{background-color:var(--color-secondary-container);width:64px;height:64px;color:var(--color-on-secondary-container);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:36px;display:flex}#app:not([style*="display: none"]):not([style*=display\:none]),.page-wrapper{flex-direction:column;width:100%;min-height:100vh;display:flex!important}.page-container,main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:1rem 1.25rem 3rem}@media (width>=768px){.page-container,main{padding:1.5rem 2rem 4rem}}.page-header,.dashboard-header{flex-direction:column;gap:.5rem;margin-bottom:1.75rem;display:flex}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}body{flex-direction:column;min-height:100vh;margin:0;display:flex}@media (width>=768px){body{flex-direction:row}}.main-nav{background-color:var(--color-primary-container);color:var(--color-on-primary);box-shadow:var(--shadow-md);z-index:1000;font-family:var(--font-sans,sans-serif);width:100%;padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:0}#app,.page-wrapper{padding-bottom:0}body:has(.main-nav) #app{padding-bottom:80px}body:has(.main-nav) .page-wrapper{padding-bottom:80px}@media (width>=768px){.main-nav{box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:stretch;width:260px;min-width:260px;height:100vh;padding:2rem 1rem;position:sticky;top:0;bottom:auto;left:auto;overflow:hidden auto}#app,.page-wrapper{padding-bottom:0}body:has(.main-nav) #app{padding-bottom:0}body:has(.main-nav) .page-wrapper{padding-bottom:0}}.app-footer{background-color:var(--color-primary,#000c26);color:var(--color-on-primary-container,#788ab3);z-index:20;box-sizing:border-box;text-align:center;width:100%;font-size:.875rem;font-family:var(--font-sans,sans-serif);border-top:1px solid #ffffff14;margin-top:auto;padding:3rem 1.25rem;position:relative}.app-footer-inner{flex-direction:column;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.app-footer-brand{color:#fff;letter-spacing:-.02em;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:inline-flex}.app-footer-brand .app-footer-icon{color:var(--color-secondary-container,#6cf8bb);font-size:1.75rem}.app-footer-tagline{color:#ffffffa6;max-width:480px;margin:0;font-size:.95rem;line-height:1.5}.app-footer-links{flex-wrap:wrap;justify-content:center;gap:1.25rem 1.75rem;margin:.5rem 0;font-weight:500;display:flex}.app-footer-link{color:#ffffffbf;transition:color var(--transition-fast,.15s ease);text-decoration:none}.app-footer-link:hover{color:#fff;text-decoration:underline}.app-footer-copyright{color:#fff6;margin:0;font-size:.825rem}.main-nav-links{justify-content:flex-start;align-items:center;gap:.5rem;width:100%;padding-bottom:2px;display:flex;overflow-x:auto}@media (width>=768px){.main-nav-links{flex-direction:column;justify-content:flex-start;align-items:stretch;overflow-x:visible}}.nav-icon{flex-shrink:0}.nav-link{color:var(--color-on-primary-container);border-radius:var(--radius-sm);white-space:nowrap;transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.875rem;font-weight:600;text-decoration:none;display:flex}@media (width>=768px){.nav-link{white-space:normal;word-break:break-word;line-height:1.3}}@media (width<=767px){.nav-text{display:none}.nav-link{justify-content:center;padding:.5rem}}.nav-link:hover{color:var(--color-on-primary);background-color:#ffffff14}.nav-link--active{border-bottom:2px solid var(--color-secondary-fixed);background-color:#ffffff1f;color:var(--color-secondary-fixed)!important}@media (width>=768px){.nav-link--active{border-bottom:none;border-left:3px solid var(--color-secondary-fixed)}}.nav-user-container{align-items:center;display:flex}@media (width>=768px){.nav-user-container{border-top:1px solid #ffffff1a;flex-direction:column;align-items:stretch;gap:1rem;margin-top:auto;padding-top:1.5rem}}.nav-user-info{display:none}@media (width>=768px){.nav-user-info{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}}.user-account-name{color:var(--color-on-primary);font-size:.875rem;font-weight:600}.user-account-role{color:var(--color-secondary-fixed);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;background:#6ffbbe26;border:1px solid #6ffbbe4d;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.nav-logout-btn{color:var(--color-error);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);background-color:#0000;border:none;justify-content:center;align-items:center;padding:.45rem;display:flex}.nav-logout-btn:hover{background-color:#ba1a1a1a}.nav-logout-btn:active{transform:scale(.97)}.nav-feedback-btn{color:var(--color-on-primary-fixed);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background-color:#0000;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:.45rem;text-decoration:none;display:flex}.nav-feedback-btn:hover{color:var(--color-on-primary);background-color:#ffffff1a;border-color:#ffffff4d}.nav-feedback-btn:active{transform:scale(.97)}.nav-install-btn{color:var(--color-secondary-fixed);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background-color:#0000;border:1px solid #6cf8bb4d;justify-content:center;align-items:center;padding:.45rem;display:flex}.nav-install-btn:hover{border-color:var(--color-secondary-fixed);color:#fff;background-color:#6cf8bb26}.nav-install-btn:active{transform:scale(.97)}@media (width>=768px){.nav-logout-btn{background-color:var(--color-error);color:var(--color-on-error);gap:.5rem;width:100%;padding:.45rem .9rem;font-size:.825rem;font-weight:600}.nav-logout-btn:hover{background-color:#911}.nav-feedback-btn{color:var(--color-on-primary);background-color:#ffffff14;gap:.5rem;width:100%;padding:.45rem .9rem;font-size:.825rem;font-weight:600}.nav-feedback-btn:hover{background-color:#ffffff26}.nav-install-btn{color:var(--color-secondary-fixed);background-color:#006c4940;border:1px solid #6cf8bb59;gap:.5rem;width:100%;padding:.45rem .9rem;font-size:.825rem;font-weight:600}.nav-install-btn:hover{background-color:var(--color-secondary);color:var(--color-on-secondary)}}@media (width<=767px){.main-nav{justify-content:space-around}.main-nav-links,.nav-user-container{display:contents}.nav-logout-btn{padding:.5rem}}.hub-grid,.grid-hub{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=640px){.hub-grid,.grid-hub{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.hub-grid,.grid-hub{grid-template-columns:repeat(3,1fr)}}.kpi-grid,.grid-kpi{grid-template-columns:1fr;gap:1rem;margin-bottom:1.75rem;display:grid}@media (width>=480px){.kpi-grid,.grid-kpi{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.kpi-grid,.grid-kpi{grid-template-columns:repeat(4,1fr)}}.students-grid,.coupons-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}:root{--color-background:#f4f7fb;--shadow-page:0 24px 70px #0e224514}body{background:radial-gradient(circle at 8% 0%, #6cf8bb1f, transparent 28rem), radial-gradient(circle at 92% 14%, #b4c6f22e, transparent 30rem), var(--color-background)}::selection{background:var(--color-secondary-fixed);color:var(--color-on-secondary-fixed)}:focus-visible{outline-offset:3px;outline:3px solid #006c4959}.page-container,main{z-index:1;position:relative}.page-header h1,.dashboard-header h1{letter-spacing:-.035em;max-width:24ch}.page-header p,.dashboard-header p{max-width:68ch;font-size:1rem}.card,.auth-card,.hub-card,.kpi-card,.role-card,.form-section,.data-table-container,.table-responsive{box-shadow:var(--shadow-page)}.card:hover,.auth-card:hover{border-color:#0e22452e}.social-links-card{margin-top:1.5rem;padding:1.5rem}.social-links-list{gap:.75rem;display:grid}.social-link-row{border:1px solid var(--color-outline-variant);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.social-link-actions,.social-links-actions{flex-wrap:wrap;gap:.5rem;display:flex}.social-links-add{margin-top:1.25rem}.social-links-editor{border-radius:var(--radius-lg);background:#ecfdf5a6;border:1px solid #10b98133;margin-top:1.25rem;padding:1rem}.social-links-form{gap:1rem;display:grid}.company-name-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.company-social-links-list{align-items:center;gap:.4rem;display:inline-flex}.company-social-link{color:#fff;border-radius:999px;place-items:center;width:2rem;height:2rem;text-decoration:none;transition:none;display:inline-grid}.company-social-link:hover{color:#fff;text-decoration:none}.company-social-link:visited{color:#fff}.social-badge{place-items:center;width:100%;height:100%;font-family:Arial,sans-serif;font-size:.75rem;font-weight:700;line-height:1;display:grid}.social-badge-website{background:#0f766e}.social-badge-linkedin{color:#fff;background:#0a66c2;font-size:.7rem}.social-badge-website{border-radius:50%}.social-badge-facebook,.social-badge-instagram,.social-badge-tiktok{background:#fff;overflow:hidden}.social-badge-image{object-fit:contain;width:100%;height:100%;display:block}@media (width<=639px){.company-name-row{flex-direction:column;align-items:flex-start;gap:.5rem}}.btn-primary,button[type=submit]{background:linear-gradient(135deg, var(--color-primary-container), var(--color-primary))}.btn-secondary:hover,.btn-outline:hover{transform:translateY(-1px)}hr{border:0;border-top:1px solid var(--color-divider);margin:1.5rem 0}@media (width<=639px){.page-container,main{padding-left:1rem;padding-right:1rem}.company-profile-page{padding-top:1.25rem;padding-bottom:5.5rem}.company-profile-page .page-header h1{font-size:1.9rem;line-height:1.2}.company-profile-page .page-header p{font-size:1rem}.company-profile-page section>h2{font-size:1.15rem!important}.company-profile-page .card,.company-profile-page .empty-state{font-size:1rem}.form-actions,.btn-group{flex-direction:column;align-items:stretch}.form-actions>*,.btn-group>.btn{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-entry-body{background:var(--color-primary);min-height:100vh;display:flex}.app-entry{background:radial-gradient(circle at 15% 10%, #6cf8bb2e, transparent 24rem), radial-gradient(circle at 90% 90%, #b4c6f22e, transparent 28rem), var(--color-primary);place-items:center;width:100%;min-height:100vh;padding:1.25rem;display:grid}.app-entry-card{text-align:center;border-radius:var(--radius-xl);background:#fffffff5;border:1px solid #ffffffb3;width:min(100%,31rem);max-width:31rem;padding:clamp(2rem,6vw,3.5rem);box-shadow:0 24px 80px #0000003d}.app-entry-logo{object-fit:contain;border-radius:var(--radius-md);width:4.5rem;height:4.5rem;margin-bottom:1rem}.app-entry-kicker{color:var(--color-secondary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem;font-size:.8rem;font-weight:700}.app-entry-card h1{margin-bottom:.75rem}.app-entry-intro{max-width:32ch;margin:0 auto 1.75rem}.app-entry-actions{gap:.75rem;display:grid}.app-entry-links{border-top:1px solid var(--color-divider);flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:1.75rem;padding-top:1.25rem;font-size:.85rem;display:flex}
