.home-container{background-color:#fff;color:#000;min-height:100vh;font-family:Poppins,sans-serif}.header{background-color:#f0f8ff;display:flex;justify-content:flex-start;align-items:center;padding:10px 30px;border-bottom:2px solid #cce0e0}.logo-container{height:60px}.logo{height:60px;width:auto}.body{text-align:center;padding:60px 20px;background-image:url(/Lnm2.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;min-height:calc(100vh - 80px);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;font-size:20px}.body:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;z-index:0}.body>*{z-index:1}.dropzone{border:2px dashed #4aa6b5;padding:30px;margin:20px auto;width:60%;cursor:pointer;background-color:#f0fafa;color:#317e8a;transition:.3s ease;border-radius:15px;font-size:18px}.dropzone:hover{background-color:#e6f6f7;transform:scale(1.02)}input,select{padding:12px 16px;font-size:18px;border:2px solid #aacfd0;border-radius:12px;width:250px;transition:border-color .3s,box-shadow .3s}input:focus,select:focus{outline:none;border-color:#4aa6b5;box-shadow:0 0 8px #4aa6b54d}.options{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:10px 20px;width:400px;margin:10px 0;background:#fffc;padding:15px;border-radius:10px;box-shadow:0 2px 6px #0000000d;transition:transform .2s ease}.options:hover{transform:scale(1.02)}.options label{font-weight:600;text-align:right}input:hover,select:hover{box-shadow:0 0 5px #4aa6b599}.generate-btn{margin-top:30px;padding:14px 28px;font-size:20px;background-color:#4aa6b5;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:background-color .3s,transform .3s}.generate-btn:hover{background-color:#3a8e9a;transform:scale(1.05)}.file-name{margin-top:12px;font-weight:700;color:#317e8a;font-size:16px}.footer{background-color:#4aa6b5;color:#fff;text-align:center;padding:15px 0;font-weight:700;font-size:16px;border-top:2px solid #3a8e9a}.input-field{padding:10px;border:1px solid #ccc;border-radius:6px;width:100%;box-sizing:border-box}.loader-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:9999}.loader-logo{height:100px;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.8}}.homepage-title{font-size:3rem;font-weight:800;margin-bottom:30px;color:#005f73;text-shadow:1px 1px 2px rgba(0,0,0,.1);background:linear-gradient(to right,#cce3dc,#e0fbfc);padding:12px 25px;border-radius:15px;box-shadow:0 4px 10px #005f731a;transition:transform .3s ease}.homepage-title:hover{transform:scale(1.03)}body,.timetable-container,.timetable-table,.subject-pill,.download-btn,.summary-box,.swap-day-input,.swap-day-button{font-family:Poppins,sans-serif}body{background:#f9fafb;background-image:linear-gradient(-180deg,#ffffff80,#00000080);background-blend-mode:lighten;margin:0!important}.timetable-container{padding:20px;text-align:center}.timetable-table{width:100%;border-collapse:collapse;margin-top:20px}.timetable-table th,.timetable-table td{border:1px solid #ddd;padding:10px;vertical-align:top;text-align:left;text-wrap:nowrap}.timetable-table th{background-color:#f9fafb;color:#000}.subject-grid{display:flex;flex-wrap:wrap;gap:8px}.subject-pill{background-color:#e0f2fe;color:#0369a1;padding:4px 8px;font-size:.875rem;border-radius:9999px;border:1px solid #bae6fd;white-space:nowrap}.subject-pill:hover{background-color:#bae6fd;transform:scale(1.05);box-shadow:0 2px 6px #0000001a}.download-btn{margin-top:20px;padding:10px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.download-btn:hover{background-color:#059669}.summary-container{margin-top:20px;text-align:left;display:inline-block}.summary-box{margin-top:10px;background-color:#f9fafb;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 2px 6px #0000000d;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.summary-box p{margin:6px 0;font-size:.95rem}.swap-button-container{text-align:center;margin-top:20px}.swap-button{background-color:#10b981;color:#fff;padding:12px 24px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease;box-shadow:0 4px 6px #0000001a;font-family:Poppins,sans-serif}.swap-button:hover{background-color:#059669;transform:scale(1.05);box-shadow:0 6px 10px #00000026}.x{color:#000;font-size:3rem!important;font-family:sans-serif}.undo-redo-container{margin-top:20px;display:flex;justify-content:center;gap:24px}.undo-button,.redo-button{background-color:#3b82f6;color:#fff;padding:10px 20px;font-size:.95rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;font-family:Poppins,sans-serif;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease;box-shadow:0 4px 6px #0000001a}.undo-button:hover,.redo-button:hover{background-color:#2563eb;transform:scale(1.05);box-shadow:0 6px 10px #00000026}.timetable-table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-top:1rem;background-color:#fff}.timetable-table th,.timetable-table td{padding:12px;text-align:center;border:1px solid #e0e0e0;font-size:14px}.timetable-table th:first-child,.timetable-table td:first-child{border-left:none}.timetable-table th:last-child,.timetable-table td:last-child{border-right:none}.timetable-table tr:first-child th{border-top:none}.timetable-table tr:last-child td{border-bottom:none}.timetable-container{padding:1rem;border-radius:16px;background:#f9f9f9}.summary-container2{margin-top:20px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.summary-box{flex:1;min-width:200px;max-width:300px;padding:12px 16px;border-radius:8px;box-shadow:0 2px 6px #0000000d;font-size:.95rem;color:#111827;text-align:left}.summary-box.low{background-color:#ecfdf5;border:1px solid #a7f3d0}.summary-box.medium{background-color:#fef9c3;border:1px solid #fde68a}.summary-box.high{background-color:#fee2e2;border:1px solid #fca5a5}.summary-box p{margin:6px 0}html::-webkit-scrollbar{display:none}html{-ms-overflow-style:none;scrollbar-width:none}
