.skip-link{z-index:1000;background:var(--primary);color:#fff;border-radius:0 0 8px;padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}body{font-family:var(--font-family,"Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif);background:var(--bg-warm,var(--bg-warm));color:var(--gray-800,var(--text))}.app-container{flex-direction:column;max-width:100%;min-height:100vh;margin:0;padding:0 16px;display:flex}.app-main{flex:1;width:100%;max-width:100%;padding:16px 0}.header-left h1{color:var(--primary);margin:0;font-size:22px}.header-subtitle{color:var(--text-muted);font-size:12px}.header-right{align-items:center;gap:12px;display:flex}.user-badge{color:var(--text-muted);background:var(--surface-sunken);border-radius:16px;padding:4px 12px;font-size:13px}.logout-button{background:var(--surface-sunken);cursor:pointer;border:none;border-radius:8px;padding:6px 16px;font-size:13px}.logout-button:hover{background:var(--border)}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);padding:16px;font-size:13px}.auth-container{max-width:400px;margin:40px auto;padding:20px}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{color:var(--primary);margin:0;font-size:32px}.auth-header p{color:var(--text-muted);font-size:14px}.auth-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:40px;padding:20px}.nav-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:10px 0;display:flex}.nav-item{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:8px;padding:6px 14px;font-size:13px;transition:all .2s}.nav-item:hover{background:var(--surface-muted)}.nav-item.active{background:var(--primary);color:#fff;border-color:var(--primary)}@media (width<=768px){.app-header{text-align:center;flex-direction:column;align-items:stretch}.app-container{padding:0 10px}}.landing{color:var(--text);background:var(--bg-warm)}.landing__inner{max-width:1200px;margin:0 auto;padding:0 24px}.landing__section{padding-top:72px;padding-bottom:72px}.landing__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:16px 24px;display:flex}.landing__brand{font-family:var(--font-display);color:var(--primary);align-items:center;gap:10px;font-size:22px;font-weight:800;display:inline-flex}.landing__nav{flex-wrap:wrap;align-items:center;gap:18px;font-weight:600;display:flex}.landing__nav a{color:var(--gray-700);text-decoration:none}.landing__nav a:hover{color:var(--primary)}.landing__hero{flex-wrap:wrap;align-items:center;gap:56px;max-width:1200px;margin:0 auto;padding:32px 24px 72px;display:flex}.landing__hero-copy{flex:999 520px;min-width:0}.landing__eyebrow{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent-strong);border-radius:999px;margin:0 0 18px;padding:6px 14px;font-size:14px;font-weight:700;display:inline-block}.landing__eyebrow--plain{letter-spacing:.08em;text-transform:uppercase;background:0 0;border:none;margin-bottom:10px;padding:0;font-size:13px}.landing__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--gray-900);margin:0;font-size:clamp(38px,6vw,60px);font-weight:800;line-height:1.05}.landing__title span{color:var(--primary)}.landing__lede{max-width:560px;color:var(--gray-700);margin:24px 0 0;font-size:clamp(17px,2vw,20px);line-height:1.55}.landing__ctas{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.landing__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin:36px 0 12px;font-size:13px;font-weight:700}.landing__countries{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.landing__countries li{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.landing__phone{flex:300px;justify-content:center;display:flex}.landing__phone-screen{border:12px solid var(--gray-900);background:var(--bg-warm);border-radius:34px;flex-direction:column;width:280px;height:560px;font-size:12px;display:flex;overflow:hidden;box-shadow:0 30px 60px #1c1b1640}.landing__phone-band{background:var(--kente);height:5px}.landing__phone-head{font-family:var(--font-display);color:var(--primary);padding:12px 14px 4px;font-size:14px;font-weight:800}.landing__phone-greet{font-family:var(--font-display);padding:4px 14px 0;font-size:17px;font-weight:700}.landing__phone-greet small{font-family:var(--font-family);color:var(--text-muted);font-size:11px;font-weight:400;display:block}.landing__phone-next{background:var(--primary);color:#fff;border-radius:14px;flex-direction:column;gap:2px;margin:12px 14px 0;padding:12px;display:flex}.landing__phone-next small{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-border);font-size:10px;font-weight:700}.landing__phone-next strong{font-family:var(--font-display);font-size:14px}.landing__phone-next em{background:var(--accent);color:var(--gray-900);border-radius:8px;align-self:flex-start;margin-top:8px;padding:6px 12px;font-style:normal;font-weight:700}.landing__phone-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:8px 14px 0;padding:10px 12px;font-weight:600}.landing__phone-tabs{background:var(--surface);border-top:1px solid var(--border);height:46px;color:var(--text-muted);justify-content:space-around;align-items:center;margin-top:auto;font-size:10px;font-weight:700;display:flex}.landing__phone-tabs b{color:var(--primary)}.landing__band{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 0}.landing__h2{font-family:var(--font-display);color:var(--gray-900);margin:0;font-size:clamp(28px,4vw,38px);font-weight:800}.landing__h2:after{content:"";background:var(--kente);border-radius:3px;width:64px;height:5px;margin-top:10px;display:block}.landing__steps{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:40px 0 0;padding:0;list-style:none;display:grid}.landing__steps li{background:var(--bg-warm);border:1px solid var(--border);border-radius:18px;padding:28px}.landing__step-num{background:var(--primary);color:#fff;width:40px;height:40px;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.landing__steps h3,.landing__features h3{font-family:var(--font-display);margin:18px 0 8px;font-size:20px}.landing__steps p,.landing__features p{color:var(--gray-700);margin:0;line-height:1.6}.landing__features{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px;display:grid}.landing__tile{border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.landing__tile--primary{background:var(--primary-bg);color:var(--primary)}.landing__tile--accent{background:var(--accent-bg);color:var(--accent-strong)}.landing__tile--violet{background:var(--violet-bg);color:var(--violet)}.landing__tile--info{background:var(--info-bg);color:var(--info)}.landing__tile--rose{background:var(--rose-bg);color:var(--rose)}.landing__languages{background:var(--primary);color:#fff;padding:64px 0}.landing__languages-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.landing__languages-inner>div{flex:999 460px;min-width:0}.landing__languages h2{color:#fff;font-family:var(--font-display);margin:0;font-size:clamp(26px,3.5vw,34px);font-weight:800}.landing__languages p{max-width:560px;color:var(--primary-bg);margin:14px 0 0;font-size:18px;line-height:1.6}.landing__languages ul{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.landing__languages li{background:#ffffff1f;border:1px solid #ffffff4d;border-radius:999px;padding:12px 20px;font-weight:700}.landing__languages li.is-accent{background:var(--accent);border-color:var(--accent);color:var(--gray-900)}.landing__schools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;padding:40px;display:flex}.landing__schools>div{flex:999 420px;min-width:0}.landing__schools h2{font-family:var(--font-display);margin:0;font-size:clamp(24px,3vw,32px);font-weight:800}.landing__schools p{color:var(--gray-700);margin:14px 0 0;font-size:17px;line-height:1.6}.landing__footer{border-top:1px solid var(--border);max-width:1200px;color:var(--text-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:24px;font-size:14px;display:flex}@media (width<=640px){.landing__nav a,.landing__phone{display:none}.landing__schools{padding:24px}}:root{--primary:#1a5f2b;--primary-dark:#144d21;--primary-light:#2d8a4e;--primary-bg:#e8f5e9;--primary-glow:#e3f5ea;--secondary:#1565c0;--accent:#f0b429;--accent-bg:#fef6e0;--danger:#c62828;--success:#2e7d32;--warning:#b34700;--text:var(--gray-800);--text-muted:var(--gray-600);--text-subtle:var(--gray-500);--text-on-primary:#fff;--surface:#fff;--surface-muted:var(--gray-50);--surface-sunken:var(--gray-100);--border:var(--gray-200);--border-strong:var(--gray-300);--primary-border:#a5d6a7;--accent-strong:#9a6700;--accent-border:#f0d88b;--success-dark:#1b5e20;--success-bg:#e8f5e9;--success-border:#a5d6a7;--warning-bg:#fff3e0;--warning-border:#ffcc80;--warning-strong:#c43e00;--danger-dark:#b71c1c;--danger-bg:#ffebee;--danger-border:#ef9a9a;--info:var(--secondary);--info-bg:#e3f2fd;--violet:#6a1b9a;--violet-bg:#f3e5f5;--rose:#ad1457;--rose-bg:#fce4ec;--earth:#8d6e63;--kente:repeating-linear-gradient(90deg, var(--accent) 0 14px, var(--primary) 14px 22px, var(--accent) 22px 36px, #b3261e 36px 42px);--white:#fff;--bg-warm:#faf8f4;--gray-50:#f7f6f2;--gray-100:#f1efe9;--gray-200:#e4e1d8;--gray-300:#cac6b8;--gray-400:#a19c8c;--gray-500:#666;--gray-600:#676354;--gray-700:#4d4a3f;--gray-800:#2c2a22;--gray-900:#1c1b16;--font-display:"Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family:"Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:15px;--font-size-md:17px;--font-size-lg:20px;--font-size-xl:24px;--font-size-2xl:30px;--font-size-3xl:36px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 20px #0000001f;--shadow-xl:0 8px 40px #00000029;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease}[data-dyslexia-font=true]{--font-family:"Comic Sans MS", Verdana, Arial, sans-serif;--font-display:"Comic Sans MS", Verdana, Arial, sans-serif}[data-text-scale=large]{--font-size-xs:13px;--font-size-sm:15px;--font-size-base:17px;--font-size-md:19px;--font-size-lg:23px;--font-size-xl:28px;--font-size-2xl:34px;--font-size-3xl:41px}[data-text-scale=larger]{--font-size-xs:15px;--font-size-sm:17px;--font-size-base:19px;--font-size-md:22px;--font-size-lg:26px;--font-size-xl:32px;--font-size-2xl:39px;--font-size-3xl:47px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);background:var(--bg-warm);color:var(--gray-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}body:before{content:"";background:var(--kente);height:4px;display:block}@media print{body:before{display:none}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}button,input,select,textarea{font-family:inherit}svg.lucide{flex-shrink:0}.icon-inline{vertical-align:-.125em}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.desktop-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.desktop-nav__item{color:var(--text);border:1px solid var(--border);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;display:inline-flex}.desktop-nav__item:hover{background:var(--surface-muted)}.desktop-nav__item.is-active{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary);font-weight:700}.desktop-nav__item:focus-visible,.mobile-tabbar__item:focus-visible,.mobile-sheet__item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.mobile-tabbar{display:none}.mobile-tabbar__item{min-height:56px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex;position:relative}.mobile-tabbar__item.is-active{color:var(--primary)}.mobile-tabbar__item.is-active:before{content:"";background:var(--kente);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:28%;right:28%}.mobile-sheet__backdrop{z-index:1100;background:#1c1b1673;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-sheet{background:var(--surface);width:100%;max-height:80vh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow-xl);border-radius:20px 20px 0 0;outline:none;overflow-y:auto}.mobile-sheet:before{content:"";background:var(--border-strong);border-radius:2px;width:40px;height:4px;margin:4px auto 12px;display:block}.mobile-sheet__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding-bottom:12px;display:flex}.mobile-sheet__name{font-family:var(--font-display);color:var(--text);font-weight:700}.mobile-sheet__email{color:var(--text-subtle);font-size:13px}.mobile-sheet__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.mobile-sheet__list{margin:0;padding:8px 0;list-style:none}.mobile-sheet__item{width:100%;min-height:48px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:14px;padding:0 8px;font-size:15px;display:flex}.mobile-sheet__item.is-active{background:var(--primary-bg);color:var(--primary);font-weight:700}.mobile-sheet__footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}@media (width<=768px){.desktop-nav,.app-header__tagline,.app-header__account{display:none!important}.app-header{padding:10px 0}.mobile-tabbar{z-index:1000;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000000f}}.ai-chat-fab{width:60px;height:60px;bottom:24px;right:24px}.ai-chat-panel{width:min(380px,100vw - 32px);height:min(500px,100dvh - 40px);bottom:20px;right:20px}.app-footer-clear-fab{padding-bottom:96px!important}@media (width<=768px){.ai-chat-fab{bottom:calc(72px + env(safe-area-inset-bottom));width:52px;height:52px;right:16px;font-size:24px!important}.ai-chat-panel{bottom:calc(72px + env(safe-area-inset-bottom));height:min(500px, calc(100dvh - 96px - env(safe-area-inset-bottom)));right:16px}.app-footer-clear-fab{padding-bottom:calc(140px + env(safe-area-inset-bottom))!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.container{width:100%;max-width:1400px;padding:0 var(--spacing-md);margin:0 auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--gray-900);letter-spacing:-.01em;font-weight:700;line-height:1.2}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-dark)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-muted{color:var(--gray-500)}.bg-primary{background:var(--primary)}.bg-light{background:var(--gray-50)}.bg-white{background:var(--white)}.hidden{display:none!important}.visible{display:block!important}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.w-full{width:100%}.h-full{height:100%}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);border:1px solid var(--border)}.card--flush{padding:0}.card--interactive{cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base)}.card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--gray-800);font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--surface-muted);border-color:var(--text-subtle)}.btn-ghost{color:var(--primary);background:0 0;padding-left:8px;padding-right:8px}.btn-ghost:hover{background:var(--primary-bg)}.btn-success{background:var(--success);color:var(--white)}.btn-success:hover{background:var(--success-dark)}.btn-danger{background:var(--danger);color:var(--white)}.btn-danger:hover{background:var(--danger-dark)}.btn-outline{color:var(--primary);border:2px solid var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:var(--white)}.btn-sm{font-size:var(--font-size-sm);padding:6px 12px}.btn-lg{font-size:var(--font-size-md);padding:14px 28px}.btn-block{justify-content:center;width:100%}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-primary:disabled:hover{background:var(--primary)}.btn-secondary:disabled:hover{background:var(--surface);border-color:var(--border-strong)}.btn-danger:disabled:hover{background:var(--danger)}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.page-header__lead{align-items:center;gap:14px;min-width:0;display:flex}.page-header__icon{background:var(--primary-bg);width:44px;height:44px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.page-header__title{font-family:var(--font-display);font-size:var(--font-size-2xl);color:var(--primary);margin:0;line-height:1.15}.page-header__title:after{content:"";background:var(--kente);border-radius:2px;width:56px;height:4px;margin-top:8px;display:block}.page-header__subtitle{color:var(--text-muted);font-size:var(--font-size-base);margin:6px 0 0}.page-header__actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}@media (width<=640px){.page-header__title{font-size:var(--font-size-xl)}.page-header__icon{width:38px;height:38px}}.form-group{margin-bottom:var(--spacing-md)}.form-label{margin-bottom:var(--spacing-xs);color:var(--gray-700);font-weight:600;font-size:var(--font-size-sm);display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--gray-200);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:var(--white);color:var(--gray-800);padding:10px 14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1a5f2b26}.form-input::placeholder,.form-textarea::placeholder{color:var(--gray-400)}.form-textarea{resize:vertical;min-height:80px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.grid{gap:var(--spacing-md);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.spinner{border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideIn}@media (pointer:coarse){.btn,button,[role=button],input[type=submit],input[type=button]{min-width:44px;min-height:44px}.form-input,.form-select,.form-textarea{font-size:16px}}@media (width<=1024px){.container{padding:0 var(--spacing-md)}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){:root{--font-size-3xl:28px;--font-size-2xl:22px;--font-size-xl:18px;--font-size-lg:16px;--font-size-md:15px;--font-size-base:14px}.container{padding:0 var(--spacing-sm)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.card{padding:var(--spacing-md)}.btn{font-size:var(--font-size-sm);padding:8px 16px}.btn-lg{font-size:var(--font-size-base);padding:12px 20px}.nav-label{display:none}.app-header{text-align:center;padding:var(--spacing-sm) 0;flex-direction:column}.header-left{flex-direction:column;align-items:center}.header-right{justify-content:center;width:100%}.nav-bar{justify-content:center;gap:var(--spacing-xs)}.nav-item{padding:6px 10px;font-size:12px}.nav-item .nav-icon{font-size:18px}.modal-content{margin:var(--spacing-md);padding:var(--spacing-md);max-width:100%!important}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=480px){:root{--spacing-lg:16px;--spacing-xl:20px}.container{padding:0 8px}.grid-auto{grid-template-columns:1fr}.card{padding:var(--spacing-sm);border-radius:var(--radius-md)}.btn{min-height:40px;padding:6px 12px;font-size:12px}.btn-lg{font-size:var(--font-size-sm);padding:10px 16px}.form-input,.form-select,.form-textarea{padding:8px 12px;font-size:14px}.nav-item{padding:4px 8px;font-size:11px}.nav-item .nav-icon{font-size:16px}}@media print{.no-print{display:none!important}.card{border:1px solid var(--gray-200);box-shadow:none!important}}
