*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#0a1628;min-height:100vh;color:#000}.app-container{min-height:100vh;position:relative;overflow-x:hidden;background:linear-gradient(180deg,#0a1628 0%,#1a2a4a 50%,#0a1628 100%);background-image:url(/images/xybj.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.background-animation{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.floating-shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:float 20s infinite ease-in-out}.shape-1{width:400px;height:400px;background:linear-gradient(135deg,#e94560,#ff6b6b);top:-100px;left:-100px;animation-delay:0s}.shape-2{width:300px;height:300px;background:linear-gradient(135deg,#0f3460,#533483);bottom:-50px;right:-50px;animation-delay:-5s}.shape-3{width:200px;height:200px;background:linear-gradient(135deg,#00d9ff,#00ff88);top:50%;left:50%;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(30px,30px) rotate(90deg)}50%{transform:translateY(60px) rotate(180deg)}75%{transform:translate(-30px,30px) rotate(270deg)}}.school-banner{position:relative;width:100%;max-width:600px;margin:0 auto 30px;border-radius:20px;overflow:hidden;z-index:1;box-shadow:0 15px 40px #00000080;animation:bannerFade .8s ease-in}.school-banner img{width:100%;height:auto;display:block;max-height:300px;object-fit:cover}.banner-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:linear-gradient(135deg,#1a3a5c,#2a5a8c);min-height:200px}.banner-icon{font-size:50px;margin-bottom:10px;animation:bounce 2s infinite}@keyframes bannerFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header{padding:15px 20px;position:relative;z-index:1}.logo{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}.logo-icon{width:40px;height:40px;object-fit:contain;animation:bounce 2s infinite;margin-top:5px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.logo-text{font-size:30px;font-weight:700;background:linear-gradient(135deg,#fff,#00d9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main-content{max-width:600px;margin:0 auto;padding:20px;position:relative;z-index:1}.login-card,.list-card,.role-card,.form-card,.result-card{background:rgba(255,255,255,.58);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:30px 20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px #0000004d}.title{font-size:28px;font-weight:700;margin-bottom:10px;text-align:center;background:linear-gradient(135deg,#2c8365,#00d9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:16px;color:#000000b3;margin-bottom:25px;text-align:center}.login-tip{text-align:center;font-size:14px;color:#ffffff80;margin-top:15px}.form-title{font-size:22px;font-weight:700;margin-bottom:25px;text-align:center;color:#000}.section-title{font-size:18px;margin-bottom:18px;color:#000}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:15px;margin-bottom:8px;color:#6f6c6ce6}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=number],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:14px 16px;font-size:16px;background:rgba(255,255,255,.08);border:2px solid rgb(23 23 23 / 15%);border-radius:10px;color:#000;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#00d9ff;background:rgba(255,255,255,.12);box-shadow:0 0 20px #00d9ff33}.form-group select option{background:#1a1a2e;color:#fff}.radio-group,.checkbox-group{display:flex;gap:12px}.radio-item,.checkbox-item{flex:1;padding:12px 16px;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.15);border-radius:10px;text-align:center;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:6px;font-size:15px}.radio-item input,.checkbox-item input{display:none}.radio-item.active,.checkbox-item.active{background:linear-gradient(135deg,rgba(233,69,96,.3),rgba(0,217,255,.3));border-color:#00d9ff}.meal-time-grid{display:flex;flex-direction:column;gap:10px}.meal-time-option{padding:16px 20px;background:rgba(255,255,255,.08);border:2px solid rgba(0,0,0,.15);border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;font-size:15px}.meal-time-option input{display:none}.meal-time-option.active{background:linear-gradient(135deg,rgba(233,69,96,.3),rgba(0,217,255,.3));border-color:#00d9ff}.meal-time-option span{color:#212121}.checkbox-grid{display:flex;flex-wrap:wrap;gap:10px}.checkbox-grid .checkbox-item{flex:0 0 auto;padding:10px 16px;background:rgba(255,255,255,.08);border:2px solid rgba(0,0,0,.15);border-radius:10px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;font-size:14px;color:#212121}.checkbox-grid .checkbox-item input{display:none}.checkbox-grid .checkbox-item.active{background:linear-gradient(135deg,rgba(233,69,96,.3),rgba(0,217,255,.3));border-color:#00d9ff}.capacity-warning{color:#ff6b6b;font-size:13px;margin-top:6px;font-weight:500}.capacity-info{color:#00d9ff;font-size:15px;margin-top:6px}.capacity-loading{color:#ffffff80;font-size:13px;margin-top:6px}.supervision-tag{display:inline-block;padding:2px 8px;margin:2px 4px;background:rgba(0,217,255,.15);border-radius:10px;font-size:12px;color:#3f51b5;white-space:nowrap}.health-commitment{background:rgba(255,0,50,.08);border:2px solid rgba(255,0,50,.3);border-radius:12px;padding:16px;margin:15px 0}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:15px;color:#ffffffe6}.modern-checkbox{width:20px;height:20px;accent-color:#ff6b6b;cursor:pointer}.commitment-text{font-weight:600;color:#ff6b6b}.commitment-warning{color:#ff6b6b;font-size:13px;margin-top:8px;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.btn-primary,.btn-secondary{padding:14px 30px;font-size:16px;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#e94560,#ff6b6b);color:#fff;box-shadow:0 8px 25px #e9456066}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 35px #e9456080}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary.full-width{width:100%;margin-top:10px}.btn-secondary{background:rgba(255,255,255,.1);color:#6d6d6d}.btn-secondary:hover{background:rgba(255,255,255,.2)}.btn-arrow{transition:transform .3s ease}.btn-logout{padding:8px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#00bcd4;font-size:13px;cursor:pointer}.btn-group{display:flex;gap:15px;margin-top:25px}.btn-group.center{justify-content:center}.form-divider{height:1px;background:rgba(255,255,255,.1);margin:20px 0}.user-info-bar{display:flex;align-items:center;gap:12px;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.user-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#e94560,#00d9ff);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}.user-details{flex:1}.user-details h3{font-size:18px;margin-bottom:5px}.user-type-badge{display:inline-block;padding:3px 10px;background:rgba(0,217,255,.2);border-radius:15px;font-size:12px;color:#00d9ff}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.stat-item{background:rgba(0,0,0,.05);border-radius:12px;padding:15px;text-align:center}.stat-item.approved .stat-num{color:#0f8}.stat-item.rejected .stat-num{color:#ff6b6b}.stat-num{display:block;font-size:28px;font-weight:700;color:gold}.stat-label{font-size:13px;color:#0009}.application-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.application-item{background:rgba(255,255,255,.05);border-radius:12px;padding:16px;cursor:pointer;transition:all .3s}.application-item:hover{background:rgba(255,255,255,.1);transform:translate(4px)}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.app-date{font-size:16px;font-weight:600}.status-badge{padding:4px 12px;border-radius:15px;font-size:12px}.status-badge.pending{background:rgba(0,0,0,.2);color:gold}.status-badge.approved{background:rgba(0,255,136,.2);color:#00bcd4}.status-badge.rejected{background:rgba(255,107,107,.2);color:#ff6b6b}.app-body{display:flex;justify-content:space-between;font-size:14px;color:#212121b3}.app-extra span{margin-left:10px}.app-reason{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#ff9800}.empty-state{text-align:center;padding:40px 20px;color:#ffffff80}.empty-icon{font-size:50px;margin-bottom:15px}.role-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:20px}.role-card-item{background:rgba(255,255,255,.05);border:2px solid rgba(77,89,118,.1);border-radius:16px;padding:25px 18px;text-align:center;cursor:pointer;transition:all .3s}.role-card-item:hover{background:rgba(255,255,255,.1)}.role-card-item.active{background:linear-gradient(135deg,rgba(233,69,96,.2),rgba(0,217,255,.2));border-color:#00d9ff}.role-icon{font-size:40px;margin-bottom:10px}.role-card-item h3{font-size:18px;margin-bottom:5px}.role-card-item p{font-size:13px;color:#5559}.result-card{text-align:center}.result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 20px}.result-icon.pending{background:linear-gradient(135deg,#ffd700,#ffaa00);animation:pulse 2s infinite}.result-icon.approved{background:linear-gradient(135deg,#00ff88,#00d9ff)}.result-icon.rejected{background:linear-gradient(135deg,#ff6b6b,#e94560)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.result-title{font-size:26px;margin-bottom:25px}.result-details{background:rgba(255,255,255,.05);border-radius:14px;padding:20px;margin-bottom:25px;text-align:left}.detail-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.detail-item:last-child{border-bottom:none}.detail-item .label{color:#000000b3}.detail-item .value{font-weight:600}.footer{background:rgba(10,22,40,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:20px;border-top:1px solid rgba(255,255,255,.05)}.footer-content{max-width:600px;margin:0 auto;text-align:center}.footer-main{font-size:14px;color:#ffffff80;margin-bottom:12px}.footer-contacts{display:flex;flex-direction:column;gap:8px;align-items:center}.footer-contact{font-size:13px;color:#fff9}.footer-contact strong{color:#00d9ff}.contact-icon{margin-right:4px}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:14px 24px;border-radius:12px;font-size:15px;font-weight:500;z-index:9999;animation:toastSlide .3s ease;box-shadow:0 10px 30px #0000004d}@keyframes toastSlide{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast.info{background:linear-gradient(135deg,#00d9ff,#0099cc);color:#000}.toast.success{background:linear-gradient(135deg,#00ff88,#00cc66);color:#000}.toast.error{background:linear-gradient(135deg,#ff6b6b,#e94560);color:#fff}.toast.warning{background:linear-gradient(135deg,#ffd700,#ffaa00);color:#000}@media (max-width: 480px){.role-selection{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(3,1fr);gap:8px}.stat-item{padding:12px 8px}.stat-num{font-size:24px}.btn-group,.btn-group.center{flex-direction:column}.footer-contacts{flex-direction:column;gap:6px}}
