@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#6366f1;--primary-hover:#4f46e5;--bg-gradient-start:#0f172a;--bg-gradient-end:#1e1b4b;--surface:#1e293bb3;--surface-hover:#334155cc;--border:#ffffff1a;--text-main:#f8fafc;--text-muted:#94a3b8;--success:#10b981;--danger:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end));color:var(--text-main);-webkit-font-smoothing:antialiased;justify-content:center;min-height:100vh;font-family:Inter,sans-serif;display:flex}#root{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a80;width:100%;max-width:500px;min-height:100vh;position:relative;overflow-x:hidden;box-shadow:0 0 40px #00000080}.app-container{flex-direction:column;gap:24px;height:100%;padding:24px;display:flex}.header{text-align:center;border-bottom:1px solid var(--border);padding-bottom:16px}.date-display h1{background:linear-gradient(90deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:4px;font-size:1.5rem;font-weight:700}.date-display p{color:var(--text-muted);font-size:.9rem}.date-picker{background:var(--surface);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;margin-top:16px;padding:8px 16px;display:flex}.date-picker span{font-weight:500}.icon-btn{color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.icon-btn:hover:not(:disabled){background:var(--surface-hover)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.duration-selector{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:8px;padding:4px;display:flex}.duration-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px 0;font-size:.9rem;font-weight:500;transition:all .3s}.duration-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #6366f166}.slot-section{margin-bottom:24px}.slot-section h2{color:var(--text-main);margin-bottom:12px;font-size:1.1rem;font-weight:600}.slot-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.slot-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.slot-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.slot-btn:disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted);background:#ffffff0d;text-decoration:line-through}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0009;justify-content:center;align-items:flex-end;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-gradient-start);border-top:1px solid var(--border);border-radius:24px 24px 0 0;width:100%;max-width:500px;padding:32px 24px;animation:.3s slideUp;box-shadow:0 -10px 40px #00000080}.modal-content h2{margin-bottom:24px;font-size:1.5rem}.form-group{margin-bottom:20px}.form-group label{color:var(--text-muted);margin-bottom:8px;font-size:.9rem;display:block}.form-input{background:var(--surface);border:1px solid var(--border);color:#fff;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-size:1rem;transition:border-color .2s}.form-input:focus{border-color:var(--primary)}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:12px;padding:16px;font-size:1.1rem;font-weight:600;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-cancel{width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:16px;font-size:1rem}.btn-cancel:hover{color:#fff}.success-message{text-align:center;padding:40px 0}.success-icon{color:var(--success);width:64px;height:64px;margin:0 auto 16px}.loading{color:var(--text-muted);justify-content:center;padding:40px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.error-banner{border:1px solid var(--danger);color:#fca5a5;text-align:center;background:#ef44441a;border-radius:8px;margin-bottom:16px;padding:12px;font-size:.9rem}
