:root{--blue: #4a86d4;--blue-dim: rgba(74, 134, 212, .14);--teal: #3fbcc4;--teal-dim: rgba(63, 188, 196, .14);--yellow: #e0b400;--yellow-dim: rgba(224, 180, 0, .14);--red: #ee5a44;--red-dim: rgba(238, 90, 68, .14);--bg: #0a0b0d;--surface: #16171b;--surface-raised: #1c1e23;--surface-hover: #212329;--ink: #f2f3f5;--ink-soft: #a8acb5;--ink-faint: #6b6f78;--line: #26282e;--line-soft: #1e2025;--white: #ffffff;--font-display: "Raleway", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 8px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .24);--gradient-brand: linear-gradient( 90deg, var(--blue) 0%, var(--blue) 25%, var(--teal) 25%, var(--teal) 50%, var(--yellow) 50%, var(--yellow) 75%, var(--red) 75%, var(--red) 100% )}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);margin:0}h1{font-size:26px;font-weight:500;letter-spacing:.01em}h2{font-size:19px;font-weight:600}h3{font-size:13px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}input,textarea,select{font-family:var(--font-body);font-size:14px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line)}input::placeholder,textarea::placeholder{color:var(--ink-faint)}code,.mono{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.top-header{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:60px;background:var(--bg);border-bottom:1px solid var(--line)}.brand-lockup{display:flex;align-items:baseline;gap:10px}.brand-wordmark{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.01em;color:var(--white)}.brand-section-label{font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--ink-faint);text-transform:uppercase}.gradient-bar{height:3px;background:var(--gradient-brand)}.app-shell{min-height:100vh;background:var(--bg)}.app-body{display:flex}.sidebar{width:232px;flex-shrink:0;padding:24px 16px;display:flex;flex-direction:column;gap:22px;min-height:calc(100vh - 63px);border-right:1px solid var(--line)}.nav-group-label{font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;padding:0 10px;margin-bottom:8px}.nav-group{display:flex;flex-direction:column;gap:6px}.nav-link{display:block;padding:11px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);border-left:3px solid transparent;color:var(--ink-soft);text-decoration:none;font-size:13.5px;font-weight:500;transition:background .12s ease,border-color .12s ease,color .12s ease}.nav-link:hover{background:var(--surface-hover);color:var(--ink)}.nav-link.active{background:var(--surface-raised);border-left-color:var(--group-accent, var(--blue));color:var(--white)}.sidebar-footer{margin-top:auto}.main{flex:1;padding:40px 48px;max-width:1100px}.page-header{margin-bottom:32px;display:flex;align-items:baseline;justify-content:space-between;gap:16px}.page-header p{color:var(--ink-soft);font-size:14px;margin:6px 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px 24px}.card+.card{margin-top:16px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--surface);border:1px solid var(--line);border-left-width:3px;border-radius:var(--radius)}.list-item+.list-item{margin-top:8px}.accent-deck{border-left-color:var(--blue)}.accent-business_card{border-left-color:var(--teal)}.accent-brochure{border-left-color:var(--yellow)}.list-item-main{display:flex;flex-direction:column;gap:3px}.list-item-title{font-weight:600;font-size:14.5px;color:var(--white)}.list-item-meta{font-size:12.5px;color:var(--ink-faint)}.list-item-actions{display:flex;gap:8px;flex-shrink:0}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:600;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-pending{background:var(--yellow-dim);color:var(--yellow)}.pill-approved{background:var(--teal-dim);color:var(--teal)}.pill-rejected{background:var(--red-dim);color:var(--red)}.pill-draft{background:var(--line-soft);color:var(--ink-faint)}.btn{border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);font-size:13.5px;font-weight:500;padding:8px 14px;border-radius:var(--radius);transition:background .12s ease,border-color .12s ease}.btn:hover{background:var(--surface-hover)}.btn-primary{background:var(--blue);color:var(--white);border-color:var(--blue)}.btn-primary:hover{filter:brightness(1.1)}.btn-approve{background:var(--teal);color:#08201f;border-color:var(--teal);font-weight:600}.btn-reject{background:transparent;color:var(--red);border-color:#ee5a4459}.btn-reject:hover{background:var(--red-dim)}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;font-weight:600;color:var(--ink-soft)}.field input,.field textarea,.field select{padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);color:var(--ink)}.field textarea{resize:vertical;min-height:72px;font-family:var(--font-body)}.field-hint{font-size:12px;color:var(--ink-faint)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:100px;background:var(--surface-raised);border:1px solid var(--line);font-size:12.5px;font-family:var(--font-mono);color:var(--ink)}.chip button{border:none;background:none;color:var(--ink-faint);font-size:13px;line-height:1;padding:0}.chip button:hover{color:var(--red)}.color-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.empty-state{text-align:center;padding:48px 24px;color:var(--ink-faint)}.empty-state h3{color:var(--ink-soft);margin-bottom:6px}.banner{padding:12px 16px;border-radius:var(--radius);font-size:13.5px;margin-bottom:20px}.banner-error{background:var(--red-dim);color:#ff8a75;border:1px solid rgba(238,90,68,.3)}.banner-success{background:var(--teal-dim);color:#6fd8de;border:1px solid rgba(63,188,196,.3)}.login-shell{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.login-body{flex:1;display:flex;align-items:center;justify-content:center;padding:0 60px;gap:80px;max-width:1200px;margin:0 auto;width:100%}.login-hero{flex:1;max-width:560px}.login-hero h1{font-family:var(--font-display);font-weight:700;font-size:52px;color:var(--white);margin-bottom:20px;letter-spacing:-.02em}.login-hero-sub{font-size:19px;color:var(--ink-soft);margin-bottom:36px;line-height:1.5}.feature-card{background:var(--surface);border:1px solid var(--line-soft);border-left:3px solid var(--teal);border-radius:var(--radius);padding:18px 20px;margin-bottom:12px}.feature-card h3{color:var(--white);font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:15.5px;margin-bottom:6px}.feature-card p{font-size:13.5px;color:var(--ink-faint);margin:0;line-height:1.5}.login-card{width:380px;flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-card);padding:36px 32px}.login-card h2{margin-bottom:24px;color:var(--white)}.login-footer{text-align:center;padding:20px;font-size:12.5px;color:var(--ink-faint)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.project-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius);padding:18px 20px;cursor:pointer;transition:border-color .12s ease,background .12s ease;text-decoration:none;display:block;color:inherit}.project-card:hover{background:var(--surface-hover)}.new-project-card{border-style:dashed;border-left-style:dashed;display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--ink-faint);font-weight:500;font-size:14px}.new-project-card:hover{color:var(--ink);border-color:var(--blue)}.editor-shell{display:flex;flex-direction:column;height:100vh;background:var(--bg)}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;border-bottom:1px solid var(--line);flex-shrink:0}.editor-toolbar-left{display:flex;align-items:center;gap:14px}.editor-toolbar-right{display:flex;align-items:center;gap:8px}.editor-title-input{background:none;border:1px solid transparent;color:var(--white);font-family:var(--font-display);font-weight:600;font-size:15px;padding:5px 8px;border-radius:6px;max-width:260px}.editor-title-input:hover,.editor-title-input:focus{background:var(--surface-raised);border-color:var(--line)}.editor-body{display:flex;flex:1;min-height:0}.editor-tools{width:220px;flex-shrink:0;border-right:1px solid var(--line);padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.tool-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-size:13px;font-weight:500;text-align:left}.tool-btn:hover{background:var(--surface-hover)}.canvas-stage{flex:1;display:flex;align-items:center;justify-content:center;background:#050506;overflow:auto;padding:24px}.canvas-frame{background:var(--white);box-shadow:0 8px 40px #00000080}.editor-properties{width:260px;flex-shrink:0;border-left:1px solid var(--line);padding:16px;overflow-y:auto}.slide-strip{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--line);overflow-x:auto;flex-shrink:0}.slide-thumb{width:72px;height:48px;flex-shrink:0;background:var(--surface);border:2px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ink-faint)}.slide-thumb.active{border-color:var(--blue);color:var(--white)}.status-banner{padding:10px 16px;font-size:13px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.icon-rail{width:52px;flex-shrink:0;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0}.icon-rail-btn{width:40px;height:40px;border-radius:8px;background:none;border:1px solid transparent;color:var(--ink-faint);font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1}.icon-rail-btn:hover{background:var(--surface-hover);color:var(--ink)}.icon-rail-btn.active{background:var(--surface-raised);border-color:var(--blue);color:var(--blue)}.drawer{width:300px;flex-shrink:0;border-left:1px solid var(--line);padding:16px;overflow-y:auto}.search-input{width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);color:var(--ink);font-size:13px;margin-bottom:12px}.zoom-controls{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px;box-shadow:var(--shadow-card)}.zoom-controls button{width:30px;height:30px;border-radius:6px;border:none;background:none;color:var(--ink);font-size:14px}.zoom-controls button:hover{background:var(--surface-hover)}.zoom-controls .zoom-level{font-size:12px;color:var(--ink-soft);min-width:42px;text-align:center}.chat-dock{border-top:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;flex-shrink:0;transition:height .15s ease}.chat-dock-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;cursor:pointer;flex-shrink:0}.chat-dock-messages{flex:1;overflow-y:auto;padding:0 16px;display:flex;flex-direction:column;gap:8px}.chat-dock-input-row{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--line-soft);flex-shrink:0}.offline-banner{background:var(--yellow-dim);color:var(--yellow);padding:8px 16px;font-size:13px;text-align:center}.recent-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;margin-bottom:28px}.recent-strip .project-card{min-width:200px;flex-shrink:0}
