:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#edf1f2;background:#0c1116;--panel:#111921;--border:#27343e;--muted:#96a5b0;--green:#4be3b1;--field:#17222b}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}.hidden{display:none!important}a{color:var(--green)}.shell{display:flex;height:100dvh;min-height:490px;overflow:hidden}.sidebar{width:274px;flex-shrink:0;background:#101820;border-right:1px solid #202e36;display:flex;flex-direction:column;z-index:3}.sidebar-top{padding:22px 15px 10px}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 9px 24px}.brand-symbol{width:62px;height:62px;background:linear-gradient(145deg,#17825e,#49dca5);color:#071e18;border-radius:18px;font-size:44px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 35px #08bd8f25}.brand-symbol.small{width:39px;height:39px;font-size:28px;border-radius:12px}.sidebar-brand strong{font-size:16px}.sidebar-brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.new-chat{width:100%;background:#1b2b32;border:1px solid #365047;color:#e5f7f2;padding:12px;border-radius:10px;font-weight:600;text-align:left}.new-chat:hover,.sidebar-actions button:hover{background:#22333d}.sidebar-section-title{font-size:10px;color:#708895;letter-spacing:1.6px;padding:26px 23px 11px;font-weight:750}.conversation-list{overflow-y:auto;flex:1;padding:0 10px}.conversation-row{display:flex;align-items:center;gap:2px;border-radius:9px;margin:4px 0}.conversation-row.active{background:#1d3536}.conversation-item{background:transparent;border:0;color:#c9d2d7;flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:11px 9px;font-size:13px}.conversation-row:hover{background:#1c2b33}.delete-chat{color:#81949e;background:transparent;border:0;padding:5px 7px}.delete-chat:hover{color:#ff8585}.sidebar-bottom{border-top:1px solid var(--border);padding:14px}.account-label{color:#afc6c5;font-size:12px;padding:6px 6px 12px}.sidebar-actions{display:flex;gap:8px}.sidebar-actions button{background:transparent;border:1px solid #34434d;color:#c5d3db;border-radius:8px;padding:10px;flex:1;font-size:12px}.main{display:flex;flex-direction:column;min-width:0;flex:1;background:radial-gradient(ellipse at 50% 9%,#152822 0,#0c1116 50%)}.topbar{height:65px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #27313870;padding:0 28px;flex-shrink:0}.top-left,.top-right{display:flex;align-items:center;gap:12px}.top-left strong{font-size:17px;letter-spacing:1px}.version-tag{background:#215443;color:#8df5c4;border-radius:5px;font-size:10px;padding:3px 6px}.status-indicator{display:flex;align-items:center;gap:7px;font-size:12px;color:#a0b0b8}.dot{width:8px;height:8px;border-radius:100%;background:#bb9042}.dot.online{background:#49db9d;box-shadow:0 0 10px #49db9d80}.dot.offline{background:#d46f6f}#model-select{max-width:190px;background:#142029;color:#e8eded;border:1px solid #30404a;border-radius:9px;padding:9px 12px;font-size:12px}.welcome{width:100%;max-width:820px;margin:auto;padding:20px 25px 50px;text-align:center}.welcome-mark{margin:0 auto 18px;background:linear-gradient(145deg,#14765a,#64efbd);color:#0b261b;width:70px;height:70px;border-radius:21px;font-size:49px;font-weight:800;display:grid;place-items:center}.welcome h2{font-size:clamp(24px,3vw,34px);margin:16px 0 9px;letter-spacing:-.8px}.welcome p{color:var(--muted);font-size:14px;margin:0 0 32px}.suggestion-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;max-width:650px;margin:auto}.suggestion{border:1px solid #2d3d40;color:#d1dfdc;border-radius:11px;background:#172321;text-align:left;padding:17px 15px;font-size:13px;min-height:68px}.suggestion:hover{border-color:#5ba58b;background:#20322e}.suggestion span{float:right;color:#77d7b6}.messages{flex:1;overflow-y:auto;width:100%;padding:30px max(22px,calc((100% - 770px)/2)) 15px}.message{margin:0 0 30px;display:flex;align-items:flex-start;gap:14px;max-width:100%}.avatar{flex-shrink:0;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:15px;font-weight:750;background:linear-gradient(150deg,#26795d,#52c9a2);color:#041a14}.message.user{flex-direction:row-reverse}.message.user .avatar{background:#31404a;color:#d6e2e8;font-size:12px}.msg-body{max-width:min(91%,690px);min-width:0}.msg-meta{font-size:12px;color:#8fa6af;margin:2px 0 9px;font-weight:650}.message.user .msg-meta{text-align:right}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;color:#e7ecef}.message.user .msg-text{background:#1b2b32;border:1px solid #2b4149;padding:11px 16px;border-radius:16px 4px 16px 16px}.message.assistant .msg-text{padding:3px 0}.copy-msg{margin-top:8px;font-size:11px;background:transparent;border:0;color:#77918f;padding:4px 0}.copy-msg:hover{color:#79e5b5}.msg-partial{font-size:11px;color:#e5ae68}.composer-zone{padding:7px 24px 17px;width:100%;max-width:866px;margin:0 auto;flex-shrink:0}.composer{background:#18252c;border:1px solid #364850;border-radius:17px;padding:12px 14px 10px;box-shadow:0 8px 30px #0002}.composer:focus-within{border-color:#4e8e7b}.composer textarea{width:100%;resize:none;background:transparent;border:0;outline:0;color:#eaf0f1;font-size:14px;line-height:1.55;max-height:150px;min-height:40px;padding:5px 6px}.composer textarea::placeholder{color:#8799a2}.composer-bottom{display:flex;justify-content:space-between;align-items:center;padding:1px 3px 0}.composer-bottom span,.disclaimer{color:#7e929b;font-size:10px}.composer-buttons{display:flex;align-items:center;gap:7px}.icon-btn{color:#9cadb4;background:transparent;border:0;padding:6px 9px;border-radius:9px}.icon-btn:hover{background:#29413e;color:#e8fff3}.send-btn{background:var(--green);color:#063022;border:0;border-radius:9px;font-size:18px;font-weight:800;width:34px;height:34px}.send-btn:hover{background:#7af1c9}.disclaimer{text-align:center;margin-top:12px}.flash{border:1px solid #895e52;background:#472b2b;color:#ffd5cb;border-radius:9px;padding:10px 13px;font-size:12px;margin-bottom:8px}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 50% 10%,#1b463b,#0b141b 58%)}.auth-card{width:min(100%,420px);background:#121d25;padding:35px;border:1px solid #2b4542;border-radius:20px;box-shadow:0 18px 65px #0006}.auth-card .brand-symbol{margin-bottom:18px}.eyebrow{font-size:10px;letter-spacing:2px;color:#59b995;font-weight:750}.auth-card h1{font-size:30px;letter-spacing:1px;margin:8px 0 6px}.auth-card p{color:#9badb6;font-size:13px;margin:0 0 23px}.auth-card label,.modal label{display:block;margin:12px 0;font-size:12px;color:#bdcbd2;font-weight:600}.auth-card input,.modal textarea{display:block;width:100%;margin-top:8px;background:#0b151b;color:#f0f6f6;padding:13px;border:1px solid #3a5056;border-radius:9px;outline:0}.auth-card input:focus,.modal textarea:focus{border-color:#6acfa9}.primary{background:#51dcb0;color:#08251e;border:0;border-radius:10px;padding:13px 16px;width:100%;font-weight:750;margin-top:12px}.primary:hover{background:#80edc9}.auth-card .error-message{color:#ffb0a7;margin:8px 0}.auth-foot{text-align:center;color:#6d8a8a;font-size:11px;margin-top:23px}.modal-cover{position:fixed;inset:0;background:#000a;z-index:10;display:grid;place-items:center;padding:20px}.modal{background:#142029;border:1px solid #3c5555;border-radius:16px;padding:24px;max-width:520px;width:100%;box-shadow:0 20px 70px #0008}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:18px}.modal-header button{border:0;background:transparent;color:#b4c3c7;font-size:19px}.modal p{font-size:13px;color:#a2b4bc;line-height:1.5}.modal textarea{line-height:1.5;resize:vertical}.mobile-menu{display:none}.mobile-backdrop{display:none}@media(max-width:720px){.shell{min-height:0}.sidebar{position:absolute;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s;width:min(85vw,310px)}.sidebar.open{transform:translateX(0)}.mobile-backdrop:not(.hidden){display:block;position:fixed;inset:0;background:#0009;z-index:2}.mobile-menu{display:inline-block}.topbar{height:61px;padding:0 13px}.status-indicator #status-text{display:none}#model-select{max-width:146px}.welcome{padding:20px 15px}.suggestion-grid{gap:8px}.suggestion{padding:12px;font-size:12px}.messages{padding:20px 16px}.composer-zone{padding:5px 10px 10px}.disclaimer{font-size:9px}.message{gap:10px}.msg-body{max-width:calc(100% - 44px)}}@media(max-height:640px){.welcome-mark{width:50px;height:50px;font-size:34px}.welcome p{margin-bottom:14px}.welcome{padding-bottom:8px}.suggestion{min-height:52px}.disclaimer{margin-top:6px}}
/* BIRI 1.1 — modal dialog ergonomics; scroll belongs ONLY to the body, never to fixed header/actions. */
.modal-cover{padding:clamp(8px,2vw,24px);overflow:hidden;overscroll-behavior:contain}
.modal-large{width:min(940px,100%);max-width:940px;max-height:min(92dvh,880px);min-height:0;padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;position:relative}
.modal-fixed{flex:0 0 auto;min-width:0;background:#142029}
.modal-large .modal-header{padding:20px 24px 13px;border-bottom:1px solid var(--border);gap:12px}
.modal-large .modal-header h2{margin:7px 0 3px;font-size:clamp(17px,2.8vw,22px)}
.modal-large .modal-header p{margin:0;color:#93adb1;font-size:12px}
.modal-close{flex:0 0 38px;width:38px;height:38px;border-radius:10px!important;font-size:18px}
.modal-close:hover{background:#263a43!important}
.settings-tabs{display:flex;flex:0 0 auto;overflow-x:auto;scrollbar-width:thin;gap:4px;padding:7px 16px;background:#142029;border-bottom:1px solid var(--border);white-space:nowrap}
.settings-tab{background:transparent;border:0;color:#9bafb8;padding:11px 13px;border-radius:8px;font-size:13px;font-weight:650;white-space:nowrap}
.settings-tab.active{background:#225044;color:#9de8ce}
.settings-tab:focus-visible,.minor-btn:focus-visible,.modal-close:focus-visible{outline:2px solid #6fe1b2;outline-offset:2px}
.modal-scroll{flex:1 1 auto;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:21px 24px 26px;scrollbar-gutter:stable}
.settings-panel h3{font-size:17px;margin:0 0 9px}
.settings-panel p{font-size:13px;color:#a9c1c5;line-height:1.65}
.settings-panel label{margin:22px 0 7px}
.settings-panel textarea{width:100%;min-height:170px;max-height:48dvh;background:#0d1921;color:#f1faf6;border:1px solid #3c5257;border-radius:10px;padding:12px;resize:vertical}
.settings-panel textarea:focus,.provider-card input:focus{outline:2px solid #55cfa6;outline-offset:0}
.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:13px 23px;min-height:66px}
.modal-footer #settings-feedback{font-size:12px;color:#b0d5c7;line-height:1.4;min-width:0}
.modal-footer-buttons{display:flex;gap:10px;flex-shrink:0}
.primary.compact{width:auto;white-space:nowrap;margin:0;padding:10px 14px;font-size:12px}
.minor-btn{background:#23363d;border:1px solid #3e5256;color:#d9e9e6;border-radius:8px;padding:10px 12px;font-size:12px;white-space:nowrap;font-weight:650}
.minor-btn:hover{background:#2a4848}.minor-btn.danger{border-color:#65403e;color:#f6b8b2}
.info-strip{padding:12px 14px;border-radius:10px;background:#102a29;color:#a6f4d8;margin:13px 0;font-size:12px}
.catalog-list{display:flex;flex-direction:column;gap:10px;margin:15px 0 20px}
.model-card,.provider-card{border:1px solid #34484d;background:#101b23;border-radius:11px;padding:14px;min-width:0}
.model-card{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-summary{min-width:0;display:flex;flex-direction:column;gap:5px}
.card-summary strong{font-size:13px;overflow-wrap:anywhere}.card-summary small{color:#8ca8aa;font-size:11px}
.provider-title{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}.provider-title strong{font-size:14px}
.provider-status{font-size:11px;border:1px solid #446055;border-radius:6px;padding:5px 7px;color:#a7e9cf}
.provider-card input{width:100%;background:#0b151c;color:#f5faf8;border:1px solid #3d5054;border-radius:8px;padding:12px;font-size:13px}
.provider-actions{display:flex;flex-wrap:wrap;gap:8px;margin:11px 0}.provider-note{color:#9bbab5;font-size:11px;display:block;line-height:1.5}
.pull-progress{background:#172e30;border-radius:12px;padding:15px;margin:15px 0}.progress-track{height:9px;background:#2c4346;overflow:hidden;border-radius:99px;margin:10px 0}.progress-fill{height:100%;width:0%;background:#54e1ae;transition:width .18s}.pull-progress p{margin:0}
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.security-grid>div{background:#10232a;padding:14px;border:1px solid #2e464d;border-radius:9px}.security-grid strong{display:block;font-size:13px;margin-bottom:7px}.security-grid span{display:block;color:#9cb2bd;font-size:12px;line-height:1.55}
.small-note{font-size:11px!important;color:#859ea8!important}
body.modal-open{overflow:hidden}
@media(max-width:720px){
 .modal-cover{padding:8px;align-items:end}
 .modal-large{width:100%;max-height:calc(100dvh - 16px);border-radius:17px;}
 .modal-large .modal-header{padding:16px 16px 12px}
 .settings-tabs{padding:5px 10px}
 .settings-tab{padding:10px 9px;font-size:12px}
 .modal-scroll{padding:18px 16px 22px;scrollbar-gutter:auto}
 .modal-footer{padding:10px 13px;min-height:60px;flex-wrap:wrap}
 .modal-footer-buttons{margin-left:auto}
 .security-grid{grid-template-columns:1fr}
 .model-card{align-items:flex-start}
 .provider-actions .minor-btn{flex:1 1 auto}
}
@media(max-height:500px){.modal-cover{padding:4px}.modal-large{max-height:calc(100dvh - 8px)}.modal-large .modal-header{padding:8px 12px}.modal-large .modal-header p{display:none}.settings-tabs{padding:3px 8px}.settings-tab{padding:7px 9px}.modal-scroll{padding:10px 12px}.modal-footer{padding:6px 10px;min-height:48px}}

/* BIRI 1.2 additions: bounded settings, accessible cloud cards and diagnostic area */
.provider-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 16px}
.provider-card:focus-within{border-color:#5eab95}
.provider-card>small{display:block;color:#a3b7bd;line-height:1.6;margin:5px 0 9px;overflow-wrap:anywhere}
.diagnostic-output{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap;overflow-x:auto;line-height:1.75;color:#c3f5e4;font-size:12px;background:#0a151b;border:1px solid #365459;border-radius:11px;padding:16px;margin-top:15px}
#public-models .model-card{min-height:67px}
#public-models .card-summary strong{line-height:1.5}
@media(max-width:520px){.modal-large{max-height:calc(100dvh - 12px)}.settings-tab{flex:0 0 auto}.provider-card .provider-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.provider-card .provider-actions button{white-space:normal;min-height:42px}.modal-footer{min-width:0}.modal-footer-buttons{flex-shrink:1}}

/* BIRI 1.2 — descoberta de funções e busca no histórico */
.sidebar-quick{display:grid;gap:4px;margin-bottom:11px}
.sidebar-quick button{width:100%;border:0;border-radius:7px;text-align:left;padding:9px;background:transparent;color:#b6cfd0;font-size:12px;cursor:pointer}
.sidebar-quick button:hover{background:#223a3e;color:white}
.history-search-label{font-size:10px;color:#93abae;margin-top:13px;display:block;letter-spacing:.04em}
#search-chats{width:100%;margin:5px 0 10px;border:1px solid #385058;background:#0f1a21;color:#e5f1ef;padding:9px;border-radius:8px;outline:0;font-size:12px}
#search-chats:focus{border-color:#52d6a9}
.rename-chat{border:0;background:transparent;color:#91a3a7;padding:5px;min-width:24px;font-size:13px}
.rename-chat:hover{color:#65e9ba}
.setup-help{background:#142c2c;border:1px solid #3a6657;border-radius:13px;padding:17px;margin:0 auto 22px;max-width:680px;color:#d8f6e9;text-align:left}
.setup-help strong{font-size:15px}.setup-help p{font-size:12px;margin:7px 0 14px;color:#b1c5be}
.setup-help>div{display:flex;gap:8px;flex-wrap:wrap}.setup-help button{padding:10px 12px;border:1px solid #4b8070;background:#1f5241;color:#ddfff0;border-radius:9px;font-size:12px}
.setup-help button:hover{background:#2d7355}

.provider-help-link{display:inline-block;color:#73e1bd;font-size:12px;margin:0 0 8px;text-decoration:underline;text-underline-offset:3px}
.provider-help-link:hover{color:#a5ffdc}
