@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono);--color-blue-100:#dbeafe;--color-blue-700:#1447e6;--color-gray-500:#6a7282;--color-gray-900:#101828;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-900:lab(8.11897% .811279 -12.254)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--bg:#fafaf9;--surface:#fff;--surface-2:#f5f5f4;--surface-hover:#f0efee;--border:#eaeaea;--border-strong:#d4d4d4;--ink:#0a0a0a;--ink-2:#404040;--ink-3:#707070;--ink-4:#a3a3a3;--ink-5:#d4d4d4;--green:#15803d;--green-bg:#f0fdf4;--green-bd:#bbf7d0;--amber:#b45309;--amber-bg:#fffbeb;--amber-bd:#fde68a;--blue:#1d4ed8;--blue-bg:#eff6ff;--blue-bd:#bfdbfe;--red:#b91c1c;--red-bg:#fef2f2;--red-bd:#fecaca;--violet:#6d28d9;--violet-bg:#f5f3ff;--violet-bd:#ddd6fe;--font-sans:var(--font-geist-sans), system-ui, -apple-system, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "SF Mono", monospace;--r-sm:6px;--r:8px;--r-lg:12px;--r-xl:16px;--shadow-sm:0 1px 2px #0a0a0a0a;--shadow:0 1px 3px #0a0a0a0a, 0 4px 12px #0a0a0a0d;--shadow-lg:0 4px 24px #0a0a0a14, 0 1px 3px #0a0a0a0a;--transition-fast:.1s ease;--transition:.15s ease;--transition-slow:.22s ease}[data-theme=dark]{--bg:#09090b;--surface:#111113;--surface-2:#1a1a1d;--surface-hover:#222225;--border:#27272a;--border-strong:#3f3f46;--ink:#fafafa;--ink-2:#d4d4d8;--ink-3:#a1a1aa;--ink-4:#71717a;--ink-5:#3f3f46;--green:#22c55e;--green-bg:#052e16;--green-bd:#14532d;--amber:#f59e0b;--amber-bg:#451a03;--amber-bd:#78350f;--blue:#3b82f6;--blue-bg:#172554;--blue-bd:#1e3a5f;--red:#ef4444;--red-bg:#450a0a;--red-bd:#7f1d1d;--violet:#8b5cf6;--violet-bg:#2e1065;--violet-bd:#4c1d95;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0000004d, 0 4px 12px #0006;--shadow-lg:0 4px 24px #00000080, 0 1px 3px #0000004d}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-size:14px;line-height:1.5}::selection{color:var(--ink);background:#0a0a0a1f}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}}@layer components{.app{grid-template-columns:240px 1fr;min-height:100dvh;display:grid}.role-bar{top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));z-index:100;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:999px;padding:3px;font-size:12px;display:inline-flex;position:fixed}.role-bar a,.role-bar button{color:var(--ink-3);letter-spacing:-.01em;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.role-bar a:hover:not(.active),.role-bar button:hover:not(.active){color:var(--ink-2)}.role-bar a.active,.role-bar button.active{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px)) calc(14px + env(safe-area-inset-left,0px));flex-direction:column;gap:0;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar-brand{flex-shrink:0;align-items:center;padding:4px 8px 20px;display:flex}.brand-name{letter-spacing:-.015em;font-size:14px;font-weight:600;line-height:1.2}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group+.nav-group{margin-top:4px}.nav-section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);flex-shrink:0;padding:10px 10px 4px;font-size:10px;font-weight:500}.nav-item{border-radius:var(--r-sm);color:var(--ink-3);letter-spacing:-.005em;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.nav-item:hover,.nav-item.active{background:var(--surface-2);color:var(--ink)}.nav-item.active:before{content:"";background:var(--ink);border-radius:0 2px 2px 0;width:3px;height:16px;animation:.2s ease-out indicator-in;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}@keyframes indicator-in{0%{opacity:0;height:0}to{opacity:1;height:16px}}.nav-item-switch{color:var(--ink-3);border:1px solid var(--border);border-radius:var(--r);margin-bottom:8px;padding:7px 10px;font-size:12px}.nav-item-switch span{flex:1}.nav-item-switch:hover{background:var(--surface-2);color:var(--ink);border-color:var(--border-strong)}.nav-item-logout{color:var(--ink-4);padding:6px 10px;font-size:12px}.nav-item-logout:hover{color:var(--red);background:var(--red-bg)}.sidebar-version{font-family:var(--font-mono);color:var(--ink-4);text-align:center;letter-spacing:.03em;opacity:.6;padding:8px 0 4px;font-size:10px}.sidebar-conversations-section{padding-top:8px}.sidebar-conversations-separator{background:var(--border);height:1px;margin:0 10px 8px}.sidebar-conversations-link{border-radius:var(--r-sm);color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:flex}.sidebar-conversations-link:hover{color:var(--ink);border-color:var(--border-strong)}.sidebar-conversations-link.active{color:var(--ink);border-color:var(--ink-3)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:auto;padding-top:14px;display:flex}.profile-card{border-radius:var(--r-sm);cursor:pointer;color:inherit;align-items:center;gap:10px;padding:10px 8px;text-decoration:none;transition:background .12s;display:flex}.profile-card:hover{background:var(--surface-2)}.profile-card-avatar{border-radius:999px;flex-shrink:0;width:28px;height:28px;display:block;overflow:hidden}.profile-card-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.avatar{color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#c9c5c0,#8a8580);border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:grid}.avatar-lg{width:56px;height:56px;font-size:18px}.avatar-admin{background:linear-gradient(135deg,#0a0a0a,#3f3f3f)}.profile-content{flex:1;min-width:0}.profile-name{font-size:13px;font-weight:500;line-height:1.2}.profile-email{color:var(--ink-3);font-size:11px;line-height:1.2}.main{flex-direction:column;min-width:0;display:flex}.topbar{height:calc(56px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);background:var(--surface);padding:env(safe-area-inset-top,0px) calc(24px + env(safe-area-inset-right,0px)) 0 24px;z-index:10;align-items:center;gap:16px;display:flex;position:sticky;top:0}.crumb{color:var(--ink-3);flex:0 auto;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex;overflow:hidden}.crumb .crumb-current{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.topbar-spacer{flex:1}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.search{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);width:280px;color:var(--ink-3);align-items:center;gap:8px;padding:6px 10px;font-size:13px;transition:border-color .12s,box-shadow .12s,background .12s;display:flex}.search:focus-within{border-color:var(--ink);background:var(--surface);box-shadow:0 0 0 3px #0a0a0a0f}.search input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search input::placeholder{color:var(--ink-4)}.search.search-lg{width:320px}.search .kbd{font-family:var(--font-mono);color:var(--ink-3);border:1px solid var(--border);background:#fff;border-radius:4px;padding:0 5px;font-size:11px}.icon-btn{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--ink-2);cursor:pointer;place-items:center;transition:background .1s,border-color .1s;display:grid;position:relative}.icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.icon-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.icon-btn .dot{background:var(--green);border:1.5px solid #fff;border-radius:999px;width:6px;height:6px;animation:2s ease-in-out infinite dot-pulse;position:absolute;top:6px;right:6px}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.5}}.content{padding:24px calc(24px + env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) 24px;width:100%;max-width:1320px;margin:0 auto}.btn{border-radius:var(--r-sm);letter-spacing:-.005em;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 1px 2px #0a0a0a26}.btn.btn-primary:hover{background:#1a1a1a;box-shadow:0 1px 3px #0a0a0a33}.btn.btn-ghost{background:0 0;border-color:#0000}.btn.btn-ghost:hover{background:var(--surface-2)}.btn.btn-sm{padding:5px 9px;font-size:12px}.btn.btn-lg{padding:9px 14px;font-size:14px}.btn.btn-danger{color:var(--red);border-color:var(--red-bd);background:var(--red-bg)}.btn.btn-danger:hover{background:#fde8e8}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-title{letter-spacing:-.025em;margin:0;font-size:24px;font-weight:600;line-height:1.15}.page-subtitle{color:var(--ink-3);letter-spacing:-.005em;margin:6px 0 0;font-size:13px}.page-subtitle .dot-sep{background:var(--ink-4);vertical-align:middle;border-radius:999px;width:3px;height:3px;margin:0 4px;display:inline-block}.page-subtitle .mono-id{font-family:var(--font-mono);opacity:.5;font-size:11px}.page-actions{gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-pad-lg{padding:24px}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.card-head h3{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.card-head-sub{color:var(--ink-3);margin-top:2px;font-size:12px}.card-body{padding:20px}.card-flush{padding:0}.card-scroll{overflow:auto}.card-label{color:var(--ink-3);letter-spacing:-.005em;margin-bottom:4px;font-size:12px;font-weight:500}.card-value{letter-spacing:-.03em;font-feature-settings:"tnum" 1;margin-bottom:12px;font-size:28px;font-weight:600}.card-text{color:var(--ink-3);margin:8px 0 0;font-size:13px}.card-head .sub{color:var(--ink-3);margin-top:2px;font-size:12px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px 20px;transition:box-shadow .15s,border-color .15s}.stat:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.stat-label{color:var(--ink-3);letter-spacing:-.005em;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.stat-value{letter-spacing:-.03em;font-size:28px;font-weight:600;font-family:var(--font-sans);font-feature-settings:"tnum" 1;margin-top:8px}.stat-value .unit{color:var(--ink-3);letter-spacing:-.01em;margin-left:4px;font-size:14px;font-weight:500}.stat-foot{color:var(--ink-3);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.stat-trend.up{color:var(--green)}.stat-trend.down{color:var(--red)}.grid-2{grid-template-columns:2fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.col-stack{flex-direction:column;gap:16px;display:flex}.badge{letter-spacing:-.005em;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);font-size:11px;font-weight:500;font-family:var(--font-sans);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.badge:before{content:"";background:var(--ink-4);border-radius:999px;width:5px;height:5px}.badge.green{background:var(--green-bg);border-color:var(--green-bd);color:var(--green)}.badge.green:before{background:var(--green)}.badge.amber{background:var(--amber-bg);border-color:var(--amber-bd);color:var(--amber)}.badge.amber:before{background:var(--amber)}.badge.blue{background:var(--blue-bg);border-color:var(--blue-bd);color:var(--blue)}.badge.blue:before{background:var(--blue)}.badge.red{background:var(--red-bg);border-color:var(--red-bd);color:var(--red)}.badge.red:before{background:var(--red)}.badge.violet{background:var(--violet-bg);border-color:var(--violet-bd);color:var(--violet)}.badge.violet:before{background:var(--violet)}.badge.plain:before{display:none}.badge{transition:opacity .1s}.list{flex-direction:column;display:flex}.list-row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:12px 20px;font-size:13px;display:grid}.list-row:first-child{border-top:0}.list-row{transition:background .1s}.list-row.hover:hover{background:var(--surface-2);cursor:pointer}a.project-tile,.project-tile{color:inherit;text-decoration:none}.project-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .12s,box-shadow .12s;overflow:hidden}.project-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.project-thumb{aspect-ratio:16/9;border-bottom:1px solid var(--border);color:var(--ink-4);background:repeating-linear-gradient(135deg,#f0efee 0 12px,#ebeae8 12px 24px);place-items:center;display:grid;position:relative}.project-thumb.vertical{aspect-ratio:9/16;max-height:180px}.project-thumb-label{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);background:#ffffffe6;border-radius:4px;padding:2px 7px;font-size:10px;position:absolute;top:10px;left:10px}.project-meta{padding:14px 16px 16px}.project-meta.row{justify-content:space-between;align-items:center;display:flex}.project-title{letter-spacing:-.01em;margin:0 0 4px;font-size:14px;font-weight:600}.project-sub{color:var(--ink-3);align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.project-sub .dot-sep{background:var(--ink-4);border-radius:999px;width:3px;height:3px}.project-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.progress{background:var(--surface-2);border-radius:999px;height:4px;position:relative;overflow:hidden}.progress-fill{background:var(--ink);border-radius:999px;height:100%}.progress.amber .progress-fill{background:var(--amber)}.progress.green .progress-fill{background:var(--green)}.pipeline{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.pipe-step{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:12px 14px;font-size:12px;position:relative}.pipe-step .pipe-num{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.04em;font-size:10px}.pipe-step .pipe-name{margin-top:2px;font-weight:500}.pipe-step.done{background:var(--green-bg);border-color:var(--green-bd);color:var(--green)}.pipe-step.active{border-color:var(--ink);background:var(--surface)}.pipe-step.active .pipe-name{color:var(--ink)}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cal-month{letter-spacing:-.02em;font-size:18px;font-weight:600}.cal-month.sm{font-size:15px}.cal-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.cal-head,.cal-header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);border-bottom:1px solid var(--border);background:var(--surface-2);text-align:left;padding:10px 12px;font-size:10px}.cal-cell{border-right:1px solid var(--border);border-top:1px solid var(--border);background:var(--surface);min-height:110px;padding:8px;transition:background .1s;position:relative}.cal-cell:not(.muted):hover{background:var(--surface-hover)}.cal-cell:nth-child(7n){border-right:0}.cal-cell.muted{background:var(--surface-2)}.cal-cell.muted .cal-day{color:var(--ink-4)}.cal-cell.fully-booked,.cal-cell.fully-booked:hover{background:repeating-linear-gradient(-45deg, var(--surface-2), var(--surface-2) 6px, var(--border) 6px, var(--border) 7px)}.cal-cell.day-unavailable{background:var(--surface-2)}.cal-cell.day-unavailable .cal-day{color:var(--ink-4)}.cal-status-chip{text-align:center;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.fully-booked-chip{background:var(--ink-4);color:var(--surface)}.unavailable-chip{color:var(--ink-4);background:var(--surface-3,var(--surface));border:1px solid var(--border)}.cal-day{font-family:var(--font-mono);color:var(--ink-3);margin-bottom:6px;font-size:11px}.cal-cell.today .cal-day{background:var(--ink);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;font-weight:500;display:grid}.cal-event{border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:5px;margin-bottom:3px;padding:3px 6px;font-size:11px;display:flex;overflow:hidden}.cal-event.available{border:1px dashed var(--border-strong);color:var(--ink-3);background:#fff;transition:border-color .12s,color .12s,background .12s}.cal-event.available:hover{border-style:solid;border-color:var(--ink);color:var(--ink);background:var(--surface-hover)}.cal-cell-chips{flex-wrap:wrap;gap:2px;display:flex;position:relative}.cal-event.booked{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500}.cal-event.past{background:var(--surface-2);border-color:var(--border);color:var(--ink-4);text-decoration:line-through}.cal-event-time{font-family:var(--font-mono);font-size:10px}.legend{color:var(--ink-3);align-items:center;gap:14px;font-size:12px;display:flex}.legend-swatch{vertical-align:middle;border-radius:3px;width:14px;height:14px;margin-right:6px;display:inline-block}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);background:var(--surface-2);font-size:11px;font-weight:500;font-family:var(--font-mono);padding:10px 16px}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.table tr:last-child td{border-bottom:0}.table tbody tr:nth-child(2n){background:#00000002}.table tr.hover:hover,.table tbody tr:hover{background:var(--surface-2);cursor:pointer;transition:background 80ms}.table .cell-strong{color:var(--ink);font-weight:500}.table .cell-mono{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}.table th.th-action{width:32px}.table tbody tr{cursor:pointer}.user-row{align-items:center;gap:10px;display:flex}.user-row .user-name{font-weight:500}.user-row .user-mail,.user-row .user-email{color:var(--ink-3);font-size:12px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);letter-spacing:-.005em;font-size:12px;font-weight:500}.field .hint,.hint{color:var(--ink-3);font-size:12px;line-height:1.5;display:block}.input,.textarea,.select{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);color:var(--ink);outline:none;width:100%;padding:8px 10px;font-size:13px;transition:border .12s,box-shadow .12s}.input:focus,.textarea:focus,.select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #0a0a0a14}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:disabled,.input[disabled]{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.textarea{resize:vertical;min-height:80px}.field-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.field-grid-auto{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;display:grid}.span-2{grid-column:span 2}.swatch-row{align-items:center;gap:8px;display:flex}.swatch{border-radius:var(--r-sm);border:1px solid var(--border);cursor:pointer;width:28px;height:28px;transition:transform .1s;position:relative}.swatch:hover{transform:scale(1.1)}.swatch.active{outline:2px solid var(--ink);outline-offset:2px}input[type=color]{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:var(--surface);width:28px;height:28px;padding:2px}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}.toggle{background:var(--ink-5);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;width:32px;height:18px;padding:0;transition:background .12s;position:relative}.toggle:after{content:"";background:#fff;border-radius:999px;width:14px;height:14px;transition:left .14s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--ink)}.toggle.on:after{left:16px}.radio-group{background:var(--surface-2);border-radius:var(--r-sm);border:1px solid var(--border);gap:2px;padding:3px;display:inline-flex}.radio-group button{color:var(--ink-3);background:0 0;border:0;border-radius:5px;padding:5px 12px;font-size:12px;font-weight:500;transition:background .12s,color .12s,box-shadow .12s}.radio-group button:hover:not(.active){color:var(--ink-2)}.radio-group button.active{color:var(--ink);box-shadow:var(--shadow-sm);background:#fff}.preview-frame{aspect-ratio:9/16;border-radius:var(--r-lg);max-height:480px;box-shadow:var(--shadow-lg);background:#0a0a0a;margin:0 auto;position:relative;overflow:hidden}.preview-frame:before{content:"";background:radial-gradient(circle at 30% 30%,#ffffff14,#0000 50%),repeating-linear-gradient(45deg,#ffffff05 0 6px,#0000 6px 12px);position:absolute;inset:0}.preview-caption{text-align:center;letter-spacing:-.02em;color:#fff;font-size:22px;font-weight:700;line-height:1.15;position:absolute;bottom:24%;left:12px;right:12px}.preview-caption .word{border-radius:4px;margin:1px;padding:2px 6px;display:inline-block}.preview-logo{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#ffffffb3;border:1px solid #fff3;border-radius:4px;padding:3px 8px;font-size:10px;position:absolute;top:16px;right:16px}.preview-bar{background:#ffffff26;border-radius:999px;height:3px;position:absolute;bottom:12px;left:12px;right:12px}.preview-bar:after{content:"";background:#fff;border-radius:999px;width:35%;position:absolute;top:0;bottom:0;left:0}.timeline{flex-direction:column;display:flex}.timeline-item{border-top:1px solid var(--border);gap:12px;padding:12px 0;display:flex}.timeline-item:first-child{border-top:0}.timeline-icon{background:var(--surface-2);border:1px solid var(--border);width:28px;height:28px;color:var(--ink-2);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.timeline-body{flex:1;font-size:13px}.timeline-meta{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);margin-top:2px}.drawer-backdrop{-webkit-backdrop-filter:blur(2px);z-index:50;background:#0a0a0a59;animation:.15s ease-out fade;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);z-index:51;width:540px;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) slideIn;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.drawer-head h3,.section-title{letter-spacing:-.015em;margin:0;font-size:15px;font-weight:600}.drawer-body{overscroll-behavior:contain;flex:1;padding:24px;overflow-y:auto}.drawer-foot{padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface);justify-content:flex-end;gap:8px;display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.chip-group{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;display:inline-flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:12px;display:inline-flex}.chip:hover{background:var(--surface-2)}.chip{transition:background .12s,border-color .12s,color .12s}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.chip.active:hover{background:#1a1a1a}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:24px;display:flex}.tab{color:var(--ink-3);letter-spacing:-.005em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:13px;font-weight:500;transition:color .12s,border-color .12s}.tab:hover{color:var(--ink-2)}.tab.active{color:var(--ink);border-bottom-color:var(--ink)}.section-divider{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);align-items:center;gap:8px;margin:28px 0 12px;font-size:10px;display:flex}.section-divider:after{content:"";background:var(--border);flex:1;height:1px}.bar-chart{align-items:flex-end;gap:8px;height:140px;padding:8px 0 0;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.bar{background:var(--ink);border-radius:4px 4px 0 0;width:100%;min-height:4px;position:relative}.bar.muted{background:var(--ink-5)}.bar-label{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;font-size:10px}.dots-row{grid-template-columns:repeat(28,1fr);gap:3px;display:grid}.dots-row .dot{aspect-ratio:1;background:var(--surface-2);border-radius:2px}.dots-row .dot.l1{background:#e8e6e3}.dots-row .dot.l2{background:#b3aea7}.dots-row .dot.l3{background:#6f6963}.dots-row .dot.l4{background:var(--ink)}.log-row{border-bottom:1px solid var(--border);grid-template-columns:140px 120px 1fr 100px;align-items:center;gap:16px;padding:10px 16px;font-size:13px;display:grid}.log-row:last-child{border-bottom:0}.log-row .log-time{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.log-row .log-actor{font-weight:500}.log-row .log-action{font-family:var(--font-mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;width:fit-content;padding:1px 6px;font-size:11px;display:inline-flex}.stepper{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);align-items:center;display:inline-flex;overflow:hidden}.stepper button{width:28px;height:30px;color:var(--ink-2);background:0 0;border:0;place-items:center;display:grid}.stepper button:hover{background:var(--surface-2)}.stepper input{text-align:center;width:50px;font-family:var(--font-mono);background:0 0;border:0;outline:0;height:30px;font-size:13px}.ring-wrap{width:64px;height:64px;position:relative}.ring-wrap svg{transform:rotate(-90deg)}.ring-bg{stroke:var(--surface-2)}.ring-fill{stroke:var(--ink);transition:stroke-dashoffset .32s}.ring-text{font-family:var(--font-mono);place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.placeholder{border:1px dashed var(--border-strong);border-radius:var(--r);text-align:center;color:var(--ink-3);font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;background:repeating-linear-gradient(135deg,#0000 0 12px,#00000004 12px 24px);padding:32px}.calendar-list{flex-direction:column;gap:10px;display:flex}.calendar-item{border-top:1px solid var(--border);align-items:stretch;gap:12px;padding:10px 0;display:flex}.calendar-item:first-child{border-top:0}.calendar-bar{background:var(--ink);border-radius:2px;flex-shrink:0;width:3px}.calendar-info{flex-direction:column;gap:2px;display:flex}.calendar-time{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}.calendar-title{font-size:13px;font-weight:500}.calendar-who{color:var(--ink-3);font-size:12px}.field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:11px;font-weight:500;font-family:var(--font-mono);margin-bottom:4px}.field-value{color:var(--ink);font-size:14px;font-weight:500}.pipe-icon{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-bottom:6px;display:flex}.pipe-step.done .pipe-icon{background:var(--green-bg);border-color:var(--green-bd);color:var(--green)}.pipe-step.active .pipe-icon{background:var(--ink);border-color:var(--ink);color:#fff}.pipe-dot{background:#fff;border-radius:50%;width:6px;height:6px;display:block}.pipe-num{font-size:10px;font-family:var(--font-mono);color:var(--ink-4)}.pipe-label{color:var(--ink-2);font-size:12px;font-weight:500}.workflow-stepper{align-items:flex-start;gap:0;display:flex}.workflow-step{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.workflow-icon{background:var(--surface-2);border:2px solid var(--border);width:32px;height:32px;color:var(--ink-4);z-index:1;transition:all var(--transition);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:8px;display:flex;position:relative}.workflow-step.done .workflow-icon{background:var(--green-bg);border-color:var(--green);color:var(--green)}.workflow-step.active .workflow-icon{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 0 0 4px #0a0a0a14}.workflow-step.future .workflow-icon{opacity:.5}.workflow-label{color:var(--ink-3);font-size:12px;font-weight:500;line-height:1.2}.workflow-step.done .workflow-label{color:var(--green)}.workflow-step.active .workflow-label{color:var(--ink);font-weight:600}.workflow-step.future .workflow-label{color:var(--ink-4)}.workflow-line{background:var(--border);z-index:0;height:2px;position:absolute;top:16px;left:calc(50% + 20px);right:calc(20px - 50%)}.workflow-step.done .workflow-line{background:var(--green)}.mini-stepper{gap:4px;margin-top:8px;display:flex}.mini-step{background:var(--border);height:3px;transition:background var(--transition);border-radius:2px;flex:1}.mini-step.done{background:var(--green)}.mini-step.active{background:var(--ink)}.chip-count{font-family:var(--font-mono);color:var(--ink-4);font-size:10px}.chip.active .chip-count{color:#ffffffb3}.alert{border-radius:var(--r);align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:13px;display:flex}.alert.green{background:var(--green-bg);border:1px solid var(--green-bd);color:var(--green)}.alert.red{background:var(--red-bg);border:1px solid var(--red-bd);color:var(--red)}.alert.blue{background:var(--blue-bg);border:1px solid var(--blue-bd);color:var(--blue)}.empty-state{text-align:center;color:var(--ink-3);padding:48px 20px}.empty-state svg,.empty-state .empty-icon{opacity:.3;margin-bottom:14px}.empty-state p{color:var(--ink-3);max-width:280px;margin:0 auto 16px;font-size:14px;line-height:1.5}.list-row-project{grid-template-columns:48px 1fr auto;text-decoration:none}.list-thumb{border-radius:var(--r-sm);aspect-ratio:1;flex-shrink:0;width:48px;height:48px}.list-content{min-width:0}.session-time{font-size:14px;font-weight:600}.session-date{color:var(--ink-3);margin-top:2px;font-size:13px}.session-note{color:var(--ink-4);margin-top:6px;font-size:12px;line-height:1.5}.credit-row{align-items:center;gap:16px;margin-bottom:12px;display:flex}.link-inline{color:var(--ink);font-weight:500;text-decoration:none}.link-inline:hover{text-decoration:underline}.list-title{color:var(--ink);font-size:13px;font-weight:500;text-decoration:none}.list-title:hover{text-decoration:underline}.list-meta{color:var(--ink-3);margin-top:2px;font-size:12px}.auth-page{background:var(--bg);min-height:100dvh;padding:calc(24px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));justify-content:center;align-items:center;display:flex}.logo-mark{background:var(--ink);color:#fff;width:44px;height:44px;font-family:var(--font-mono);letter-spacing:-.02em;border-radius:11px;place-items:center;margin:0 auto 16px;font-size:17px;font-weight:700;display:grid;box-shadow:0 2px 8px #0a0a0a1f}.logo-mark.lg{border-radius:14px;width:52px;height:52px;margin-bottom:28px;font-size:20px;box-shadow:0 4px 16px #0a0a0a26}.btn-auth{justify-content:center;width:100%}.auth-card{width:100%;max-width:420px}.auth-card .auth-header{text-align:center;margin-bottom:32px}.auth-card .auth-header h1{letter-spacing:-.025em;margin:0 0 6px;font-size:24px;font-weight:600}.auth-card .auth-header p{color:var(--ink-3);margin:0;font-size:14px}.auth-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:28px}.auth-form .auth-fields{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.auth-form .auth-fields-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-form .auth-divider{color:var(--ink-4);align-items:center;gap:12px;margin:16px 0;font-size:12px;display:flex}.auth-form .auth-divider:before,.auth-form .auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-form .auth-footer{text-align:center;color:var(--ink-3);margin-top:20px;font-size:13px}.auth-form .auth-footer a{color:var(--ink);font-weight:500;text-decoration:none}.auth-form .auth-footer a:hover{text-decoration:underline}.btn-google{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;transition:background .12s;display:flex}.btn-google:hover{background:var(--surface-2)}.week-cal{min-width:700px;display:grid}.week-cal-header{text-align:center;border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface-2);padding:10px 12px;font-size:12px;font-weight:600}.week-cal-header:first-child{color:var(--ink-4);text-align:left;border-left:none;font-size:11px;font-weight:600}.week-cal-time{font-size:11px;font-family:var(--font-mono);color:var(--ink-3);border-bottom:1px solid var(--border);align-items:center;padding:10px 12px;display:flex}.week-cal-time:last-of-type{border-bottom:none}.week-cal-cell{text-align:center;border-bottom:1px solid var(--border);border-left:1px solid var(--border);justify-content:center;align-items:center;min-height:42px;padding:8px 10px;font-size:11px;transition:background .1s;display:flex}.week-cal-cell.closed{background:var(--surface-2);color:var(--ink-4)}.week-cal-cell.open{color:var(--ink-4);cursor:pointer;background:#fff}.week-cal-cell.open:hover{background:var(--surface-hover)}.week-cal-cell.booked{background:var(--ink);color:#fff;font-weight:600}.week-cal-cell.booked-other{background:var(--surface-2);color:var(--ink-3);border-left-color:var(--border);font-weight:500}.week-cal-cell.blocked{background:var(--red-bg);color:var(--red);font-size:10px;font-weight:500}.week-cal-cell.break-cell{background:var(--amber-bg);color:var(--amber);cursor:pointer;font-size:10px;font-weight:500}.week-cal-cell.break-cell:hover{background:#fef3c7}.legend-inline{color:var(--ink-3);align-items:center;gap:16px;font-size:12px;display:flex}.legend-inline-item{align-items:center;gap:6px;display:flex}.legend-swatch-sm{border-radius:4px;flex-shrink:0;width:14px;height:14px}.legend-swatch-sm.dashed{border:1.5px dashed var(--border-strong);background:#fff}.legend-swatch-sm.filled{background:var(--ink)}.legend-swatch-sm.muted{background:var(--surface-2)}.landing-hero{min-height:100dvh;padding:calc(80px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-right,0px)) 60px calc(24px + env(safe-area-inset-left,0px));justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.landing-hero-bg{pointer-events:none;background:radial-gradient(80% 50% at 50% -20%,#0a0a0a0a,#0000),radial-gradient(50% 50% at 100% 100%,#0a0a0a05,#0000);position:absolute;inset:0}[data-theme=dark] .landing-hero-bg{background:radial-gradient(80% 50% at 50% -20%,#ffffff0a,#0000),radial-gradient(50% 50% at 100% 100%,#ffffff05,#0000)}.landing-hero-inner{text-align:center;z-index:1;max-width:640px;position:relative}.landing-hero h1{letter-spacing:-.04em;margin:0 0 16px;font-size:48px;font-weight:700;line-height:1.05;animation:.5s ease-out landing-up}.landing-hero .landing-tagline{color:var(--ink-3);max-width:480px;margin:0 auto 40px;font-size:17px;line-height:1.6;animation:.5s ease-out 80ms backwards landing-up}.landing-cta-row{justify-content:center;gap:12px;animation:.5s ease-out .16s backwards landing-up;display:flex}@keyframes landing-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.landing-features{justify-content:center;gap:24px;margin-top:56px;display:flex}.landing-feature{flex-direction:column;align-items:center;gap:8px;max-width:160px;animation:.4s ease-out backwards landing-up;display:flex}.landing-feature:first-child{animation-delay:.2s}.landing-feature:nth-child(2){animation-delay:.3s}.landing-feature:nth-child(3){animation-delay:.4s}.landing-feature-icon{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.04em;border:1px solid var(--border);background:var(--surface);border-radius:999px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:grid}.landing-feature-text{color:var(--ink-3);text-align:center;font-size:12px;line-height:1.5}.landing-stats-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);justify-content:center;gap:48px;padding:48px 24px;display:flex}.landing-stat{text-align:center}.landing-stat-value{letter-spacing:-.03em;font-feature-settings:"tnum" 1;margin-bottom:4px;font-size:28px;font-weight:700}.landing-stat-label{color:var(--ink-3);font-size:13px}.landing-section{max-width:1080px;margin:0 auto;padding:80px 24px}.landing-section-title{letter-spacing:-.03em;text-align:center;margin:0 0 12px;font-size:28px;font-weight:600}.landing-section-sub{color:var(--ink-3);text-align:center;max-width:480px;margin:0 auto 48px;font-size:15px}.landing-services{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.landing-service{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px 24px;transition:border-color .15s,box-shadow .15s,transform .15s}.landing-service:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.landing-service-num{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.04em;margin-bottom:16px;font-size:11px}.landing-service h3{letter-spacing:-.01em;margin:0 0 8px;font-size:16px;font-weight:600}.landing-service p{color:var(--ink-3);margin:0;font-size:13px;line-height:1.6}.landing-cta-card{background:var(--ink);color:#fff;border-radius:var(--r-xl);text-align:center;max-width:640px;box-shadow:var(--shadow-lg);margin:0 auto 80px;padding:56px 40px}[data-theme=dark] .landing-cta-card{background:var(--surface);border:1px solid var(--border);color:var(--ink)}.landing-cta-card h2{letter-spacing:-.03em;margin:0 0 12px;font-size:28px;font-weight:600}.landing-cta-card p{opacity:.7;margin:0 0 32px;font-size:15px;line-height:1.6}.landing-cta-card .btn{color:#0a0a0a;background:#fff;border-color:#fff}.landing-cta-card .btn:hover{background:#e4e4e7}[data-theme=dark] .landing-cta-card .btn{background:var(--ink);color:var(--bg);border-color:var(--ink)}.landing-cta-card .landing-cta-link{color:#fff9;margin-top:16px;font-size:13px;text-decoration:none;display:block}.landing-cta-card .landing-cta-link:hover{color:#ffffffe6}[data-theme=dark] .landing-cta-card .landing-cta-link{color:var(--ink-3)}[data-theme=dark] .landing-cta-card .landing-cta-link:hover{color:var(--ink)}.landing-footer{border-top:1px solid var(--border);padding:24px calc(24px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(24px + env(safe-area-inset-left,0px));color:var(--ink-4);justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;font-size:12px;display:flex}.landing-footer-links{gap:16px;display:flex}.landing-footer-links a{color:var(--ink-3);font-size:12px;text-decoration:none}.landing-footer-links a:hover{color:var(--ink)}@media (max-width:768px){.landing-hero h1{font-size:32px}.landing-hero .landing-tagline{font-size:15px}.landing-cta-row{flex-direction:column;align-items:center}.landing-cta-row .btn{width:100%;max-width:280px}.landing-stats-strip{flex-direction:column;gap:24px;padding:32px 24px}.landing-services{grid-template-columns:1fr}.landing-cta-card{margin:0 16px 40px;padding:40px 24px}.landing-footer{text-align:center;flex-direction:column;gap:12px}.landing-features{flex-direction:column;align-items:center;gap:16px}.landing-feature{flex-direction:row;max-width:100%}.landing-feature-text{text-align:left}}.info-banner{align-items:center;gap:12px;margin-bottom:16px;padding:14px 20px;display:flex}.info-banner-text{flex:1;min-width:0}.info-banner-text .info-title{font-size:13px;font-weight:500}.info-banner-text .info-sub{color:var(--ink-3);margin-top:1px;font-size:12px}.icon-box{border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border);width:36px;height:36px;color:var(--ink-2);flex-shrink:0;place-items:center;display:grid}.icon-box.sm{border-radius:var(--r-sm);width:28px;height:28px}.profile-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:28px;padding-bottom:20px;display:flex}.profile-header .profile-info-name{letter-spacing:-.01em;font-size:16px;font-weight:600}.profile-header .profile-info-email{color:var(--ink-3);margin-top:2px;font-size:13px}.avatar-upload{cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;padding:0;position:relative}.avatar-upload:disabled{cursor:wait;opacity:.7}.avatar-img{object-fit:cover;border-radius:999px;display:block}.avatar-img.avatar-lg{width:56px;height:56px}.avatar-upload-overlay{color:#fff;opacity:0;background:#00000073;border-radius:999px;place-items:center;transition:opacity .15s;display:grid;position:absolute;inset:0}.avatar-upload:hover .avatar-upload-overlay,.avatar-upload:focus-visible .avatar-upload-overlay{opacity:1}.drawer-btns{gap:10px;width:100%;display:flex}.drawer-btns .btn{flex:1;justify-content:center}.drawer-btns-spread{align-items:center;gap:8px;width:100%;display:flex}.drawer-btns-spread .btn-danger{margin-right:auto}.detail-grid{grid-template-columns:1fr 1fr;gap:12px 24px;margin-bottom:24px;display:grid}.progress-mini{background:var(--surface-2);border-radius:3px;flex-shrink:0;width:80px;height:6px;overflow:hidden}.progress-mini-fill{border-radius:3px;height:100%}.day-picker{gap:8px;display:flex}.day-btn{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--ink-3);cursor:pointer;font-size:12px;font-weight:500;transition:all .12s}.day-btn:hover{border-color:var(--border-strong)}.day-btn.active{border-color:var(--ink);background:var(--ink);color:#fff}.cost-box{background:var(--surface-2);border-radius:var(--r-sm);color:var(--ink-2);margin-top:16px;padding:12px 14px;font-size:13px}.card-sticky{position:sticky;top:80px}.grid-2-wide{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}@media (max-width:1024px){.grid-2-wide{grid-template-columns:1fr}}.preset-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.preset-btn{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);cursor:pointer;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;transition:border-color .12s,background .12s;display:flex}.preset-btn:hover{border-color:var(--border-strong)}.preset-btn.active{border-width:2px;border-color:var(--ink);background:var(--surface-2)}.preset-swatches{gap:5px;display:flex}.preset-swatch{border:1px solid var(--border);border-radius:5px;width:20px;height:20px}.preset-name{color:var(--ink-2);font-size:12px;font-weight:500}.preset-btn.active .preset-name{color:var(--ink)}.preset-list-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 20px;display:flex}.preset-list-item:last-child{border-bottom:none}.preset-list-colors{gap:4px;display:flex}.preset-list-color{border:1px solid var(--border);border-radius:5px;width:24px;height:24px}.preset-list-name{flex:1;font-size:14px;font-weight:500}.form-footer{border-top:1px solid var(--border);justify-content:flex-end;margin-top:24px;padding-top:20px;display:flex}.credit-hero{letter-spacing:-.03em;font-feature-settings:"tnum" 1;margin-top:4px;font-size:36px;font-weight:700;line-height:1.1}.credit-hero .credit-unit{color:var(--ink-3);margin-left:8px;font-size:14px;font-weight:400}.max-w-md{max-width:760px}.btn-back{color:var(--ink-3);margin-bottom:16px}.btn-back:hover{color:var(--ink)}.btn-block{justify-content:center;width:100%}.muted{color:var(--ink-3)}.mono{font-family:var(--font-mono)}.row-flex{align-items:center;gap:10px;display:flex}.row-start{align-items:flex-start;gap:12px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.col-flex{flex-direction:column;gap:16px;display:flex}.gap-sm{gap:8px}.gap-lg{gap:24px}.mb-0{margin-bottom:0}hr.div{border:0;border-top:1px solid var(--border);margin:16px 0}.dim{color:var(--ink-3)}.dimmer{color:var(--ink-4)}.text-xs{font-size:12px}.text-sm{font-size:13px}.m-0{margin:0}.mt-0{margin-top:0}.mt-sm{margin-top:12px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.mt-md{margin-top:16px}.fw-500{font-weight:500}.gap-xs{gap:4px}.flex-wrap{flex-wrap:wrap}.toast{bottom:calc(24px + env(safe-area-inset-bottom,0px));right:calc(24px + env(safe-area-inset-right,0px));background:var(--ink);color:#fff;border-radius:var(--r);box-shadow:var(--shadow-lg);z-index:9999;padding:12px 20px;font-size:13px;font-weight:500;animation:.2s ease-out toast-in;position:fixed}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.project-tile{transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition)}.project-tile:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-1px)}.btn:active{transform:scale(.98)}.icon-btn:active{transform:scale(.95)}.btn:focus-visible,.icon-btn:focus-visible,.input:focus-visible,select:focus-visible,textarea:focus-visible,.chip:focus-visible,.tab:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-hover) 37%, var(--surface-2) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.4s infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:100%}to{background-position:0}}.sidebar-overlay{z-index:98;opacity:0;background:#0006;transition:opacity .2s;display:none;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;display:block}.hamburger-btn{display:none}@media (max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.content{padding:24px 24px 48px}.drawer{width:420px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-actions{width:100%}.pipeline{grid-template-columns:repeat(3,1fr)}.legend-inline{gap:12px;font-size:11px}}@media (max-width:768px){.app{grid-template-columns:1fr}.sidebar{z-index:99;width:280px;box-shadow:none;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));padding-left:calc(14px + env(safe-area-inset-left,0px));height:100dvh;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}body.sidebar-open .sidebar{box-shadow:var(--shadow-lg);transform:translate(0)}body.sidebar-open .sidebar-overlay{opacity:1;display:block}.hamburger-btn{border-radius:var(--r-sm);cursor:pointer;width:36px;height:36px;color:var(--ink);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.topbar{padding:env(safe-area-inset-top,0px) calc(16px + env(safe-area-inset-right,0px)) 0 calc(16px + env(safe-area-inset-left,0px));gap:8px}.search,.kbd{display:none}.crumb{gap:4px;font-size:12px}.crumb>.crumb-hide-mobile{display:none}.content{padding:16px calc(16px + env(safe-area-inset-right,0px)) calc(40px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));max-width:100%}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.page-title{font-size:22px}.page-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.page-actions .btn{flex:1;justify-content:center;min-width:0}.card{border-radius:var(--r)}.card-head{padding:12px 16px}.card-body{padding:16px}.card-pad-lg{padding:20px}.stat{padding:14px}.stat-value{font-size:22px}.drawer{width:100%;max-width:100%;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:0}.table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.table thead,.table tbody,.table tr{min-width:600px}.btn{min-height:44px;padding:10px 14px;font-size:14px}.btn-sm{min-height:36px;padding:8px 10px}.input,select,textarea{min-height:44px;padding:10px 12px;font-size:14px}.cal-grid{grid-auto-rows:minmax(96px,auto);gap:1px}.cal-cell{flex-direction:column;gap:4px;min-height:96px;padding:6px 4px;display:flex;overflow:hidden}.cal-day{margin-bottom:0;font-size:10px}.cal-event{text-align:center;justify-content:center;margin-bottom:0;padding:2px 0;font-size:10px}.cal-event-time{display:none}.cal-header{padding:6px 2px;font-size:10px}.cal-month{font-size:15px}.cal-status-chip{padding:2px 4px;font-size:9px}.cal-cell-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.cal-cell-chips .discount-badge{padding:0 3px;font-size:8px;position:absolute;top:-2px;right:-2px}.chip-group{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.chip{white-space:nowrap;flex-shrink:0}.tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tab{white-space:nowrap;flex-shrink:0}.row-between{flex-direction:column;align-items:flex-start;gap:12px}.field-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.user-row{gap:8px}.user-email{display:none}.role-bar{top:8px;right:8px}.swatch-row{flex-wrap:wrap}.pipeline{grid-template-columns:repeat(2,1fr);gap:8px}.pipe-label{font-size:10px}.workflow-stepper{flex-wrap:wrap;gap:8px}.workflow-step{flex:none;min-width:60px}.workflow-line{display:none}.workflow-icon{width:28px;height:28px}.workflow-label{font-size:10px}.grid-4{grid-template-columns:repeat(2,1fr);gap:10px}.auth-form{padding:20px}.auth-form .auth-fields-row{grid-template-columns:1fr}.legend-inline{flex-wrap:wrap;gap:10px}.week-cal-cell{min-height:36px;padding:6px 4px;font-size:10px}.week-cal-header{padding:8px 4px;font-size:10px}.week-cal-time{padding:8px 6px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.content{animation:none}.project-tile:hover,.btn:active,.icon-btn:active{transform:none}}.auth-split{grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.auth-split-brand{background:var(--ink);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex;position:relative;overflow:hidden}.auth-split-brand:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 80%,#ffffff0f,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0a,#0000 50%);position:absolute;inset:0}[data-theme=dark] .auth-split-brand{background:var(--surface);border-right:1px solid var(--border)}.auth-split-brand-inner{z-index:1;position:relative}.auth-split-brand-inner .logo-mark{color:var(--ink);background:#fff;margin:0 0 24px}[data-theme=dark] .auth-split-brand-inner .logo-mark{background:var(--ink);color:var(--bg)}.auth-split-brand-inner h2{letter-spacing:-.03em;margin:0 0 8px;font-size:28px;font-weight:600}.auth-split-brand-inner p{opacity:.6;margin:0;font-size:15px;line-height:1.5}.auth-split-brand-features{z-index:1;flex-direction:column;gap:16px;margin-top:48px;display:flex;position:relative}.auth-brand-feature{opacity:.7;align-items:center;gap:12px;font-size:14px;display:flex}.auth-brand-num{font-family:var(--font-mono);opacity:.5;letter-spacing:.04em;border:1px solid #fff3;border-radius:999px;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:11px;display:grid}[data-theme=dark] .auth-brand-num{border-color:var(--border)}.auth-split-form{background:var(--bg);justify-content:center;align-items:center;padding:40px;display:flex}.auth-mobile-logo{display:none}@media (max-width:768px){.auth-split{grid-template-columns:1fr}.auth-split-brand{display:none}.auth-mobile-logo{display:grid}}.funnel-layout{grid-template-columns:1fr 380px;gap:0;min-height:calc(100dvh - 56px);margin:-32px -40px -64px;display:grid}.funnel-main{flex-direction:column;max-width:720px;padding:48px 56px 64px;display:flex}.funnel-sidebar{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;height:calc(100dvh - 56px);padding:32px 28px;display:flex;position:sticky;top:56px;overflow-y:auto}.funnel-progress{gap:6px;margin-bottom:40px;display:flex}.funnel-progress-step{background:var(--border);border-radius:2px;flex:1;height:3px;transition:background .3s}.funnel-progress-step.done,[data-theme=dark] .funnel-progress-step.done{background:var(--ink)}.funnel-progress-step.active{background:var(--ink);animation:1.5s ease-in-out infinite funnel-pulse}@keyframes funnel-pulse{0%,to{opacity:1}50%{opacity:.5}}.funnel-step-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);margin-bottom:8px;font-size:11px}.funnel-step-title{letter-spacing:-.025em;margin:0 0 8px;font-size:24px;font-weight:600}.funnel-step-desc{color:var(--ink-3);margin:0 0 32px;font-size:14px;line-height:1.5}.funnel-options{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:32px;display:grid}.funnel-option{border:1.5px solid var(--border);border-radius:var(--r-lg);cursor:pointer;background:var(--surface);text-align:left;flex-direction:column;gap:4px;padding:20px 18px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.funnel-option:hover{border-color:var(--border-strong);background:var(--surface-2)}.funnel-option.selected{border-color:var(--ink);background:var(--surface-2);box-shadow:0 0 0 1px var(--ink)}[data-theme=dark] .funnel-option.selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.funnel-option-icon{margin-bottom:8px;font-size:24px}.funnel-option-title{letter-spacing:-.01em;font-size:15px;font-weight:600}.funnel-option-desc{color:var(--ink-3);font-size:12px;line-height:1.4}.funnel-option-price{font-family:var(--font-mono);color:var(--ink-2);margin-top:8px;font-size:13px;font-weight:600}.funnel-date-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:24px;display:grid}.funnel-day-header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4);text-align:center;padding:4px 0;font-size:10px}.funnel-day{aspect-ratio:1;border-radius:var(--r);border:1px solid var(--border);background:var(--surface);cursor:pointer;place-items:center;font-size:13px;font-weight:500;transition:all .12s;display:grid}.funnel-day:hover:not(.disabled):not(.empty){border-color:var(--border-strong);background:var(--surface-2)}.funnel-day.selected{background:var(--ink);color:#fff;border-color:var(--ink)}[data-theme=dark] .funnel-day.selected{background:var(--ink);color:var(--bg)}.funnel-day.disabled{opacity:.3;cursor:not-allowed}.funnel-day.empty{cursor:default;border-color:#0000}.funnel-day.today{border-color:var(--ink)}.funnel-time-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.funnel-time{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);text-align:center;font-family:var(--font-mono);cursor:pointer;padding:12px;font-size:14px;font-weight:500;transition:all .12s}.funnel-time:hover{border-color:var(--border-strong);background:var(--surface-2)}.funnel-time.selected{background:var(--ink);color:#fff;border-color:var(--ink)}[data-theme=dark] .funnel-time.selected{background:var(--ink);color:var(--bg)}.funnel-time.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.funnel-upsells{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.funnel-upsell{border:1.5px solid var(--border);border-radius:var(--r-lg);cursor:pointer;background:var(--surface);align-items:center;gap:14px;padding:16px 18px;transition:border-color .15s,background .15s;display:flex}.funnel-upsell:hover{border-color:var(--border-strong);background:var(--surface-2)}.funnel-upsell.selected{border-color:var(--ink);background:var(--surface-2);box-shadow:0 0 0 1px var(--ink)}.funnel-upsell-check{border-radius:var(--r-sm);border:1.5px solid var(--border-strong);color:#0000;flex-shrink:0;place-items:center;width:22px;height:22px;transition:all .12s;display:grid}.funnel-upsell.selected .funnel-upsell-check{background:var(--ink);border-color:var(--ink);color:#fff}[data-theme=dark] .funnel-upsell.selected .funnel-upsell-check{background:var(--ink);color:var(--bg)}.funnel-upsell-info{flex:1;min-width:0}.funnel-upsell-name{font-size:14px;font-weight:500}.funnel-upsell-desc{color:var(--ink-3);margin-top:2px;font-size:12px}.funnel-upsell-price{font-family:var(--font-mono);flex-shrink:0;font-size:14px;font-weight:600}.funnel-nav{justify-content:space-between;align-items:center;margin-top:auto;padding-top:32px;display:flex}.funnel-text-field{margin-bottom:24px}.funnel-text-label{color:var(--ink-3);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.funnel-text-input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);width:100%;color:var(--ink);resize:vertical;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .15s}.funnel-text-input:focus{border-color:var(--ink);outline:none}.funnel-section-label{color:var(--ink-3);margin-top:8px;margin-bottom:12px;font-size:13px;font-weight:600}.receipt-divider{background:var(--border);height:1px;margin:16px 0}.receipt-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);margin-bottom:20px;font-size:11px}.receipt-section{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.receipt-section:last-of-type{border-bottom:none;margin-bottom:0}.receipt-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4);font-size:11px;font-family:var(--font-mono);margin-bottom:4px}.receipt-value{color:var(--ink);font-size:14px;font-weight:500}.receipt-value.placeholder{color:var(--ink-4);font-style:italic;font-weight:400}.receipt-line{justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.receipt-line-label{color:var(--ink-2)}.receipt-line-value{font-family:var(--font-mono);font-weight:500}.receipt-total{border-top:2px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding:16px 0 0;font-size:16px;font-weight:600;display:flex}.receipt-total-value{font-family:var(--font-mono);letter-spacing:-.02em;font-size:22px;font-weight:700}.funnel-cal-nav{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.funnel-cal-month{letter-spacing:-.01em;font-size:16px;font-weight:600}.funnel-cal-arrows{gap:4px;display:flex}.funnel-cal-arrow{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--ink-2);place-items:center;transition:background .1s;display:grid}.funnel-cal-arrow:hover{background:var(--surface-2)}@media (max-width:1024px){.funnel-layout{grid-template-columns:1fr;min-height:auto;margin:0}.funnel-sidebar{display:none}.funnel-layout[data-step=checkout] .funnel-sidebar{border-left:0;border-top:1px solid var(--border);z-index:20;border-radius:var(--r-xl) var(--r-xl) 0 0;height:auto;max-height:50dvh;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -4px 24px #0000001a}.funnel-main{max-width:100%;padding:32px 32px 64px}.funnel-layout[data-step=checkout] .funnel-main{padding-bottom:200px}}@media (max-width:768px){.funnel-layout{margin:0}.funnel-main{padding:24px 20px 56px}.funnel-layout[data-step=checkout] .funnel-main{padding-bottom:200px}.funnel-progress{margin-bottom:28px}.funnel-options{grid-template-columns:1fr;gap:10px}.funnel-option{padding:16px 14px}.funnel-time-grid{grid-template-columns:repeat(2,1fr)}.funnel-step-title{font-size:20px}.funnel-step-desc{margin-bottom:24px}.funnel-date-grid{gap:4px}.funnel-day{font-size:12px}.funnel-day-header{font-size:9px}.funnel-upsell{gap:12px;padding:14px}.funnel-nav{gap:12px;padding-top:24px}.funnel-layout[data-step=checkout] .funnel-sidebar{padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px))}}@media (max-width:480px){.funnel-main{padding:20px 16px 48px}.funnel-cal-month{font-size:14px}.funnel-day{font-size:11px}.funnel-time{padding:10px 8px;font-size:13px}}.cal-event.promo{background:var(--green-bg);border:1px dashed var(--green-bd);color:var(--green);font-weight:500}.cal-event.promo:hover{border-style:solid;border-color:var(--green)}.discount-badge{border-radius:var(--r-sm);background:var(--green-bg);border:1px solid var(--green-bd);color:var(--green);white-space:nowrap;align-items:center;gap:2px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.promo-banner{border-radius:var(--r);background:var(--green-bg);border:1px solid var(--green-bd);color:var(--green);align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:13px;line-height:1.4;display:flex}.promo-banner-icon{background:var(--green);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}[data-theme=dark] .promo-banner-icon{color:var(--bg)}.promo-banner-text{flex:1;min-width:0}.promo-banner-text strong{font-weight:600}.promo-banner .btn{flex-shrink:0}.price-original{color:var(--ink-4);margin-right:4px;font-size:12px;text-decoration:line-through}.price-discounted{color:var(--green);font-weight:600}.week-cal-cell.promo{background:var(--green-bg);border-left-color:var(--green-bd);cursor:pointer;color:var(--green);font-weight:500}.funnel-day.has-discount{position:relative}.funnel-day.has-discount:after{content:"";background:var(--green);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.funnel-time.has-discount{border-color:var(--green-bd);background:var(--green-bg);position:relative}.funnel-time.has-discount:after{content:attr(data-discount);color:var(--green);font-size:9px;font-weight:700;position:absolute;top:2px;right:4px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] ::selection{color:var(--ink);background:#ffffff26}[data-theme=dark] .btn.btn-primary{color:#09090b;background:#fafafa;border-color:#fafafa}[data-theme=dark] .btn.btn-primary:hover{background:#e4e4e7}[data-theme=dark] .nav-item.active:before{background:#fafafa}[data-theme=dark] .icon-btn.active{color:#09090b;background:#fafafa;border-color:#fafafa}[data-theme=dark] .toggle:after{background:#27272a;box-shadow:0 1px 2px #0006}[data-theme=dark] .toggle.on{background:#fafafa}[data-theme=dark] .toggle.on:after{background:#09090b}[data-theme=dark] .radio-group button.active{background:var(--surface);color:var(--ink)}[data-theme=dark] .chip.active{color:#09090b;background:#fafafa;border-color:#fafafa}[data-theme=dark] .chip.active:hover{background:#e4e4e7}[data-theme=dark] .role-bar a.active,[data-theme=dark] .role-bar button.active,[data-theme=dark] .cal-cell.today .cal-day{color:#09090b;background:#fafafa}[data-theme=dark] .cal-event.booked{color:#09090b;background:#fafafa;border-color:#fafafa}[data-theme=dark] .week-cal-cell.booked,[data-theme=dark] .toast{color:#09090b;background:#fafafa}[data-theme=dark] .project-thumb-label{color:var(--ink-2);background:#111113e6}[data-theme=dark] .search .kbd{background:var(--surface-2)}[data-theme=dark] .table tbody tr:nth-child(2n){background:#ffffff05}[data-theme=dark] .dots-row .dot.l1{background:#27272a}[data-theme=dark] .dots-row .dot.l2{background:#3f3f46}[data-theme=dark] .dots-row .dot.l3{background:#71717a}[data-theme=dark] .dots-row .dot.l4{background:#fafafa}[data-theme=dark] .skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-hover) 37%, var(--surface-2) 63%);background-size:400% 100%}[data-theme=dark] .logo-mark{color:#09090b;background:#fafafa}[data-theme=dark] .avatar{background:linear-gradient(135deg,#3f3f46,#71717a)}[data-theme=dark] .avatar-admin{background:linear-gradient(135deg,#fafafa,#a1a1aa)}[data-theme=dark] .icon-btn .dot{border-color:var(--surface)}[data-theme=dark] .day-btn.active{color:#09090b;background:#fafafa;border-color:#fafafa}[data-theme=dark] .bar{background:#fafafa}[data-theme=dark] .bar.muted{background:#3f3f46}[data-theme=dark] .project-thumb{background:repeating-linear-gradient(135deg,#1a1a1d 0 12px,#222225 12px 24px)}[data-theme=dark] .placeholder{background:repeating-linear-gradient(135deg,#0000 0 12px,#ffffff04 12px 24px)}[data-theme=dark] .week-cal-cell.open{background:var(--surface)}[data-theme=dark] .pipe-dot{background:#09090b}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);z-index:1001;width:90%;max-width:480px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000026}.modal-head{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.modal-head h3{margin:0;font-size:16px;font-weight:600}.modal-body{padding:20px 24px}.modal-body .alert{align-items:flex-start}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.alert.amber{background:var(--amber-bg);border:1px solid var(--amber-bd);color:var(--amber);align-items:flex-start}.alert.amber strong{margin-bottom:2px;display:block}.card-danger{border-color:var(--red-bd)}.rgpd-data-list{flex-direction:column;gap:10px;display:flex}.rgpd-data-item{align-items:flex-start;gap:10px;font-size:13px;display:flex}.rgpd-data-item svg{color:var(--ink-3);flex-shrink:0;margin-top:2px}.rgpd-data-item strong{color:var(--ink);font-size:13px;font-weight:600;display:block}.rgpd-data-item span{color:var(--ink-3);font-size:12px;line-height:1.4;display:block}.card-title{align-items:center;margin:0;font-size:15px;font-weight:600;display:flex}@media (display-mode:standalone){body{-webkit-user-select:none;user-select:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}input,textarea,[contenteditable],.content,.drawer-body,.modal-body{-webkit-user-select:auto;user-select:auto}}@supports (-webkit-touch-callout:none){html,body{overscroll-behavior-y:none}.main{overscroll-behavior-y:auto}.sidebar-nav,.drawer-body{overscroll-behavior:contain}a,button,.nav-item,.btn,.chip,.tab{touch-action:manipulation}}.analyse-tab{flex-direction:column;gap:16px;display:flex}.analyse-stats{grid-template-columns:auto 1fr;gap:16px;display:grid}.analyse-stat-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.analyse-stat-value{color:var(--ink);font-size:28px;font-weight:700}.analyse-stat-subject{color:var(--ink);font-size:14px;line-height:1.5}.word-cloud{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:16px 0;display:flex}.word-cloud-item{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--ink-2);cursor:default;padding:4px 10px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-block}.word-cloud-item:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.word-cloud-item.weight-1{font-size:11px}.word-cloud-item.weight-2{font-size:13px}.word-cloud-item.weight-3{font-size:15px;font-weight:600}.word-cloud-item.weight-4{color:var(--ink);font-size:18px;font-weight:600}.word-cloud-item.weight-5{color:var(--ink);font-size:22px;font-weight:700}.timecode-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;display:flex}.timecode-row:last-child{border-bottom:0}.timecode-time{font-family:var(--font-mono);color:var(--ink-3);background:var(--surface-2);border-radius:var(--r-sm);flex-shrink:0;padding:3px 8px;font-size:12px}.timecode-label{color:var(--ink);font-size:13px}.passage-row{border-bottom:1px solid var(--border);padding:14px 16px}.passage-row:last-child{border-bottom:0}.passage-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.passage-text{color:var(--ink-2);margin:0;font-size:13px;line-height:1.6}.chat-container{background:0 0;flex-direction:column;height:500px;min-height:0;display:flex}.chat-messages{flex-direction:column;flex:1;gap:12px;width:100%;max-width:760px;margin:0 auto;padding:20px 20px 96px;display:flex;overflow-y:auto}.chat-bubble{border-radius:var(--r-lg);word-break:break-word;overflow-wrap:anywhere;max-width:75%;padding:10px 14px;font-size:13px;line-height:1.5}.chat-bubble.user{background:var(--ink);color:#fff;border-bottom-right-radius:var(--r-sm);align-self:flex-end}.chat-bubble.assistant{color:var(--ink);border-bottom-left-radius:var(--r-sm);background:0 0;border:none;align-self:flex-start}.chat-bubble-time{color:var(--ink-4);font-size:10px;font-family:var(--font-mono);margin-top:4px}.chat-bubble.user .chat-bubble-time{color:#ffffff80}.chat-bubble.streaming>div:first-child:after{content:"▊";color:var(--accent);margin-left:1px;animation:.7s step-end infinite cursor-blink}@keyframes cursor-blink{50%{opacity:0}}.chat-typing{align-self:flex-start;gap:4px;padding:10px 20px;display:flex}.chat-typing span{background:var(--ink-4);border-radius:999px;width:6px;height:6px;animation:1.2s ease-in-out infinite dot-pulse}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}.chat-composer{flex-shrink:0;justify-content:center;padding:12px 16px 20px;display:flex}.chat-composer-pill{background:var(--surface);border:1px solid var(--border);width:100%;max-width:760px;box-shadow:var(--shadow-sm);border-radius:9999px;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.chat-composer-plus{width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}.chat-composer-plus:hover{background:var(--bg)}.chat-composer-input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:8px 4px;font-size:14px}.chat-composer-input::placeholder{color:var(--ink-4)}.chat-composer-input:disabled{cursor:not-allowed}.chat-composer-mic{width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}.chat-composer-mic:hover{background:var(--bg)}.chat-composer-voice{background:var(--bg);border:1px solid var(--border);height:36px;color:var(--ink);cursor:pointer;border-radius:9999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .12s;display:inline-flex}.chat-composer-voice:hover{background:var(--border)}.chat-composer-send{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .12s;display:inline-flex}.chat-composer-send:disabled{opacity:.4;cursor:not-allowed}.chat-error{color:var(--red);background:var(--red-bg);flex-shrink:0;padding:8px 20px;font-size:12px}.chat-empty{color:var(--ink-4);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.chat-empty svg{opacity:.3}.chat-empty p{margin:0;font-size:13px}@media (max-width:768px){.analyse-stats{grid-template-columns:1fr}.chat-container{height:60dvh}.chat-bubble{max-width:85%}.chat-composer{padding:8px 8px 12px}.chat-messages{padding:14px 14px 80px}}.nav-conversations{flex-direction:column;gap:1px;margin-top:2px;margin-bottom:4px;padding-left:28px;display:flex}.nav-conv-item{border-radius:var(--r-sm);color:var(--ink-4);white-space:nowrap;text-overflow:ellipsis;padding:4px 10px;font-size:12px;font-weight:400;text-decoration:none;transition:background .12s,color .12s;display:block;overflow:hidden}.nav-conv-item:hover{background:var(--surface-2);color:var(--ink-2)}.nav-conv-item.active{color:var(--ink);background:var(--surface-2)}.conv-list{flex-direction:column;gap:8px;display:flex}.conv-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--ink);align-items:center;gap:14px;padding:14px 18px;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:flex}.conv-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.conv-card-icon{color:var(--ink-4);flex-shrink:0}.conv-card-content{flex:1;min-width:0}.conv-card-title{margin-bottom:2px;font-size:14px;font-weight:500}.conv-card-preview{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.conv-card-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.conv-card-meta{color:var(--ink-4);font-size:11px;font-family:var(--font-mono)}.conv-card-count{color:var(--ink-4);font-size:11px}.chat-page{gap:20px;height:calc(100dvh - 140px);display:flex;overflow:hidden}.chat-page .chat-container{flex:1;height:100%}.chat-project-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:12px;width:280px;padding:20px;display:flex}.chat-project-panel-header{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.chat-project-panel-name{color:var(--ink);font-size:14px;font-weight:500}@media (max-width:768px){.chat-page{height:calc(100dvh - 112px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));flex-direction:column;gap:12px}.chat-page .chat-container{flex:1;height:auto;min-height:0}.chat-project-panel{flex-flow:wrap;flex-shrink:0;align-items:center;gap:8px;width:100%;padding:10px 12px}.chat-project-panel-header{font-size:11px}.chat-project-panel-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.chat-project-panel .btn{margin-left:auto}.conv-card{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px}.conv-card-right{flex-flow:wrap;align-items:center;gap:8px;width:100%}.conv-card-preview{white-space:normal;-webkit-line-clamp:2;text-overflow:clip;-webkit-box-orient:vertical;display:-webkit-box}}.social-tab{flex-direction:column;gap:24px;display:flex}.social-formats{gap:10px;display:flex}.social-format-btn{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--ink-3);cursor:pointer;transition:all var(--transition-fast);flex:1;align-items:center;gap:10px;padding:12px 16px;display:flex}.social-format-btn:hover{border-color:var(--ink-4);color:var(--ink)}.social-format-btn.active{border-color:var(--ink);color:var(--ink);background:var(--bg-hover)}.social-format-info{text-align:left;flex-direction:column;gap:2px;display:flex}.social-format-label{font-size:13px;font-weight:550;line-height:1.2}.social-format-ratio{font-family:var(--font-geist-mono);opacity:.6;font-size:11px}.social-folder{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.social-folder-header{border-bottom:1px solid var(--border);color:var(--ink);align-items:center;gap:8px;padding:14px 18px;display:flex}.social-folder-header h4{margin:0;font-size:14px;font-weight:600}.social-folder-count{font-family:var(--font-geist-mono);color:var(--ink-4);margin-left:auto;font-size:11px}.social-folder .grid-3{padding:16px}.social-folder-empty{color:var(--ink-4);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;display:flex}.social-folder-empty p{margin:0;font-size:13px;line-height:1.5}@media (max-width:768px){.social-formats{flex-direction:column}}.tutorial-overlay{z-index:10000;background:#0a0a0a80;transition:clip-path .22s cubic-bezier(.2,.8,.2,1);animation:.15s ease-out fade;position:fixed;inset:0}[data-theme=dark] .tutorial-overlay{background:#000000a6}.tutorial-tooltip{z-index:10003;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:320px;box-shadow:var(--shadow-lg);padding:20px;animation:.22s cubic-bezier(.2,.8,.2,1) tutorial-tooltip-in;position:fixed}@keyframes tutorial-tooltip-in{0%{opacity:0;transform:translateY(4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.tutorial-tooltip-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tutorial-tooltip-step{font-family:var(--font-geist-mono);color:var(--ink-4);letter-spacing:.03em;font-size:11px}.tutorial-tooltip-close{width:24px;height:24px;color:var(--ink-4);border-radius:var(--r-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;display:flex}.tutorial-tooltip-close:hover{background:var(--bg-hover);color:var(--ink)}.tutorial-tooltip h4{letter-spacing:-.015em;color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:600}.tutorial-tooltip p{color:var(--ink-2);margin:0 0 16px;font-size:13px;line-height:1.5}.tutorial-progress{margin-bottom:14px}.tutorial-progress-bar{background:var(--border);border-radius:999px;height:3px;overflow:hidden}.tutorial-progress-fill{background:var(--ink);border-radius:999px;height:100%;transition:width .3s cubic-bezier(.2,.8,.2,1)}[data-theme=dark] .tutorial-progress-fill{background:var(--violet)}.tutorial-tooltip-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.tutorial-btn{border-radius:var(--r-sm);color:var(--violet);background:var(--violet-bg);cursor:pointer;text-align:left;border:0;align-items:center;gap:10px;width:100%;margin-bottom:4px;padding:8px 10px;font-size:13px;font-weight:500;transition:background .12s,opacity .12s;display:flex}.tutorial-btn:hover{background:var(--violet-bd)}.tutorial-btn .pulse-dot{background:var(--violet);border-radius:999px;width:6px;height:6px;margin-left:auto;animation:2s ease-in-out infinite dot-pulse}.tutorial-loading{z-index:10001;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tutorial-loading-dot{background:var(--surface);border-radius:999px;width:10px;height:10px;animation:1.2s ease-in-out infinite dot-pulse}@media (max-width:768px){.tutorial-tooltip{width:calc(100vw - 32px);right:16px;left:16px!important}}.chat-toggle-btn{bottom:calc(16px + env(safe-area-inset-bottom,0px));left:calc(14px + env(safe-area-inset-left,0px));width:calc(240px - 28px - env(safe-area-inset-left,0px));border-radius:var(--r);color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;text-align:left;z-index:41;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:flex;position:fixed}.chat-toggle-btn:hover{background:var(--surface-hover);color:var(--ink);border-color:var(--border-strong)}.chat-toggle-btn.active{color:#fff;background:var(--ink);border-color:var(--ink)}.chat-panel{background:var(--surface);border-right:1px solid var(--border);z-index:40;opacity:0;pointer-events:none;width:360px;height:100dvh;transition:transform var(--transition-slow) ease, opacity var(--transition-slow) ease;flex-direction:column;display:flex;position:fixed;top:0;left:240px;transform:translate(-100%)}.chat-panel.open{opacity:1;pointer-events:auto;transform:translate(0)}.chat-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 14px 14px 18px;display:flex}.chat-panel-title{color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.chat-panel-header-actions{align-items:center;gap:2px;display:flex}.chat-panel-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.chat-panel-empty{color:var(--ink-4);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.chat-panel-empty svg{opacity:.25}.chat-panel-empty p{margin:0;font-size:13px;line-height:1.5}.chat-panel-input{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:12px 14px;display:flex}.chat-panel-input .input{border:1px solid var(--border);border-radius:var(--r);background:var(--bg);color:var(--ink);outline:none;flex:1;padding:8px 12px;font-size:13px;transition:border-color .12s}.chat-panel-input .input:focus{border-color:var(--ink-3)}.chat-panel-input .input::placeholder{color:var(--ink-4)}.chat-panel-error{color:var(--red);background:var(--red-bg);flex-shrink:0;padding:8px 14px;font-size:12px}.chat-panel-typing{align-self:flex-start;gap:4px;padding:10px 14px;display:flex}.chat-panel-typing span{background:var(--ink-4);border-radius:999px;width:6px;height:6px;animation:1.2s ease-in-out infinite dot-pulse}.chat-panel-typing span:nth-child(2){animation-delay:.15s}.chat-panel-typing span:nth-child(3){animation-delay:.3s}@media (max-width:768px){.chat-panel{z-index:97;width:100%;left:0}.chat-toggle-btn{display:none}}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline\!{display:inline!important}.table{display:table}.table\!{display:table!important}.h-6{height:calc(var(--spacing) * 6)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.max-w-md{max-width:var(--container-md)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-blue-100{background-color:var(--color-blue-100)}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing) * 0)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.text-blue-700{color:var(--color-blue-700)}.text-gray-500{color:var(--color-gray-500)}.text-gray-900{color:var(--color-gray-900)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
