:root{--background:#eff6ff;--foreground:#0f172a;--muted:#64748b;--muted-foreground:#475569;--card:#fff;--border:#e2e8f0;--border-strong:#cbd5e1;--primary:#2563eb;--primary-foreground:#fff;--primary-soft:#dbeafe;--provider:#172554;--provider-soft:#e8edf5;--success:#15803d;--warning:#b45309;--danger:#b91c1c;--radius:14px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 12px 34px #0f172a14}button,input,textarea{font:inherit}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0ea5e94d}.icon{flex:none;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.button{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 18px;font-weight:700;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.button-primary{color:var(--primary-foreground);background:var(--primary);box-shadow:0 8px 18px #0369a12e}[data-role=provider] .button-primary{background:var(--provider);box-shadow:0 8px 18px #0f766e2e}.button-primary:hover{background:#075985}[data-role=provider] .button-primary:hover{background:#115e59}.button-outline{color:var(--foreground);border-color:var(--border-strong);background:var(--card)}.button-outline:hover{background:#f8fafc;border-color:#94a3b8}.button-large{min-height:52px}.full-width{width:100%}.brand-mark{color:#fff;background:var(--primary);border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:inline-grid;box-shadow:0 8px 18px #0369a133}[data-role=provider] .brand-mark{background:var(--provider);box-shadow:0 8px 18px #0f766e2e}.eyebrow{color:var(--primary);letter-spacing:.06em;margin:0;font-size:12px;font-weight:800;display:inline-block}[data-role=provider] .eyebrow{color:var(--provider)}.login-screen{width:100%;min-height:100svh;padding:max(28px, env(safe-area-inset-top)) clamp(18px, 5vw, 42px) max(28px, env(safe-area-inset-bottom));background:linear-gradient(#f0f9ff 0%,#f8fafc 45%,#fff 100%);margin:0;position:relative;overflow:hidden}.login-ambient{pointer-events:none;filter:blur(4px);opacity:.55;border-radius:999px;position:absolute}.ambient-one{background:#bae6fd;width:260px;height:260px;top:-80px;right:-110px}.ambient-two{background:#e0f2fe;width:240px;height:240px;top:280px;left:-130px}[data-role=provider] .ambient-one{background:#99f6e4}[data-role=provider] .ambient-two{background:#d1fae5}.login-brand{z-index:1;color:var(--foreground);letter-spacing:-.01em;align-items:center;gap:11px;font-size:15px;font-weight:800;display:flex;position:relative}.login-intro{z-index:1;margin-top:clamp(54px,10vh,86px);position:relative}.login-intro h1{color:var(--foreground);letter-spacing:-.045em;margin:10px 0 14px;font-size:clamp(34px,9vw,42px);line-height:1.18}.login-intro>p{color:var(--muted-foreground);margin:0;font-size:16px;line-height:1.65}.login-card{z-index:1;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #e2e8f0e6;border-radius:20px;margin-top:32px;padding:18px;position:relative}.role-tabs{background:#f1f5f9;border-radius:12px;grid-template-columns:1fr 1fr;gap:5px;padding:4px;display:grid}.role-tabs button{min-height:44px;color:var(--muted-foreground);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:700;transition:color .18s,background-color .18s,box-shadow .18s;display:inline-flex}.role-tabs button.active{color:var(--primary);box-shadow:var(--shadow-sm);background:#fff}[data-role=provider] .role-tabs button.active{color:var(--provider)}.role-summary{background:#f0f9ff;border:1px solid #dbeafe;border-radius:12px;gap:12px;margin:16px 0 18px;padding:13px;display:flex}[data-role=provider] .role-summary{background:#f0fdfa;border-color:#ccfbf1}.role-summary-icon{width:38px;height:38px;color:var(--primary);background:#dbeafe;border-radius:10px;flex:none;place-items:center;display:grid}[data-role=provider] .role-summary-icon{color:var(--provider);background:#ccfbf1}.role-summary strong{color:var(--foreground);font-size:14px;display:block}.role-summary p{color:var(--muted-foreground);margin:4px 0 0;font-size:12.5px;line-height:1.55}.login-form{gap:9px;display:grid}.login-form label{color:#334155;font-size:13px;font-weight:700}.login-form input{border:1px solid var(--border-strong);width:100%;min-height:50px;color:var(--foreground);background:#fff;border-radius:11px;padding:0 14px;font-size:16px;transition:border-color .18s,box-shadow .18s}.login-form input::placeholder{color:#94a3b8}.login-form input:focus{border-color:var(--primary)}[data-role=provider] .login-form input:focus{border-color:var(--provider)}.login-form .button{margin-top:3px}.demo-note{color:var(--muted);justify-content:center;align-items:center;gap:5px;margin:14px 0 0;font-size:11.5px;display:flex}.app-screen{width:100%;min-height:100svh;color:var(--foreground);background:var(--background);margin:0}.screen-header{z-index:20;min-height:72px;padding:max(12px, env(safe-area-inset-top)) clamp(18px, 4vw, 40px) 10px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fafce6;border-bottom:1px solid #e2e8f0c7;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.screen-brand,.header-actions{align-items:center;display:flex}.screen-brand{gap:10px;min-width:0}.screen-brand .brand-mark{border-radius:12px;width:38px;height:38px}.header-actions{gap:4px}.icon-button{color:#334155;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;transition:color .18s,background-color .18s;display:grid}.icon-button:hover{color:var(--foreground);background:#e2e8f0}.location-button{min-width:0;min-height:44px;color:var(--foreground);text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:flex}.location-button span,.space-title{gap:2px;display:grid}.location-button small,.space-title small{color:var(--muted);font-size:10px;font-weight:600}.location-button span,.space-title strong{font-size:14px;font-weight:800}.screen-content{width:min(100%,820px);padding:26px clamp(18px, 4vw, 32px) calc(116px + env(safe-area-inset-bottom));gap:22px;margin:0 auto;display:grid}.welcome-section h1,.provider-overview h1{color:var(--foreground);letter-spacing:-.035em;margin:8px 0 9px;font-size:28px;line-height:1.28}.welcome-section>p,.provider-overview p{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.6}.recommendation-card,.operation-card,.active-session,.schedule-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm)}.recommendation-card{overflow:hidden}.map-preview{background:#e5edf2;height:144px;position:relative;overflow:hidden}.map-preview:before,.map-preview:after{content:"";background:#ffffffad;border-radius:8px;position:absolute;box-shadow:88px 28px #ffffff8c,214px -12px #fff9}.map-preview:before{width:74px;height:36px;top:13px;left:15px}.map-preview:after{width:96px;height:43px;bottom:15px;right:22px}.road{z-index:1;background:#f8fafc;border:1px solid #dce5eb;display:block;position:absolute}.road-one{width:58px;height:190px;top:-22px;left:46%;rotate:17deg}.road-two{width:480px;height:34px;top:50px;left:-20px;rotate:-6deg}.map-dot,.parking-pin{z-index:4;place-items:center;display:grid;position:absolute}.map-dot{background:#0ea5e9;border:3px solid #fff;border-radius:999px;width:19px;height:19px;bottom:24px;left:26%;box-shadow:0 2px 8px #0f172a47}.map-dot span{border-radius:inherit;background:#fff;width:5px;height:5px}.map-route{z-index:3;border-top:3px dashed #0284c7;border-right:3px dashed #0284c7;border-radius:0 18px 0 0;width:42%;height:38px;position:absolute;top:60px;left:31%;rotate:-7deg}.parking-pin{color:#fff;background:var(--primary);border:4px solid #fff;border-radius:14px 14px 14px 4px;width:42px;height:42px;top:28px;right:19%;rotate:-7deg;box-shadow:0 5px 14px #0f172a40}.parking-pin .icon{rotate:7deg}.map-label{z-index:5;color:#334155;box-shadow:var(--shadow-sm);background:#ffffffeb;border:1px solid #cbd5e1cc;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;position:absolute;bottom:14px;right:16px}.recommendation-content{padding:17px}.card-heading-row,.section-title-row,.active-session-top,.session-meta,.provider-overview{justify-content:space-between;align-items:center;gap:12px;display:flex}.badge,.status-badge,.availability{border-radius:999px;align-items:center;gap:5px;width:fit-content;font-size:11px;font-weight:800;display:inline-flex}.badge{padding:5px 8px}.badge-blue{color:#075985;background:#e0f2fe}.badge-teal{color:#115e59;background:var(--provider-soft)}.recommendation-content h2{letter-spacing:-.025em;margin:7px 0 0;font-size:20px}.availability{color:var(--success);background:#f0fdf4;flex:none;padding:6px 9px}.availability i,.status-badge i,.stat-card span i{background:currentColor;border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 3px #15803d1a}.address{color:var(--muted);margin:7px 0 15px;font-size:12.5px}.recommendation-meta{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px;display:grid}.recommendation-meta span{min-width:0;color:var(--muted-foreground);white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:5px;padding:10px;font-size:11.5px;display:flex}.recommendation-meta b{color:var(--foreground)}.agent-card{border-radius:var(--radius);background:#f0f9ff;border:1px solid #dbeafe;align-items:flex-start;gap:11px;padding:15px;display:flex}.agent-avatar{color:#fff;background:var(--primary);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.agent-card span{color:#075985;font-size:12px;font-weight:800}.agent-card p{color:#334155;margin:5px 0 0;font-size:13px;line-height:1.6}.quick-prompts{scrollbar-width:none;gap:8px;margin-top:-10px;display:flex;overflow-x:auto}.quick-prompts::-webkit-scrollbar{display:none}.quick-prompts button{border:1px solid var(--border-strong);color:#334155;background:#fff;border-radius:999px;flex:none;min-height:44px;padding:0 13px;font-size:12px;font-weight:700;transition:color .18s,border-color .18s,background-color .18s}.quick-prompts button:hover{color:#075985;background:#f0f9ff;border-color:#7dd3fc}.chat-composer{border:1px solid var(--border-strong);background:#fff;border-radius:14px;align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex;box-shadow:0 8px 24px #0f172a12}.chat-composer input{min-width:0;min-height:44px;color:var(--foreground);background:0 0;border:0;outline:0;flex:1;font-size:14px}.chat-composer input::placeholder{color:#94a3b8}.chat-composer button{color:#fff;background:var(--primary);border:0;border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.provider-overview{align-items:flex-start}.provider-overview h1{font-size:26px}.status-badge{flex:none;margin-top:2px;padding:7px 9px}.status-badge.open{color:#166534;background:#dcfce7}.status-badge.paused{color:#9a3412;background:#ffedd5}.operation-card{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.operation-copy{align-items:center;gap:12px;display:flex}.operation-icon{width:42px;height:42px;color:var(--provider);background:var(--provider-soft);border-radius:12px;flex:none;place-items:center;display:grid}.operation-card h2,.section-title-row h2,.active-session h2{color:var(--foreground);letter-spacing:-.02em;margin:0;font-size:16px}.operation-card p{color:var(--muted);margin:4px 0 0;font-size:11.5px;line-height:1.45}.switch{background:0 0;border:0;border-radius:999px;flex:none;width:54px;height:44px;position:relative}.switch:before{content:"";background:#cbd5e1;border-radius:999px;width:50px;height:29px;transition:background-color .18s;position:absolute;top:7.5px;left:2px}.switch span{z-index:1;background:#fff;border-radius:999px;width:21px;height:21px;transition:transform .18s;position:absolute;top:11.5px;left:6px;box-shadow:0 1px 3px #0f172a40}.switch.checked{background:0 0}.switch.checked:before{background:var(--provider)}.switch.checked span{transform:translate(21px)}.section-title-row{margin-bottom:11px}.text-button{min-height:44px;color:var(--muted-foreground);background:0 0;border:0;align-items:center;gap:2px;padding:0 0 0 10px;font-size:12px;font-weight:700;display:inline-flex}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat-card{border:1px solid var(--border);background:var(--card);border-radius:13px;gap:12px;min-width:0;padding:13px 12px;display:grid}.stat-card span{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:flex}.stat-card.available span i{color:var(--success)}.stat-card.occupied span i{color:var(--primary)}.stat-card.paused span i{color:#94a3b8}.stat-card strong{color:var(--foreground);font-size:25px}.stat-card small{color:var(--muted);margin-left:2px;font-size:11px;font-weight:700}.active-session{padding:16px}.active-session h2{margin-top:7px;font-size:21px}.session-price{color:var(--foreground);font-size:17px;font-weight:800}.session-progress{background:#e2e8f0;border-radius:999px;height:6px;margin:15px 0 11px;overflow:hidden}.session-progress span{border-radius:inherit;background:var(--provider);width:58%;height:100%;display:block}.session-meta{color:var(--muted);font-size:11.5px}.session-meta span:first-child{color:#334155;align-items:center;gap:5px;font-weight:700;display:inline-flex}.quick-actions{gap:8px;display:grid}.quick-actions button{border:1px solid var(--border);min-height:58px;color:var(--foreground);text-align:left;background:#fff;border-radius:13px;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:8px 13px 8px 9px;font-size:13px;font-weight:750;transition:border-color .18s,background-color .18s;display:grid}.quick-actions button:hover{background:#f0fdfa;border-color:#99f6e4}.quick-actions button>span{width:40px;height:40px;color:var(--provider);background:#f0fdfa;border-radius:11px;place-items:center;display:grid}.quick-actions button>.icon{color:#94a3b8}.schedule-card{grid-template-columns:42px 1fr 42px;align-items:center;gap:11px;padding:13px;display:grid}.schedule-icon,.schedule-card>button{border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.schedule-icon{color:var(--provider);background:var(--provider-soft)}.schedule-card div:nth-child(2){gap:3px;display:grid}.schedule-card span{color:var(--muted);font-size:11px}.schedule-card strong{font-size:14px}.schedule-card>button{color:var(--muted-foreground);background:#f1f5f9;border:0;width:44px;height:44px}.save-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:9px;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.5;display:flex}.management-hero h1{letter-spacing:-.035em;margin:8px 0 9px;font-size:clamp(26px,6vw,34px);line-height:1.24}.management-hero p{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.6}.management-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;display:grid}.slot-list{gap:9px;display:grid}.slot-list-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:10px;padding:9px 12px 9px 9px;transition:border-color .18s,box-shadow .18s;display:grid}.slot-list-card.selected{border-color:#5eead4;box-shadow:0 0 0 3px #14b8a617}.slot-select{min-width:0;min-height:52px;color:var(--foreground);text-align:left;background:0 0;border:0;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;padding:0;display:grid}.slot-select>span:last-child{gap:4px;min-width:0;display:grid}.slot-select strong{font-size:14px}.slot-select small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.slot-state-icon{border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.slot-state-icon.open{color:var(--provider);background:var(--provider-soft)}.slot-state-icon.closed{color:#64748b;background:#e2e8f0}.slot-detail-panel,.schedule-settings-card,.timeline-card,.space-profile-form,.position-controls{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;padding:clamp(16px,4vw,22px)}.field-label{color:#334155;margin:16px 0 7px;font-size:12px;font-weight:800;display:block}.text-input,.space-profile-form input,.space-profile-form textarea,.time-range-inputs input{border:1px solid var(--border-strong);width:100%;color:var(--foreground);background:#fff;border-radius:11px;font-size:16px}.text-input,.space-profile-form input,.time-range-inputs input{min-height:48px;padding:0 13px}.space-profile-form textarea{resize:vertical;min-height:104px;padding:12px 13px;line-height:1.55}.setting-link{border:1px solid var(--border);width:100%;min-height:64px;color:var(--foreground);text-align:left;background:#f8fafc;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin:14px 0;padding:9px 11px;display:grid}.setting-link>span:nth-child(2){gap:3px;display:grid}.setting-link small{color:var(--muted);font-size:11px}.setting-link strong{font-size:13px}.layout-editor-content,.schedule-editor-content{padding-bottom:calc(34px + env(safe-area-inset-bottom))}.layout-board{touch-action:none;background-color:#f8fafc;background-image:linear-gradient(#dce5eb 1px,#0000 1px),linear-gradient(90deg,#dce5eb 1px,#0000 1px);background-size:24px 24px;border:1px solid #cbd5e1;border-radius:18px;width:100%;height:clamp(420px,62svh,560px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 6px #ffffffb3}.building-block{color:#334155;background:repeating-linear-gradient(135deg,#e2e8f0,#e2e8f0 9px,#f1f5f9 9px 18px);border:2px solid #94a3b8;border-radius:15px;grid-template-rows:auto auto;grid-template-columns:38px 1fr;align-items:center;column-gap:11px;min-height:102px;padding:15px;display:grid;position:absolute;top:7%;left:8%;right:8%}.building-block .icon{grid-row:1/3}.building-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.building-block small{color:#64748b;font-size:11px}.layout-slot{color:#115e59;text-align:left;-webkit-user-select:none;user-select:none;touch-action:none;background:#f0fdfaf5;border:2px solid #5eead4;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;width:24%;min-width:68px;max-width:120px;min-height:62px;padding:8px;display:grid;position:absolute;box-shadow:0 4px 14px #0f172a1a}.layout-slot.closed{color:#475569;background:#f1f5f9f5;border-color:#cbd5e1}.layout-slot.selected{outline-offset:2px;outline:3px solid #14b8a63d}.layout-slot .icon{grid-row:1/3;margin-right:5px}.layout-slot strong{font-size:12px}.layout-slot small{font-size:9px}.position-controls{grid-template-columns:1fr auto;align-items:center;gap:16px;display:grid}.position-controls>div:first-child{gap:4px;display:grid}.position-controls span{color:var(--muted);font-size:11px}.position-controls strong{font-size:16px}.nudge-grid{grid-template-columns:repeat(4,44px);gap:5px;display:grid}.nudge-grid button{border:1px solid var(--border-strong);color:#334155;background:#f8fafc;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.nudge-up .icon{rotate:-90deg}.nudge-left .icon{rotate:180deg}.nudge-down .icon{rotate:90deg}.slot-tabs{scrollbar-width:none;gap:7px;padding-bottom:3px;display:flex;overflow-x:auto}.slot-tabs::-webkit-scrollbar{display:none}.slot-tabs button{border:1px solid var(--border-strong);color:#475569;background:#fff;border-radius:999px;flex:none;min-width:64px;min-height:44px;padding:0 14px;font-size:12px;font-weight:800}.slot-tabs button.active{color:#fff;border-color:var(--provider);background:var(--provider)}.time-range-inputs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:9px;margin-top:15px;display:grid}.time-range-inputs label{gap:7px;display:grid}.time-range-inputs label span,.day-fieldset legend{color:#334155;font-size:12px;font-weight:800}.time-range-inputs>.icon{color:#94a3b8;margin-bottom:15px}.day-fieldset{border:0;margin:19px 0 0;padding:0}.day-fieldset legend{margin-bottom:8px}.day-selector{grid-template-columns:repeat(7,minmax(40px,1fr));gap:5px;display:grid}.day-selector button{border:1px solid var(--border-strong);color:#475569;background:#fff;border-radius:10px;min-width:40px;min-height:44px;font-size:12px;font-weight:800}.day-selector button.active{color:#115e59;background:#ccfbf1;border-color:#5eead4}.field-error{color:var(--danger);margin:8px 0 0;font-size:12px;font-weight:700}.timeline-legend{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.timeline-legend i{background:var(--provider);border-radius:3px;width:10px;height:10px}.timeline-axis{color:#64748b;grid-template-columns:repeat(5,1fr);margin:8px 0 7px 31px;font-size:9px;display:grid}.timeline-axis span:not(:first-child){text-align:center}.timeline-axis span:last-child{text-align:right}.timeline-rows{gap:8px;display:grid}.timeline-row{grid-template-columns:24px 1fr;align-items:center;gap:7px;display:grid}.timeline-row>strong{color:#334155;font-size:11px}.timeline-row.disabled>strong{color:#94a3b8}.timeline-track{background:repeating-linear-gradient(90deg,#f8fafc,#f8fafc calc(25% - 1px),#e2e8f0 25%);border:1px solid #e2e8f0;border-radius:8px;height:34px;position:relative;overflow:hidden}.timeline-row.disabled .timeline-track{opacity:.45}.timeline-bar{top:5px;left:var(--bar-left);width:var(--bar-width);background:var(--provider);border-radius:6px;min-width:8px;height:22px;position:absolute}.space-summary-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}.space-summary-card>div{background:#fff;gap:8px;padding:17px;display:grid}.space-summary-card span{color:var(--muted);font-size:11px}.space-summary-card strong{font-size:23px}.space-profile-form{gap:16px;display:grid}.space-profile-form label{color:#334155;gap:7px;font-size:12px;font-weight:800;display:grid}.schedule-card-button{border:1px solid var(--border);width:100%;color:var(--foreground);text-align:left}.schedule-card-button>span:nth-child(2){gap:3px;display:grid}.schedule-card-button small{color:var(--muted);font-size:11px}.schedule-card-button>.icon{color:#94a3b8}.bottom-nav{z-index:30;width:100%;min-height:calc(72px + env(safe-area-inset-bottom));padding:7px max(8px, calc((100vw - 820px) / 2)) env(safe-area-inset-bottom);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;box-shadow:0 -8px 22px #0f172a0d}.bottom-nav :is(button,a){color:#64748b;background:0 0;border:0;border-radius:11px;align-content:center;place-items:center;gap:4px;min-height:56px;font-size:10px;font-weight:700;text-decoration:none;transition:color .18s,background-color .18s;display:grid}.bottom-nav :is(button,a):hover{color:var(--foreground);background:#f1f5f9}.bottom-nav :is(button,a).active{color:var(--primary)}[data-role=provider] .bottom-nav :is(button,a).active{color:var(--provider)}.route-map{border:1px solid var(--border);background:#e5edf2;border-radius:18px;height:clamp(340px,54svh,520px);position:relative;overflow:hidden}.route-map:before,.route-map:after{content:"";background:#ffffffb3;border-radius:14px;position:absolute;box-shadow:132px 76px #ffffffa3,248px 210px #ffffffad}.route-map:before{width:104px;height:72px;top:28px;left:22px}.route-map:after{width:116px;height:82px;bottom:42px;right:32px}.route-map .road-one{height:130%}.route-map .road-two{top:42%}.route-map .map-dot{bottom:22%}.map-place-pin{z-index:6;color:#fff;background:var(--primary);border:4px solid #fff;border-radius:14px 14px 14px 4px;grid-template-columns:auto auto;place-items:center;gap:4px;min-width:58px;min-height:46px;font-size:12px;font-weight:800;display:grid;position:absolute;box-shadow:0 5px 14px #0f172a40}.pin-one{top:21%;right:17%}.pin-two{top:53%;left:30%}.map-place-pin.selected{outline:3px solid color-mix(in srgb, var(--primary) 28%, transparent);outline-offset:3px}.recommendation-state{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted-foreground);background:var(--card);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:18px;display:grid}.recommendation-state strong{color:var(--foreground);margin-bottom:5px;font-size:15px;display:block}.recommendation-state p{margin:0 0 12px;font-size:13px;line-height:1.55}.recommendation-state .loading-dot{border:3px solid var(--primary-soft);border-top-color:var(--primary);border-radius:999px;width:14px;height:14px;margin-top:3px;animation:.8s linear infinite recommendation-loading}.recommendation-state.error-state{border-color:#fecaca}@keyframes recommendation-loading{to{rotate:360deg}}.history-list{gap:9px;display:grid}.history-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;display:grid}.history-icon,.profile-avatar{color:var(--primary);background:var(--primary-soft);place-items:center;display:grid}.history-icon{border-radius:12px;width:46px;height:46px}.history-card>div{gap:4px;display:grid}.history-card strong,.history-card b{font-size:13px}.history-card small{color:var(--muted);font-size:11px}.profile-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;align-items:center;gap:14px;padding:18px;display:flex}.profile-avatar{border-radius:17px;flex:none;width:58px;height:58px}.profile-card>div{gap:4px;display:grid}.profile-card strong{font-size:16px}.profile-card small{color:var(--muted);font-size:12px}@media (width>=760px){.login-screen{grid-template-columns:minmax(280px,430px) minmax(360px,500px);place-content:center;column-gap:clamp(48px,8vw,112px);padding-inline:clamp(40px,8vw,120px);display:grid}.login-brand{position:absolute;top:clamp(28px,5vh,52px);left:clamp(40px,8vw,120px)}.login-intro,.login-card{margin-top:0}.login-intro h1{font-size:clamp(42px,5vw,58px)}}@media (width<=370px){.login-screen,.screen-content{padding-left:14px;padding-right:14px}.login-card{padding:15px}.screen-header{padding-left:14px;padding-right:10px}.screen-brand .brand-mark{display:none}.recommendation-meta{grid-template-columns:1fr}.stats-grid{gap:6px}.stat-card{padding:11px 8px}.provider-overview{display:grid}}@media (width<=520px){.position-controls{grid-template-columns:1fr}.nudge-grid{grid-template-columns:repeat(4,minmax(44px,1fr))}.nudge-grid button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-screen{color:#fff;background:#2563eb;transition:background-color .22s}.login-screen[data-role=provider]{background:#172554}.login-screen .login-brand,.login-screen .login-intro h1,.login-screen .login-intro>p,.login-screen .eyebrow{color:#fff}.login-screen .login-intro>p,.login-screen .eyebrow{opacity:.82}.login-screen .brand-mark{color:#2563eb;background:#fff;box-shadow:0 8px 24px #0f172a2e}.login-screen[data-role=provider] .brand-mark{color:#172554;background:#fff}.login-screen .login-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}.role-cards{gap:12px;display:grid}.role-cards>button{color:#111827;text-align:left;background:#ffffffeb;border:2px solid #0000;border-radius:17px;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:13px;width:100%;min-height:104px;padding:15px;transition:border-color .18s,background-color .18s,box-shadow .18s;display:grid;box-shadow:0 10px 28px #0f172a1f}.role-cards>button.active{background:#fff;border-color:#fff;box-shadow:0 0 0 3px #ffffff59,0 14px 34px #0f172a2e}.role-card-icon{color:#334155;background:#e2e8f0;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.role-cards>button:first-child.active .role-card-icon{color:#2563eb;background:#dbeafe}.login-screen[data-role=provider] .role-cards>button:last-child.active .role-card-icon{color:#172554;background:#e8edf5}.role-cards>button>span:nth-child(2){gap:5px;display:grid}.role-cards strong{font-size:17px}.role-cards small{color:#475569;font-size:12px;line-height:1.45}.role-check{color:#0000;border:1px solid #cbd5e1;border-radius:999px;place-items:center;width:30px;height:30px;display:grid}.role-cards>button.active .role-check{color:#fff;background:#2563eb;border-color:#2563eb}.login-screen[data-role=provider] .role-cards>button.active .role-check{background:#172554;border-color:#172554}.login-screen .login-form{margin-top:18px}.login-screen .login-form .button-primary{color:#2563eb;background:#fff;width:100%;box-shadow:0 10px 28px #0f172a29}.login-screen[data-role=provider] .login-form .button-primary{color:#172554;background:#fff}.login-screen .demo-note{color:#ffffffc7}.app-screen[data-role=user]{background:#eff6ff}.app-screen[data-role=provider]{background:#f1f5f9}.app-screen[data-role=user] .screen-header{background:#eff6ffeb}.app-screen[data-role=provider] .screen-header{background:#f1f5f9eb}.agent-page-content{align-content:start;min-height:calc(100svh - 72px)}.agent-chat-panel{min-height:500px;box-shadow:var(--shadow-md);background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.agent-chat-panel.overlay{z-index:50;border:0;border-radius:0;min-height:100svh;position:fixed;inset:0}.agent-chat-header{min-height:66px;padding:max(10px, env(safe-area-inset-top)) 14px 10px 18px;background:#fff;border-bottom:1px solid #dbeafe;justify-content:space-between;align-items:center;display:flex}.agent-chat-header>div{align-items:center;gap:10px;display:flex}.agent-chat-header>div>span:last-child{gap:2px;display:grid}.agent-chat-header strong{font-size:15px}.agent-chat-header small{color:#64748b;font-size:11px}.agent-online-dot{background:#22c55e;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 4px #dcfce7}.agent-chat-log{overscroll-behavior:contain;flex-direction:column;gap:12px;min-height:0;padding:18px;display:flex;overflow-y:auto}.chat-message-row{display:flex}.chat-message-row.user{justify-content:flex-end}.chat-message{white-space:pre-wrap;border-radius:16px;width:fit-content;max-width:min(82%,520px);margin:0;padding:11px 13px;font-size:14px;line-height:1.55}.chat-message.agent{color:#111827;background:#fff;border:1px solid #dbeafe;border-top-left-radius:5px}.chat-message.user{color:#fff;background:#2563eb;border-top-right-radius:5px}.streaming-cursor{vertical-align:-2px;background:#2563eb;width:2px;height:14px;margin-left:3px;animation:.7s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{50%{opacity:0}}.agent-chat-composer{padding:12px 12px max(12px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dbeafe;grid-template-columns:minmax(0,1fr) 46px;gap:8px;display:grid}.agent-chat-composer input{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:12px;min-width:0;min-height:46px;padding:0 13px;font-size:16px}.agent-chat-composer button{color:#fff;background:#2563eb;border:0;border-radius:12px;place-items:center;width:46px;height:46px;display:grid}.agent-chat-launcher{z-index:35;right:max(16px,50vw - 392px);bottom:calc(84px + env(safe-area-inset-bottom));color:#fff;background:#2563eb;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 17px;font-size:13px;font-weight:800;display:inline-flex;position:fixed;box-shadow:0 10px 26px #2563eb47}.map-search{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:13px;grid-template-columns:auto minmax(0,1fr) 44px;align-items:center;gap:9px;min-height:52px;padding:3px 4px 3px 14px;display:grid}.map-search input{color:#111827;background:0 0;border:0;outline:0;min-width:0;height:44px;font-size:16px}.map-search button{color:#2563eb;background:#eff6ff;border:0;border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.kakao-map-canvas,.kakao-map-fallback{background:#e8edf0;border:1px solid #cbd5e1;border-radius:16px;height:clamp(320px,50svh,480px);position:relative;overflow:hidden}.kakao-map-fallback{background:linear-gradient(30deg,#0000 44%,#ffffffe0 45% 50%,#0000 51%),linear-gradient(112deg,#0000 40%,#ffffffe6 41% 47%,#0000 48%),#e8edf0}.fallback-road{background:#fff;border:1px solid #d4dce2;height:18px;position:absolute}.fallback-road.road-a{width:118%;top:24%;left:-8%;rotate:-11deg}.fallback-road.road-b{width:120%;top:59%;left:-10%;rotate:8deg}.fallback-road.road-c{width:22px;height:112%;top:-5%;left:48%;rotate:4deg}.fallback-water{background:#cfe8f6;width:56%;height:50px;position:absolute;bottom:4%;right:-9%;rotate:-9deg}.fallback-place-label{z-index:2;color:#475569;font-size:11px;position:absolute}.fallback-place-label.label-a{top:12%;left:8%}.fallback-place-label.label-b{bottom:18%;right:10%}.fallback-current-location{z-index:5;background:#2563eb;border:3px solid #fff;border-radius:999px;width:15px;height:15px;position:absolute;top:42%;left:44%;box-shadow:0 0 0 15px #2563eb24}.kakao-marker{z-index:6;color:#fff;background:#334155;border:4px solid #fff;border-radius:18px 18px 18px 5px;place-items:center;width:36px;height:44px;display:grid;position:absolute;rotate:-45deg;box-shadow:0 5px 14px #0f172a3d}.kakao-marker .icon{rotate:45deg}.kakao-marker.marker-1{top:54%;left:55%}.kakao-marker.marker-2{top:25%;right:18%}.kakao-marker.marker-3{bottom:16%;left:17%}.kakao-marker.selected{background:#2563eb}.fallback-info-window{z-index:8;color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:11px;gap:3px;min-width:154px;padding:11px 12px;font-size:11px;display:grid;position:absolute;top:20%;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #0f172a26}.fallback-info-window strong{font-size:13px}.fallback-info-window b{margin-top:2px;font-size:12px}.map-preview-note{z-index:7;color:#475569;background:#ffffffe0;border-radius:7px;padding:5px 7px;font-size:10px;position:absolute;bottom:8px;right:8px}.kakao-info-window{color:#111827;background:#fff;gap:3px;min-width:160px;padding:11px 13px;font-size:12px;line-height:1.4;display:grid}.kakao-info-window strong{font-size:14px}.kakao-info-window b{margin-top:2px}.map-list-title{margin:0 0 9px;font-size:16px}.parking-result-list{background:#fff;border:1px solid #dbe3ee;border-radius:15px;overflow:hidden}.parking-result-list>button{color:#111827;text-align:left;background:#fff;border:0;border-bottom:1px solid #e2e8f0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:82px;padding:12px;display:grid}.parking-result-list>button:last-child{border-bottom:0}.parking-result-list>button.selected{background:#f8fbff}.result-pin{color:#334155;background:#e2e8f0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.parking-result-list>button.selected .result-pin{color:#fff;background:#2563eb}.result-copy{gap:3px;min-width:0;display:grid}.result-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.result-copy strong small{color:#b45309;margin-left:6px;font-size:10px}.result-copy>span{color:#111827;font-size:11px}.result-price{color:#111827;white-space:nowrap;font-size:12px;font-weight:800}.weekly-timeline-card,.schedule-range-editor{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dbe3ee;border-radius:16px;padding:clamp(14px,4vw,20px)}.weekly-timeline-card .section-title-row{align-items:flex-start}.weekly-timeline-card .section-title-row h2,.schedule-range-editor h2{margin:0;font-size:16px}.weekly-timeline-card .section-title-row p{color:#64748b;margin:4px 0 0;font-size:11px}.weekly-timeline-card .timeline-legend i{background:#f1f5f9;border:1px solid #172554}.weekly-day-headings{grid-template-columns:38px repeat(7,minmax(0,1fr));gap:3px;margin-top:16px;display:grid}.weekly-day-headings button{color:#64748b;background:0 0;border:0;border-radius:8px;min-width:0;min-height:40px;font-size:11px;font-weight:800}.weekly-day-headings button.active{color:#172554;background:#e8edf5}.weekly-chart{grid-template-columns:38px minmax(0,1fr);height:430px;display:grid}.weekly-time-axis{color:#475569;text-align:right;flex-direction:column;justify-content:space-between;padding:0 7px 0 0;font-size:10px;display:flex}.weekly-day-columns{background:repeating-linear-gradient(#0000 0 calc(25% - 1px),#e2e8f0 25%);border-top:1px dashed #dbe3ee;border-bottom:1px dashed #dbe3ee;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;display:grid}.weekly-day-column{border-left:1px dashed #e2e8f0;min-width:0;position:relative}.weekly-day-column:last-child{border-right:1px dashed #e2e8f0}.weekly-day-column.enabled{background:#e8edf557}.weekly-time-block{top:var(--bar-top);width:calc(100% - 10px);height:var(--bar-height);color:#172554;text-align:center;background:#f8fafc;border:1.5px solid #172554;border-radius:7px;flex-direction:column;justify-content:space-between;min-height:38px;padding:5px 2px;display:flex;position:absolute;left:5px;overflow:hidden}.weekly-time-block b{font-size:clamp(8px,2.5vw,10px);line-height:1}.schedule-range-editor{gap:12px;display:grid}.schedule-range-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:9px;display:grid}.schedule-range-row label{gap:6px;display:grid}.schedule-range-row label>span{color:#475569;font-size:11px;font-weight:800}.schedule-range-row input{color:#111827;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:11px;width:100%;min-height:48px;padding:0 10px;font-size:16px}.schedule-range-row>span{color:#475569;margin-bottom:16px}.provider-save-button{color:#fff;text-align:center;background:#172554;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.provider-save-button:hover{background:#0f1b3d}[data-role=provider] .slot-tabs button.active{background:#172554;border-color:#172554}@media (width<=430px){.screen-content{padding-inline:14px}.weekly-timeline-card{padding-inline:10px}.weekly-day-headings{grid-template-columns:34px repeat(7,minmax(0,1fr))}.weekly-chart{grid-template-columns:34px minmax(0,1fr)}.weekly-time-block{width:calc(100% - 6px);left:3px}.parking-result-list>button{grid-template-columns:32px minmax(0,1fr)}.result-price{grid-column:2}}.destination-picker{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm);gap:12px;padding:16px;display:grid}.destination-picker-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.destination-picker-heading h2{letter-spacing:-.02em;margin:5px 0 0;font-size:17px}.destination-current{color:#0369a1;background:var(--primary-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;max-width:48%;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex;overflow:hidden}.destination-search{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.destination-search input{border:1px solid var(--border-strong);min-width:0;min-height:46px;color:var(--foreground);background:#fff;border-radius:11px;padding:0 13px;font-size:16px}.destination-results{gap:7px;margin:0;padding:0;list-style:none;display:grid}.destination-results button{border:1px solid var(--border);text-align:left;width:100%;color:var(--foreground);background:#f8fafc;border-radius:11px;gap:4px;padding:11px 12px;display:grid}.destination-results button:hover{border-color:var(--primary);background:var(--primary-soft)}.destination-results strong{font-size:13px}.destination-results span,.destination-empty,.destination-search-error{color:var(--muted-foreground);font-size:12px;line-height:1.5}.destination-empty,.destination-search-error{margin:0}.destination-search-error{color:#b91c1c}.map-selection-actions{margin-top:12px}.selection-status{min-height:18px;color:var(--muted-foreground);text-align:center;margin:8px 0 0;font-size:12px}:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f6;font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#eef2f6;min-width:320px;min-height:100%}body{background:#eef2f6;min-width:320px;min-height:100vh;margin:0}button,input{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.55}::selection{color:#0f172a;background:#bae6fd}
