:root{
  --navy:#102636;--navy2:#142f42;--navy3:#1a3c50;
  --cyan:#11acd0;--cyan2:#0797bd;--cyan3:#087ba7;
  --ink:#15222d;--muted:#6f7d8b;--line:#dce3e8;--bg:#f5f8fa;--surface:#fff;
  --soft:#eef7fa;--ok:#26b36a;--shadow:0 18px 48px rgba(16,38,54,.12);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
button{transition:.16s ease}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--cyan2)}

/* Login */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);background:#fff;overflow:hidden}
.auth-visual{position:relative;padding:8vh 7vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#fff 0%,#f8fcfd 58%,#edf8fb 100%);border-right:1px solid var(--line);overflow:hidden}
.auth-logo{width:min(430px,55vw);height:auto;position:relative;z-index:2;margin-bottom:36px}
.auth-product{position:relative;z-index:2;border-left:4px solid var(--cyan);padding-left:22px;max-width:620px}.product-kicker{font-size:11px;letter-spacing:.16em;font-weight:900;color:var(--cyan2)}.auth-product h1{font-size:76px;line-height:.9;margin:11px 0 14px;letter-spacing:-.055em}.auth-product p{font-size:20px;line-height:1.55;color:#627485;margin:0}
.hex-field{position:absolute;right:-120px;bottom:-120px;width:600px;height:600px;opacity:.22;background-image:linear-gradient(30deg,transparent 49%,rgba(17,172,208,.3) 50%,transparent 51%),linear-gradient(150deg,transparent 49%,rgba(17,172,208,.3) 50%,transparent 51%);background-size:86px 50px;transform:rotate(10deg)}
.auth-card{align-self:center;justify-self:center;width:min(430px,82%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow);position:relative}.auth-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;border-radius:24px 0 0 24px;background:linear-gradient(var(--cyan),var(--cyan3))}.mini-brand{display:flex;align-items:center;gap:10px;margin-bottom:25px}.mini-brand img{width:42px;height:42px}.mini-brand strong{display:block;font-size:18px}.mini-brand span{display:block;font-size:11px;color:var(--muted)}.auth-card h2{font-size:27px;letter-spacing:-.025em;margin:0 0 8px}.auth-card label{display:block;font-size:12px;font-weight:800;margin-top:19px;color:#334454}.auth-card input{width:100%;margin-top:7px;border:1px solid #ccd8df;border-radius:11px;padding:13px 14px;outline:none;background:#fbfdfe}.auth-card input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(17,172,208,.10)}
.primary,.new-chat,.send-button{border:0;background:linear-gradient(135deg,var(--cyan),var(--cyan3));color:white;font-weight:800;cursor:pointer}.primary{width:100%;padding:14px;border-radius:10px;margin-top:24px;box-shadow:0 8px 18px rgba(7,151,189,.18)}.primary:hover,.new-chat:hover,.send-button:hover{filter:brightness(.96);transform:translateY(-1px)}.text-button,.ghost,.icon-button{border:0;background:transparent;cursor:pointer}.text-button{width:100%;margin-top:15px;color:var(--cyan3);font-weight:750}.form-status{font-size:12px;margin-top:13px;color:var(--muted)}

/* App */
.app-shell{height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr);background:#fff}.sidebar{background:linear-gradient(180deg,var(--navy) 0%,#0d202d 100%);color:white;padding:14px 15px 16px;display:flex;flex-direction:column;min-height:0;border-right:1px solid #173749}.sidebar-logo-box{background:#fff;border-radius:6px;padding:9px 10px;height:76px;display:flex;align-items:center;margin-bottom:14px}.sidebar-logo-box img{width:100%;max-height:60px;object-fit:contain}.sidebar-product{display:flex;align-items:baseline;gap:8px;padding:0 5px 16px}.sidebar-product strong{font-size:22px;color:#20b6d5;letter-spacing:-.03em}.sidebar-product span{font-size:10px;color:#a9bdca;font-weight:700}.new-chat{padding:12px 14px;border-radius:8px;text-align:left;box-shadow:0 8px 18px rgba(5,144,183,.18)}.new-chat span{font-size:18px;margin-right:6px}.sidebar-label{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#8da6b6;font-weight:900;margin:24px 8px 10px}.conversation-list{overflow:auto;flex:1}.conversation-item{width:100%;border:0;background:transparent;color:#e5eef3;padding:10px 9px;border-radius:7px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item:hover,.conversation-item.active{background:#16394d}.conversation-item.active{box-shadow:inset 3px 0 0 var(--cyan)}.sidebar-bottom{display:grid;gap:3px;border-top:1px solid #244456;padding-top:12px}.ghost{color:#d7e5ed;text-align:left;padding:9px;border-radius:7px}.ghost span{color:#82cfe0;margin-right:7px}.ghost:hover{background:#17384b;color:#fff}
.main-panel{display:grid;grid-template-rows:auto 1fr auto;min-width:0;background:#fff}.topbar{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);padding:13px 26px;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(14px)}.top-brand strong{display:block;font-size:17px;color:var(--cyan2);letter-spacing:.03em}.top-brand span{display:block;font-size:11px;color:#687987;margin-top:1px}.status-pill{font-size:11px;font-weight:800;background:#fff;border:1px solid #dfe6ea;color:#314451;padding:7px 11px;border-radius:999px;box-shadow:0 3px 10px rgba(16,38,54,.04)}.status-pill span{display:inline-block;width:8px;height:8px;background:var(--ok);border-radius:50%;margin-right:6px;box-shadow:0 0 0 3px rgba(38,179,106,.10)}
.chat-scroll{overflow:auto;padding:28px 26px 20px;background:radial-gradient(circle at 94% 36%,rgba(17,172,208,.055),transparent 20%),linear-gradient(#fff,#fff)}.welcome{max-width:890px;margin:4.5vh auto 24px;text-align:center}.hero-brand{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:13px}.hero-brand img{width:70px;height:70px}.hero-brand strong{display:block;text-align:left;font-size:34px;letter-spacing:.04em}.hero-brand span{display:block;text-align:left;font-size:9px;font-weight:900;letter-spacing:.13em;color:var(--cyan2);margin-top:2px}.welcome h2{font-size:31px;letter-spacing:-.025em;margin:0 0 10px}.welcome p{max-width:650px;margin:0 auto;color:#687986;line-height:1.55;font-size:14px}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:710px;margin:25px auto}.suggestions button{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 13px;text-align:left;cursor:pointer;color:#243849}.suggestions button b{font-size:20px;color:var(--cyan2);text-align:center}.suggestions button span{display:block}.suggestions button strong{display:block;font-size:12px}.suggestions button small{display:block;color:#687d8c;font-size:11px;margin-top:3px}.suggestions button:hover{border-color:#a7dce8;box-shadow:0 8px 20px rgba(16,38,54,.06);transform:translateY(-1px)}
.messages{max-width:920px;margin:0 auto}.message{display:grid;grid-template-columns:38px 1fr;gap:11px;margin:20px 0}.avatar{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:900;font-size:12px}.message.user .avatar{background:#17384b;color:white}.message.assistant .avatar{background:linear-gradient(135deg,var(--cyan),var(--cyan3));color:white}.bubble{background:white;border:1px solid var(--line);border-radius:14px;padding:15px 17px;line-height:1.56;white-space:pre-wrap;box-shadow:0 4px 13px rgba(16,38,54,.035)}.message.assistant .bubble{border-left:3px solid var(--cyan)}.message.user .bubble{background:#f8fbfc}.source-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.source-chip{font-size:10px;border:1px solid #bfe1ea;background:#f0fbfd;color:#176e86;padding:5px 8px;border-radius:999px;font-weight:750}.thinking{color:var(--muted);font-style:italic}
.composer{background:white;border-top:1px solid var(--line);padding:13px 26px 14px}.composer-box{position:relative;width:min(920px,100%);margin:0 auto}.composer textarea{display:block;resize:none;max-height:150px;width:100%;border:1px solid #bfcdd5;border-radius:11px;padding:12px 50px 12px 14px;outline:none;line-height:1.45;background:#fff}.composer textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(17,172,208,.09)}.send-button{position:absolute;width:36px;height:36px;border-radius:8px;right:6px;top:6px;font-size:17px;display:grid;place-items:center}.composer-note{text-align:center;font-size:9px;color:#8997a2;margin-top:6px}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* Admin */
.admin-dialog{border:0;border-radius:16px;padding:0;width:min(880px,94vw);max-height:88vh;box-shadow:0 28px 80px rgba(16,38,54,.28);overflow:hidden}.admin-dialog::backdrop{background:rgba(8,25,36,.58);backdrop-filter:blur(3px)}.dialog-head{padding:16px 20px;background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center}.dialog-brand{display:flex;align-items:center;gap:10px}.dialog-brand img{width:38px;height:38px}.dialog-head h2{margin:2px 0 0;font-size:21px}.icon-button{font-size:25px;color:#fff}.doc-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px 22px;border-bottom:1px solid var(--line);background:#fff}.doc-row small{color:var(--muted)}.doc-badge{font-size:10px;padding:5px 7px;border-radius:999px;background:#eaf8fb;color:#17708a;height:max-content;font-weight:800}.admin-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;border-bottom:1px solid var(--line);background:#f2fafc}.admin-actions .primary{width:auto;margin:0;padding:10px 14px;white-space:nowrap}.ingest-status{padding:0 22px;max-height:0;overflow:hidden;transition:.2s ease}.ingest-status:not(:empty){padding:13px 22px;max-height:160px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.55}.toast{position:fixed;z-index:100;right:22px;top:22px;background:var(--navy);color:white;padding:11px 14px;border-radius:9px;box-shadow:var(--shadow);font-size:12px;border-left:4px solid var(--cyan)}

@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-card{width:min(430px,90%)}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:11px 14px}.chat-scroll{padding:20px 12px}.welcome{margin-top:2vh}.suggestions{grid-template-columns:1fr}.composer{padding:10px 12px 12px}.status-pill{display:none}.hero-brand img{width:54px;height:54px}.hero-brand strong{font-size:28px}.welcome h2{font-size:26px}}

/* Windows PWA install — v4 */
.install-cogy{width:100%;border:1px solid rgba(130,207,224,.32);background:linear-gradient(135deg,rgba(8,161,200,.18),rgba(11,190,204,.08));color:#fff;border-radius:9px;padding:10px 11px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;margin-bottom:7px;transition:.15s ease}
.install-cogy:hover{background:linear-gradient(135deg,rgba(8,161,200,.32),rgba(11,190,204,.15));border-color:rgba(130,207,224,.58);transform:translateY(-1px)}
.install-cogy .install-symbol{width:28px;height:28px;display:grid;place-items:center;background:var(--cyan);border-radius:7px;font-size:18px;font-weight:900;box-shadow:0 5px 12px rgba(0,166,202,.22)}
.install-cogy strong,.install-cogy small{display:block}.install-cogy strong{font-size:12px}.install-cogy small{font-size:9px;color:#a9c3d0;margin-top:2px;font-weight:650}
.install-cogy.installed{opacity:.7;cursor:default;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
.install-cogy.installed .install-symbol{background:#2e9d67}
.install-login{width:100%;margin-top:13px;padding:11px 12px;border:1px solid #b8dde7;border-radius:9px;background:#f6fcfe;color:#087fa1;font-weight:800;cursor:pointer}.install-login:hover{background:#eaf8fc}
.install-dialog{border:0;border-radius:18px;padding:0;width:min(560px,92vw);box-shadow:0 28px 80px rgba(7,24,36,.28);color:var(--ink)}.install-dialog::backdrop{background:rgba(8,24,35,.58);backdrop-filter:blur(3px)}
.install-dialog-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.install-dialog-head h2{margin:4px 0 0;font-size:22px}.install-dialog-body{padding:22px;line-height:1.5}.install-dialog-body p{color:var(--muted)}.install-dialog-body ol{padding-left:22px;color:#334a59}.install-dialog-body li{margin:10px 0}.install-app-card{display:flex;align-items:center;gap:13px;background:#f5fafc;border:1px solid #dbeaf0;padding:12px;border-radius:12px}.install-app-card img{width:54px;height:54px;border-radius:13px}.install-app-card strong,.install-app-card span{display:block}.install-app-card strong{font-size:21px;color:var(--navy)}.install-app-card span{font-size:11px;color:var(--muted);margin-top:2px}.install-note{font-size:11px;color:#607786;background:#f4f7f8;border-radius:9px;padding:10px 12px;margin-top:16px}
