:root{--bg:#fff;--sidebar:#f7f7f8;--text:#202123;--muted:#6b7280;--line:#e5e7eb;--soft:#f4f4f5;--hover:#ececf1;--black:#111827;--accent:#10a37f;--danger:#b42318;--shadow:0 8px 32px rgba(0,0,0,.08);--radius:16px}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.muted{color:var(--muted)}.tiny{font-size:12px}.logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#111827;color:#fff;font-size:14px;font-weight:800;flex:0 0 auto}.brand-link{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:700}.chat-body{overflow:hidden}.app-shell{height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .2s ease}.app-shell.collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar{background:var(--sidebar);border-right:1px solid #ededee;display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.icon-btn{border:0;background:transparent;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;color:#4b5563}.icon-btn:hover{background:var(--hover)}.new-chat{margin:4px 10px 10px;display:flex;gap:10px;align-items:center;text-decoration:none;border:1px solid #e3e3e5;background:#fff;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;white-space:nowrap}.new-chat:hover{background:#fbfbfc}.history{flex:1;overflow:auto;padding:2px 8px 12px}.history-item{display:block;text-decoration:none;padding:10px 10px;border-radius:9px;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#343541}.history-item:hover,.history-item.active{background:var(--hover)}.history-title{overflow:hidden;text-overflow:ellipsis}.sidebar-bottom{border-top:1px solid #e7e7e8;padding:9px}.profile-wrap{position:relative}.profile-btn{width:100%;height:46px;border:0;background:transparent;border-radius:10px;display:flex;align-items:center;gap:10px;padding:6px 8px;text-align:left}.profile-btn:hover{background:var(--hover)}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e2e8f0;font-weight:700}.profile-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.profile-menu{position:absolute;left:0;right:0;bottom:52px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:none;z-index:30}.profile-menu.open{display:block}.profile-menu a{display:block;text-decoration:none;padding:9px 10px;border-radius:8px;font-size:13px}.profile-menu a:hover{background:var(--soft)}.app-shell.collapsed .brand-text,.app-shell.collapsed .new-chat .label,.app-shell.collapsed .history-title,.app-shell.collapsed .profile-name,.app-shell.collapsed .profile-btn .label{display:none}.app-shell.collapsed .sidebar-head{justify-content:center;flex-direction:column;height:96px;gap:4px}.app-shell.collapsed .new-chat{justify-content:center;margin:6px 8px;padding:10px}.app-shell.collapsed .history{display:none}.app-shell.collapsed .profile-btn{justify-content:center;padding:0}.app-shell.collapsed .profile-menu{left:54px;right:auto;width:190px;bottom:0}.chat-main{min-width:0;display:flex;flex-direction:column;height:100vh;position:relative}.chat-header{height:58px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;padding:0 18px;gap:8px;background:rgba(255,255,255,.96);z-index:10}.model-select{border:0;background:transparent;font-weight:650;padding:8px 24px 8px 8px;border-radius:8px;outline:none;max-width:240px}.model-select:hover{background:var(--soft)}.header-spacer{flex:1}.header-btn{border:0;background:transparent;color:#6b7280;border-radius:8px;padding:7px 9px;font-size:12px}.header-btn:hover{background:var(--soft);color:#111}.danger-text:hover{color:var(--danger)}.mobile-menu{display:none}.messages{flex:1;overflow-y:auto;padding:28px 0 190px;scroll-behavior:smooth}.welcome{max-width:760px;margin:13vh auto 0;text-align:center;padding:24px}.welcome-logo{margin:0 auto 18px;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#111827;color:#fff;font-size:22px;font-weight:800}.welcome h1{font-size:32px;margin:0 0 10px;letter-spacing:-.025em}.welcome p{color:var(--muted);margin:0 0 24px}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:620px;margin:auto}.suggestions button{border:1px solid var(--line);background:#fff;border-radius:14px;text-align:left;padding:14px 15px;color:#4b5563}.suggestions button:hover{background:#fafafa}.message-row{max-width:820px;margin:0 auto 26px;padding:0 22px;position:relative}.message-content{font-size:15.5px;line-height:1.72;word-break:break-word}.user-row{display:flex;flex-direction:column;align-items:flex-end}.user-row .message-content{background:#f4f4f4;padding:10px 14px;border-radius:18px;max-width:78%;white-space:pre-wrap;line-height:1.55}.assistant-row .message-content{width:100%}.message-content p{margin:0 0 14px}.message-content h1,.message-content h2,.message-content h3{line-height:1.3;margin:22px 0 10px}.message-content h1{font-size:23px}.message-content h2{font-size:19px}.message-content h3{font-size:16px}.message-content ul,.message-content ol{margin:8px 0 14px;padding-left:24px}.message-content li{margin:4px 0}.message-content blockquote{margin:12px 0;padding:6px 14px;border-left:3px solid #d1d5db;color:#4b5563}.message-content a{color:#2563eb}.inline-code{font-family:Consolas,Monaco,monospace;font-size:.92em;background:#f3f4f6;border-radius:5px;padding:2px 5px}.code-wrap{margin:15px 0;border-radius:12px;overflow:hidden;background:#0d1117;border:1px solid #202938}.code-head{height:38px;display:flex;align-items:center;padding:0 10px 0 14px;background:#161b22;color:#aeb7c4;font-size:12px}.code-head .lang{flex:1}.code-head button{border:0;background:transparent;color:#d1d5db;border-radius:6px;padding:5px 8px;font-size:11px}.code-head button:hover{background:#262c36}.code-wrap pre{margin:0;overflow:auto;padding:16px;background:#0d1117;color:#e6edf3;line-height:1.55;font-family:Consolas,Monaco,"Courier New",monospace;font-size:13px}.code-wrap code{white-space:pre}.md-table-wrap{overflow:auto;margin:12px 0}.md-table{border-collapse:collapse;width:100%;font-size:14px}.md-table th,.md-table td{border:1px solid var(--line);padding:8px 10px;text-align:left}.md-table th{background:#f8fafc}.message-actions{display:flex;gap:4px;margin-top:5px;opacity:.55;transition:opacity .15s}.assistant-row:hover .message-actions{opacity:1}.action-btn{border:0;background:transparent;padding:5px 7px;border-radius:7px;color:#6b7280;font-size:11px}.action-btn:hover{background:var(--soft);color:#111}.sources{margin-top:8px;font-size:12px;color:#6b7280}.sources summary{cursor:pointer;user-select:none}.source-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.source-cards a{display:flex;flex-direction:column;gap:4px;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fafafa;color:#374151;min-width:0}.source-cards strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-cards span{font-size:11px;color:#6b7280;line-height:1.35}.composer-zone{position:absolute;left:0;right:0;bottom:0;padding:12px 20px 18px;background:linear-gradient(0deg,#fff 80%,rgba(255,255,255,0));z-index:9}.composer{max-width:820px;margin:auto;border:1px solid #d7d7d9;border-radius:22px;background:#fff;box-shadow:0 5px 22px rgba(0,0,0,.08);padding:9px 10px 9px 14px}.composer:focus-within{border-color:#b9b9bd}.composer textarea{display:block;width:100%;border:0;outline:0;resize:none;min-height:38px;max-height:190px;line-height:1.45;padding:8px 4px 6px;font-size:15px;background:transparent}.composer-bar{display:flex;align-items:center}.left-tools{display:flex;align-items:center;gap:6px}.round-tool{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:18px;color:#4b5563}.round-tool:hover{background:var(--soft)}.tool-toggle{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;color:#4b5563}.tool-toggle.active{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.send-btn{margin-left:auto;width:34px;height:34px;border-radius:50%;border:0;background:#111827;color:#fff;font-size:18px;display:grid;place-items:center}.send-btn:disabled{opacity:.35;cursor:not-allowed}.send-btn.stop{background:#111827;font-size:0}.send-btn.stop:after{content:"■";font-size:11px}.status-line{max-width:820px;height:20px;margin:auto;color:#6b7280;font-size:12px;padding:0 8px}.file-chips{max-width:820px;margin:0 auto 6px;display:flex;gap:6px;flex-wrap:wrap}.file-chip{background:#f4f4f5;border:1px solid var(--line);border-radius:10px;padding:6px 9px;font-size:11px;display:flex;gap:7px;align-items:center}.file-chip button{border:0;background:transparent;color:#6b7280;padding:0}.composer-note{text-align:center;color:#9ca3af;font-size:10.5px;margin-top:7px}.streaming-cursor:after{content:"";display:inline-block;width:7px;height:16px;background:#9ca3af;margin-left:2px;vertical-align:-2px;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}
/* Authentication / settings */.auth-page{min-height:100vh;display:grid;place-items:center;background:#f7f7f8;padding:24px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.setup-card{width:min(560px,100%)}.logo-row{display:flex;align-items:center;gap:10px}.auth-card h1{margin:22px 0 7px;font-size:28px}.auth-card form,.settings-card form{display:grid;gap:14px;margin-top:20px}.auth-card label,.settings-card label{display:grid;gap:6px;font-size:12.5px;font-weight:600;color:#4b5563}.auth-card input,.settings-card input,.settings-card select,.settings-card textarea{width:100%;border:1px solid #d1d5db;border-radius:9px;padding:10px 11px;background:#fff;color:#111827;outline:none}.auth-card input:focus,.settings-card input:focus,.settings-card select:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #f3f4f6}.primary-btn,.secondary-btn{border:0;border-radius:9px;padding:10px 14px;font-weight:650}.primary-btn{background:#111827;color:#fff}.secondary-btn{background:#f3f4f6;color:#111827}.alert{padding:10px 12px;border-radius:9px;margin:12px 0;font-size:13px}.alert.success{background:#ecfdf5;color:#047857}.alert.error{background:#fef2f2;color:#b42318}.page-body{min-height:100vh;background:#f7f7f8}.simple-header{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:15px}.simple-header .brand-link{flex:1}.simple-header>a:last-child{font-size:13px;text-decoration:none;color:#4b5563}.settings-page{max-width:760px;margin:0 auto;padding:34px 20px 70px}.settings-page.wide{max-width:1120px}.settings-page h1{margin:0 0 7px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;margin-top:22px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.settings-card h2{margin-top:0}.settings-card h3{font-size:14px;border-top:1px solid var(--line);padding-top:15px;margin:20px 0 0}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}.check input{width:16px!important}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.model-form{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.plain-list{padding-left:18px}
@media(max-width:760px){.app-shell{grid-template-columns:0 minmax(0,1fr)}.sidebar{position:fixed;left:-270px;top:0;bottom:0;width:260px;z-index:50;transition:left .2s;box-shadow:12px 0 40px rgba(0,0,0,.1)}.app-shell.mobile-open .sidebar{left:0}.mobile-menu{display:grid}.header-btn{display:none}.messages{padding-top:18px}.message-row{padding:0 14px}.user-row .message-content{max-width:88%}.composer-zone{padding-left:10px;padding-right:10px}.suggestions{grid-template-columns:1fr}.source-cards{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.two-cols{grid-template-columns:1fr}.app-shell.collapsed{grid-template-columns:0 minmax(0,1fr)}}

/* NovaMind 4.1 account, billing and chat controls */
.history-row{position:relative;display:flex;align-items:center;border-radius:9px;margin:1px 0}.history-row:hover,.history-row.active{background:var(--hover)}.history-row .history-item{flex:1;min-width:0;background:transparent!important}.history-more{width:28px;height:28px;margin-right:4px;border:0;background:transparent;border-radius:7px;color:#6b7280;opacity:0;display:grid;place-items:center}.history-row:hover .history-more,.history-row.active .history-more{opacity:1}.history-more:hover{background:rgba(0,0,0,.06);color:#111}.history-menu{position:absolute;right:3px;top:34px;width:148px;padding:5px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;display:none;z-index:45}.history-menu.open{display:block}.history-menu button{width:100%;border:0;background:transparent;text-align:left;padding:8px 9px;border-radius:7px;font-size:12px;color:#374151}.history-menu button:hover{background:var(--soft)}.profile-menu-plan{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;border-bottom:1px solid var(--line);margin-bottom:4px}.profile-menu-plan span{font-weight:700}.profile-menu-plan a{padding:0;color:#047857;font-weight:700}.menu-divider{height:1px;background:var(--line);margin:4px}.upgrade-chip{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:11px;color:#4b5563;background:#fff}.upgrade-chip:hover{background:var(--soft);color:#111}.error-text{color:var(--danger)}
.primary-link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:9px;padding:10px 14px;font-weight:650;background:#111827;color:#fff}.primary-link-btn:hover{opacity:.92}.auth-foot{font-size:13px;text-align:center;margin:18px 0 0;color:var(--muted)}.auth-foot a{font-weight:650;color:#111827}.version-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);background:#fafafa;border-radius:12px;padding:13px 14px;margin:18px 0}.version-box strong{font-size:14px}.status-pill{margin-left:auto;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.status-pill.ok{background:#ecfdf5;color:#047857}.status-pill.warn{background:#fff7ed;color:#c2410c}.migration-list{border:1px solid var(--line);border-radius:12px;background:#fafafa;padding:14px;margin:14px 0}.migration-list ul{margin:8px 0 0;padding-left:20px;font-size:13px;color:#4b5563}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.plan-badge{display:inline-flex;align-items:center;border-radius:999px;background:#ecfdf5;color:#047857;padding:6px 10px;font-size:12px;font-weight:700;white-space:nowrap}.billing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:7px}.metric-card span{font-size:11px;color:var(--muted)}.metric-card strong{font-size:20px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 28px}.plan-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px}.plan-card.current{border-color:#86efac;box-shadow:0 0 0 2px #ecfdf5}.plan-card h3{margin:0 0 5px}.plan-card p{font-size:13px;line-height:1.45;margin:0}.plan-card ul{font-size:12.5px;line-height:1.5;padding-left:18px;margin:0;min-height:70px}.plan-card form{margin-top:auto}.plan-price{font-size:24px;font-weight:800;letter-spacing:-.02em}.plan-price small{font-size:11px;font-weight:500;color:var(--muted);margin-left:3px}.payment-card{margin-bottom:24px}.payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.payment-grid>div{display:flex;flex-direction:column;gap:4px}.payment-card>.primary-link-btn,.payment-card>.secondary-btn{margin-right:8px;margin-bottom:8px}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px!important}.table-list{display:grid}.table-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 0;font-size:13px}.table-row:first-child{border-top:0}.link-row{text-decoration:none}.link-row:hover{color:#111}.payment-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px;border-top:1px solid var(--line);padding:13px 0;font-size:13px}.payment-admin-row:first-child{border-top:0}.decision-form{display:flex!important;flex-direction:row;gap:6px!important;margin:0!important}.decision-form button{padding:7px 10px}.settings-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.settings-links a{text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:12px;background:#fff}.settings-links a:hover{background:var(--soft)}.settings-links.vertical{flex-direction:column;align-items:stretch}.settings-links.vertical a{text-align:center}.account-plan{display:flex;flex-direction:column;gap:6px;margin:12px 0 16px}.account-plan strong{font-size:22px}.invoice-page{max-width:900px;margin:0 auto;padding:30px 20px 70px}.invoice-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.invoice-actions a{text-decoration:none;font-size:13px}.invoice-sheet{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px}.invoice-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.invoice-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:13px}.invoice-to{display:flex;flex-direction:column;gap:5px;padding:22px 0}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th,.invoice-table td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left}.invoice-table th:last-child,.invoice-table td:last-child{text-align:right}.invoice-table .total td{font-size:16px;font-weight:800}.billing-lists{margin-top:20px}
/* Personal theme. */
html.theme-dark{--bg:#212121;--sidebar:#171717;--text:#ececec;--muted:#a3a3a3;--line:#3a3a3a;--soft:#2f2f2f;--hover:#2a2a2a;--black:#f4f4f5;--shadow:0 8px 32px rgba(0,0,0,.35)}
html.theme-dark body,html.theme-dark .chat-header,html.theme-dark .composer-zone,html.theme-dark .auth-card,html.theme-dark .settings-card,html.theme-dark .metric-card,html.theme-dark .plan-card,html.theme-dark .invoice-sheet,html.theme-dark .upgrade-chip,html.theme-dark .new-chat,html.theme-dark .profile-menu,html.theme-dark .history-menu,html.theme-dark .settings-links a{background:#212121;color:#ececec}html.theme-dark .sidebar{background:#171717}html.theme-dark .composer,html.theme-dark input,html.theme-dark textarea,html.theme-dark select{background:#2a2a2a!important;color:#ececec!important;border-color:#444!important}html.theme-dark .user-row .message-content{background:#2f2f2f}html.theme-dark .simple-header{background:#212121}html.theme-dark .version-box,html.theme-dark .migration-list{background:#262626}html.theme-dark .primary-link-btn,html.theme-dark .primary-btn{background:#f4f4f5;color:#111827}html.theme-dark .secondary-btn{background:#303030;color:#ececec}html.theme-dark .auth-foot a{color:#ececec}
@media(prefers-color-scheme:dark){html.theme-system{--bg:#212121;--sidebar:#171717;--text:#ececec;--muted:#a3a3a3;--line:#3a3a3a;--soft:#2f2f2f;--hover:#2a2a2a;--black:#f4f4f5;--shadow:0 8px 32px rgba(0,0,0,.35)}html.theme-system body,html.theme-system .chat-header,html.theme-system .composer-zone,html.theme-system .auth-card,html.theme-system .settings-card,html.theme-system .metric-card,html.theme-system .plan-card,html.theme-system .invoice-sheet,html.theme-system .upgrade-chip,html.theme-system .new-chat,html.theme-system .profile-menu,html.theme-system .history-menu,html.theme-system .settings-links a{background:#212121;color:#ececec}html.theme-system .sidebar{background:#171717}html.theme-system .composer,html.theme-system input,html.theme-system textarea,html.theme-system select{background:#2a2a2a!important;color:#ececec!important;border-color:#444!important}html.theme-system .user-row .message-content{background:#2f2f2f}html.theme-system .simple-header{background:#212121}html.theme-system .version-box,html.theme-system .migration-list{background:#262626}html.theme-system .primary-link-btn,html.theme-system .primary-btn{background:#f4f4f5;color:#111827}html.theme-system .secondary-btn{background:#303030;color:#ececec}html.theme-system .auth-foot a{color:#ececec}}
.app-shell.collapsed .history-more,.app-shell.collapsed .history-menu{display:none}.app-shell.collapsed .upgrade-chip{display:none}
@media(max-width:900px){.plan-grid{grid-template-columns:1fr}.billing-summary{grid-template-columns:1fr}.payment-grid{grid-template-columns:1fr}.payment-admin-row{grid-template-columns:1fr}.decision-form{justify-content:flex-start}.upgrade-chip{display:none}.inline-form{grid-template-columns:1fr}}
@media print{.invoice-actions{display:none}.page-body{background:#fff}.invoice-page{padding:0}.invoice-sheet{border:0;border-radius:0}}

/* NovaMind 4.2 local media */
.generated-images{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,420px));gap:14px}.generated-image-card{margin:0;border:1px solid var(--border,#e5e7eb);border-radius:14px;overflow:hidden;background:var(--surface,#fff)}.generated-image-card a{display:block;background:#111}.generated-image-card img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain}.generated-image-card figcaption{padding:9px 11px;font-size:12px;color:var(--muted,#6b7280)}.tool-toggle.image-active{background:var(--text,#111827);color:var(--canvas,#fff);border-color:var(--text,#111827)}
/* NovaMind generated image cards */
.generated-images{
    margin-top:14px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.generated-image-card{
    margin:0;
    width:min(100%,520px);
    border:1px solid rgba(128,128,128,.22);
    border-radius:16px;
    overflow:hidden;
    background:var(--surface, #fff);
}

.generated-image-link{
    display:block;
    line-height:0;
    background:#111;
}

.generated-image-card img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}

.generated-image-card figcaption{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    font-size:12px;
}

.generated-image-info{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    opacity:.72;
}

.generated-image-actions{
    flex-shrink:0;
}

.generated-image-actions a{
    text-decoration:none;
    font-weight:600;
}

.image-quality-select{
    height:34px;
    padding:0 28px 0 10px;
    border-radius:10px;
    border:1px solid rgba(128,128,128,.25);
    background:transparent;
    color:inherit;
    font:inherit;
    font-size:13px;
    cursor:pointer;
}

@media(max-width:600px){
    .generated-image-card{
        width:100%;
    }

    .generated-image-card figcaption{
        align-items:flex-start;
    }

    .image-quality-select{
        max-width:105px;
    }
}
/* NovaMind 4.5 Admin shell */
.admin-section-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 18px}.admin-nav-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit;background:var(--panel,#fff)}.admin-nav-link:hover{border-color:currentColor}.admin-nav-link.active{font-weight:700}.admin-nav-link.primary{font-weight:700}.admin-control-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-control-entry h2{margin-top:0}.admin-control-entry p{margin-bottom:0}.admin-control-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}@media(max-width:700px){.admin-section-nav{display:grid;grid-template-columns:1fr 1fr}.admin-nav-link{justify-content:center;text-align:center}.admin-control-entry{display:block}.admin-control-button{margin-top:14px;width:100%}}
/* =========================================================
   NovaMind User Dashboard
   ========================================================= */

.page{
    width:min(1240px,calc(100% - 40px));
    margin:0 auto;
    padding:34px 0 70px;
}

/* Dashboard heading */
.section-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:26px;
}

.section-title h1{
    margin:0 0 7px;
    font-size:30px;
    line-height:1.15;
    letter-spacing:-.025em;
    font-weight:750;
}

.section-title p{
    margin:0;
    max-width:760px;
    font-size:14px;
    line-height:1.55;
}

/* Grid system */
.grid{
    display:grid;
    gap:16px;
}

.grid.two{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid.three{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.grid.four{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

/* Dashboard cards */
.card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:20px;
    min-width:0;
    box-shadow:
        0 1px 2px rgba(0,0,0,.02),
        0 4px 14px rgba(0,0,0,.025);
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease;
}

.card:hover{
    border-color:#d5d7db;
    box-shadow:
        0 2px 5px rgba(0,0,0,.035),
        0 10px 28px rgba(0,0,0,.055);
    transform:translateY(-1px);
}

.card h2{
    margin:0 0 9px;
    font-size:16px;
    line-height:1.3;
    letter-spacing:-.01em;
}

.card p{
    margin:0 0 17px;
    font-size:13.5px;
    line-height:1.6;
}

.card > .btn:last-child{
    margin-top:auto;
}

/* Metric cards */
.metric{
    margin-bottom:7px;
    font-size:27px;
    line-height:1.1;
    font-weight:760;
    letter-spacing:-.025em;
    color:#111827;
    overflow:hidden;
    text-overflow:ellipsis;
}

.metric-label{
    color:var(--muted);
    font-size:12.5px;
    line-height:1.4;
}

/* Buttons */
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:38px;
    padding:8px 13px;
    border:1px solid transparent;
    border-radius:10px;
    text-decoration:none;
    font-size:13px;
    line-height:1;
    font-weight:650;
    cursor:pointer;
    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .1s ease;
}

.btn:active{
    transform:translateY(1px);
}

.btn.primary{
    background:#111827;
    border-color:#111827;
    color:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.08);
}

.btn.primary:hover{
    background:#1f2937;
    border-color:#1f2937;
}

.btn.secondary{
    background:#fff;
    color:#374151;
    border-color:#dcdfe4;
}

.btn.secondary:hover{
    background:#f7f7f8;
    border-color:#cdd1d7;
    color:#111827;
}

.btn.small{
    min-height:32px;
    padding:6px 10px;
    font-size:12px;
}

/* Button rows */
.row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

/* Make feature cards balanced */
.grid.three > .card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.grid.three > .card p{
    flex:1;
}

/* Dashboard metric cards */
.grid.four > .card{
    position:relative;
    overflow:hidden;
}

.grid.four > .card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:var(--accent);
    opacity:.7;
}

/* Better muted text */
.page .muted{
    color:#6b7280;
}

/* Tablet */
@media(max-width:1050px){

    .grid.four{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .grid.three{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* Mobile */
@media(max-width:700px){

    .page{
        width:100%;
        padding:22px 14px 50px;
    }

    .section-title{
        display:block;
        margin-bottom:20px;
    }

    .section-title h1{
        font-size:25px;
    }

    .section-title .btn{
        width:100%;
        margin-top:16px;
    }

    .grid.two,
    .grid.three,
    .grid.four{
        grid-template-columns:1fr;
        gap:12px;
    }

    .card{
        padding:17px;
        border-radius:14px;
    }

    .metric{
        font-size:24px;
    }

    .row{
        width:100%;
    }

    .row .btn{
        flex:1;
    }
}

/* =========================================================
   Dashboard dark mode
   ========================================================= */

html.theme-dark .page .card{
    background:#262626;
    border-color:#383838;
    color:#ececec;
    box-shadow:none;
}

html.theme-dark .page .card:hover{
    background:#292929;
    border-color:#484848;
}

html.theme-dark .page .metric{
    color:#f5f5f5;
}

html.theme-dark .page .muted,
html.theme-dark .page .metric-label{
    color:#a3a3a3;
}

html.theme-dark .page .btn.primary{
    background:#f4f4f5;
    border-color:#f4f4f5;
    color:#111827;
}

html.theme-dark .page .btn.secondary{
    background:#303030;
    border-color:#444;
    color:#ececec;
}

html.theme-dark .page .btn.secondary:hover{
    background:#383838;
}

/* System dark mode */
@media(prefers-color-scheme:dark){

    html.theme-system .page .card{
        background:#262626;
        border-color:#383838;
        color:#ececec;
        box-shadow:none;
    }

    html.theme-system .page .card:hover{
        background:#292929;
        border-color:#484848;
    }

    html.theme-system .page .metric{
        color:#f5f5f5;
    }

    html.theme-system .page .muted,
    html.theme-system .page .metric-label{
        color:#a3a3a3;
    }

    html.theme-system .page .btn.primary{
        background:#f4f4f5;
        border-color:#f4f4f5;
        color:#111827;
    }

    html.theme-system .page .btn.secondary{
        background:#303030;
        border-color:#444;
        color:#ececec;
    }
}
/* NovaMind 4.8 responsive AI workspace */
.message-meta{margin-top:4px;font-size:10.5px;color:var(--muted)}.user-row .message-meta{text-align:right}.message-actions.user-actions{justify-content:flex-end;opacity:0}.user-row:hover .message-actions.user-actions,.user-row:focus-within .message-actions.user-actions{opacity:1}.generated-image-actions{display:flex;gap:10px;align-items:center}.generated-image-actions a{font-size:12px;text-decoration:none;padding:5px 8px;border-radius:7px;background:var(--soft)}.pwa-install{position:fixed;left:14px;bottom:14px;z-index:100;border:1px solid var(--line);background:#111827;color:#fff;border-radius:12px;padding:10px 14px;box-shadow:var(--shadow);font-weight:650}.mobile-backdrop{display:none}.chat-main{width:100%;overflow:hidden}.messages{overscroll-behavior:contain}.composer-zone{padding-bottom:max(18px,env(safe-area-inset-bottom))}.sidebar{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:760px){html,body,.chat-body{width:100%;max-width:100%;overflow:hidden}.app-shell{width:100%;height:100dvh;min-height:100vh}.chat-main{height:100dvh;min-height:100vh}.chat-header{height:54px;padding:0 10px;position:relative}.model-select{max-width:calc(100vw - 105px);font-size:14px}.upgrade-chip{display:none!important}.sidebar{left:-286px;width:min(84vw,280px);box-shadow:none}.app-shell.mobile-open .sidebar{left:0;box-shadow:12px 0 40px rgba(0,0,0,.22)}.app-shell.mobile-open .mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.34);z-index:40}.messages{padding:16px 0 156px}.message-row{padding:0 12px;margin-bottom:20px;max-width:100%}.message-content{font-size:15px}.user-row .message-content{max-width:92%;padding:9px 12px}.message-actions,.message-actions.user-actions{opacity:1;overflow-x:auto;max-width:100%;scrollbar-width:none}.action-btn{min-height:34px;padding:7px 8px}.composer-zone{padding:8px 8px max(10px,env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--bg) 86%,rgba(255,255,255,0))}.composer{border-radius:18px;padding:7px 8px 7px 11px}.composer textarea{font-size:16px;max-height:130px}.left-tools{max-width:calc(100vw - 68px);overflow-x:auto;scrollbar-width:none}.tool-toggle,.image-quality-select{flex:0 0 auto}.composer-note{display:none}.status-line{height:auto;min-height:17px}.generated-images{grid-template-columns:1fr;width:100%}.generated-image-card{max-width:100%}.generated-image-card img{max-height:none}.generated-image-card figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.pwa-install{left:10px;bottom:calc(10px + env(safe-area-inset-bottom));font-size:12px}.welcome{margin-top:7vh;padding:18px 14px}.welcome h1{font-size:27px}}
@media(min-width:761px){.app-shell.collapsed .sidebar{width:64px}.app-shell.collapsed .sidebar .sidebar-bottom{padding:7px}.app-shell.collapsed .sidebar-head .brand-link{display:none}}
/* NovaMind v5.1 interaction fixes */
.voice-tool{font-size:15px;line-height:1}.voice-tool.listening{background:#fee2e2;border-color:#fecaca;color:#b91c1c;box-shadow:0 0 0 3px rgba(239,68,68,.10)}.voice-tool:disabled{opacity:.45;cursor:not-allowed}.send-btn.stop{background:#111827}.send-btn.stop:after{content:"■";font-size:11px}.mobile-backdrop.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.34);z-index:40}.sidebar{z-index:50}body.sidebar-open{overflow:hidden}
@media(max-width:760px){.mobile-backdrop.open{display:block}.left-tools{padding-right:2px}.voice-tool{flex:0 0 32px}}
