html,body,#root{width:100%;height:100%;margin:0}:root{--ui-page-bg:#eef2f7;--ui-section-bg:#f8fafc;--ui-surface-1:#fff;--ui-surface-2:#f5f7fa;--ui-surface-elevated:#fff;--ui-text:#172033;--ui-text-secondary:#475569;--ui-text-muted:#64748b;--ui-border:#d7deea;--ui-border-strong:#c5d0dc;--ui-accent:#e96822;--ui-accent-hover:#c95218;--ui-active-bg:#fff2e8;--ui-hover-bg:#edf2f7;--ui-focus-ring:#f08a4f;--ui-disabled-bg:#f1f5f9;--ui-disabled-text:#8492a6;--ui-success:#166534;--ui-success-bg:#f0fdf4;--ui-success-border:#86d5a1;--ui-error:#b42318;--ui-error-bg:#fff1f2;--ui-error-border:#f6a9a9;--ui-info:#1d4ed8;--ui-info-bg:#eef6ff;--ui-backdrop:#0f172a61;--ui-shadow:0 18px 48px #0f172a24}html[data-theme=dark]{--ui-page-bg:#0f1822;--ui-section-bg:#131f2a;--ui-surface-1:#182633;--ui-surface-2:#1d2d3b;--ui-surface-elevated:#223443;--ui-text:#edf3f8;--ui-text-secondary:#c7d2de;--ui-text-muted:#a8b6c5;--ui-border:#415367;--ui-border-strong:#5a6f85;--ui-accent:#f28a4b;--ui-accent-hover:#ff9f66;--ui-active-bg:#3a2a22;--ui-hover-bg:#263948;--ui-focus-ring:#ffb27a;--ui-disabled-bg:#17232e;--ui-disabled-text:#8796a7;--ui-success:#9ae6b4;--ui-success-bg:#173526;--ui-success-border:#397354;--ui-error:#ffb4ae;--ui-error-bg:#3b2025;--ui-error-border:#8c4c55;--ui-info:#9fc5ff;--ui-info-bg:#1a3048;--ui-backdrop:#050a10ad;--ui-shadow:0 24px 70px #0000007a}*{box-sizing:border-box}body{background:var(--ui-page-bg);min-width:320px;min-height:100vh;transition:background-color .18s,color .18s}html[data-theme=dark] body{background:var(--ui-page-bg);color:var(--ui-text)}button,input,textarea{font:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.route-loading{background:var(--ui-page-bg);min-height:100dvh;color:var(--ui-text-secondary);place-items:center;padding:24px;font-family:Segoe UI,Inter,system-ui,sans-serif;display:grid}.route-loading p{border:1px solid var(--ui-border);background:var(--ui-surface-1);border-radius:8px;margin:0;padding:12px 16px;font-size:14px;font-weight:800}button:not(:disabled){transition:filter .14s,transform .14s}button:not(:disabled):hover{filter:brightness(.985)}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--ui-focus-ring);outline-offset:2px}.theme-toggle{border:1px solid var(--ui-border);background:var(--ui-surface-1);min-height:38px;color:var(--ui-text-secondary);white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:800;display:inline-flex}.theme-toggle-compact{width:38px;padding:0}.theme-toggle-icon{font-size:17px;line-height:1}html[data-theme=dark] .theme-toggle{border-color:var(--ui-border-strong);background:var(--ui-surface-2);color:var(--ui-text)}.planner-toast{animation:.16s ease-out planner-toast-in}@keyframes planner-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.planner-mobile-view{display:none}.planner-topbar{width:100%;min-width:0;overflow:hidden}.planner-toolbar{min-width:0;overflow:visible}.planner-topbar-compact-menus{flex:none;align-items:center;gap:5px;display:flex}.planner-topbar-menu-trigger{border:1px solid var(--ui-border);background:var(--ui-surface-1);min-height:38px;color:var(--ui-text-secondary);white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:850;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.planner-topbar-menu-trigger[aria-expanded=true]{border-color:var(--ui-accent);background:var(--ui-active-bg);color:var(--ui-accent-hover)}.planner-display-menu-trigger{anchor-name:--planner-display-menu}.planner-more-menu-trigger{anchor-name:--planner-more-menu}.planner-topbar-menu-panel{border:1px solid var(--ui-border-strong);background:var(--ui-surface-elevated);width:min(244px,100vw - 24px);color:var(--ui-text);box-shadow:var(--ui-shadow);border-radius:8px;padding:6px}.planner-topbar-menu-panel:popover-open{gap:3px;animation:.15s ease-out planner-menu-in;display:grid}@supports (position-area:block-end){.planner-topbar-menu-panel{position-area:block-end span-inline-end;margin:6px 0 0;inset:auto}.planner-display-menu-trigger-panel{position-anchor:--planner-display-menu}.planner-more-menu-trigger-panel{position-anchor:--planner-more-menu}}.planner-topbar-menu-item{width:100%;min-height:38px;color:var(--ui-text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:0 10px;font-size:13px;font-weight:800;transition:background-color .14s,border-color .14s,color .14s;display:flex}.planner-topbar-menu-item:hover,.planner-topbar-menu-item[data-active=true]{border-color:var(--ui-border);background:var(--ui-hover-bg);color:var(--ui-text)}.planner-topbar-menu-item[data-active=true]{color:var(--ui-accent-hover)}.planner-topbar-menu-item.is-danger:not(:disabled){color:var(--ui-error)}.planner-topbar-menu-separator{background:var(--ui-border);height:1px;margin:3px 4px}.planner-topbar-menu-theme{background:0 0;border-color:#0000;justify-content:flex-start;width:100%;min-height:38px}@keyframes planner-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.planner-topbar button:not(:disabled):hover,.planner-tool-menu button:not(:disabled):hover,.planner-properties-panel button:not(:disabled):hover,.planner-dialog-card button:not(:disabled):hover,.planner-mobile-view button:not(:disabled):hover{outline:1px solid var(--ui-border-strong);outline-offset:-1px;filter:none}.planner-topbar button:disabled,.planner-properties-panel button:disabled,.planner-dialog-card button:disabled,.planner-mobile-view button:disabled{opacity:.82;filter:saturate(.55)}.planner-properties-panel input,.planner-properties-panel select,.planner-dialog-card input{border-color:var(--ui-border);background:var(--ui-surface-1);color:var(--ui-text)}.planner-properties-panel input::placeholder,.planner-dialog-card input::placeholder{color:var(--ui-text-muted);opacity:1}.planner-dialog-card{box-shadow:var(--ui-shadow)}.planner-dialog-card button:focus-visible,.planner-tool-menu button:focus-visible,.planner-properties-panel button:focus-visible,.planner-topbar button:focus-visible{outline:3px solid var(--ui-focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=1199px) and (width>=1024px){.planner-topbar{--planner-topbar-layout-gap:10px;--planner-topbar-padding:10px}.planner-topbar-brand{width:210px;max-width:210px;min-width:210px!important}.planner-topbar-brand>a,.planner-topbar-brand .planner-status-pill{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}@media (width<=1023px){html,body,#root{max-width:100%;overflow-x:hidden}.planner-desktop-shell{display:none!important}.planner-mobile-view{background:var(--ui-page-bg);height:100dvh;min-height:100dvh;color:var(--ui-text);flex-direction:column;font-family:Segoe UI,Inter,system-ui,sans-serif;display:flex;overflow-x:hidden}.planner-mobile-view.is-project-open{overflow:hidden}.planner-mobile-header{min-height:calc(56px + env(safe-area-inset-top,0px));z-index:10;padding:max(6px, env(safe-area-inset-top,0px)) 10px 6px;border-bottom:1px solid var(--ui-border);background:color-mix(in srgb, var(--ui-surface-1) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.planner-mobile-brand{min-width:0;min-height:44px;color:var(--ui-text);white-space:nowrap;align-items:center;font-size:14px;font-weight:900;text-decoration:none;display:inline-flex}.planner-mobile-header-actions{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.planner-mobile-header-button{border:1px solid var(--ui-border);background:var(--ui-surface-1);min-height:44px;color:var(--ui-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 9px;font-size:11px;font-weight:850;display:inline-flex}.planner-mobile-header .theme-toggle{width:44px;min-height:44px}.planner-mobile-intro{border-bottom:1px solid var(--ui-border);background:var(--ui-surface-1);flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 16px;display:flex}.planner-mobile-intro h1{margin:2px 0 6px;font-size:22px;line-height:1.2}.planner-mobile-intro p{max-width:660px;color:var(--ui-text-muted);margin:0;font-size:13px;line-height:1.5}.planner-mobile-intro .planner-mobile-eyebrow{color:var(--ui-accent-hover);text-transform:uppercase;font-size:10px;font-weight:900}.planner-mobile-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:7px;display:flex}.planner-mobile-button{border:1px solid var(--ui-border);background:var(--ui-surface-1);min-height:44px;color:var(--ui-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:850;text-decoration:none;display:inline-flex}.planner-mobile-button-primary{border-color:var(--ui-accent);background:var(--ui-active-bg);color:var(--ui-accent-hover)}.planner-mobile-state{border:1px solid var(--ui-border);background:var(--ui-surface-1);width:min(620px,100% - 32px);color:var(--ui-text-secondary);text-align:center;border-radius:8px;margin:28px auto;padding:20px;font-size:14px;line-height:1.55}.planner-mobile-project{min-height:0;padding:8px 10px max(10px, env(safe-area-inset-bottom,0px));flex-direction:column;flex:auto;gap:8px;display:flex;overflow:hidden}.planner-mobile-projectbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.planner-mobile-projectbar>div:first-child{gap:2px;min-width:0;display:grid}.planner-mobile-projectbar span{color:var(--ui-text-muted);text-transform:uppercase;font-size:10px;font-weight:800}.planner-mobile-projectbar strong{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.planner-mobile-zoom{border:1px solid var(--ui-border);background:var(--ui-surface-1);border-radius:7px;flex:none;align-items:center;gap:2px;padding:2px;display:flex}.planner-mobile-zoom button{min-width:44px;height:44px;color:var(--ui-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;font-size:13px;font-weight:850}.planner-mobile-zoom output{min-width:48px;color:var(--ui-text-secondary);text-align:center;padding:0 4px;font-size:12px;font-weight:850}.planner-mobile-zoom .planner-mobile-fit-button{width:auto;color:var(--ui-accent-hover);padding:0 9px;font-size:11px}.planner-mobile-canvas-wrap{flex:auto;min-width:0;height:auto;min-height:0;overflow:hidden}.planner-mobile-canvas-wrap .planner-canvas{border-radius:6px!important}.planner-projects-dialog{width:min(760px,100%)!important}.planner-projects-dialog>div:last-child>div{grid-template-columns:minmax(0,1fr)!important}html[data-theme=dark] .planner-mobile-view{background:var(--ui-page-bg);color:var(--ui-text)}html[data-theme=dark] .planner-mobile-header,html[data-theme=dark] .planner-mobile-intro{border-color:var(--ui-border);background:color-mix(in srgb, var(--ui-surface-1) 94%, transparent)}html[data-theme=dark] .planner-mobile-brand,html[data-theme=dark] .planner-mobile-intro h1,html[data-theme=dark] .planner-mobile-projectbar strong{color:var(--ui-text)}html[data-theme=dark] .planner-mobile-intro p,html[data-theme=dark] .planner-mobile-projectbar span{color:var(--ui-text-muted)}html[data-theme=dark] .planner-mobile-button,html[data-theme=dark] .planner-mobile-header-button,html[data-theme=dark] .planner-mobile-state,html[data-theme=dark] .planner-mobile-zoom{border-color:var(--ui-border);background:var(--ui-surface-1);color:var(--ui-text)}html[data-theme=dark] .planner-mobile-button-primary{border-color:var(--ui-accent);background:var(--ui-active-bg);color:var(--ui-accent-hover)}html[data-theme=dark] .planner-mobile-zoom button,html[data-theme=dark] .planner-mobile-zoom output{color:var(--ui-text)}html[data-theme=dark] .planner-mobile-zoom .planner-mobile-fit-button{color:var(--ui-accent-hover)}}@media (width<=640px){.planner-mobile-intro{display:grid}.planner-mobile-actions{justify-content:flex-start}.planner-mobile-project{padding-left:8px;padding-right:8px}.planner-mobile-projectbar{gap:8px}.planner-modal-overlay{align-items:flex-end!important;padding:10px!important}.planner-dialog-card{border-radius:8px!important;width:100%!important;max-height:calc(100vh - 20px)!important}.planner-projects-dialog [style*="display: flex"]{flex-wrap:wrap}}
