@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{overflow:hidden}.login-container{align-items:center;display:flex;height:100vh;justify-content:center;position:relative}.login-container:before{animation:float 20s ease-in-out infinite;background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><circle cx="200" cy="200" r="100" fill="url(%23a)"/><circle cx="800" cy="300" r="150" fill="url(%23a)"/><circle cx="400" cy="700" r="120" fill="url(%23a)"/></svg>');bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}.login-form{animation:slideUp .8s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:20px;box-shadow:0 25px 50px #00000026,0 0 0 1px #fff3;max-width:450px;padding:3rem;position:relative;transform:translateY(0);width:100%}.login-form:before{animation:shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#667eea,#764ba2,#667eea);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.login-form h2{color:#2c3e50;font-size:2.2rem;font-weight:600;letter-spacing:-.5px;margin-bottom:2rem;position:relative;text-align:center}.login-form h2:after{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:50px}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{color:#555;display:block;font-size:.95rem;letter-spacing:.3px;margin-bottom:.8rem}.form-group input{background:#fffc;border:2px solid #e1e8ed;border-radius:12px;font-family:Poppins,sans-serif;font-size:1rem;padding:1rem 1.2rem;transition:all .3s ease;width:100%}.form-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-2px)}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:.5px;margin-top:1rem;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.login-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.login-button:hover:before{left:100%}.login-button:hover{box-shadow:0 15px 35px #667eea4d;transform:translateY(-3px)}.login-button:active{transform:translateY(0)}.error-message{animation:shake .5s ease-in-out;background:#e74c3c1a;border-left:4px solid #e74c3c;border-radius:8px;color:#e74c3c;font-size:.9rem;margin-bottom:1rem;padding:.8rem;text-align:center}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}*{margin:0;padding:0}.dashboard-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Poppins,sans-serif;min-height:100vh;opacity:0;transform:translateY(20px);transition:all .8s ease}.dashboard-container.loaded{opacity:1;transform:translateY(0)}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 10px 30px #0000001a;color:#fff;overflow:hidden;padding:2rem;position:relative}.dashboard-header:before{animation:floatHeader 15s ease-in-out infinite;background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><circle cx="200" cy="200" r="100" fill="url(%23a)"/><circle cx="800" cy="300" r="150" fill="url(%23a)"/></svg>');bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes floatHeader{0%,to{transform:translateX(0)}50%{transform:translateX(30px)}}.header-content{align-items:center;display:flex;justify-content:space-between;position:relative;z-index:2}.header-left h1{font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:.5rem}.header-left p{font-size:1.1rem;font-weight:300;opacity:.9}.logout-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;padding:.8rem 1.5rem;transition:all .3s ease}.logout-button:hover{background:#ffffff4d;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.dashboard-main{margin:0 auto;max-width:1200px;padding:2rem}.stats-overview{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.stat-card{align-items:center;animation:slideInUp .6s ease-out forwards;animation-delay:0s;animation-delay:var(--delay,0s);background:#fff;border-left:4px solid #0000;border-radius:16px;box-shadow:0 8px 30px #00000014;display:flex;gap:1rem;opacity:0;padding:1.5rem;transform:translateY(30px);transition:all .3s ease}.stat-card:first-child{--delay:0.1s;border-left-color:#667eea}.stat-card:nth-child(2){--delay:0.2s;border-left-color:#764ba2}.stat-card:nth-child(3){--delay:0.3s;border-left-color:#f093fb}.stat-card:nth-child(4){--delay:0.4s;border-left-color:#4facfe}.stat-card:hover{box-shadow:0 15px 40px #0000001f;transform:translateY(-5px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:12px;display:flex;font-size:2.5rem;justify-content:center;padding:1rem}.stat-info h3{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:.2rem}.stat-info p{color:#7f8c8d;font-weight:500}.dashboard-menu{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.menu-item{align-items:center;animation:slideInUp .6s ease-out forwards;animation-delay:0s;animation-delay:var(--delay,0s);background:#fff;border:none;border-radius:20px;box-shadow:0 8px 30px #00000014;cursor:pointer;display:flex;gap:1.5rem;opacity:0;overflow:hidden;padding:2rem;position:relative;text-align:left;transform:translateY(30px);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.menu-item:before{background:linear-gradient(90deg,#0000,#fffc,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.menu-item:hover:before{left:100%}.menu-item:hover{box-shadow:0 20px 50px #00000026;transform:translateY(-8px) scale(1.02)}.menu-item-icon{align-items:center;background:#667eea;background:var(--item-color,#667eea);border-radius:16px;box-shadow:0 8px 20px #0000001a;display:flex;font-size:3rem;justify-content:center;padding:1.2rem;transition:all .3s ease}.menu-item:hover .menu-item-icon{transform:rotate(5deg) scale(1.1)}.menu-item-content{flex:1 1}.menu-item-content h3{color:#2c3e50;font-size:1.4rem;font-weight:600;letter-spacing:-.3px;margin-bottom:.5rem}.menu-item-content p{color:#7f8c8d;font-size:.95rem;font-weight:400;line-height:1.5}.menu-item-arrow{color:#667eea;color:var(--item-color,#667eea);font-size:1.5rem;font-weight:700;transition:all .3s ease}.menu-item:hover .menu-item-arrow{transform:translateX(10px)}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.header-left h1{font-size:2rem}.dashboard-main{padding:1rem}.stats-overview{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dashboard-menu{grid-template-columns:1fr}.menu-item{padding:1.5rem}}.routines-container{animation:slideUp .8s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:20px;box-shadow:0 25px 50px #00000026,0 0 0 1px #fff3;margin:0 auto;max-width:1200px;padding:2rem}.semester-selector{margin-bottom:3rem}.routine-editor{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.day-section{animation:slideInUp .6s ease-out forwards;animation-delay:0s;animation-delay:var(--delay,0s);background:#fff;border-left:4px solid #0000;border-radius:16px;box-shadow:0 8px 30px #00000014;display:flex;flex-direction:column;height:auto;max-width:100%;min-height:-webkit-fit-content;min-height:fit-content;opacity:0;overflow:hidden;padding:1.5rem;position:relative;transform:translateY(30px);transition:all .3s ease}.day-section:first-child{--delay:0.1s;border-left-color:#667eea}.day-section:nth-child(2){--delay:0.2s;border-left-color:#764ba2}.day-section:nth-child(3){--delay:0.3s;border-left-color:#f093fb}.day-section:nth-child(4){--delay:0.4s;border-left-color:#4facfe}.day-section:nth-child(5){--delay:0.5s;border-left-color:#43e97b}.day-section:before{background:linear-gradient(90deg,#667eea,#0000);background:linear-gradient(90deg,var(--day-color,#667eea),#0000);content:"";height:3px;left:0;position:absolute;right:0;top:0}.day-section:hover{box-shadow:0 15px 40px #0000001f;transform:translateY(-5px)}.day-section h3{align-items:center;color:#2c3e50;display:flex;font-size:1.3rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.day-section h3:before{content:"📅";font-size:1.2rem}.class-time{align-items:center;background:#667eea0d;border:1px solid #667eea1a;border-radius:12px;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;overflow:hidden;padding:1rem;transition:all .3s ease;width:100%}.class-time:hover{background:#667eea14;transform:translateX(5px)}.class-time label{color:#2c3e50;flex-shrink:0;font-size:.9rem;font-weight:500;min-width:70px}.class-time input[type=time]{background:#fff;border:2px solid #e1e8ed;border-radius:10px;box-sizing:border-box;flex:0 1 120px;font-family:Poppins,sans-serif;font-size:.9rem;max-width:120px;min-width:100px;padding:.8rem;transition:all .3s ease}.class-time input[type=time]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-2px)}.class-time input[type=text]{background:#fff;border:2px solid #e1e8ed;border-radius:10px;box-sizing:border-box;flex:1 1 150px;font-family:Poppins,sans-serif;font-size:.9rem;max-width:calc(100% - 200px);min-width:120px;padding:.8rem;transition:all .3s ease}.class-time input[type=text]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-2px)}.class-time input[type=text]::placeholder{color:#a0a9b8;font-style:italic}.save-button{align-self:center;margin-top:1rem}@media (max-width:768px){.routines-container{margin:1rem;padding:1rem}.routine-editor{grid-template-columns:1fr}.semester-selector{gap:.3rem}.semester-selector button{font-size:.8rem;padding:.6rem 1rem}.class-time{align-items:stretch;flex-direction:column;gap:.5rem}.class-time label{min-width:auto}.class-time input[type=text],.class-time input[type=time]{flex:none;max-width:100%;min-width:auto;width:100%}h1{font-size:2rem}}@media (max-width:480px){.day-section{padding:1rem}.class-time{gap:.3rem;padding:.8rem}.class-time input[type=text],.class-time input[type=time]{font-size:.85rem;padding:.6rem}.routine-editor{gap:1rem}}body{overflow-y:auto}.courses-container{animation:slideUp .8s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:20px;box-shadow:0 25px 50px #00000026,0 0 0 1px #fff3;margin:0 auto;max-width:1400px;padding:2rem}.semester-selector{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.semester-selector button{background:#fffc;border:2px solid #0000;border-radius:25px;color:#667eea;cursor:pointer;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.3px;overflow:hidden;padding:.8rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.semester-selector button:before{background:linear-gradient(90deg,#0000,#fff9,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.semester-selector button:hover:before{left:100%}.semester-selector button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ffffff4d;box-shadow:0 8px 25px #667eea4d;color:#fff;transform:scale(1.05)}.semester-selector button:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-3px)}.action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.add-course-btn,.generate-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;gap:.5rem;overflow:hidden;padding:.8rem 1.5rem;position:relative;transition:all .3s ease}.add-course-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);box-shadow:0 8px 25px #43e97b4d;color:#fff}.generate-btn{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 8px 25px #f093fb4d;color:#fff}.add-course-btn:hover,.generate-btn:hover{box-shadow:0 15px 40px #0003;transform:translateY(-3px)}.btn-icon{font-size:1.1rem}.course-count{align-items:center;background:#ffffffe6;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;gap:.5rem;padding:.8rem 1.2rem}.count-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;min-width:24px;padding:.3rem .8rem;text-align:center}.count-text{color:#2c3e50;font-size:.9rem;font-weight:600}.courses-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));margin-bottom:2rem}.empty-state,.loading-container{align-items:center;color:#2c3e50;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:3rem}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.empty-state h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-state p{font-size:1rem;max-width:400px;opacity:.7}.course-card{animation:slideInUp .6s ease-out forwards;animation-delay:0s;animation-delay:var(--delay,0s);background:#fff;border-left:4px solid #0000;border-radius:16px;box-shadow:0 8px 30px #00000014;opacity:0;overflow:hidden;padding:1.5rem;position:relative;transform:translateY(30px);transition:all .3s ease}.course-card:nth-child(4n+1){border-left-color:#667eea}.course-card:nth-child(4n+2){border-left-color:#43e97b}.course-card:nth-child(4n+3){border-left-color:#f093fb}.course-card:nth-child(4n+4){border-left-color:#4facfe}.course-card:hover{box-shadow:0 15px 40px #0000001f;transform:translateY(-5px)}.course-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.course-number{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.8rem;font-weight:700;padding:.4rem .8rem}.delete-btn{background:none;border:none;border-radius:8px;cursor:pointer;font-size:1.2rem;opacity:.6;padding:.5rem;transition:all .3s ease}.delete-btn:hover{background:#f5576c1a;opacity:1;transform:scale(1.1)}.course-fields{gap:1rem}.course-fields,.field-group{display:flex;flex-direction:column}.field-group{gap:.3rem}.field-group label{color:#2c3e50;font-size:.85rem;font-weight:600;letter-spacing:.5px;opacity:.8;text-transform:uppercase}.course-input{background:#fff;border:2px solid #e1e8ed;border-radius:10px;box-sizing:border-box;font-family:Poppins,sans-serif;font-size:.9rem;padding:.8rem;transition:all .3s ease}.course-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-2px)}.course-input::placeholder{color:#a0a9b8;font-style:italic}.save-section{display:flex;justify-content:center;margin-top:2rem}.save-button{align-items:center;background:linear-gradient(135deg,#43e97b,#38f9d7);border:none;border-radius:50px;box-shadow:0 8px 25px #43e97b4d;color:#fff;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:600;gap:.5rem;letter-spacing:.5px;overflow:hidden;padding:1rem 2.5rem;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.save-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.save-button:hover:before{left:100%}.save-button:hover{box-shadow:0 15px 40px #43e97b66;transform:translateY(-3px)}.save-button:active{transform:translateY(0)}.save-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.loading-spinner{margin-right:.5rem}.loading-spinner.small{height:16px;margin-right:.5rem;width:16px}@media (max-width:768px){.courses-container{margin:1rem;padding:1rem}.courses-grid{grid-template-columns:1fr}.action-buttons{align-items:stretch;flex-direction:column}.semester-selector{gap:.3rem}.semester-selector button{font-size:.8rem;padding:.6rem 1rem}h1{font-size:2rem}}@media (max-width:480px){.course-card{padding:1rem}.course-input{font-size:.85rem;padding:.6rem}.courses-grid{gap:1rem}}.notices-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Poppins,sans-serif;min-height:100vh;padding:2rem 0}.notices-container{animation:slideUp .8s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:20px;box-shadow:0 25px 50px #00000026,0 0 0 1px #fff3;margin:0 auto;max-width:1200px;padding:2rem}h1{color:#2c3e50;font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:2rem;position:relative;text-align:center}h1:after{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.add-notice{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.add-notice input,.add-notice textarea{border:2px solid #e1e8ed;border-radius:10px;box-sizing:border-box;font-family:Poppins,sans-serif;font-size:1rem;padding:.8rem;width:100%}.add-notice textarea{height:100px;resize:none}.add-notice button{align-self:flex-start;background:linear-gradient(135deg,#43e97b,#38f9d7);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:all .3s ease}.add-notice button:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-3px)}.notices-list{display:flex;flex-direction:column;gap:1.5rem}.notice-item{animation:slideInUp .6s ease-out forwards;background:#fff;border-left:4px solid #667eea;border-radius:16px;box-shadow:0 8px 30px #00000014;padding:1.5rem;position:relative;transition:all .3s ease}.notice-item:hover{box-shadow:0 15px 40px #0000001f;transform:translateY(-5px)}.notice-item h3{align-items:center;color:#2c3e50;display:flex;font-size:1.3rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.notice-item h3:before{content:"📝";font-size:1.2rem}.notice-item p{color:#2c3e50;font-size:1rem;line-height:1.6;margin-bottom:1rem}.notice-meta{border-top:1px solid #667eea1a;margin-bottom:1rem;padding-top:.5rem}.notice-date{color:#667eea;font-size:.85rem;font-weight:500}.notice-item .delete-btn,.notice-item button{background:linear-gradient(135deg,#f5576c,#f093fb);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem;transition:all .3s ease}.notice-item button:hover{box-shadow:0 8px 25px #f5576c4d;transform:translateY(-2px)}.empty-message,.loading-message{background:#fff;border-radius:16px;box-shadow:0 8px 30px #00000014;color:#2c3e50;font-size:1.1rem;font-weight:500;padding:3rem 2rem;text-align:center}.loading-message{align-items:center;display:flex;gap:1rem;justify-content:center}.loading-spinner{border:2px solid #667eea4d;border-top-color:#667eea;display:inline-block;height:20px;width:20px}@media (max-width:768px){.notices-page{padding:1rem 0}.notices-container{margin:1rem;padding:1rem}h1{font-size:2rem}.notice-item{padding:1rem}.notice-item button{align-self:flex-start;margin-top:1rem;position:static}}*{box-sizing:border-box}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Poppins,sans-serif;margin:0;min-height:100vh}.academic-bills-container{animation:slideUp .8s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:16px;box-shadow:0 20px 40px #0000001f,0 0 0 1px #fff3;margin:.3rem auto;max-width:1200px;padding:.8rem}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.bills-header{margin-bottom:1rem;text-align:center}.bills-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:1.8rem;font-weight:700;letter-spacing:-1px;margin-bottom:.1rem}.bills-header p{color:#666;font-size:.85rem;margin:0}.bills-actions{display:flex;justify-content:center;margin-bottom:.8rem}.create-bill-btn{background:linear-gradient(135deg,#ff6b6b,orange);border:none;border-radius:30px;box-shadow:0 5px 15px #ff6b6b40;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.3px;overflow:hidden;padding:.6rem 1.3rem;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.create-bill-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.create-bill-btn:hover:before{left:100%}.create-bill-btn:hover{box-shadow:0 15px 40px #ff6b6b66;transform:translateY(-3px)}.create-bill-btn.active{background:linear-gradient(135deg,#666,#999);box-shadow:0 8px 25px #6666664d}.new-bill-section{animation:slideInDown .5s ease-out;margin-bottom:1rem}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.new-bill-card{background:#fff;border:1px solid #fffc;border-radius:12px;box-shadow:0 8px 20px #0000000f;padding:1rem}.new-bill-card h2{align-items:center;color:#2c3e50;display:flex;font-size:1.2rem;font-weight:600;gap:.3rem;margin-bottom:.8rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{color:#2c3e50;font-size:.8rem;font-weight:500;margin-bottom:.3rem}.form-input,.form-textarea{background:#fffc;border:2px solid #e1e8ed;border-radius:8px;color:#2c3e50;font-family:Poppins,sans-serif;font-size:.85rem;padding:.6rem;transition:all .3s ease}.form-input:focus,.form-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.form-textarea{min-height:60px;resize:vertical}.items-section{border-top:1px solid #e1e8ed;margin-top:1rem;padding-top:1rem}.items-section h3{align-items:center;color:#2c3e50;display:flex;font-size:1.1rem;font-weight:600;gap:.3rem;margin-bottom:.8rem}.add-item-form{margin-bottom:1rem}.item-inputs{grid-gap:.6rem;align-items:end;display:grid;gap:.6rem;grid-template-columns:1fr auto auto}.amount-input{width:120px}.add-item-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:600;padding:.6rem 1rem;transition:all .3s ease;white-space:nowrap}.add-item-btn:hover:not(:disabled){box-shadow:0 8px 20px #43e97b4d;transform:translateY(-2px)}.add-item-btn:disabled{cursor:not-allowed;opacity:.5}.items-list{background:#667eea0d;border-radius:10px;margin-top:.8rem;padding:1.2rem}.item-row{align-items:center;animation:slideInLeft .3s ease-out;border-bottom:1px solid #667eea1a;display:flex;justify-content:space-between;padding:.6rem 0}.item-row:last-child{border-bottom:none}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.item-detail{color:#2c3e50;flex:1 1;font-weight:500}.item-amount{color:#667eea;font-weight:600;margin-right:1rem}.remove-item-btn{align-items:center;background:#ff6b6b;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:30px;justify-content:center;transition:all .3s ease;width:30px}.remove-item-btn:hover{background:#ff5252;transform:scale(1.1)}.total-row{align-items:center;border-top:2px solid #667eea;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;margin-top:.8rem;padding-top:.8rem}.total-amount{color:#667eea;font-size:1.2rem}.form-actions{border-top:1px solid #e1e8ed;display:flex;gap:.8rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.cancel-btn{background:#0000;border:2px solid #e1e8ed;border-radius:10px;color:#666;cursor:pointer;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500;padding:.8rem 1.5rem;transition:all .3s ease}.cancel-btn:hover{border-color:#666;color:#2c3e50}.save-bill-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;gap:.4rem;padding:.8rem 1.5rem;transition:all .3s ease}.save-bill-btn:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.save-bill-btn:disabled{cursor:not-allowed;opacity:.6}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.bills-list-section{margin-top:2rem}.bills-list-section h2{align-items:center;color:#2c3e50;display:flex;font-size:1.6rem;font-weight:600;gap:.4rem;margin-bottom:1.5rem}.empty-state{color:#666;padding:2.5rem 1.5rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:.8rem;opacity:.5}.empty-state h3{color:#2c3e50;font-size:1.3rem;margin-bottom:.4rem}.empty-state p{color:#666;font-size:.95rem}.bills-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.bill-card{animation:slideInUp .6s ease-out forwards;animation-delay:0s;animation-delay:var(--delay,0s);background:#fff;border-left:4px solid #0000;border-radius:14px;box-shadow:0 6px 24px #0000000f;opacity:0;overflow:hidden;padding:1.5rem;position:relative;transform:translateY(30px);transition:all .3s ease}.bill-card.active{border-left-color:#43e97b}.bill-card.expired{border-left-color:#ff6b6b}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.bill-card:hover{box-shadow:0 10px 32px #0000001a;transform:translateY(-3px)}.bill-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.2rem}.bill-id{display:flex;flex-direction:column;gap:.2rem}.id-label{color:#666;font-size:.8rem;font-weight:500}.id-value{color:#2c3e50;font-family:Courier New,monospace;font-size:1rem;font-weight:600}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.4rem .8rem;text-transform:uppercase}.status-badge.active{background:#43e97b1a;color:#43e97b}.status-badge.expired{background:#ff6b6b1a;color:#ff6b6b}.bill-content{display:flex;flex-direction:column;gap:1rem}.bill-purpose{color:#2c3e50;font-size:1.3rem;font-weight:600;line-height:1.4;margin:0}.bill-details{display:flex;flex-direction:column;gap:.8rem}.detail-item{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.8rem}.detail-icon{flex-shrink:0;font-size:1rem}.detail-text{flex:1 1}.bill-total{align-items:center;background:#667eea0d;border-radius:12px;display:flex;justify-content:space-between;margin-top:1rem;padding:1rem}.total-label{color:#2c3e50;font-weight:500}.total-value{color:#667eea;font-size:1.5rem;font-weight:700}.bill-items-preview{border-top:1px solid #e1e8ed;margin-top:1rem;padding-top:1rem}.bill-items-preview h4{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:.8rem}.bill-items-preview ul{list-style:none;margin:0;padding:0}.bill-items-preview li{align-items:center;color:#666;display:flex;font-size:.9rem;justify-content:space-between;padding:.4rem 0}.bill-items-preview li strong{color:#667eea;font-weight:600}@media (max-width:768px){.academic-bills-container{margin:.5rem;padding:1rem}.bills-header h1{font-size:2.2rem}.form-row{gap:1rem}.form-row,.item-inputs{grid-template-columns:1fr}.item-inputs{gap:.8rem}.amount-input{width:100%}.form-actions{flex-direction:column}.bills-grid{gap:1.5rem;grid-template-columns:1fr}.bill-card,.new-bill-card{padding:1.5rem}}@media (max-width:480px){.academic-bills-container{padding:.8rem}.bills-header h1{font-size:1.8rem}.bill-card,.new-bill-card{padding:1rem}.bill-header{flex-direction:column;gap:1rem}.status-badge{align-self:flex-start}}
/*# sourceMappingURL=main.9cc79662.css.map*/