body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:20px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app,body{min-height:100vh}.app{padding:20px}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:#667eea;font-size:32px;margin-bottom:10px}.auth-header p{color:#666;font-size:16px}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-group label{color:#333;font-size:14px;font-weight:600}.form-group input,.form-group select{border:2px solid #e1e8ed;border-radius:8px;font-size:14px;padding:12px 15px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}.form-group small{color:#666;font-size:13px}button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#e1e8ed;color:#333}.btn-secondary:hover:not(:disabled){background:#cbd3d9}.link-button{background:none;color:#667eea;font-size:14px;padding:0;text-decoration:underline}.link-button:hover{color:#764ba2}.auth-footer{color:#666;font-size:14px;margin-top:20px;text-align:center}.dashboard{margin:0 auto;max-width:1200px}.dashboard-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:25px 30px}.dashboard-header h1{color:#333;font-size:28px;margin-bottom:5px}.dashboard-header p{color:#666;font-size:14px}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.tabs button{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;color:#666;font-size:14px;padding:12px 24px}.tabs button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tabs button:hover:not(.active){background:#f5f5f5}.tab-content{display:flex;flex-direction:column;gap:20px}.card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:30px}.card h2{color:#333;font-size:22px;margin-bottom:15px}.card p{color:#666;margin-bottom:20px}.checklist{display:flex;flex-direction:column;gap:15px}.checklist-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;font-size:15px;gap:12px;padding:12px}.checklist-item.completed{background:#e8f5e9}.checklist-item .checkmark{color:#ccc;font-size:20px;font-weight:700}.checklist-item.completed .checkmark{color:#4caf50}.stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:20px 0}.stat-card{background:#f8f9fa;border-radius:8px;padding:20px;text-align:center}.stat-value{color:#667eea;font-size:28px;font-weight:700;margin-bottom:8px}.stat-label{color:#666;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.schedule-list{list-style:none}.schedule-item{align-items:center;background:#f8f9fa;border-left:4px solid #667eea;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.schedule-item.deep{background:#e6f7ff;border-left-color:#4a5568}.schedule-item.light{background:#f0f4ff;border-left-color:#90cdf4}.schedule-item.rem{background:#fff5f7;border-left-color:#fbb6ce}.schedule-item.awake{background:#fffaf0;border-left-color:#f6ad55}.schedule-time{color:#333;font-weight:500}.schedule-stage{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 12px;text-transform:uppercase}.schedule-stage.deep{background:#4a5568;color:#fff}.schedule-stage.light{background:#90cdf4;color:#1a202c}.schedule-stage.rem{background:#fbb6ce;color:#1a202c}.schedule-stage.awake{background:#f6ad55;color:#1a202c}.schedule-temp{color:#667eea;font-size:1.5rem;font-weight:700}.alert{border-radius:8px;font-size:14px;margin-bottom:20px;padding:15px 20px}.alert.success{background:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.alert.error{background:#ffebee;border-left:4px solid #f44336;color:#c62828}.alert.info{background:#e3f2fd;border-left:4px solid #2196f3;color:#1565c0}.success-message{background:#e8f5e9;border-radius:6px;color:#2e7d32;font-weight:600;margin-top:15px;padding:12px;text-align:center}.loading{animation:pulse 2s infinite;background:#667eeaf2;border-radius:50px;bottom:30px;box-shadow:0 5px 20px #0003;color:#fff;font-weight:600;padding:15px 30px;position:fixed;right:30px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}button.secondary{background:#f5f5f5;color:#333;margin-left:10px}button.secondary:hover:not(:disabled){background:#e0e0e0}button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.app{padding:10px}.auth-card{padding:30px 20px}.dashboard-header{align-items:flex-start;gap:15px}.dashboard-header,.tabs{flex-direction:column}.tabs button{width:100%}.form-row{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}.personalized-schedule{margin:0 auto;max-width:1200px;padding:20px}.personalized-schedule h2{color:#2c3e50;font-size:2em;margin-bottom:30px;text-align:center}.personalized-schedule .card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.personalized-schedule h3{border-bottom:2px solid #3498db;color:#34495e;font-size:1.5em;margin-bottom:20px;padding-bottom:10px}.personalized-schedule h4{color:#555;font-size:1.2em;margin:20px 0 15px}.analysis-period{color:#7f8c8d;font-size:.95em;margin-bottom:20px}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.metric{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;display:flex;flex-direction:column;padding:15px}.metric .label{color:#7f8c8d;font-size:.85em;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.metric .value{color:#2c3e50;font-size:1.8em;font-weight:700}.sleep-stages{margin-top:25px}.stage-bars{margin-top:15px}.stage-bar{margin-bottom:15px}.stage-info{display:flex;font-size:.95em;justify-content:space-between;margin-bottom:5px}.stage-name{color:#34495e;font-weight:600}.stage-percentage{color:#7f8c8d;font-weight:500}.bar-container{background:#ecf0f1;border-radius:12px;height:24px;overflow:hidden}.bar{border-radius:12px;height:100%;transition:width .3s ease}.bar.deep{background:linear-gradient(90deg,#3498db,#2980b9)}.bar.light{background:linear-gradient(90deg,#9b59b6,#8e44ad)}.bar.rem{background:linear-gradient(90deg,#e74c3c,#c0392b)}.bar.awake{background:linear-gradient(90deg,#f39c12,#d68910)}.quality-insights ul{list-style:none;padding:0}.quality-insights li{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:4px;color:#2e7d32;margin-bottom:8px;padding:10px}.schedule-table{margin:20px 0;overflow-x:auto}.schedule-table table{border-collapse:collapse;width:100%}.schedule-table th{background:#34495e;color:#fff;font-weight:600;padding:12px;text-align:left}.schedule-table td{border-bottom:1px solid #ecf0f1;padding:12px}.schedule-table tr:hover{background:#f8f9fa}.schedule-table .time{color:#3498db;font-size:1.05em;font-weight:600}.schedule-table .temp{color:#e74c3c;font-size:1.1em;font-weight:700}.schedule-table .purpose{color:#555;font-style:italic}.rationale{background:#f0f8ff;border-left:4px solid #3498db;border-radius:8px;margin:20px 0;padding:20px}.rationale p{color:#34495e;line-height:1.7;margin:0;white-space:pre-wrap}.optimizations ul{list-style:none;padding:0}.optimizations li{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;margin-bottom:10px;padding:12px}.optimizations li:before{content:"✓ ";font-weight:700;margin-right:8px}.improvements{background:#d4edda;border-left:4px solid #28a745;border-radius:8px;margin:20px 0;padding:15px}.improvements p{color:#155724;line-height:1.6;margin:0}.apply-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;letter-spacing:1px;margin-top:20px;padding:15px 30px;text-transform:uppercase;transition:all .3s ease;width:100%}.apply-button:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.apply-button:active{transform:translateY(0)}.llm-error{background:#fff3cd;border-left:4px solid #ffc107}.error-message{color:#856404;margin:0}.recommendations-list ul{list-style:none;padding:0}.recommendations-list li{background:#f8f9fa;border-radius:4px;color:#34495e;margin-bottom:8px;padding:10px 10px 10px 35px;position:relative}.recommendations-list li:before{content:"💡";left:10px;position:absolute;top:10px}.adjustments{margin-top:20px}.adjustment-item{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;color:#0d47a1;margin-bottom:10px;padding:12px}.adjustment-item strong{color:#1565c0}@media (max-width:768px){.personalized-schedule{padding:15px}.metrics-grid{grid-template-columns:1fr}.metric .value{font-size:1.5em}.schedule-table{font-size:.9em}.schedule-table td,.schedule-table th{padding:8px}}
/*# sourceMappingURL=main.2fa9f83c.css.map*/