
:root{--bg:#0b0d0c;--side:#0f1210;--line:#202520;--card:#111512;--card2:#151a16;--text:#f4f5f4;--muted:#858d87}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,textarea{font:inherit}button{border:0;color:inherit;cursor:pointer}
.app{height:100vh;display:flex;overflow:hidden;background:radial-gradient(800px 550px at 57% 45%,#101510 0%,#0b0d0c 60%)}
.sidebar{width:270px;flex:none;background:rgba(13,16,14,.94);border-right:1px solid var(--line);padding:14px 12px;display:flex;flex-direction:column}
.brandrow{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 5px 8px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px}.brand img{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(65,255,85,.2))}
.smallbtn{width:34px;height:34px;border-radius:9px;background:transparent;color:#89908b}.smallbtn:hover{background:#191e1a;color:#fff}
.newchat{height:44px;border-radius:11px;border:1px solid #293029;background:#181d19;display:flex;align-items:center;gap:10px;padding:0 13px;font-weight:600}.newchat:hover{background:#1e241f}
.nav{height:39px;width:100%;border-radius:9px;background:transparent;color:#b5bcb7;display:flex;align-items:center;gap:12px;padding:0 12px;text-align:left;font-size:13px}.nav:hover{background:#191e1a;color:#fff}
.navs{padding:9px 0 5px}.history{overflow:auto}.label{padding:13px 10px 6px;color:#69716b;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.item{width:100%;height:37px;border-radius:8px;background:transparent;color:#bbc1bd;text-align:left;padding:0 10px;font-size:13px}.item:hover{background:#191e1a;color:#fff}
.bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:8px}.profile{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:10px}.profile:hover{background:#191e1a}
.avatar{width:31px;height:31px;border-radius:50%;background:#242a25;display:grid;place-items:center;font-size:12px;font-weight:700}.pc{flex:1;display:flex;flex-direction:column}.pc span{font-size:11px;color:#6f7771;margin-top:2px}
.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.top{height:58px;border-bottom:1px solid rgba(255,255,255,.035);display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 28px}.title{font-size:14px;font-weight:650;display:flex;align-items:center;gap:5px}
.scroll{flex:1;overflow:auto}.welcome{width:min(860px,calc(100% - 48px));min-height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:25px 0 140px}
.hero{height:72px;width:72px;display:grid;place-items:center;margin-bottom:22px}.hero img{width:31px;height:31px;object-fit:contain;filter:drop-shadow(0 0 15px rgba(50,255,70,.18))}
h1{font-size:clamp(32px,3.6vw,48px);line-height:1.05;letter-spacing:-.05em;margin:0;text-align:center;font-weight:750}.sub{font-size:15px;color:#89918b;margin:14px 0 35px;text-align:center}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(760px,100%)}.card{min-height:94px;border:1px solid #252b26;background:linear-gradient(145deg,#131714,#101310);border-radius:15px;padding:17px;display:flex;gap:14px;text-align:left;transition:.16s ease}.card:hover{border-color:#3a433c;background:#171c18;transform:translateY(-1px);box-shadow:0 12px 35px #0005}
.cardicon{width:36px;height:36px;border-radius:10px;background:#202620;display:grid;place-items:center;flex:none}.card strong{font-size:13px;font-weight:650}.card span{display:block;font-size:12px;color:#7e8781;margin-top:7px;line-height:1.45}
.messages{width:min(860px,calc(100% - 48px));margin:auto;padding:30px 0 155px}.row{display:flex;gap:12px;align-items:flex-start;margin-bottom:28px}.user{justify-content:flex-end}.bubble{font-size:14px;line-height:1.65;white-space:pre-wrap}.user .bubble{max-width:78%;padding:12px 15px;border-radius:18px 18px 5px 18px;background:#1d221f;border:1px solid #292f2b}.botmark{width:31px;height:31px;display:grid;place-items:center;flex:none}.botmark img{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(65,255,85,.2))}
.actions{display:flex;gap:2px;margin-top:8px}.actions button{padding:6px;background:transparent;color:#69716b;border-radius:7px}.actions button:hover{background:#191e1a;color:#ddd}
.composerwrap{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);width:min(860px,calc(100% - 36px))}.composer{min-height:60px;border:1px solid #323933;background:rgba(24,29,25,.97);border-radius:20px;padding:8px 9px 8px 11px;display:flex;align-items:center;gap:6px;box-shadow:0 16px 50px #0009}.composer:focus-within{border-color:#465047}
textarea{flex:1;min-height:40px;max-height:150px;resize:none;outline:0;border:0;background:transparent;color:#eee;padding:9px 5px;font-size:14px;line-height:1.45}textarea::placeholder{color:#717972}.cb{width:36px;height:36px;border-radius:10px;background:transparent;color:#949c96;display:grid;place-items:center;font-size:20px}.cb:hover{background:#202620;color:#fff}.send{width:37px;height:37px;border-radius:50%;background:#343a35;color:#858e88;font-size:19px}.send.ready{background:#eff1ef;color:#111}.note{text-align:center;color:#5e665f;font-size:10px;margin-top:7px}.hidden{display:none!important}
@media(max-width:720px){.sidebar{position:fixed;z-index:5;inset:0 auto 0 0;box-shadow:12px 0 40px #0009;transform:translateX(0);transition:.2s}.sidebar.closed{transform:translateX(-100%)}.mobilemenu{display:grid!important}.top{padding-left:62px}.cards{grid-template-columns:1fr}.welcome{width:calc(100% - 28px);padding-bottom:120px}.welcome h1{font-size:31px}.messages{width:calc(100% - 24px)}.composerwrap{width:calc(100% - 18px);bottom:8px}.note{display:none}}
.mobilemenu{display:none;position:fixed;z-index:10;left:14px;top:13px;width:36px;height:36px;border-radius:10px;background:#1c211d;border:1px solid #343b35;place-items:center}
@media(max-width:720px){.mobilemenu{background:var(--theme-surface,#1c211d)!important;color:var(--theme-text,#fff)!important;border-color:var(--theme-line,#343b35)!important;font-size:18px}body.nx-side-open .mobilemenu{visibility:hidden}html body header.top.top{padding-left:62px!important}}

.workspace-title{display:flex;flex-direction:column;gap:2px}.eyebrow{font-size:9px;letter-spacing:.15em;color:#4f8e59;font-weight:800}.workspace-name{font-size:14px;font-weight:650}.top-actions{display:flex;align-items:center;gap:12px}.status{font-size:10px;color:#727b75;display:flex;align-items:center;gap:6px}.status i{width:6px;height:6px;border-radius:50%;background:#4dff68;box-shadow:0 0 9px #4dff68;display:inline-block}.nav.active{background:#171c18;color:#f0f2f0}.newchat .plus{font-size:18px;color:#63ff73}.item.selected{background:#171c18;color:#f2f4f2;box-shadow:inset 2px 0 #45f75b}
.welcome{justify-content:center;align-items:stretch;width:min(900px,calc(100% - 64px));padding-bottom:145px}.welcome-head{display:flex;align-items:center;gap:24px;margin-bottom:48px;padding-left:10px}.welcome-head .hero{flex:none;margin:0;width:76px;height:76px;border:1px solid #273028;border-radius:22px;background:linear-gradient(145deg,#151b16,#0e120f);box-shadow:inset 0 0 25px #4cff6810,0 15px 40px #0005}.welcome-head .hero img{width:52px;height:52px;filter:drop-shadow(0 0 12px #46ff5828)}.welcome-kicker{font-size:10px;letter-spacing:.14em;color:#4f8e59;font-weight:800;margin-bottom:8px}.welcome h1{text-align:left;font-size:clamp(38px,4vw,56px);margin:0;letter-spacing:-.055em}.welcome .sub{text-align:left;margin:9px 0 0;font-size:15px}.section-label{font-size:10px;letter-spacing:.12em;font-weight:800;color:#59635c;margin:0 0 11px 4px}.cards{width:100%;gap:10px}.card{position:relative;min-height:102px;border-radius:13px;padding:18px 42px 18px 17px;background:#101411;border:1px solid #202720}.card:hover{border-color:#364038;background:#151a16;transform:none}.cardicon{background:#192019;color:#b8c1ba;font-size:15px}.card strong{font-size:13px}.card span{max-width:250px}.card b{position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:18px;color:#4d5750;font-weight:400;transition:.15s}.card:hover b{color:#73ff82;right:14px}.hint{margin-top:15px;padding:12px 14px;border-left:2px solid #315e39;background:#0f1310;color:#626b64;font-size:11px}.hint span{font-weight:800;color:#4c8e56;letter-spacing:.1em;margin-right:8px}

/* Nexora dark scrollbars */
* {
  scrollbar-width: thin;
  scrollbar-color: #303530 #0b0d0c;
}
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track {
  background: #0b0d0c;
}
*::-webkit-scrollbar-thumb {
  background: #303530;
  border: 2px solid #0b0d0c;
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb:hover {
  background: #414841;
}

/* === Nexora chat animation polish === */
.row.bot.is-thinking .botmark,
.row.bot.is-revealing .botmark{
  animation:nexoraLogoFloat 1.6s ease-in-out infinite;
}
.row.bot.is-thinking .bot-logo,
.row.bot.is-revealing .bot-logo{
  transform-origin:center;
  filter:drop-shadow(0 0 8px color-mix(in srgb, var(--theme-accent) 28%, transparent));
}
.row.bot.is-thinking .bot-logo{
  animation:nexoraLogoBlink 1.1s ease-in-out infinite;
}
.row.bot.is-revealing .bot-logo{
  animation:nexoraLogoBlink 1.8s ease-in-out infinite;
}
.typing-shell{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid color-mix(in srgb, var(--theme-line) 78%, transparent);
  background:linear-gradient(180deg,color-mix(in srgb, var(--theme-surface2) 92%, transparent),color-mix(in srgb, var(--theme-surface) 96%, transparent));
  border-radius:16px 16px 16px 6px;
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}
.typing-label{
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--theme-text);
  opacity:.92;
}
.typing-dots{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.typing-dots i{
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--theme-accent);
  opacity:.35;
  transform:translateY(0) scale(.88);
  animation:nexoraTypingDot 1s infinite ease-in-out;
}
.typing-dots i:nth-child(2){animation-delay:.16s}
.typing-dots i:nth-child(3){animation-delay:.32s}
.bubble.is-revealing{
  position:relative;
}
.bubble.is-revealing::after{
  content:'';
  display:inline-block;
  width:8px;
  height:1.05em;
  margin-left:3px;
  border-right:2px solid color-mix(in srgb, var(--theme-accent) 72%, var(--theme-text));
  vertical-align:-2px;
  animation:nexoraCaretBlink 1s steps(1) infinite;
}
@keyframes nexoraTypingDot{
  0%,80%,100%{opacity:.28;transform:translateY(0) scale(.86)}
  40%{opacity:1;transform:translateY(-3px) scale(1)}
}
@keyframes nexoraCaretBlink{
  0%,49%{opacity:1}
  50%,100%{opacity:0}
}
@keyframes nexoraLogoBlink{
  0%,100%{opacity:.7;transform:scale(.96)}
  45%{opacity:1;transform:scale(1.06)}
  60%{opacity:.9;transform:scale(1.01)}
}
@keyframes nexoraLogoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}


/* === Nexora: hasła wyłączone na etapie wdrożenia === */
body.no-password-auth #loginScreen{display:none!important}
body.no-password-auth .profile-logout{display:none!important}
body.no-password-auth .password-config-only{display:none!important}
body.no-password-auth .user-credentials .credential-row:nth-child(2){display:none!important}
body.no-password-auth [data-password-toggle]{display:none!important}


.generic-action-payload{margin-top:12px;white-space:pre-wrap;word-break:break-word;border:1px solid var(--theme-line);background:var(--theme-surface-2);border-radius:12px;padding:12px;color:var(--theme-muted);font-size:10px;line-height:1.55;max-height:260px;overflow:auto}

/* === Nexora V5: inteligentna klasyfikacja poczty === */
.mail-status.noaction{background:var(--theme-surface-2)!important;color:var(--theme-muted)!important}
.mail-status.review{background:#2a1c18!important;color:#f2a48f!important}
.mail-status.filed{background:#16221b!important;color:#79d88a!important}
.mail-status.invoice{background:#211d2b!important;color:#c5a8ff!important}
.mail-status.delivery{background:#14232a!important;color:#79d7ff!important}
.invoice-review-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 6px;border-radius:999px;background:#211d2b;color:#c5a8ff;font-size:7px;font-weight:900;letter-spacing:.06em}




/* === Nexora V7: Centrum finansowe === */
.finance-sourcebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--theme-line);background:var(--theme-surface);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.finance-sourcebar strong{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-muted);margin-right:3px}.finance-source-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--theme-line);background:var(--theme-surface-2);border-radius:999px;padding:6px 8px;font-size:8px;font-weight:800;color:var(--theme-muted)}.finance-source-pill i{width:6px;height:6px;border-radius:50%;background:#657068}.finance-source-pill.live i{background:#66ef79;box-shadow:0 0 7px #66ef7966}.finance-source-time{margin-left:auto;font-size:8px;color:var(--theme-muted)}
.finance-attention{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.finance-attention-card{border:1px solid var(--theme-line);background:var(--theme-surface);border-radius:13px;padding:13px;display:flex;align-items:center;gap:10px}.finance-attention-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--theme-surface-2);font-weight:900}.finance-attention-card.warn .finance-attention-icon{background:#2a2116;color:#efc067}.finance-attention-card.bad .finance-attention-icon{background:#2a1918;color:#ef917b}.finance-attention-card.review .finance-attention-icon{background:#211c2c;color:#c4a6ff}.finance-attention-card strong{display:block;font-size:14px}.finance-attention-card span{display:block;font-size:8px;color:var(--theme-muted);margin-top:3px}
.finance-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:12px;margin-bottom:12px}.finance-side{display:grid;gap:12px;align-content:start}.finance-section-card{border:1px solid var(--theme-line);background:var(--theme-surface);border-radius:16px;padding:16px}.finance-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.finance-section-head h3{font-size:14px;margin:0}.finance-section-head p{font-size:9px;color:var(--theme-muted);margin:4px 0 0}.finance-mini-btn{padding:7px 9px;border-radius:8px;background:var(--theme-surface-2);color:var(--theme-muted);font-size:8px}.finance-mini-btn:hover{color:var(--theme-accent)}
.finance-tabs-v7{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.finance-tab-v7{border:1px solid var(--theme-line);background:var(--theme-bg);color:var(--theme-muted);border-radius:999px;padding:7px 10px;font-size:8px;font-weight:800}.finance-tab-v7.active{background:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));border-color:color-mix(in srgb,var(--theme-accent) 42%,var(--theme-line));color:var(--theme-text)}.finance-tab-v7 span{margin-left:5px;opacity:.8}
.finance-toolbar-v7{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px;margin-bottom:10px}.finance-toolbar-v7 input,.finance-toolbar-v7 select{width:100%;height:38px;border:1px solid var(--theme-line);background:var(--theme-bg);color:var(--theme-text);border-radius:10px;padding:0 10px;font-size:9px;outline:0}
.invoice-row-v7{border:1px solid var(--theme-line);background:var(--theme-bg);border-radius:12px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.invoice-row-v7+.invoice-row-v7{margin-top:7px}.invoice-row-v7.overdue{border-color:#5a3129}.invoice-row-v7.review{border-color:#44345f}.invoice-v7-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.invoice-v7-top strong{font-size:11px}.invoice-v7-meta{font-size:8px;color:var(--theme-muted);margin-top:5px;line-height:1.55}.invoice-v7-source{display:inline-flex;padding:3px 6px;border:1px solid var(--theme-line);border-radius:999px;font-size:7px;font-weight:800;color:var(--theme-muted)}.invoice-v7-source.email{color:#81c2ff}.invoice-v7-source.manual{color:#c8b1ff}.invoice-v7-source.base{color:#7ee68f}.invoice-v7-type{display:inline-flex;padding:3px 6px;border-radius:999px;background:var(--theme-surface-2);font-size:7px;font-weight:800;color:var(--theme-muted)}.invoice-v7-money{text-align:right}.invoice-v7-money strong{display:block;font-size:12px}.invoice-v7-actions{display:flex;gap:5px;justify-content:flex-end;margin-top:7px;flex-wrap:wrap}.invoice-v7-actions button{padding:5px 7px;border-radius:7px;background:var(--theme-surface-2);color:var(--theme-muted);font-size:8px}.invoice-v7-actions button:hover{color:var(--theme-accent)}.invoice-v7-actions .danger:hover{color:#ff998d}
.finance-upcoming-list{display:grid;gap:7px}.finance-upcoming-item{border:1px solid var(--theme-line);background:var(--theme-bg);border-radius:10px;padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.finance-upcoming-item strong{font-size:9px;display:block}.finance-upcoming-item span{font-size:8px;color:var(--theme-muted);display:block;margin-top:3px}.finance-upcoming-item b{font-size:10px;white-space:nowrap}.finance-upcoming-item.overdue b{color:#ef917b}.finance-upcoming-item.soon b{color:#efc067}
.finance-ai-box{min-height:170px;border-left:2px solid color-mix(in srgb,var(--theme-accent) 55%,var(--theme-line));padding-left:12px;font-size:10px;line-height:1.65;color:var(--theme-text);white-space:pre-wrap}.finance-ai-placeholder{color:var(--theme-muted)}
.finance-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.finance-health-list{display:grid;gap:7px}.finance-health-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--theme-line);font-size:9px}.finance-health-row:last-child{border-bottom:0}.finance-health-row span{color:var(--theme-muted)}
.finance-status-badge{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:3px 6px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.04em}.finance-status-badge.paid{background:#142418;color:#68ff79}.finance-status-badge.unpaid{background:#251f15;color:#e9bd66}.finance-status-badge.overdue{background:#291918;color:#ef9580}.finance-status-badge.review{background:#211d2b;color:#c5a8ff}
.finance-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finance-form-grid .field.full{grid-column:1/-1}
@media(max-width:1050px){.finance-main-grid,.finance-bottom-grid{grid-template-columns:1fr}.finance-attention{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.finance-attention{grid-template-columns:1fr}.finance-toolbar-v7,.finance-form-grid{grid-template-columns:1fr}.finance-kpis{grid-template-columns:1fr 1fr}}

