:root{--grad:linear-gradient(120deg,#7c5cff,#00e0ff);--violet:#7c5cff;--cyan:#00e0ff;--green:#34e0a1;--amber:#ffcf6b;--on-grad:#0a0a12;--bg:#07070c;--bg-elevated:#0c0c16;--bg-input:#05050a;--bg-row:rgba(255,255,255,0.02);--bg-row-hover:rgba(255,255,255,0.07);--bg-row-soft:rgba(255,255,255,0.03);--panel:rgba(255,255,255,0.04);--panel-line:rgba(255,255,255,0.08);--panel-line-strong:rgba(255,255,255,0.18);--panel-line-strong-2:rgba(255,255,255,0.22);--row-divider:rgba(255,255,255,0.04);--text:#eef0f7;--muted:#8b8fa3;--faint:#5b5f72;--shadow-color:rgba(0,0,0,0.55);--shadow-color-soft:rgba(0,0,0,0);--scrim:rgba(2,2,6,0.55);--page-glow-1:rgba(124,92,255,0.18);--page-glow-2:rgba(0,224,255,0.12);--bg-toast:#14141f;--bg-tooltip:#0a0a12;--bg-mini-cell:#0d0d17;--bg-mini-cell-hover:#1c1c2b;--bg-mini-closed:#15151f;--code-text:#b9c0e0;--side-bg:rgba(7,7,12,0.4);--widget-bg:rgba(18,18,28,0.92);--tag-text:#cdbcff;--tag-bg:rgba(124,92,255,0.16);--tag-border:rgba(124,92,255,0.3);--slot-sel-bg:rgba(0,224,255,0.1);--slot-sel-text:#aef3ff;--svc-sel-bg:rgba(124,92,255,0.1);--neutral-fill:rgba(255,255,255,0.1);--bg-input-focus:#07070f;--code-tag:#6f7bd6;--cw-widget-bg:#12121c;--biz-scrim-top:rgba(7,7,12,0.72);--biz-scrim-bot:rgba(7,7,12,0.92)}:root[data-theme=light]{--bg:#f4f5fa;--bg-elevated:#ffffff;--bg-input:#ffffff;--bg-row:rgba(15,18,40,0.02);--bg-row-hover:rgba(15,18,40,0.05);--bg-row-soft:rgba(15,18,40,0.03);--panel:rgba(255,255,255,0.72);--panel-line:rgba(15,18,40,0.10);--panel-line-strong:rgba(15,18,40,0.20);--panel-line-strong-2:rgba(15,18,40,0.28);--row-divider:rgba(15,18,40,0.06);--text:#1a1b2e;--muted:#5b5f72;--faint:#9ca0b3;--shadow-color:rgba(15,18,40,0.18);--shadow-color-soft:rgba(0,0,0,0);--scrim:rgba(15,18,40,0.40);--page-glow-1:rgba(124,92,255,0.12);--page-glow-2:rgba(0,224,255,0.10);--bg-toast:#ffffff;--bg-tooltip:#1a1b2e;--bg-mini-cell:#ffffff;--bg-mini-cell-hover:#eef0f7;--bg-mini-closed:#eef0f7;--code-text:#1a1b2e;--side-bg:rgba(255,255,255,0.7);--widget-bg:rgba(255,255,255,0.94);--tag-text:#5132d1;--tag-bg:rgba(124,92,255,0.12);--tag-border:rgba(124,92,255,0.28);--slot-sel-bg:rgba(0,184,210,0.12);--slot-sel-text:#0d6677;--svc-sel-bg:rgba(124,92,255,0.10);--neutral-fill:rgba(15,18,40,0.10);--bg-input-focus:#fbfcff;--code-tag:#4253a8;--cw-widget-bg:rgba(255,255,255,0.94);--biz-scrim-top:rgba(244,245,250,0.78);--biz-scrim-bot:rgba(244,245,250,0.94)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}:root{color-scheme:var(--color-scheme);background-color:var(--bg)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(900px 500px at 80% -10%,var(--page-glow-1),transparent 60%),radial-gradient(700px 500px at -10% 110%,var(--page-glow-2),transparent 60%),var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{max-width:1000px;margin:0 auto;padding:72px 24px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px}.logo{width:30px;height:30px;border-radius:9px}.gx,.logo{background:var(--grad)}.gx{-webkit-background-clip:text;background-clip:text;color:transparent}.hero h1{font-size:clamp(34px,6vw,60px);font-weight:800;letter-spacing:-1.5px;line-height:1.05;margin-top:40px}.hero p{color:var(--muted);font-size:18px;margin-top:18px;max-width:580px;line-height:1.6}.cta{display:flex;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;background:var(--grad);color:var(--on-grad);font-weight:700;font-size:15px;border:none;cursor:pointer}.btn.ghost{background:var(--panel);color:var(--text);border:1px solid var(--panel-line)}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:var(--panel);border:1px solid var(--panel-line);border-radius:20px;padding:30px 28px;width:100%;max-width:400px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card h1{font-size:22px;text-align:center}.card p.lead{color:var(--muted);font-size:14px;text-align:center;margin:8px 0 22px}.g-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;border-radius:12px;border:1px solid var(--panel-line);background:#fff;color:#1a1a1a;font-weight:600;font-size:14px;cursor:pointer}.muted{color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--panel);border:1px solid var(--panel-line);padding:1px 6px;border-radius:6px;font-size:.9em}.auth{width:100%;max-width:400px}.brand-row{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:24px;font-weight:700;font-size:23px;letter-spacing:.3px}.brand-row .logo{width:34px;height:34px;border-radius:10px;background:transparent;overflow:hidden;display:grid;place-items:center}.brand-row .logo img{width:100%;height:100%}.brand-row.stacked{flex-direction:column;gap:14px;font-size:30px;font-weight:800;letter-spacing:-.2px}.brand-row.stacked .logo{width:56px;height:56px;border-radius:16px}.g-btn .gi{width:18px;height:18px;flex:none}.divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12px;margin:20px 0}.divider:after,.divider:before{content:"";height:1px;flex:1 1;background:var(--panel-line)}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.field label a{float:right;color:var(--cyan);font-size:11.5px}.input{width:100%;background:var(--bg-input);border:1px solid var(--panel-line);border-radius:11px;padding:11px 13px;color:var(--text);font-size:14px;font-family:inherit}.btn.full{width:100%;justify-content:center}.alt{text-align:center;color:var(--muted);font-size:13px;margin-top:20px}.alt a{color:var(--cyan)}.legal{text-align:center;color:var(--faint);font-size:11px;margin-top:18px;line-height:1.5}.legal a{color:var(--muted)}.dp{position:relative;display:inline-block}.field .dp{display:block}.dp-field{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel);border:1px solid var(--panel-line);border-radius:11px;padding:9px 13px;color:var(--text);font:inherit;font-size:13px;cursor:pointer;width:100%}.dp-field:hover{border-color:var(--panel-line-strong)}.dp-field.empty .dp-val{color:var(--faint)}.dp-field svg{color:var(--muted);flex:none}.dp-time{position:relative}.dp-input{width:100%;background:var(--panel);border:1px solid var(--panel-line);border-radius:11px;padding:9px 32px 9px 13px;color:var(--text);font:inherit;font-size:13px}.dp-input:hover{border-color:var(--panel-line-strong)}.dp-input:focus{outline:none;border-color:rgba(124,92,255,.6)}.dp-input::placeholder{color:var(--faint)}.dp-ic{right:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.dp-ic,.dp-pop{position:absolute}.dp-pop{top:calc(100% + 6px);left:0;z-index:9999;width:268px;background:var(--bg-elevated);border:1px solid var(--panel-line);border-radius:14px;padding:12px;box-shadow:0 24px 60px var(--shadow-color)}.dp-pop.right{left:auto;right:0}.dp-cal{-webkit-user-select:none;-moz-user-select:none;user-select:none}.dp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dp-month{font-size:13.5px;font-weight:600;color:var(--text)}.dp-arrow{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--panel-line);background:transparent;color:var(--text);font-size:16px;line-height:1;cursor:pointer}.dp-arrow:hover:not(:disabled){border-color:var(--panel-line-strong-2)}.dp-arrow:disabled{opacity:.3;cursor:not-allowed}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.dp-dow{margin-bottom:2px}.dp-wd{text-align:center;font-size:10.5px;color:var(--faint);padding:4px 0}.dp-day,.dp-empty{aspect-ratio:1}.dp-day{display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.dp-day:hover:not(:disabled):not(.sel){background:var(--bg-row-hover)}.dp-day.today:not(.sel){box-shadow:inset 0 0 0 1px var(--panel-line)}.dp-day.sel{background:var(--grad);color:var(--on-grad);font-weight:600}.dp-day:disabled{opacity:.25;cursor:not-allowed}.dp-pop.tp{padding:6px}.tp-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tp-opt{text-align:left;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px;padding:7px 10px;cursor:pointer}.tp-opt:hover:not(.sel){background:var(--bg-row-hover)}.tp-opt.sel{background:var(--grad);color:var(--on-grad);font-weight:600}.tp-opt:disabled{opacity:.3;cursor:not-allowed}.cal-loader{position:fixed;inset:0;z-index:2147483000;pointer-events:none}.cal-loader-bar{position:absolute;top:0;left:0;height:3px;width:0;background:var(--grad);box-shadow:0 0 10px rgba(124,92,255,.7),0 0 4px rgba(0,224,255,.6);border-radius:0 3px 3px 0;opacity:0;transition:width .3s ease,opacity .25s ease}.cal-loader[data-stage="1"] .cal-loader-bar,.cal-loader[data-stage="2"] .cal-loader-bar{opacity:1;width:90%;transition:width 8s cubic-bezier(.1,.85,.25,1),opacity .2s ease}.cal-loader-veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease}.cal-loader[data-stage="2"] .cal-loader-veil{opacity:1}.cal-loader-spinner{width:46px;height:46px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0,var(--violet) 55%,var(--cyan) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));animation:cal-spin .7s linear infinite}.cal-loader-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes cal-spin{to{transform:rotate(1turn)}}.btn-spinner{display:inline-block;width:15px;height:15px;border:2px solid;border-right:2px solid transparent;border-radius:50%;vertical-align:-2px;animation:cal-spin .6s linear infinite}@media (prefers-reduced-motion:reduce){.cal-loader-spinner{animation-duration:1.4s}.cal-loader[data-stage="1"] .cal-loader-bar,.cal-loader[data-stage="2"] .cal-loader-bar{transition:opacity .2s ease}}