/* =========================================================================
   DZIENNIK TRADINGU — styles
   Built on the TRADE HUB design system tokens.
   ========================================================================= */

@font-face {
  font-family: 'Michroma';
  src: url('assets/Michroma-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  /* cream / paper */
  --cream:#f5f1ea; --cream-2:#fffdf9; --cream-3:#eae4d5;
  /* ink */
  --ink:#14110d; --ink-soft:#3a362f; --muted:#8a8478;
  --line:#d9d2c5; --line-dark:rgba(245,241,234,0.15);
  /* accent */
  --accent:#b8722a; --accent-dark:#8f5518; --accent-tint:rgba(184,114,42,0.10);
  /* P&L semantics */
  --pos:#2f6b3d; --pos-soft:rgba(47,107,61,0.12);
  --neg:#a43226; --neg-soft:rgba(164,50,38,0.12);
  --success:#4caf50;

  /* semantic surface aliases (re-pointed in dark theme) */
  --bg:var(--cream); --surface:var(--cream-2); --surface-2:var(--cream-3);
  --fg:var(--ink); --fg-soft:var(--ink-soft); --fg-muted:var(--muted);
  --border:var(--line); --rail:var(--ink); --rail-fg:var(--cream);
  --rail-line:var(--line-dark); --rail-muted:rgba(245,241,234,0.55);

  --font-display:'Michroma','Arial Black',sans-serif;
  --font-serif:'Instrument Serif',Georgia,serif;
  --font-body:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;

  --r-sm:3px; --r-md:4px; --r-pill:999px;
  --ls-display:-0.02em; --ls-label:0.12em; --ls-eyebrow:0.20em; --ls-caps:0.08em;
  --ease:cubic-bezier(0.2,0.7,0.2,1);
  --shadow-card:0 20px 40px -24px rgba(20,17,13,0.22);
  --shadow-modal:0 40px 80px -20px rgba(20,17,13,0.45);

  --rail-w:248px;
}

/* ---------- DARK DASHBOARD THEME ---------- */
html[data-theme="dark"]{
  --bg:#16140f; --surface:#1e1b15; --surface-2:#262219;
  --fg:#f3efe6; --fg-soft:#cdc6b6; --fg-muted:#8d8576;
  --border:rgba(245,241,234,0.10);
  --rail:#0e0c09; --rail-fg:#f3efe6; --rail-line:rgba(245,241,234,0.08);
  --rail-muted:rgba(243,239,230,0.5);
  --pos:#5fc97e; --pos-soft:rgba(95,201,126,0.14);
  --neg:#e0705f; --neg-soft:rgba(224,112,95,0.14);
  --accent-tint:rgba(184,114,42,0.16);
  --shadow-card:0 20px 40px -24px rgba(0,0,0,0.6);
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:var(--font-body); background:var(--bg); color:var(--fg);
  font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased;
  transition:background .3s var(--ease), color .3s var(--ease);
}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
.mono{font-family:var(--font-mono);}
.serif{font-family:var(--font-serif);}
.em{font-family:var(--font-serif);font-style:italic;color:var(--accent);}

/* ====================== APP SHELL ====================== */
.app{display:grid;grid-template-columns:var(--rail-w) 1fr;min-height:100vh;}

/* ---- sidebar / rail ---- */
.rail{
  background:var(--rail);color:var(--rail-fg);
  display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;border-right:1px solid var(--rail-line);
}
.rail-brand{padding:22px 22px 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--rail-line);}
.rail-brand img{height:34px;width:auto;}
.rail-brand .wm{display:flex;flex-direction:column;line-height:1;}
.rail-brand .wm b{font-family:var(--font-display);font-size:12px;letter-spacing:0.14em;}
.rail-brand .wm span{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--rail-muted);margin-top:5px;}

.rail-nav{padding:16px 12px;display:flex;flex-direction:column;gap:2px;flex:1;}
.rail-sec{font-size:10px;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--rail-muted);padding:14px 14px 8px;}
.rail-sec:not(:first-child){margin-top:4px;border-top:1px solid rgba(255,255,255,.045);padding-top:17px;}
.nav-item{
  display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r-md);
  color:var(--rail-fg);font-size:13.5px;font-weight:500;opacity:.72;
  transition:opacity .18s,background .18s,color .18s;position:relative;
}
.nav-item svg{width:17px;height:17px;flex-shrink:0;stroke-width:1.8;}
.nav-item:hover{opacity:1;background:rgba(245,241,234,0.06);}
.nav-item.active{opacity:1;background:rgba(245,241,234,0.08);color:var(--rail-fg);}
.nav-item.active::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent);}
.nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--rail-muted);}

/* connection status pill at bottom of rail */
.rail-conn{margin:12px;padding:14px;border:1px solid var(--rail-line);border-radius:var(--r-md);}
.rail-conn .row{display:flex;align-items:center;gap:9px;}
.rail-conn .ldot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(76,175,80,0.18);animation:pulse 2.4s var(--ease) infinite;}
.rail-conn .ldot.off{background:var(--neg);box-shadow:0 0 0 4px rgba(164,50,38,0.18);animation:none;}
.rail-conn .ttl{font-size:12px;font-weight:600;}
.rail-conn .sub{font-family:var(--font-mono);font-size:10.5px;color:var(--rail-muted);margin-top:7px;line-height:1.5;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}

/* ====================== MAIN ====================== */
.main{display:flex;flex-direction:column;min-width:0;}
.topbar{
  position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:14px 28px;
}
.topbar .eyebrow{font-size:11px;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--fg-muted);display:flex;align-items:center;gap:11px;}
.topbar .eyebrow::before{content:'';width:26px;height:1px;background:var(--accent);}
.topbar h1{font-family:var(--font-display);font-size:19px;font-weight:400;letter-spacing:var(--ls-display);margin-top:7px;text-transform:uppercase;}
.topbar h1 em{font-family:var(--font-serif);font-style:italic;color:var(--accent);text-transform:none;letter-spacing:0;font-weight:400;}
.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--fg);font-size:17px;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;}
.topbar-right{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.topbar-meta{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);text-align:right;line-height:1.7;}
.topbar-meta .live{display:inline-flex;align-items:center;gap:6px;}
.topbar-meta .live::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--success);animation:pulse 2.4s var(--ease) infinite;}

.content{padding:24px 36px 48px;max-width:none;width:100%;}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;
  border-radius:var(--r-pill);border:1.5px solid transparent;transition:all .18s var(--ease);background:none;color:var(--fg);}
.btn svg{width:15px;height:15px;stroke-width:2;}
.btn-primary{background:var(--ink);color:var(--cream);}
.btn-primary:hover{background:var(--accent);transform:translateY(-1px);}
html[data-theme="dark"] .btn-primary{background:var(--accent);}
html[data-theme="dark"] .btn-primary:hover{background:var(--accent-dark);}
.btn-ghost{border-color:var(--border);color:var(--fg);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.btn-sm{padding:7px 13px;font-size:12px;}

/* ---- generic card ---- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);}
.card-pad{padding:16px 18px;}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--border);}
.card-head h3{font-family:var(--font-display);font-size:13px;font-weight:400;letter-spacing:0.04em;text-transform:uppercase;}
.card-head .meta{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);}

.section-label{font-size:11px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.section-label::before{content:'';width:24px;height:1px;background:var(--accent);}

/* ====================== KPI ROW ====================== */
.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px;}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:13px 16px;position:relative;overflow:hidden;}
.kpi .k{font-size:10.5px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);}
.kpi .v{font-family:var(--font-display);font-size:23px;line-height:1;letter-spacing:var(--ls-display);margin-top:10px;white-space:nowrap;}
.kpi .v.sm{font-size:25px;}
.kpi .d{font-size:11px;margin-top:7px;color:var(--fg-muted);display:flex;align-items:center;gap:6px;}
.kpi .d .chip{font-family:var(--font-mono);font-weight:600;padding:2px 7px;border-radius:var(--r-sm);font-size:11px;}
.pos{color:var(--pos);} .neg{color:var(--neg);}
.chip.pos{background:var(--pos-soft);color:var(--pos);} .chip.neg{background:var(--neg-soft);color:var(--neg);}
.kpi .spark{position:absolute;right:14px;bottom:12px;width:62px;height:26px;opacity:.85;}

/* ====================== DASHBOARD GRID ====================== */
.dash-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;margin-bottom:16px;}
.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}

/* equity curve */
.equity-wrap{padding:6px 16px 14px;}
.equity-svg{width:100%;height:205px;display:block;overflow:visible;}
.equity-grid line{stroke:var(--border);stroke-width:1;}
.equity-area{fill:url(#eqGrad);}
.equity-line{fill:none;stroke:var(--accent);stroke-width:2;}
.equity-axis{font-family:var(--font-mono);font-size:10px;fill:var(--fg-muted);}
.equity-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2;}

/* donut / win-loss */
.donut-wrap{display:flex;align-items:center;gap:20px;padding:16px 18px;}
.donut{width:108px;height:108px;flex-shrink:0;}
.donut-legend{display:flex;flex-direction:column;gap:10px;flex:1;}
.lg-row{display:flex;align-items:center;gap:10px;font-size:13px;}
.lg-row .sw{width:11px;height:11px;border-radius:2px;flex-shrink:0;}
.lg-row .lv{margin-left:auto;font-family:var(--font-mono);font-weight:600;}

/* ====================== CALENDAR ====================== */
.cal{padding:18px 20px 22px;}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:7px;}
.cal-dow span{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-muted);text-align:center;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;}
.cal-cell{aspect-ratio:1;border-radius:var(--r-sm);border:1px solid var(--border);padding:7px 8px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:transform .15s,border-color .15s;}
.cal-cell.empty{border:none;background:none;}
.cal-cell.has{cursor:pointer;}
.cal-cell.has:hover{transform:translateY(-2px);border-color:var(--accent);}
.cal-cell .dnum{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-muted);}
.cal-cell .dpl{font-family:var(--font-display);font-size:12.5px;letter-spacing:-0.01em;}
.cal-cell.win{background:var(--pos-soft);border-color:transparent;}
.cal-cell.loss{background:var(--neg-soft);border-color:transparent;}
.cal-cell.win .dpl{color:var(--pos);} .cal-cell.loss .dpl{color:var(--neg);}
.cal-cell .ntag{position:absolute;top:6px;right:7px;font-family:var(--font-mono);font-size:8.5px;color:var(--fg-muted);}

/* ====================== TABLE ====================== */
.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.field{display:flex;align-items:center;gap:8px;}
.field label{font-size:10.5px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);}
input[type=text],input[type=number],input[type=date],input[type=time],select,textarea{
  font-family:var(--font-body);font-size:13px;padding:9px 12px;border:1px solid var(--border);
  background:var(--surface);color:var(--fg);border-radius:var(--r-md);transition:border-color .18s;min-width:120px;
}
select{cursor:pointer;} textarea{resize:vertical;line-height:1.55;}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;}
.search{flex:1;min-width:200px;position:relative;}
.search input{width:100%;padding-left:34px;}
.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--fg-muted);}

.tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;}
table.tbl{width:100%;border-collapse:collapse;font-size:13px;}
table.tbl thead th{
  text-align:left;font-size:10px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);
  font-weight:600;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface-2);
}
table.tbl thead th.r,table.tbl td.r{text-align:right;}
table.tbl tbody td{padding:8px 14px;border-bottom:1px solid var(--border);vertical-align:middle;}
table.tbl tbody tr{cursor:pointer;transition:background .14s;}
table.tbl tbody tr:hover{background:var(--accent-tint);}
table.tbl tbody tr:last-child td{border-bottom:none;}
.sym{display:inline-flex;align-items:center;gap:9px;font-weight:600;}
.sym .tk{font-family:var(--font-mono);font-size:11px;padding:3px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);letter-spacing:0.04em;}
.side{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:3px 9px;border-radius:var(--r-sm);letter-spacing:0.04em;}
.side.long{background:var(--pos-soft);color:var(--pos);} .side.short{background:var(--neg-soft);color:var(--neg);}
.pl-cell{font-family:var(--font-display);font-size:13.5px;letter-spacing:-0.01em;}
.tag{display:inline-block;font-size:11px;padding:3px 9px;border:1px solid var(--border);border-radius:var(--r-pill);color:var(--fg-soft);background:var(--bg);}
td .muted-mono{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-muted);}
.rcell{display:inline-flex;align-items:center;gap:7px;}
.rbar{width:46px;height:5px;border-radius:3px;background:var(--surface-2);overflow:hidden;position:relative;}
.rbar i{position:absolute;top:0;bottom:0;left:0;border-radius:3px;}

/* row-level chips */
.dot-row{display:flex;gap:4px;}
.dot-row i{width:6px;height:6px;border-radius:50%;background:var(--border);}
.dot-row i.on{background:var(--accent);}

/* ====================== MODAL (trade detail) ====================== */
.modal-bg{position:fixed;inset:0;background:rgba(20,17,13,0.78);backdrop-filter:blur(6px);z-index:200;display:none;align-items:center;justify-content:center;padding:28px;}
.modal-bg.open{display:flex;}
.modal{background:var(--bg);width:100%;max-width:1040px;max-height:92vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-modal);}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 20px;border-bottom:1px solid var(--border);}
.modal-head .tt{font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:0.02em;display:flex;align-items:center;gap:12px;}
.modal-head .sb{font-family:var(--font-mono);font-size:13.5px;color:var(--fg-muted);margin-top:10px;}
.modal-head .sb b{font-size:16px;}
/* ---- Szeroki, dwukolumnowy modal edycji zagrania (lewa: pozycja+notatki, prawa: screeny) ---- */
.modal.wide{max-width:min(94vw,1300px);max-height:92vh;overflow:hidden;display:flex;flex-direction:column;}
.modal.wide .modal-head{flex:0 0 auto;}
.modal.wide .modal-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding-bottom:0;}
.modal.wide .modal-foot{flex:0 0 auto;padding:16px 0 4px;margin-top:0;border-top:1px solid var(--border);}
.te-cols{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:30px;}
.te-left,.te-right{min-height:0;overflow-y:auto;padding-right:6px;}
.te-left{display:flex;flex-direction:column;}
.te-left .edit-result{margin-bottom:0;max-width:560px;}
.te-left textarea#et-notes{flex:1 1 auto;min-height:120px;max-width:560px;}
.te-sech{font-size:11px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);font-weight:700;margin-bottom:14px;}
/* Kompaktowe pola: nie rozciągaj na całą kolumnę — sensowne szerokości */
.modal.wide .te-left .edit-grid{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:end;}
.modal.wide .te-left .edit-grid .fr{width:120px;}
.modal.wide .te-left .edit-grid .fr:nth-child(1){width:180px;}   /* Kierunek (Long/Short) */
.modal.wide .te-left .edit-grid .fr:nth-child(4){width:180px;}   /* Ocena M/S (2 selecty) */
.modal.wide .te-left .edit-grid .fr:nth-child(3){width:140px;}   /* Godzina */
.modal.wide .att{border-top:none;padding-top:0;}
.modal.wide .att-card{width:140px;}
.modal.wide .att-label{font-size:11px;}
@media(max-width:900px){
  .modal.wide{overflow-y:auto;}
  .te-cols{grid-template-columns:1fr;gap:8px;}
  .te-left,.te-right{overflow:visible;padding-right:0;}
  .modal.wide .te-left .edit-grid .fr{width:calc(50% - 8px);}
  .modal.wide .te-left .edit-grid .fr:nth-child(1),
  .modal.wide .te-left .edit-grid .fr:nth-child(3),
  .modal.wide .te-left .edit-grid .fr:nth-child(4){width:calc(50% - 8px);}
}
#et-time{font-family:var(--font-mono);font-size:14px;font-weight:600;letter-spacing:0.02em;}
.edit-grid .fr{display:flex;flex-direction:column;gap:8px;min-width:0;}
.edit-grid input,.edit-grid select,.edit-grid textarea,.edit-grid .seg{box-sizing:border-box;width:100%;min-width:0;min-height:42px;}
.edit-grid textarea{min-height:110px;}
/* Kierunek (seg) i Ocena M/S (2 selecty) wypełniają swoje kolumny gridu */
.edit-grid .seg{display:flex;width:100%;align-items:stretch;}
.edit-grid .seg button{flex:1;padding:9px 10px;white-space:nowrap;min-height:42px;}
#et-moja,#et-superw{flex:1;min-width:0;}
.modal-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0;}
.modal-close:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.modal-body{padding:24px 28px 28px;}
.modal-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-bottom:24px;}
.mstat{background:var(--surface);padding:16px 18px;}
.mstat .k{font-size:10px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);}
.mstat .v{font-family:var(--font-display);font-size:18px;margin-top:9px;letter-spacing:-0.01em;}
.chart-slot{aspect-ratio:16/9;background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--fg-muted);margin-bottom:22px;}
.chart-slot svg{width:32px;height:32px;stroke-width:1.5;opacity:.6;}
.chart-slot .cap{font-size:12px;} .chart-slot .sub{font-family:var(--font-mono);font-size:10.5px;}
.notes-box{background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--r-md);padding:18px 20px;}
.notes-box .k{font-size:10.5px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);margin-bottom:10px;}
.notes-box p{font-size:14px;line-height:1.65;color:var(--fg-soft);}
.notes-box p + p{margin-top:10px;}

/* ====================== FORM (add trade) ====================== */
.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:28px 30px;max-width:860px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px 20px;}
.fr{display:flex;flex-direction:column;gap:8px;}
.fr.span2{grid-column:span 2;} .fr.span3{grid-column:span 3;}
.fr label{font-size:10.5px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);}
.fr input,.fr select,.fr textarea{width:100%;}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;}
.seg button{padding:9px 16px;font-size:12.5px;font-weight:600;background:var(--surface);color:var(--fg-soft);border:none;border-right:1px solid var(--border);transition:all .15s;}
.seg button:last-child{border-right:none;}
.seg button.on{background:var(--ink);color:var(--cream);}
html[data-theme="dark"] .seg button.on{background:var(--accent);}
.form-foot{display:flex;justify-content:space-between;align-items:center;margin-top:26px;padding-top:22px;border-top:1px solid var(--border);}
.calc-pl{font-family:var(--font-display);font-size:22px;letter-spacing:-0.01em;}
.tag-pick{display:flex;flex-wrap:wrap;gap:8px;}
.tag-pick button{font-size:12px;padding:7px 13px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg);color:var(--fg-soft);transition:all .15s;}
.tag-pick button:hover{border-color:var(--accent);}
.tag-pick button.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent);}

/* ====================== ANALYTICS ====================== */
.bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding:10px 6px 0;}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;height:100%;justify-content:flex-end;}
.bar{width:100%;max-width:42px;border-radius:3px 3px 0 0;transition:height .4s var(--ease);min-height:2px;}
.bar.pos{background:var(--pos);} .bar.neg{background:var(--neg);}
.bar-lbl{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-muted);}
.bar-val{font-family:var(--font-mono);font-size:10px;}
.hbar-row{display:grid;grid-template-columns:130px 1fr 64px;align-items:center;gap:14px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12.5px;}
.hbar-row:last-child{border-bottom:none;}
.hbar-track{height:9px;background:var(--surface-2);border-radius:5px;overflow:hidden;}
.hbar-track i{display:block;height:100%;border-radius:5px;}
.hbar-row .vv{text-align:right;font-family:var(--font-mono);font-weight:600;font-size:12px;}

/* stat list */
.stat-list{display:grid;grid-template-columns:1fr 1fr;}
.stat-list .si{padding:10px 16px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);}
.stat-list .si:nth-child(2n){border-right:none;}
.stat-list .si .k{font-size:10.5px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);}
.stat-list .si .v{font-family:var(--font-display);font-size:17px;margin-top:6px;letter-spacing:-0.01em;}

/* ====================== SETTINGS / SIERRA ====================== */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:8px 0 4px;}
.flow-step{padding:15px 16px;border:1px solid var(--border);border-right:none;position:relative;background:var(--surface);}
.flow-step:last-child{border-right:1px solid var(--border);border-radius:0 var(--r-md) var(--r-md) 0;}
.flow-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md);}
.flow-step .num{font-family:var(--font-mono);font-size:11px;color:var(--accent);margin-bottom:14px;}
.flow-step h4{font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:0.02em;margin-bottom:9px;font-weight:400;}
.flow-step p{font-size:12.5px;color:var(--fg-muted);line-height:1.5;}
.flow-step .arr{position:absolute;right:-9px;top:50%;transform:translateY(-50%);width:18px;height:18px;background:var(--bg);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--accent);z-index:2;}
.code{font-family:var(--font-mono);font-size:11px;background:var(--ink);color:#e9e3d6;border-radius:var(--r-md);padding:13px 16px;overflow-x:auto;line-height:1.6;white-space:pre;}
.code .c{color:#8a8478;} .code .s{color:#c79a64;} .code .k2{color:#cf9b6f;}
.kv-list{display:flex;flex-direction:column;}
.kv{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:10px 0;border-bottom:1px solid var(--border);align-items:center;}
.kv:last-child{border-bottom:none;}
.kv .k{font-size:12.5px;color:var(--fg-muted);}
.kv .v{font-family:var(--font-mono);font-size:12.5px;}
.switch{width:42px;height:24px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);position:relative;transition:background .2s;flex-shrink:0;}
.switch.on{background:var(--accent);border-color:var(--accent);}
.switch i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--cream-2);transition:left .2s;}
.switch.on i{left:20px;}

/* helper */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.mb24{margin-bottom:16px;} .mb16{margin-bottom:12px;}
.view{display:none;}
.view.active{display:block;animation:fadeIn .4s var(--ease);}
@keyframes fadeIn{from{transform:translateY(6px);}to{transform:none;}}
.empty-note{font-size:12.5px;color:var(--fg-muted);padding:30px;text-align:center;}

/* tweaks */
.tweaks{position:fixed;right:18px;bottom:18px;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-modal);z-index:300;font-family:var(--font-body);overflow:hidden;}
.tweaks.hidden{display:none;}
.tweaks-h{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.tweaks-h h3{font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:0.04em;font-weight:400;}
.tweaks-h button{background:none;border:none;color:var(--fg-muted);font-size:18px;}
.tweaks-b{padding:14px 18px 18px;}
.tw-g{padding:12px 0;border-top:1px solid var(--border);}
.tw-g:first-child{border-top:none;padding-top:2px;}
.tw-g > span.lbl{display:block;font-size:10px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);margin-bottom:9px;}
.tw-seg{display:grid;grid-auto-flow:column;gap:5px;}
.tw-seg button{padding:8px 6px;font-size:11px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:var(--r-sm);transition:all .14s;}
.tw-seg button.active{background:var(--ink);color:var(--cream);border-color:var(--ink);}
html[data-theme="dark"] .tw-seg button.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.tw-sw{display:flex;gap:8px;}
.tw-sw button{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .14s;}
.tw-sw button:hover{transform:scale(1.1);}
.tw-sw button.active{border-color:var(--fg);}

/* ====================== DAY EDITOR ====================== */
.day-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.day-bar .dt{font-family:var(--font-display);font-size:19px;letter-spacing:-0.01em;}
.day-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px;}
.day-tab{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 20px;cursor:pointer;transition:all .18s var(--ease);text-align:left;display:flex;flex-direction:column;gap:7px;}
.day-tab:hover{border-color:var(--accent);transform:translateY(-1px);}
.day-tab.active{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);}
.day-tab .tt{font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:0.03em;display:flex;align-items:center;gap:9px;font-weight:400;}
.day-tab .tt .em{font-size:15px;}
.day-tab .pg{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);letter-spacing:0.02em;}
.day-tab.active .pg{color:var(--accent);}

.dcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:24px 26px;margin-bottom:20px;}
.dcard > .lbl{font-size:11px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;}

.status-seg{display:flex;gap:8px;flex-wrap:wrap;}
.sesja-row{display:flex;flex-wrap:wrap;gap:18px 20px;align-items:flex-end;}
.start-row2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:stretch;margin-bottom:20px;}
.start-row2 .dcard{margin-bottom:0;}
@media(max-width:1000px){ .start-row2{grid-template-columns:1fr;} }
.sesja-f{width:180px;}
.sesja-f input{width:100%;min-width:0;}
.status-seg button{display:flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--fg-soft);font-size:12.5px;font-weight:600;transition:all .15s;}
.status-seg button .em{font-size:14px;}
.status-seg button:hover{border-color:var(--accent);}
.status-seg button.on{background:var(--ink);color:var(--cream);border-color:var(--ink);}
html[data-theme="dark"] .status-seg button.on{background:var(--accent);border-color:var(--accent);color:#fff;}

.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px;}
.stat-divider{height:1px;background:var(--border);margin:24px 0;}
.stat-metric .ml{font-size:12.5px;font-weight:600;margin-bottom:9px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.stat-metric .ml .hint{font-weight:400;color:var(--fg-muted);font-size:11px;}
.scale3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.scale3 button{padding:11px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--fg-soft);font-family:var(--font-mono);font-size:14px;font-weight:600;transition:all .14s;}
.scale3 button:hover{border-color:var(--accent);}
.scale3 button.on.pos{background:var(--pos);border-color:var(--pos);color:#fff;}
.scale3 button.on.neg{background:var(--neg);border-color:var(--neg);color:#fff;}
.scale3 button.on.amb{background:var(--accent);border-color:var(--accent);color:#fff;}
.mood-row{display:flex;gap:7px;flex-wrap:wrap;}
.mood-row button{width:44px;height:44px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);font-size:21px;display:flex;align-items:center;justify-content:center;transition:all .14s;line-height:1;}
.mood-row button:hover{border-color:var(--accent);}
.mood-row button.on{border-color:var(--accent);background:var(--accent-tint);transform:translateY(-2px);}

.break-row{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap;}
.break-row input{max-width:130px;}
.zag-acts-del{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);transition:all .15s;}
.zag-acts-del:hover{border-color:var(--neg);color:var(--neg);background:var(--neg-soft);}

.readiness{border:1px solid var(--pos);border-radius:var(--r-md);padding:18px 20px;background:var(--pos-soft);margin-top:8px;}
.readiness.mid{border-color:var(--accent);background:var(--accent-tint);}
.readiness.low{border-color:var(--neg);background:var(--neg-soft);}
.readiness .rh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.readiness .rh .t{font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:0.03em;}
.readiness .rh .p{font-family:var(--font-display);font-size:22px;color:var(--pos);}
.readiness.mid .rh .p{color:var(--accent);} .readiness.low .rh .p{color:var(--neg);}
.readiness .track{height:9px;background:rgba(20,17,13,0.10);border-radius:5px;overflow:hidden;}
html[data-theme="dark"] .readiness .track{background:rgba(245,241,234,0.12);}
.readiness .track i{display:block;height:100%;border-radius:5px;background:var(--pos);transition:width .4s var(--ease);}
.readiness.mid .track i{background:var(--accent);} .readiness.low .track i{background:var(--neg);}
.readiness .msg{font-size:12.5px;margin-top:11px;color:var(--fg-soft);}

.day-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;flex-wrap:wrap;}

/* PO SESJI */
.pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pl-item label{font-size:12.5px;font-weight:600;display:flex;gap:6px;align-items:baseline;margin-bottom:9px;flex-wrap:wrap;}
.pl-item label .sub{font-weight:400;color:var(--fg-muted);font-size:11px;}
.pl-item input{width:100%;}
.pl-item .sum{font-size:11.5px;color:var(--fg-muted);margin-top:8px;font-family:var(--font-mono);}

/* ====================== ZAGRANIA (trade rows) ====================== */
.zag-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap;}
.zag-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);}
.zag-scroll{overflow-x:auto;}
.zag-colhead,.zag-compact{display:grid;grid-template-columns:40px 150px 84px 78px 110px 138px 42px 124px 78px 104px minmax(170px,1fr) 64px;align-items:center;gap:10px;min-width:1180px;}
.zag-colhead{padding:13px 18px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md) var(--r-md) 0 0;}
.zag-colhead span{font-size:10px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.zag-colhead span.c{text-align:center;}
.zag-row{border-bottom:1px solid var(--border);}
.zag-row:last-child{border-bottom:none;}
.zag-compact{padding:12px 18px;}
.zag-compact select,.zag-compact input{min-width:0;width:100%;padding:8px 9px;font-size:12.5px;}
.zag-tri{width:32px;height:32px;border:1.5px solid var(--accent);background:var(--accent-tint);color:var(--accent);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:13px;transition:transform .2s var(--ease),background .15s;cursor:pointer;}
.zag-tri:hover{background:var(--accent);color:#fff;}
.zag-row.open .zag-tri{transform:rotate(90deg);}
.kdir.kl{color:var(--pos);font-weight:700;} .kdir.ks{color:var(--neg);font-weight:700;}
.zag-star{width:30px;height:30px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--fg-muted);justify-self:center;transition:all .15s;}
.zag-star:hover{border-color:var(--accent);color:var(--accent);}
.zag-star.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent);}
.zag-pl{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.zag-compact select.rate.r1{color:var(--pos);font-weight:700;}
.zag-compact select.rate.r0{color:var(--neg);font-weight:700;}
.zag-pl b{font-family:var(--font-display);font-weight:400;font-size:14px;letter-spacing:-0.01em;}
.zag-acts{display:flex;gap:6px;justify-self:end;}
.zag-acts button{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:14px;}
.zag-acts button:hover{border-color:var(--accent);color:var(--accent);}
.zag-acts button.del:hover{border-color:var(--neg);color:var(--neg);background:var(--neg-soft);}
.zag-detail{display:none;padding:4px 18px 22px 54px;}
.zag-row.open .zag-detail{display:block;}
.zag-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:6px 0 10px;}
.zag-auto-bar{font-family:var(--font-mono);font-size:12px;padding:7px 12px;border:1px dashed var(--border);border-radius:var(--r-md);color:var(--fg-muted);background:var(--surface-2);margin-bottom:16px;}
.zag-auto-bar b{font-size:13.5px;}
.zag-auto-bar.pos b{color:var(--pos);} .zag-auto-bar.neg b{color:var(--neg);}
.zag-auto{font-family:var(--font-mono);font-size:13px;padding:9px 12px;border:1px dashed var(--border);border-radius:var(--r-md);color:var(--fg-muted);background:var(--surface-2);}
.zag-screens{border-top:1px solid var(--border);padding-top:20px;display:flex;flex-direction:column;gap:16px;}
.zag-screen-type{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.zag-screen-type .ssl{font-size:13px;font-weight:600;}
.zag-screen-type select{flex:1;min-width:240px;max-width:520px;}
.zag-drop{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px dashed var(--border);border-radius:var(--r-md);padding:16px 20px;background:var(--surface-2);}
.zag-drop-hint{font-size:12.5px;color:var(--fg-muted);}
.zag-drop-hint b{color:var(--fg-soft);}
.zag-save-row{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.zag-empty{padding:34px;text-align:center;font-size:13px;color:var(--fg-muted);}
.badge-num{display:inline-flex;width:20px;height:20px;border-radius:var(--r-sm);background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:11px;align-items:center;justify-content:center;flex-shrink:0;}

/* responsive */
@media(max-width:1100px){
  .stat-grid{grid-template-columns:1fr 1fr;}
  .pl-grid{grid-template-columns:1fr;}
  .kpi-row{grid-template-columns:repeat(3,1fr);}
  .dash-grid,.dash-grid-2,.grid-2{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .app{grid-template-columns:1fr;}
  .rail{position:fixed;left:0;top:0;z-index:120;transform:translateX(-100%);transition:transform .3s var(--ease);width:var(--rail-w);box-shadow:0 0 60px rgba(20,17,13,0.4);}
  .rail.open{transform:none;}
  .menu-btn{display:flex;}
  .topbar{padding:10px 14px;gap:10px;}
  .topbar h1{font-size:15px;margin-top:4px;}
  .topbar .eyebrow{font-size:9px;}
  .topbar-meta{display:none;}
  .topbar-right .btn{padding:7px 11px;font-size:11.5px;}
  .kpi-row{grid-template-columns:1fr 1fr;}
  .content{padding:16px 14px 40px;}
  .tbl-wrap{overflow-x:auto;}
  table.tbl{min-width:680px;}
  .days-summary{grid-template-columns:repeat(2,1fr);}
  .modal-bg{padding:8px;}
  .modal{max-height:96vh;}
  .modal-head{padding:18px 16px 14px;} .modal-body{padding:16px;}
  .edit-grid{grid-template-columns:1fr 1fr;}
  .zag-detail{padding:4px 14px 20px 16px;}
  .att-card{width:47%;min-width:140px;}
  .att-label-edit{width:100%;}
  .day-tabs{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:1fr;}
  .zag-prices{grid-template-columns:1fr 1fr;}
  .day-bar,.day-foot{gap:10px;}
  .day-foot .btn{padding:8px 12px;font-size:12px;}
  .cal-bar{gap:10px;}
  .cal2-grid,.cal2-dow{min-width:820px;}
  .cal2{overflow-x:auto;}
  .flow{grid-template-columns:1fr;}
  .flow-step{border-right:1px solid var(--border);border-bottom:none;border-radius:0;}
  .flow-step:first-child{border-radius:var(--r-md) var(--r-md) 0 0;}
  .flow-step:last-child{border-radius:0 0 var(--r-md) var(--r-md);}
  .flow-step .arr{display:none;}
  .ins-head{display:none;}
  .ins-row{grid-template-columns:90px 1fr 80px 80px;grid-auto-rows:auto;row-gap:8px;}
  .def-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .kpi-row{grid-template-columns:1fr 1fr;gap:8px;}
  .kpi .v{font-size:19px;}
  .grid-2,.dash-grid,.dash-grid-2{grid-template-columns:1fr;}
  .att-card{width:100%;}
  .zag-prices{grid-template-columns:1fr;}
  .topbar h1{display:none;}
}

/* ====================== ZAŁĄCZNIKI ====================== */
.att{border-top:1px solid var(--border);padding-top:20px;}
.att-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--fg-soft);margin-bottom:14px;}
.att-hint{color:var(--fg-muted);}
.att-clear{border:1px solid var(--border);background:var(--bg);color:var(--neg);font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);transition:all .15s;}
.att-clear:hover{border-color:var(--neg);background:var(--neg-soft);}
.att-grid{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px;}
.att-card{display:flex;flex-direction:column;gap:7px;width:200px;}
.att-card-top{display:flex;align-items:flex-start;gap:6px;}
.att-card-top .att-label{flex:1;min-width:0;}
.att-label{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--accent);text-align:center;background:none;border:none;padding:3px 4px;border-radius:var(--r-sm);line-height:1.35;transition:background .15s;cursor:text;}
.att-label:hover{background:var(--accent-tint);}
.att-label-edit{width:200px;font-size:12px;padding:5px 8px;}
.att-thumb{position:relative;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);aspect-ratio:16/11;cursor:zoom-in;transition:border-color .15s,transform .15s;}
.att-thumb:hover{border-color:var(--accent);transform:translateY(-2px);}
.att-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.att-x{flex-shrink:0;width:24px;height:24px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg);color:var(--neg);font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s;cursor:pointer;}
.att-x:hover{background:var(--neg);border-color:var(--neg);color:#fff;}
.att-type{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.att-type .ssl{font-size:13px;font-weight:600;}
.att-type select{flex:1;min-width:240px;max-width:520px;}
.att-desc input{flex:1;min-width:240px;max-width:520px;}
.att-desc .badge-num{background:var(--surface-2);color:var(--accent);border:1px solid var(--accent);font-size:9.5px;}
.att-drop{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px dashed var(--border);border-radius:var(--r-md);padding:16px 20px;background:var(--surface-2);transition:border-color .15s,background .15s;}
.att-drop.over{border-color:var(--accent);background:var(--accent-tint);}
.att-drop-hint,.zag-drop-hint b{color:var(--fg-soft);}
.att-file{position:relative;cursor:pointer;}

/* zoom overlay */
#att-zoom{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:40px;background:rgba(20,17,13,0.82);backdrop-filter:blur(6px);pointer-events:auto;cursor:zoom-out;}
#att-zoom.show{display:flex;}
#att-zoom .az-title{font-family:var(--font-display);font-size:16px;color:#fff;letter-spacing:0.02em;background:rgba(0,0,0,0.5);padding:8px 16px;border-radius:var(--r-pill);}
#att-zoom img{max-width:90vw;max-height:80vh;border-radius:var(--r-md);box-shadow:0 30px 80px rgba(0,0,0,0.6);border:1px solid rgba(245,241,234,0.18);cursor:default;}
.az-prev,.az-next,.az-close{position:fixed;background:rgba(0,0,0,0.55);color:#fff;border:1px solid rgba(255,255,255,0.25);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);line-height:1;transition:background .15s,border-color .15s,transform .15s;padding:0;}
.az-prev,.az-next{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:32px;}
.az-prev{left:24px;} .az-next{right:24px;}
.az-close{top:26px;right:26px;width:42px;height:42px;font-size:20px;}
.az-prev:hover,.az-next:hover,.az-close:hover{background:rgba(0,0,0,0.85);border-color:var(--accent);}
.az-prev:hover,.az-next:hover{transform:translateY(-50%) scale(1.08);}

/* ====================== EDYTOWALNY MODAL ====================== */
.star-btn{width:30px;height:30px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--fg-muted);font-size:16px;margin-right:4px;vertical-align:middle;transition:all .15s;}
.star-btn:hover{border-color:var(--accent);color:var(--accent);}
.star-btn.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent);}
.modal-head .tt{display:flex;align-items:center;gap:10px;}
/* 7 pól, wszystkie równej szerokości i z jednakowym odstępem; Ocena M/S = podwójna kolumna (2 selecty) */
.edit-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 2fr 1fr 1fr 1.3fr;gap:14px;align-items:end;margin-bottom:18px;}
.edit-grid label{font-size:10.5px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);}
.edit-grid .fr:last-child{margin-bottom:0;}
.edit-result{font-family:var(--font-mono);font-size:13px;color:var(--fg-soft);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.edit-result .er-pl{font-family:var(--font-display);font-size:18px;}
.edit-result .er-x{color:var(--fg-muted);}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border);}

/* ====================== KALENDARZ ZAGRAŃ ====================== */
.cal-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap;}
.cal-title{font-family:var(--font-display);font-size:19px;letter-spacing:-0.01em;text-transform:uppercase;}
.cal-title .em{font-family:var(--font-serif);font-style:italic;color:var(--accent);text-transform:none;}
.cal-nav{display:flex;align-items:center;gap:14px;}
.cal-nav button{width:34px;height:34px;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:var(--r-md);font-size:12px;transition:all .15s;}
.cal-nav button:hover{border-color:var(--accent);color:var(--accent);}
.cal-month{font-family:var(--font-display);font-size:15px;min-width:140px;text-align:center;}
.cal-acct{min-width:160px;}
.cal2{padding:16px;}
#view-calendar.active{display:flex;flex-direction:column;min-height:calc(100vh - 196px);}
.cal2{flex:1;display:flex;flex-direction:column;}
.cal2 .cal2-grid{flex:1;grid-auto-rows:1fr;}
.cal2-dow{display:grid;grid-template-columns:repeat(5,1fr) .52fr .52fr;gap:8px;margin-bottom:8px;}
.cal2-dow span{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-muted);text-align:left;padding-left:4px;}
.cal2-grid{display:grid;grid-template-columns:repeat(5,1fr) .52fr .52fr;gap:8px;}
.cc.weekend{background:var(--surface-2);min-height:0;}
.cc.weekend .cc-n{font-size:11px;opacity:.7;}
html[data-theme="dark"] .cc.weekend{background:rgba(245,241,234,0.03);}
.cc{min-height:118px;border:1px solid var(--border);border-radius:var(--r-md);padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--surface);transition:transform .15s,border-color .15s,box-shadow .15s;}
.cc.empty{border:none;background:none;}
.cc.has{cursor:pointer;}
.cc.has:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-card);}
.cc.win{background:var(--pos-soft);} .cc.loss{background:var(--neg-soft);}
.cc.be{background:rgba(184,114,42,0.07);} .cc.off{background:var(--surface-2);}
.cc-top{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.cc-n{font-family:var(--font-mono);font-size:12px;color:var(--fg-muted);font-weight:600;}
.cc-pl{font-family:var(--font-display);font-size:13px;letter-spacing:-0.01em;}
.cc-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:0.1em;color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 6px;}
.cc-list{display:flex;flex-direction:column;gap:3px;flex:1;}
.cc-chip{display:flex;align-items:center;gap:4px;font-size:10.5px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 5px;white-space:nowrap;overflow:hidden;transition:border-color .12s;}
.cc-chip:hover{border-color:var(--accent);}
.cc-sym{font-family:var(--font-mono);font-weight:600;font-size:10px;}
.cc-dir{font-size:9px;font-weight:700;}
.cc-dir.up{color:var(--pos);} .cc-dir.dn{color:var(--neg);}
.cc-star{color:var(--accent);font-size:9px;}
.cc-time{font-family:var(--font-mono);font-size:9.5px;color:var(--fg-muted);margin-left:auto;}
.cc-r{font-family:var(--font-mono);font-size:9.5px;font-weight:600;}
.cc-badges{display:inline-flex;gap:2px;align-items:center;margin-left:4px;flex:0 0 auto;}
.cc-bdg{font-family:var(--font-mono);font-size:8.5px;font-weight:800;padding:0 3px;border-radius:3px;line-height:1.55;letter-spacing:-.2px;}
.cc-bdg.cam{background:var(--surface-2);color:var(--fg-muted);}
.cc-bdg.good{background:var(--pos-soft);color:var(--pos);}
.cc-bdg.bad{background:var(--neg-soft);color:var(--neg);}
.cc-bdg.miss{background:var(--surface-2);color:var(--fg-muted);opacity:.5;}
.cc-chip.info{border-style:dashed;opacity:.8;background:var(--surface-2);}
.cc-chip.info.miss{border-color:var(--neg);}
.cc-chip.info.skip{border-color:#c97a16;}
.cc-chip.info .cc-r{color:var(--fg-muted);font-weight:500;}
.zag-pl.info{color:var(--fg-muted);}
.zag-pl.skip{color:#c97a16;}
.zag-pl.miss{color:var(--neg);}
.zag-status.st-ok{color:var(--pos);font-weight:700;}
.zag-status.st-bad{color:var(--ink);font-weight:800;}
html[data-theme="dark"] .zag-status.st-bad{color:var(--fg);}
.zag-status.st-skip{color:#c97a16;font-weight:700;}
.zag-status.st-miss{color:var(--neg);font-weight:700;}
.zag-auto-bar.info{border-style:dotted;color:var(--fg-soft);background:var(--accent-tint);border-color:var(--accent);}
.zag-auto-bar.skip{border-style:dotted;border-color:#c97a16;background:rgba(201,122,22,0.10);color:var(--fg-soft);}
.zag-auto-bar.miss{border-style:dotted;border-color:var(--neg);background:var(--neg-soft);color:var(--fg-soft);}
.cc-botpl{font-family:var(--font-mono);font-size:11px;font-weight:700;color:#2a6fb8;text-align:center;padding:2px 4px;border:1px dashed rgba(42,111,184,0.45);border-radius:var(--r-sm);background:rgba(42,111,184,0.08);cursor:pointer;}
.cc-botpl b{font-family:var(--font-display);font-size:10px;}
.bot-day-sum{font-family:var(--font-mono);font-size:12px;font-weight:600;}
.bot-tbl-scroll{overflow-x:auto;}
.bot-params{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:18px;background:var(--surface);}
.bp-row{display:grid;grid-template-columns:34px 1fr auto;gap:14px;padding:6px 14px;border-bottom:1px solid var(--border);font-size:12px;}
.bp-row .bp-n{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-muted);text-align:right;}
.bp-row:last-child{border-bottom:none;}
.bp-row:nth-child(odd){background:var(--surface-2);}
.bp-row b{font-family:var(--font-mono);font-size:11.5px;color:var(--accent-dark);white-space:nowrap;}
html[data-theme="dark"] .bp-row b{color:var(--accent);}
table.tbl th.sortable{cursor:pointer;user-select:none;transition:color .15s;}
table.tbl th.sortable:hover{color:var(--accent);}
.ver-warn{position:sticky;top:0;z-index:600;background:var(--neg);color:#fff;font-size:12.5px;font-weight:600;padding:9px 16px;text-align:center;}
.autosave{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);}
.autosave.ok{color:var(--pos);}
.autosave.err{color:var(--neg);font-weight:700;}
.autosave.dirty{color:#c97a16;}
.ldot.idle{background:var(--fg-muted);box-shadow:none;animation:none;}
.cc-more{font-size:9.5px;color:var(--fg-muted);padding:1px 5px;}
.cc-foot{font-size:11px;opacity:.7;}
.cal-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;font-size:12px;color:var(--fg-muted);}
.cal-legend span{display:flex;align-items:center;gap:7px;}
.cal-legend .lg{width:13px;height:13px;border-radius:3px;border:1px solid var(--border);}
.cal-legend .lg.win{background:var(--pos-soft);border-color:var(--pos);}
.cal-legend .lg.loss{background:var(--neg-soft);border-color:var(--neg);}
.cal-legend .lg.be{background:rgba(184,114,42,0.12);border-color:var(--accent);}
.cal-legend .lg.off{background:var(--surface-2);}
.cal-legend .lg.none{background:var(--surface);}

/* ====================== LISTA DNI ====================== */
.days-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap;}
.seg-filter{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;}
.seg-filter button{padding:9px 16px;font-size:12.5px;font-weight:600;background:var(--surface);color:var(--fg-soft);border:none;border-right:1px solid var(--border);transition:all .15s;}
.seg-filter button:last-child{border-right:none;}
.seg-filter button.on{background:var(--ink);color:var(--cream);}
html[data-theme="dark"] .seg-filter button.on{background:var(--accent);color:#fff;}
.days-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-bottom:16px;}
.dsum{background:var(--surface);padding:11px 14px;}
.dsum .k{font-size:10px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);}
.dsum .v{font-family:var(--font-display);font-size:16px;margin-top:6px;letter-spacing:-0.01em;}
.days-tbl td{vertical-align:middle;}
.well-line{height:8px;border-radius:5px;background:var(--surface-2);overflow:hidden;width:100%;}
.well-line i{display:block;height:100%;border-radius:5px;}
.well-line.off{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 4px,var(--border) 4px,var(--border) 8px);}
.day-off{font-size:12px;color:var(--fg-muted);}
.day-note{color:var(--fg-soft);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
table.tbl thead th.c,table.tbl td.c{text-align:center;}

@media(max-width:1100px){
  .days-summary{grid-template-columns:repeat(3,1fr);}
  .edit-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:820px){
  .cal2-grid,.cal2-dow{min-width:820px;}
  .cal2{overflow-x:auto;}
}

/* ====== KOMPAKTOWY EDYTOR DNIA — mieści się na jednym ekranie przy 100% ====== */
#view-add .day-bar{margin-bottom:12px;}
#view-add .day-bar .dt{font-size:17px;}
#view-add .day-tabs{gap:10px;margin-bottom:12px;}
#view-add .day-tab{padding:9px 16px;gap:3px;}
#view-add .day-tab .tt{font-size:12px;}
#view-add .dcard{padding:14px 18px;margin-bottom:10px;}
#view-add .dcard > .lbl{margin-bottom:10px;}
#view-add .start-row2{gap:12px;margin-bottom:10px;}
#view-add .stat-grid{gap:10px 22px;}
#view-add .stat-divider{margin:12px 0;}
#view-add .scale3 button{padding:5px;font-size:13px;}
#view-add .mood-row{gap:5px;}
#view-add .mood-row button{width:32px;height:32px;font-size:15px;border-radius:3px;}
#view-add .stat-metric .ml{margin-bottom:5px;font-size:12px;}
#view-add input[type=date],#view-add input[type=time],#view-add input[type=number],#view-add input[type=text],#view-add select{padding:6px 10px;font-size:12.5px;min-width:0;}
#view-add textarea{padding:6px 10px;font-size:12.5px;}
#view-add .fr{gap:5px;}
#view-add .fr label{font-size:9.5px;}
#view-add .status-seg button{padding:6px 12px;font-size:12px;}
#view-add .sesja-f{width:150px;}
#view-add .readiness{padding:10px 16px;margin-top:2px;}
#view-add .readiness .rh{margin-bottom:7px;}
#view-add .readiness .rh .p{font-size:17px;}
#view-add .readiness .track{height:7px;}
#view-add .readiness .msg{margin-top:7px;font-size:12px;}
#view-add .day-foot{margin-top:2px;}
#view-add .day-foot .btn{padding:8px 15px;font-size:12.5px;}
#view-add .break-row{margin-top:8px;}
#view-add .cel-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;}
@media(max-width:900px){ #view-add .cel-row{grid-template-columns:1fr;} }
.content:has(#view-add.active){padding-top:18px;padding-bottom:24px;}

/* ====================== USTAWIENIA ====================== */
.ins-scroll{overflow-x:auto;}
.ins-scroll .ins-head,.ins-scroll .ins-row{min-width:780px;}
.ins-head,.ins-row{display:grid;grid-template-columns:100px 1fr 95px 95px 84px 105px 88px 70px 44px;gap:12px;align-items:center;}
.ins-head{padding:0 4px 12px;border-bottom:1px solid var(--border);margin-bottom:6px;}
.ins-head span{font-size:10px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);font-weight:600;}
.ins-row{padding:5px 4px;border-bottom:1px solid var(--border);}
.ins-row:last-of-type{border-bottom:none;}
.ins-row input[type=text],.ins-code,.ins-name,.ins-num{padding:8px 10px;font-size:13px;min-width:0;width:100%;}
.ins-code{font-family:var(--font-mono);font-weight:600;}
.ins-num{font-family:var(--font-mono);text-align:right;}
.ins-tick{color:var(--fg-muted);font-size:12px;text-align:right;}
.ins-chk{display:flex;justify-content:center;}
.ins-chk input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;}
.ins-del{width:30px;height:30px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg);color:var(--neg);font-size:15px;transition:all .15s;}
.ins-del:hover{border-color:var(--neg);background:var(--neg-soft);}

.set-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px;}
.set-chip{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg);overflow:hidden;}
.set-chip-t{padding:7px 5px 7px 14px;font-size:12.5px;color:var(--fg-soft);background:none;border:none;cursor:text;font-family:var(--font-body);}
.set-chip-t:hover{color:var(--accent);}
.set-chip-x{padding:7px 12px 7px 7px;font-size:13px;color:var(--neg);background:none;border:none;}
.set-chip-x:hover{color:var(--accent);}
.set-chip-edit{font-size:12.5px;padding:6px 10px;width:200px;border-radius:var(--r-pill);}
.set-add{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.set-add input{min-width:240px;}
.def-grid{display:grid;grid-template-columns:repeat(3,minmax(0,260px));gap:18px 20px;}
.def-grid .fr{display:flex;flex-direction:column;gap:8px;}
.def-grid label{font-size:10.5px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted);}
@media(max-width:900px){
  .ins-head{display:none;}
  .ins-row{grid-template-columns:90px 1fr 80px 80px;grid-auto-rows:auto;row-gap:8px;}
  .ins-tick,.ins-chk,.ins-del{grid-column:span 1;}
}

/* ================== INSIDER (akcje / position sizing) — namespace .insd-* ================== */
.insd-wrap{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
.journal-tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--border);}
.journal-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--fg-muted);padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;}
.journal-tabs button.on{color:var(--fg);border-bottom-color:var(--accent);}
.journal-tabs button:hover{color:var(--fg);}
.insd-summary{display:grid;grid-template-columns:150px 150px 150px minmax(320px,1fr);gap:10px;}
.insd-summary>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.insd-summary>div>span{font-size:10px;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--fg-muted);}
.insd-summary>div>b{font-family:var(--font-mono);font-size:20px;}
.insd-summary>div.bad{border-color:var(--neg);background:var(--neg-soft);color:var(--neg);}
.insd-summary .insd-check{padding:10px 12px;font-size:13px;}
.insd-check{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-radius:var(--r-md);border:1px solid var(--border);font-size:15px;font-weight:600;flex-wrap:wrap;}
.insd-check-t{display:flex;align-items:center;gap:8px;}
.insd-check-ok{background:rgba(58,140,90,.12);border-color:rgba(58,140,90,.45);color:var(--pos);}
.insd-check-warn{background:rgba(190,140,40,.14);border-color:rgba(190,140,40,.5);color:#a9791f;}
.insd-check-stale{background:var(--neg-soft);border-color:var(--neg);color:var(--neg);}
.insd-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:26px 28px;box-shadow:var(--shadow-modal,0 1px 3px rgba(0,0,0,.06));}
.insd-h{font-family:var(--font-display);font-size:18px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:20px;}
.insd-stage{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--fg-soft);margin:22px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.insd-await{padding:12px 16px;background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--r-sm);color:var(--fg-muted);font-size:13px;}
.insd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;}
.insd-f{display:flex;flex-direction:column;gap:7px;min-width:0;}
.insd-f>span{font-size:11px;letter-spacing:var(--ls-label,.08em);text-transform:uppercase;color:var(--fg-muted);font-weight:600;}
.insd-f input,.insd-f select,.insd-f textarea{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--fg);}
.insd-f textarea{min-height:60px;resize:vertical;font-family:inherit;}
.insd-notes{margin-top:16px;}
.insd-seg{display:flex;gap:6px;}
.insd-seg button{flex:1;min-height:44px;border:1px solid var(--border);background:var(--bg);color:var(--fg-soft);border-radius:var(--r-sm);font-weight:700;font-size:14px;cursor:pointer;transition:all .15s;}
.insd-seg button.on{background:var(--fg);color:var(--bg);border-color:var(--fg);}
/* wynik kalkulatora — DUŻY, wyróżniony */
.insd-out{margin:22px 0 6px;padding:18px 22px;border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--border);}
.insd-out-msg{color:var(--fg-muted);font-size:14px;}
.insd-out-ok{border-style:solid;border-color:rgba(58,140,90,.4);background:rgba(58,140,90,.07);}
.insd-qty{display:flex;align-items:baseline;gap:10px;}
.insd-qty-n{font-family:var(--font-display);font-size:52px;line-height:1;font-weight:800;color:var(--pos);letter-spacing:-.02em;}
.insd-qty-l{font-size:17px;color:var(--fg-soft);font-weight:600;}
.insd-out-detail{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.insd-chip{font-size:12.5px;padding:5px 11px;border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--border);color:var(--fg-soft);}
.insd-chip-bind{border-color:var(--accent);color:var(--accent);}
.insd-out-row{display:flex;flex-wrap:wrap;gap:18px;font-size:14px;color:var(--fg-soft);}
.insd-out-row b{color:var(--fg);font-family:var(--font-mono);}
.insd-out-warn{margin-top:10px;color:var(--neg);font-size:13px;font-weight:600;}
/* screeny */
.insd-screens{margin-top:20px;}
.insd-screens-head{font-size:13px;font-weight:600;margin-bottom:10px;}
.insd-muted{color:var(--fg-muted);font-weight:400;}
.insd-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
.insd-thumb-wrap{position:relative;}
.insd-thumb{width:120px;height:78px;object-fit:cover;border:1px solid var(--border);border-radius:var(--r-sm);cursor:zoom-in;background:var(--surface-2);display:block;transition:border-color .15s;}
.insd-thumb:hover{border-color:var(--accent);}
.insd-thumb-x{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--neg);font-size:13px;cursor:pointer;line-height:1;}
/* przyciski */
.insd-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--fg);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;}
.insd-btn:hover{border-color:var(--accent);}
.insd-btn:disabled{opacity:.5;cursor:not-allowed;}
.insd-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.insd-btn-primary:hover{filter:brightness(1.06);}
.insd-btn-ghost{background:transparent;color:var(--fg-muted);}
.insd-btn-sm{padding:6px 12px;font-size:12.5px;}
.insd-btn-del{color:var(--neg);}
.insd-btn-del:hover{border-color:var(--neg);background:var(--neg-soft);}
.insd-file{cursor:pointer;}
.insd-actions{display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap;}
.insd-spacer{flex:1;}
.insd-mini{margin-top:14px;font-size:11.5px;color:var(--fg-muted);line-height:1.5;}
/* lista sygnałów */
.insd-list-head{font-family:var(--font-display);font-size:15px;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-soft);display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap;}
.insd-search{height:38px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--fg-muted);}
.insd-search input{width:150px;border:0;outline:0;background:transparent;color:var(--fg);font:13px var(--font-body);}
.insd-count{font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px 10px;color:var(--fg-muted);}
.insd-list{display:flex;flex-direction:column;gap:14px;}
/* taby Obserwowane / Historia */
.insd-tab{border:1px solid var(--border);background:var(--bg);color:var(--fg-soft);padding:9px 16px;border-radius:var(--r-pill);font-size:13.5px;font-weight:700;cursor:pointer;transition:all .15s;}
.insd-tab.on{background:var(--fg);color:var(--bg);border-color:var(--fg);}
.insd-tab .insd-count{margin-left:5px;}
/* kompaktowa tabela sygnałów — jedna linia na sygnał */
.insd-tblwrap{overflow:auto;max-height:calc(100vh - 325px);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);}
.insd-tbl{width:100%;border-collapse:collapse;font-size:13.5px;}
.insd-tbl th{position:sticky;top:0;z-index:2;background:var(--surface-2);text-align:left;font-size:10.5px;letter-spacing:var(--ls-label,.06em);text-transform:uppercase;color:var(--fg-muted);font-weight:600;padding:11px 12px;border-bottom:1px solid var(--border);white-space:nowrap;}
.insd-tbl th.r,.insd-tbl td.r{text-align:right;}
.insd-tbl td{height:45px;padding:6px 12px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;}
.insd-tbl tbody tr:last-child td{border-bottom:none;}
.insd-tbl tbody tr:hover{background:var(--surface-2);}
.insd-t-walor{font-family:var(--font-display);font-weight:800;font-size:15px;}
.insd-t-walor .insd-ex{font-family:var(--font-mono);font-size:10px;color:var(--fg-muted);font-weight:400;margin-left:6px;}
.insd-t-date{font-family:var(--font-mono);font-size:12px;color:var(--fg-soft);vertical-align:bottom;}
.insd-t-date b{display:block;font-size:13px;color:var(--fg);line-height:1.2;}
.insd-sig{display:block;font-size:10px;color:var(--fg-muted);margin-top:2px;}
.insd-sig-solo{margin-top:0;}
.insd-tbl td.r{font-family:var(--font-mono);}
.insd-t-qty b{font-size:15px;}
.insd-cell{width:76px;text-align:right;padding:7px 9px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:13px;}
.insd-status{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:var(--r-pill);padding:5px 9px;background:var(--surface-2);color:var(--fg-soft);font-size:11px;font-weight:700;cursor:pointer;}
.insd-status i{width:6px;height:6px;border-radius:50%;background:currentColor;}
.insd-status-gram{background:rgba(58,140,90,.14);color:var(--pos);}
.insd-status-odrzucone{background:var(--neg-soft);color:var(--neg);}
.insd-status-zamkniete{background:var(--surface-2);color:var(--fg-muted);}
.insd-pl{margin-left:8px;font-family:var(--font-mono);font-size:11px;font-weight:700;padding:2px 7px;border-radius:var(--r-pill);}
.insd-pl.pos{background:rgba(58,140,90,.14);color:var(--pos);}
.insd-pl.neg{background:var(--neg-soft);color:var(--neg);}
.insd-cell:focus{border-color:var(--accent);outline:none;}
.insd-scr{margin-left:8px;border:none;background:none;color:var(--accent);font-size:11px;cursor:pointer;}
.insd-t-act{text-align:right;white-space:nowrap;}
.insd-icon{width:30px;height:30px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:13px;transition:all .15s;margin-left:4px;}
.insd-icon:hover{border-color:var(--accent);}
.insd-del-i{color:var(--neg);}
.insd-del-i:hover{border-color:var(--neg);background:var(--neg-soft);}
.insd-empty{padding:34px;text-align:center;color:var(--fg-muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-md);}
/* ---- okno edycji: 3 zakładki (Sygnał / Pozycja / Prowadzenie) ---- */
.insd-ftabs{display:flex;gap:6px;margin-bottom:6px;border-bottom:1px solid var(--border);}
.insd-ftab{border:1px solid var(--border);border-bottom:none;background:var(--bg);color:var(--fg-muted);padding:10px 16px;border-radius:var(--r-sm) var(--r-sm) 0 0;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;margin-bottom:-1px;}
.insd-ftab b{color:var(--accent);margin-right:5px;}
.insd-ftab.on{background:var(--surface-2);color:var(--fg);border-color:var(--border);}
.insd-fpanel{display:none;}
.insd-fpanel.on{display:block;}
/* ---- prowadzenie pozycji ---- */
.insd-prow-empty,.insd-prow-empty2,.insd-prow-closed{padding:16px 18px;background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--r-sm);color:var(--fg-muted);font-size:13.5px;}
.insd-prow-closed{border-style:solid;border-color:rgba(58,140,90,.4);background:rgba(58,140,90,.07);color:var(--pos);font-weight:600;}
.insd-prow-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;}
.insd-prow-sum>div{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;}
.insd-prow-sum span{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);font-weight:600;margin-bottom:4px;}
.insd-prow-sum b{font-family:var(--font-mono);font-size:15px;color:var(--fg);}
.insd-prow-pl.pos{border-color:rgba(58,140,90,.5);}
.insd-prow-pl.pos b{color:var(--pos);}
.insd-prow-pl.neg{border-color:var(--neg);}
.insd-prow-pl.neg b{color:var(--neg);}
.insd-ruchy{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.insd-ruch{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--r-sm);}
.insd-ruch-sl{border-left-color:var(--accent);}
.insd-ruch-close{border-left-color:var(--pos);}
.insd-ruch-ic{font-size:16px;line-height:1.4;color:var(--fg-soft);}
.insd-ruch-b{flex:1;min-width:0;}
.insd-ruch-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:13.5px;}
.insd-ruch-d{font-family:var(--font-mono);color:var(--fg-soft);}
.insd-ruch-date{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);margin-left:auto;}
.insd-ruch-why{margin-top:4px;font-size:12.5px;color:var(--fg-muted);line-height:1.45;}
.insd-addruch{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px;}
.insd-addruch-h{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--fg-soft);margin-bottom:12px;}
.insd-addruch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:12px;}
.insd-addruch label.insd-f{margin-top:0;}
.insd-addruch .insd-btn-primary{margin-top:4px;}
.insd-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:18px 22px;}
.insd-item-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.insd-tick{font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:.01em;display:flex;align-items:baseline;gap:8px;}
.insd-ex{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);font-weight:400;letter-spacing:.04em;}
.insd-when{font-family:var(--font-mono);font-size:12.5px;color:var(--fg-muted);}
.insd-badge{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);border:1px solid transparent;}
.insd-long{background:rgba(58,140,90,.14);color:var(--pos);}
.insd-short{background:var(--neg-soft);color:var(--neg);}
.insd-b-scen{background:var(--accent-tint);color:var(--accent);}
.insd-b-nowy{background:var(--surface-2);color:var(--fg-soft);border-color:var(--border);cursor:pointer;}
.insd-b-gram{background:rgba(58,140,90,.16);color:var(--pos);cursor:pointer;}
.insd-b-odrz{background:var(--neg-soft);color:var(--neg);cursor:pointer;}
.insd-item-body{display:flex;flex-direction:column;gap:12px;}
.insd-io{font-size:13px;color:var(--fg-soft);}
.insd-io b{font-family:var(--font-mono);color:var(--fg);}
.insd-warn-inline,.insd-warn{color:var(--neg);font-weight:600;}
.insd-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.insd-num{display:flex;flex-direction:column;gap:3px;padding:14px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);min-width:0;}
.insd-num b{font-family:var(--font-mono);font-size:18px;}
.insd-num span{font-size:10.5px;letter-spacing:var(--ls-label,.06em);text-transform:uppercase;color:var(--fg-muted);}
.insd-num-big{background:rgba(58,140,90,.1);border-color:rgba(58,140,90,.35);}
.insd-num-big b{font-size:22px;color:var(--pos);}
.insd-note{font-size:13px;color:var(--fg-soft);line-height:1.55;padding:10px 14px;background:var(--surface-2);border-left:2px solid var(--accent);border-radius:var(--r-sm);}
/* toast */
.insd-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--fg);color:var(--bg);padding:12px 20px;border-radius:var(--r-pill);font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:all .25s;z-index:400;box-shadow:0 6px 24px rgba(0,0,0,.25);}
.insd-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:640px){
  .insd-summary{grid-template-columns:1fr 1fr;}
  .insd-summary .insd-check{grid-column:1/-1;}
  .insd-qty-n{font-size:42px;}
  .insd-card{padding:18px;}
  .insd-out-row{gap:12px;}
}
