@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--bg-color:#0b0b0e;--bg-gradient:radial-gradient(circle at 50% -10%, #f9731617 0%, #0b0b0e00 65%);--card-bg:#141418;--card-bg-hover:#18181e;--card-border:#ffffff14;--card-border-hover:#f9731659;--card-shadow:0 12px 36px -8px #000000bf, inset 0 1px 0 #ffffff0d;--card-shadow-hover:0 20px 48px -6px #000000e6, 0 0 20px #f973161f, inset 0 1px 0 #ffffff14;--accent-color:#f97316;--accent-hover:#fb923c;--accent-active:#ea580c;--accent-gradient:linear-gradient(180deg, #f97316 0%, #ea580c 100%);--accent-glow:0 4px 20px #f9731659;--text-primary:#fff;--text-secondary:#a1a1aa;--text-muted:#71717a;--input-bg:#1a1a20;--input-bg-focus:#202028;--input-border:#ffffff1a;--input-border-focus:#f97316;--success-bg:#22c55e24;--success-text:#4ade80;--success-border:#4ade8040;--warning-bg:#f9731624;--warning-text:#fb923c;--warning-border:#f973164d;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:9999px;--ease-spring:cubic-bezier(.16, 1, .3, 1);--transition:all .22s var(--ease-spring)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);background-image:var(--bg-gradient);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.015em;background-attachment:fixed;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Plus Jakarta Sans,SF Pro Display,Inter,system-ui,sans-serif;line-height:1.55}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{width:100%;max-width:1160px;margin:0 auto;padding:2.5rem 1.5rem}@media (width<=600px){.main-content{padding:1.25rem 1rem}}.parent-grid{grid-template-columns:1.15fr .85fr;gap:1.75rem;display:grid}@media (width<=900px){.parent-grid{grid-template-columns:1fr;gap:1.5rem}}.column-left,.column-right{flex-direction:column;gap:1.75rem;display:flex}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:var(--transition);padding:1.85rem;position:relative}@media (width<=600px){.card{border-radius:var(--radius-md);padding:1.35rem}}.card:hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.card-title{text-transform:uppercase;letter-spacing:.08em;color:#fb923c;align-items:center;gap:.5rem;margin-bottom:1.35rem;font-size:.8rem;font-weight:800;display:flex}.header-bar{-webkit-backdrop-filter:blur(28px)saturate(190%);z-index:100;background:#0b0b0ed1;border-bottom:1px solid #ffffff14;padding:1rem 1.5rem;position:sticky;top:0}@media (width<=600px){.header-bar{padding:.85rem 1rem}}.header-inner{justify-content:space-between;align-items:center;max-width:1160px;margin:0 auto;display:flex}@media (width<=600px){.header-inner{flex-direction:column;align-items:stretch;gap:.85rem}}.header-title{color:#fff;letter-spacing:-.04em;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:800;display:flex}@media (width<=600px){.header-title{text-align:center;justify-content:center;font-size:1.25rem}}.role-switcher{background-color:var(--input-bg);border-radius:var(--radius-pill);border:1px solid var(--input-border);padding:4px;display:flex}@media (width<=600px){.role-switcher{justify-content:center}}.role-btn{color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:.5rem 1.35rem;font-family:inherit;font-size:.82rem;font-weight:700}.role-btn:hover{color:#fff}.role-btn.active{background:var(--accent-gradient);color:#fff;box-shadow:var(--accent-glow);font-weight:800}.selector-group{gap:1rem;display:flex}@media (width<=600px){.selector-group{flex-direction:column;gap:.85rem}}.selector-field{flex-direction:column;flex:1;gap:.45rem;display:flex}.selector-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.07em;font-size:.72rem;font-weight:800}select,.custom-select,.class-selector{background-color:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f97316' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1.1rem center;background-repeat:no-repeat;outline:none;min-height:48px;padding:.85rem 2.75rem .85rem 1.15rem;font-family:inherit;font-size:.94rem;font-weight:600}select:hover,.custom-select:hover,.class-selector:hover{background-color:#202028;border-color:#f9731666}select:focus,.custom-select:focus,.class-selector:focus{background-color:var(--input-bg-focus);border-color:var(--accent-color);box-shadow:0 0 0 3px #f9731633}select option{color:#fff;background-color:#141418;padding:12px;font-weight:600}.class-selector-wrapper{margin-bottom:1.5rem}.class-selector{max-width:220px;font-weight:700}@media (width<=600px){.class-selector{max-width:100%}}.summary-stats{background:var(--input-bg);border-radius:var(--radius-md);border:1px solid var(--input-border);grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.35rem;display:grid}@media (width<=550px){.summary-stats{grid-template-columns:1fr;gap:.85rem;padding:1rem}}.stat-box{flex-direction:column;display:flex}.stat-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.06em;font-size:.68rem;font-weight:800}.stat-value{color:#fff;letter-spacing:-.03em;margin-top:.25rem;font-size:1.4rem;font-weight:800}.stat-value.balance{color:#fb923c}.month-list,.history-list,.roster-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.month-item,.history-item,.roster-row{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:var(--transition);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.month-item:hover,.history-item:hover,.roster-row:hover{background-color:#202028;border-color:#f9731666;transform:translateY(-1px);box-shadow:0 6px 18px #00000080}.month-info{color:var(--text-primary);font-size:.95rem;font-weight:700}.status-badge{text-transform:uppercase;border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.72rem;font-weight:800;display:inline-flex}.status-badge.paid{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.status-badge.pending{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.pay-form{align-items:center;gap:.75rem;display:flex}@media (width<=500px){.pay-form{flex-direction:column;align-items:stretch}}.pay-form .pay-input{flex:1;width:auto;margin-bottom:0}.pay-form .pay-btn{white-space:nowrap;flex-shrink:0;width:auto;margin-top:0}@media (width<=500px){.pay-form .pay-btn{width:100%}}.pay-input{background-color:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary);border-radius:var(--radius-md);min-height:48px;transition:var(--transition);outline:none;padding:.85rem 1.15rem;font-family:inherit;font-size:.94rem;font-weight:600}.pay-input:focus{background-color:var(--input-bg-focus);border-color:var(--accent-color);box-shadow:0 0 0 3px #f9731633}button,.pay-btn,form button[type=submit]{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-md);cursor:pointer;min-height:48px;transition:var(--transition);box-shadow:var(--accent-glow);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-family:inherit;font-size:.94rem;font-weight:800;display:inline-flex}button:hover,.pay-btn:hover,form button[type=submit]:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 24px #f9731680}button:active,.pay-btn:active,form button[type=submit]:active{transform:scale(.98)}.history-amount{color:var(--success-text);letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.history-date{color:var(--text-secondary);font-size:.82rem}.empty-history{color:var(--text-secondary);text-align:center;padding:1rem 0;font-size:.9rem;font-style:italic}.navigation-bar{background:var(--input-bg);border-radius:var(--radius-pill);border:1px solid var(--input-border);gap:.4rem;width:fit-content;margin-bottom:2rem;padding:4px;display:flex}@media (width<=650px){.navigation-bar{border-radius:var(--radius-md);flex-wrap:wrap;width:100%}}.navigation-bar button{color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition);box-shadow:none;background:0 0;border:none;min-height:40px;padding:.55rem 1.45rem;font-family:inherit;font-size:.85rem;font-weight:700}@media (width<=650px){.navigation-bar button{text-align:center;border-radius:var(--radius-sm);flex:calc(50% - .4rem)}}.navigation-bar button:hover{color:#fff;background:#ffffff0d}.navigation-bar button.active{background:var(--accent-gradient);color:#fff;box-shadow:var(--accent-glow);font-weight:800}.student-info{flex-direction:column;gap:.2rem;display:flex}.student-name{color:#fff;font-size:1rem;font-weight:800}.parent-info{color:var(--text-secondary);font-size:.85rem}.due-amount{color:var(--warning-text);letter-spacing:-.02em;font-size:1rem;font-weight:800}.edit-btn{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition);min-height:auto;box-shadow:none;padding:.45rem 1.15rem;font-size:.82rem;font-weight:700}.edit-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:translateY(-1px);box-shadow:0 2px 10px #f9731659}.form-grid{grid-template-columns:1fr 1fr;gap:1.15rem;margin-bottom:.85rem;display:grid}@media (width<=700px){.form-grid{grid-template-columns:1fr}}form input[type=text],form input[type=number],form input[type=tel]{background-color:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:var(--radius-md);min-height:48px;transition:var(--transition);outline:none;margin-bottom:.85rem;padding:.85rem 1.15rem;font-family:inherit;font-size:.94rem;font-weight:600}form input[type=text]:focus,form input[type=number]:focus,form input[type=tel]:focus{background-color:var(--input-bg-focus);border-color:var(--accent-color);box-shadow:0 0 0 3px #f9731633}.checkbox-label{color:var(--text-secondary);cursor:pointer;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);min-height:48px;transition:var(--transition);align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:flex}.checkbox-label:hover{color:#fff;background-color:#202028;border-color:#f9731666}form input[type=checkbox],input[type=checkbox]{accent-color:var(--accent-color);cursor:pointer;vertical-align:middle;border-radius:4px;width:20px;height:20px}.modal-overlay{-webkit-backdrop-filter:blur(24px)saturate(190%);z-index:1000;animation:appleFadeIn .28s var(--ease-spring);background-color:#0b0b0ed1;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius-lg);width:100%;max-width:500px;animation:appleScaleUp .3s var(--ease-spring);background:#141418;border:1px solid #f9731659;padding:2.25rem;box-shadow:0 28px 72px -12px #000000e6,0 0 35px #f9731626}@media (width<=500px){.modal-card{padding:1.5rem}}.modal-card form{flex-direction:column;gap:.65rem;margin-top:1.25rem;display:flex}@keyframes appleFadeIn{0%{opacity:0}to{opacity:1}}@keyframes appleScaleUp{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}
