:root{--brand-navy: #220e59;--brand-navy-dark: #1a0b45;--brand-magenta: #872764;--brand-coral: #d94c49;--brand-accent: #f79c21;--brand-teal: #f79c21;--brand-gradient: linear-gradient( 135deg, var(--brand-navy) 0%, var(--brand-magenta) 40%, var(--brand-coral) 70%, var(--brand-accent) 100% );--brand-bg: #f7f8fa;--brand-surface: #ffffff;--brand-white: #ffffff;--brand-text: #220e59;--brand-text-muted: #7a6f94;--brand-border: #e6e5ee;--shadow-sm: 0 1px 2px rgba(34, 14, 89, .06);--shadow-md: 0 8px 20px rgba(34, 14, 89, .1);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .35);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-family);background:var(--brand-bg);color:var(--brand-text);-webkit-font-smoothing:antialiased}button{font-family:inherit}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;min-height:240px;color:var(--brand-text-muted);font-size:14px}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid #e6e5ee;border-top-color:var(--brand-coral);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand-gradient);overflow:hidden}.auth-watermark{position:absolute;width:1100px;height:1100px;max-width:none;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);opacity:.09;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.auth-card{position:relative;z-index:1;background:var(--brand-white);width:380px;max-width:90vw;padding:40px 36px;border-radius:14px;box-shadow:var(--shadow-lg);text-align:center}.auth-logo{height:56px;width:56px;border-radius:14px;margin-bottom:20px}.auth-card h1{font-size:22px;margin:0 0 6px;color:var(--brand-navy)}.auth-subtitle{color:var(--brand-text-muted);font-size:13.5px;margin:0 0 28px}.auth-card form{text-align:left;display:flex;flex-direction:column;gap:16px}.auth-card label{font-size:12.5px;font-weight:600;color:var(--brand-text-muted);display:flex;flex-direction:column;gap:6px}.auth-card input{font-size:14px;padding:10px 12px;border:1px solid #e0e3ea;border-radius:8px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.auth-card input:focus{outline:none;border-color:var(--brand-coral);box-shadow:0 0 0 3px #d94c491f}.auth-card button{margin-top:6px;background:var(--brand-navy);color:var(--brand-white);border:none;padding:11px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease}.auth-card button:hover:not(:disabled){background:var(--brand-coral)}.auth-card button:disabled{opacity:.6;cursor:default}.auth-error{color:#b3261e;font-size:13px;margin:0}.auth-denied{background:#fdecea;border:1px solid #f4c7c3;border-radius:8px;padding:10px 12px;margin-bottom:20px;text-align:left}.auth-divider{display:flex;align-items:center;gap:10px;margin:22px 0 16px;color:var(--brand-text-muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e0e3ea}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--brand-white);color:var(--brand-text);border:1px solid #e0e3ea;padding:10px;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.google-btn:hover{background:var(--brand-bg);box-shadow:0 2px 8px #220e5914}.google-btn-icon{height:18px;width:18px}.app-shell{display:flex;height:100vh;overflow:hidden}.rail{width:68px;flex-shrink:0;background:var(--brand-surface);border-right:1px solid var(--brand-border);display:flex;flex-direction:column;z-index:30;transition:width .18s ease;overflow:hidden}.rail-expanded{width:236px}.rail-backdrop{display:none}.rail-top{display:flex;align-items:center;gap:10px;padding:16px 14px;border-bottom:1px solid var(--brand-border);flex-shrink:0}.rail-toggle{background:var(--brand-bg);border:none;color:var(--brand-navy);border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .12s ease}.rail-toggle:hover{background:#ece9f5}.rail-close{display:none}.rail-brand{display:flex;align-items:center;gap:9px;min-width:0;opacity:0;width:0;overflow:hidden;transition:opacity .15s ease}.rail-expanded .rail-brand{opacity:1;width:auto}.rail-logo{height:26px;width:26px;border-radius:7px;flex-shrink:0}.rail-brand-name{font-weight:700;font-size:14.5px;color:var(--brand-navy);letter-spacing:-.01em;white-space:nowrap}.rail-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 10px;display:flex;flex-direction:column;gap:4px}.rail-bottom{padding:10px;border-top:1px solid var(--brand-border);flex-shrink:0}.rail-link{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;border-radius:9px;padding:10px;font-size:13.5px;font-weight:600;color:var(--brand-text);cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease;white-space:nowrap}.rail-link:hover{background:var(--brand-bg)}.rail-link.active{background:linear-gradient(135deg,#220e5917,#d94c4917);color:var(--brand-navy)}.rail-link-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;color:var(--brand-text-muted)}.rail-link.active .rail-link-icon{color:var(--brand-coral)}.rail-link-label{overflow:hidden;text-overflow:ellipsis;opacity:0;width:0;transition:opacity .12s ease}.rail-expanded .rail-link-label{opacity:1;width:auto}.main-col{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;gap:16px;padding:0 24px;height:68px;background:var(--brand-gradient);flex-shrink:0}.header-menu-btn{display:none;background:#ffffff1f;border:none;color:var(--brand-white);border-radius:8px;padding:8px;cursor:pointer;flex-shrink:0}.header-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;justify-content:center}.app-title{color:var(--brand-white);font-weight:700;font-size:16px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-subtitle{color:#ffffffb3;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb{display:inline-flex;align-items:center;gap:6px;min-width:0}.breadcrumb-link{background:none;border:none;padding:0;color:#ffffffbf;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;flex-shrink:0}.breadcrumb-link:hover{color:var(--brand-white);text-decoration:underline}.breadcrumb-current{color:var(--brand-white);font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-sep{color:#fff6;flex-shrink:0;width:14px;height:14px}.search-box-wrap{position:relative;width:260px;flex-shrink:0}.search-box-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:#ffffffb3;pointer-events:none}.search-box{width:100%;font-size:13px;font-family:inherit;padding:9px 32px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:#ffffff24;color:var(--brand-white);transition:background .15s ease,color .15s ease}.search-box::-webkit-search-cancel-button{display:none}.search-box::placeholder{color:#ffffffb3}.search-box:focus{outline:none;background:#fffffff7;color:var(--brand-text)}.search-box:focus::placeholder{color:var(--brand-text-muted)}.search-box:focus~.search-box-icon{color:var(--brand-text-muted)}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffffb3;cursor:pointer;padding:3px;display:flex}.search-box:focus~.search-clear-btn{color:var(--brand-text-muted)}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--brand-white);border-radius:10px;box-shadow:var(--shadow-lg);list-style:none;margin:0;padding:6px;max-height:340px;overflow-y:auto;z-index:40}.search-results button{width:100%;text-align:left;background:none;border:none;padding:8px 9px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:10px;font-family:inherit}.search-results button:hover{background:var(--brand-bg)}.search-result-icon{flex-shrink:0;width:28px;height:28px;border-radius:7px;background:var(--brand-bg);color:var(--brand-magenta);display:flex;align-items:center;justify-content:center}.search-result-text{display:flex;flex-direction:column;gap:1px;overflow:hidden}.search-result-name{font-size:13.5px;font-weight:600;color:var(--brand-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-collection{font-size:11.5px;color:var(--brand-text-muted)}.user-menu{position:relative;flex-shrink:0}.user-menu-trigger{display:flex;align-items:center;gap:9px;background:#ffffff1f;border:1px solid rgba(255,255,255,.24);color:var(--brand-white);padding:6px 12px 6px 6px;border-radius:999px;cursor:pointer;transition:background .15s ease;max-width:220px}.user-menu-trigger:hover{background:#fff3}.user-avatar-img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-avatar-fallback{width:28px;height:28px;border-radius:50%;background:var(--brand-white);color:var(--brand-navy);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:240px;background:var(--brand-white);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:40}.user-menu-header{padding:14px 16px;border-bottom:1px solid var(--brand-border)}.user-menu-name{font-size:13.5px;font-weight:700;color:var(--brand-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-email{font-size:12px;color:var(--brand-text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-item{width:100%;display:flex;align-items:center;gap:9px;background:none;border:none;padding:11px 16px;font-size:13.5px;font-weight:600;color:var(--brand-coral);cursor:pointer;text-align:left;transition:background .12s ease}.user-menu-item:hover{background:#fdecea}.dashboard-area{flex:1;padding:26px 28px;overflow:auto;background:var(--brand-bg)}.state-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;font-size:13.5px;margin-bottom:18px}.state-error{background:#fdecea;border:1px solid #f4c7c3;color:#b3261e}.state-error svg{flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:80px 24px;color:var(--brand-text-muted)}.empty-state-icon{width:56px;height:56px;border-radius:16px;background:var(--brand-white);border:1px solid var(--brand-border);display:flex;align-items:center;justify-content:center;color:var(--brand-coral);margin-bottom:6px}.empty-state h2{font-size:17px;color:var(--brand-text);margin:0}.empty-state p{font-size:13.5px;margin:0 0 8px;max-width:360px}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--brand-navy);color:var(--brand-white);border:none;padding:10px 16px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:var(--brand-coral)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.tile{display:flex;align-items:center;gap:14px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:12px;padding:16px;text-align:left;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:#d94c4940}.tile-icon{flex-shrink:0;width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--brand-white)}.tile-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.tile-title{font-size:14.5px;font-weight:700;color:var(--brand-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-meta{font-size:12px;color:var(--brand-text-muted)}.tile-arrow{flex-shrink:0;color:var(--brand-text-muted);display:flex}.tile:hover .tile-arrow{color:var(--brand-coral)}.viewer-frame{height:100%;display:flex;flex-direction:column;gap:14px}.viewer-toolbar{display:flex;align-items:center;gap:16px;flex-shrink:0}.viewer-back-btn{display:inline-flex;align-items:center;gap:7px;background:var(--brand-white);border:1px solid var(--brand-border);color:var(--brand-text);padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,border-color .15s ease}.viewer-back-btn:hover{border-color:#d94c494d;box-shadow:var(--shadow-md)}.viewer-title{font-size:15px;font-weight:700;color:var(--brand-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-canvas{flex:1;min-height:0}.dashboard-iframe{width:100%;height:100%;border:none;border-radius:12px;background:var(--brand-white);box-shadow:var(--shadow-sm)}.kiosk-shell{width:100vw;height:100vh;background:var(--brand-navy-dark)}.kiosk-iframe{width:100%;height:100%;border:none}.kiosk-error{color:var(--brand-white);display:flex;align-items:center;justify-content:center;height:100vh;font-size:18px}.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--brand-text);border:1px solid var(--brand-border);padding:10px 16px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.btn-secondary:hover{background:var(--brand-bg)}.btn-on-gradient.btn-primary{background:var(--brand-white);color:var(--brand-navy)}.btn-on-gradient.btn-primary:hover{background:#ffffffe0}.btn-on-gradient.btn-secondary{border-color:#ffffff80;color:var(--brand-white)}.btn-on-gradient.btn-secondary:hover{background:#ffffff24}.home-page{display:flex;flex-direction:column;gap:22px}.home-hero{background:var(--brand-gradient);border-radius:16px;padding:44px 40px;display:flex;flex-direction:column;gap:14px;color:var(--brand-white);box-shadow:var(--shadow-md)}.home-hero-eyebrow{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffffc7}.home-hero-title{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:0;max-width:640px;line-height:1.2}.home-hero-subtitle{font-size:14.5px;color:#ffffffd9;max-width:560px;margin:0;line-height:1.55}.home-hero-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.home-quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.home-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:14px;padding:20px;text-align:left;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.home-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:#d94c4940}.home-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--brand-white)}.home-card-title{font-size:15px;font-weight:700;color:var(--brand-text)}.home-card-desc{font-size:13px;color:var(--brand-text-muted);line-height:1.45}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.collection-card{position:relative;display:flex;flex-direction:column;gap:14px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:14px;padding:24px 20px 18px;text-align:left;cursor:pointer;font-family:inherit;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.collection-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#d94c4940}.collection-card-bar{position:absolute;top:0;left:0;right:0;height:5px}.collection-card-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--brand-white);box-shadow:var(--shadow-sm)}.collection-card-body{display:flex;flex-direction:column;gap:3px}.collection-card-title{font-size:16px;font-weight:700;color:var(--brand-text)}.collection-card-meta{font-size:12.5px;color:var(--brand-text-muted)}.collection-card-footer{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--brand-coral);margin-top:2px}.collection-card:hover .collection-card-footer{text-decoration:underline}.chat-page{height:100%;display:flex;flex-direction:column;max-width:760px;margin:0 auto}.chat-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-bottom:12px}.chat-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:48px 16px 20px;color:var(--brand-text-muted)}.chat-empty-icon{width:52px;height:52px;border-radius:50%;background:var(--brand-gradient);color:var(--brand-white);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.chat-empty h2{font-size:17px;color:var(--brand-text);margin:0}.chat-empty p{font-size:13.5px;max-width:460px;margin:0;line-height:1.55}.chat-starters{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;margin-top:10px}.chat-starter{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--brand-text);text-align:left;cursor:pointer;font-family:inherit;transition:border-color .15s ease,background .15s ease}.chat-starter:hover{border-color:#d94c494d;background:var(--brand-bg)}.chat-bubble-row{display:flex;align-items:flex-end;gap:8px}.chat-bubble-row.user{justify-content:flex-end}.chat-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-avatar-assistant{background:var(--brand-gradient);color:var(--brand-white)}.chat-bubble{max-width:78%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.chat-bubble.user{background:var(--brand-navy);color:var(--brand-white);border-bottom-right-radius:4px}.chat-bubble.assistant{background:var(--brand-surface);border:1px solid var(--brand-border);color:var(--brand-text);border-bottom-left-radius:4px}.chat-bubble-typing{display:flex;align-items:center;gap:4px;padding:14px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--brand-text-muted);animation:typing-bounce 1.1s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat-error{margin:0}.chat-input-row{display:flex;gap:10px;padding-top:12px;flex-shrink:0}.chat-input{flex:1;font-size:13.5px;font-family:inherit;padding:12px 14px;border-radius:10px;border:1px solid var(--brand-border);background:var(--brand-surface);transition:border-color .15s ease,box-shadow .15s ease}.chat-input:focus{outline:none;border-color:var(--brand-coral);box-shadow:0 0 0 3px #d94c491f}.chat-send-btn{width:44px;height:44px;border-radius:10px;border:none;background:var(--brand-navy);color:var(--brand-white);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease}.chat-send-btn:hover:not(:disabled){background:var(--brand-coral)}.chat-send-btn:disabled{opacity:.45;cursor:default}.settings-page{max-width:560px}.settings-card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:14px;padding:26px 28px;box-shadow:var(--shadow-sm)}.settings-card-title{font-size:18px;font-weight:700;color:var(--brand-text);margin:0 0 6px}.settings-card-desc{font-size:13.5px;color:var(--brand-text-muted);margin:0 0 18px;line-height:1.5}.support-email-row{display:flex;align-items:center;gap:10px;background:var(--brand-bg);border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:600;color:var(--brand-navy);text-decoration:none;margin-bottom:22px}.support-email-icon{width:30px;height:30px;border-radius:8px;background:var(--brand-white);display:flex;align-items:center;justify-content:center;color:var(--brand-coral);flex-shrink:0}.support-form{display:flex;flex-direction:column;gap:16px}.support-field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--brand-text-muted)}.support-field input,.support-field textarea{font-size:13.5px;font-family:inherit;padding:10px 12px;border:1px solid var(--brand-border);border-radius:8px;resize:vertical;color:var(--brand-text);transition:border-color .15s ease,box-shadow .15s ease}.support-field input:focus,.support-field textarea:focus{outline:none;border-color:var(--brand-coral);box-shadow:0 0 0 3px #d94c491f}.support-status{display:flex;align-items:center;gap:8px;font-size:13px;padding:10px 12px;border-radius:8px}.support-status svg{flex-shrink:0}.support-status-sent{background:#e9f7ef;color:#1e7a41}.support-status-mailto{background:#eef2ff;color:var(--brand-navy)}.support-status-error{background:#fdecea;color:#b3261e}@media (max-width: 880px){.header-menu-btn{display:flex;align-items:center;justify-content:center}.rail{position:fixed;top:0;left:0;bottom:0;width:68px;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.rail-toggle{display:none}.rail-close{display:flex;background:none;border:none;color:var(--brand-text-muted);cursor:pointer;padding:4px;margin-left:auto}.rail.rail-mobile-open{transform:translate(0);width:236px}.rail.rail-mobile-open .rail-brand,.rail.rail-mobile-open .rail-link-label{opacity:1;width:auto}.rail-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:25}.search-box-wrap{width:180px}.user-name{display:none}.user-menu-trigger{padding:5px;border-radius:50%}}@media (max-width: 600px){.search-box-wrap{display:none}.app-header{padding:0 14px;gap:10px}.home-hero{padding:30px 22px}.home-hero-title{font-size:23px}.chat-bubble{max-width:88%}.settings-card{padding:20px}.dashboard-area{padding:18px 14px}}
