/* PROPBREAKER · Tools — stessa identità del sito (carta, inchiostro, lime, viola; Geist + Geist Mono) */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@400;500;600;700&display=swap');

:root{
  --ink:#090b0e; --ink-2:#11151a; --ink-3:#181d24;
  --paper:#f4f1e9; --paper-2:#e9e5da; --white:#fcfbf6;
  --lime:#baff45; --violet:#7657ff; --coral:#ff6555;
  --positive:#25d8a3; --negative:#ff6470; --info:#6590ff; --warning:#efb84c;
  --line:rgba(9,11,14,.14); --muted:#676a66;
  --d-line:rgba(255,255,255,.09); --d-text:#e8ebe7; --d-muted:#8d958f;
  --sans:'Geist',Arial,sans-serif; --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--sans);color:var(--ink);background-color:var(--paper);
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;background-attachment:fixed;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:default}
a{color:inherit}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px}

/* ---------- header (come il sito) ---------- */
.pb-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:80px;padding:0 40px;
  background:rgba(244,241,233,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.pb-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.pb-mark{display:grid;gap:4px;width:34px;height:30px;padding:6px 7px;background:var(--lime);border-radius:6px;box-shadow:3px 3px 0 var(--violet)}
.pb-mark i{display:block;height:3px;background:var(--ink);border-radius:2px}.pb-mark i:nth-child(2){width:70%}.pb-mark i:nth-child(3){width:85%}
.pb-brand-copy{display:grid;line-height:1.05}.pb-brand-copy strong{font-size:16px;font-weight:800;letter-spacing:-.01em}
.pb-brand-copy small{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--muted)}
.pb-nav{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}
.pb-link{border:0;background:none;padding:10px 12px;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:2px solid transparent}
.pb-link:hover{border-bottom-color:var(--line)}
.pb-link.active{border-bottom-color:var(--lime);box-shadow:inset 0 -2px 0 var(--lime)}
.pb-actions{display:flex;align-items:center;gap:10px}
.pb-refresh{width:40px;height:40px;border:1px solid var(--ink);background:var(--white);font-size:17px;border-radius:4px;box-shadow:3px 3px 0 var(--violet)}
.pb-account{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:11px 14px;background:var(--ink);color:var(--white);border-radius:4px;box-shadow:3px 3px 0 var(--violet)}
.pb-main{max-width:1320px;margin:0 auto;padding:36px 40px 64px}
.pb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.pb-eyebrow{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:#3b3e3a}
.pb-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 2px rgba(186,255,69,.35)}
.pb-head h1{margin:10px 0 6px;font-size:clamp(32px,4.2vw,52px);line-height:1;font-weight:800;letter-spacing:-.035em}
.pb-head p{margin:0;color:#4b4e4a;font-size:16px}
.pb-updated{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted);white-space:nowrap}
.pb-tabbar{display:none}

/* ---------- elementi comuni (pannelli scuri "terminale") ---------- */
.panel2,.panel{background:var(--ink);color:var(--d-text);border:1px solid var(--ink);border-radius:8px;box-shadow:6px 6px 0 rgba(118,87,255,.18)}
.panel2{overflow:hidden}
.bar2,.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.grow{flex:1;min-width:180px}
.control{height:42px;padding:0 12px;border:1px solid var(--ink);background:var(--white);border-radius:4px;font-size:14px}
input.control::placeholder{color:#8b8d88}
.muted{color:var(--d-muted)}.small{font-size:12px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.num{text-align:right!important;font-family:var(--mono);font-variant-numeric:tabular-nums}
.positive{color:var(--positive)}.negative{color:var(--negative)}
.loader{display:flex;align-items:center;gap:10px;padding:26px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:#4b4e4a}
.loading-dot{width:8px;height:8px;border-radius:50%;background:var(--violet);animation:pulse 1.4s infinite}
.empty{padding:28px;text-align:center;color:var(--d-muted)}
.alert{border:1px solid var(--negative);background:#fff1ef;color:#8c1c24;border-radius:4px;padding:12px 14px;margin-bottom:16px}
.hint{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:10px}
.sources2{margin-top:36px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.sources2 summary{cursor:pointer;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase}
.sources2 a{color:var(--violet)}
.table-wrap{overflow-x:auto}
.tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted)}
.badge{font-family:var(--mono);font-size:10px;padding:3px 6px;border:1px solid var(--d-line);border-radius:3px;color:var(--d-muted)}
.caption{font-size:12px;color:var(--d-muted)}
.info{font-size:13px;color:var(--d-text);background:var(--ink-3);border:1px solid var(--d-line);border-radius:4px;padding:10px 12px;margin:10px 0}
.small-btn{border:1px solid var(--ink);background:var(--white);border-radius:4px;padding:8px 12px;font-size:13px;text-decoration:none}
.small-btn.primary{background:var(--violet);color:#fff;border-color:var(--violet)}
.source-link{display:inline-block;margin:6px 0;font-family:var(--mono);font-size:12px;color:var(--lime);text-decoration:none}

/* segmenti e interruttori (sul fondo carta) */
.seg-group{display:inline-flex;gap:0;border:1px solid var(--ink);border-radius:4px;overflow:hidden;background:var(--white)}
.seg{border:0;border-right:1px solid var(--ink);background:transparent;padding:9px 15px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.seg:last-child{border-right:0}
.seg.active{background:var(--ink);color:var(--lime)}
.panel2 .seg-group,.chart2 .seg-group{background:transparent;border-color:var(--d-line)}
.panel2 .seg,.chart2 .seg{border-right-color:var(--d-line);color:var(--d-muted)}
.panel2 .seg.active,.chart2 .seg.active{background:var(--lime);color:var(--ink)}
.switch{display:flex;align-items:center;gap:9px;height:42px;padding:0 14px;border:1px solid var(--ink);background:var(--white);border-radius:4px;font-size:14px;cursor:pointer}
.switch input{accent-color:var(--violet);width:16px;height:16px}

/* ---------- ECONOMIC CALENDAR ---------- */
.daynav{display:flex;align-items:center;border:1px solid var(--ink);border-radius:4px;background:var(--white);box-shadow:3px 3px 0 var(--violet)}
.nav-btn{width:42px;height:42px;border:0;background:none;font-size:12px}
.nav-btn:hover{background:var(--paper-2)}
.day-label{height:42px;min-width:230px;border:0;border-left:1px solid var(--ink);border-right:1px solid var(--ink);background:none;padding:0 16px;font-weight:700;font-size:15px;text-transform:capitalize}
.cal2{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.t2{width:100%;border-collapse:collapse;font-size:13.5px}
.t2 th{position:sticky;top:0;background:var(--ink);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--d-muted);text-align:left;padding:13px 9px;border-bottom:1px solid var(--d-line);white-space:nowrap}
.t2 td{padding:11px 9px;border-bottom:1px solid var(--d-line);white-space:nowrap}
.t2 tbody tr{cursor:pointer}
.t2 tbody tr:hover{background:rgba(255,255,255,.03)}
.t2 tr.selected{background:rgba(118,87,255,.16)}
.t2 tr.hi td:first-child{box-shadow:inset 3px 0 0 var(--coral)}
.t2 .event-open{border:0;background:none;padding:0;font:inherit;color:var(--d-text);text-align:left}
.t2 td.mono{color:var(--d-muted)}
.flag{font-size:15px}
.imp{font-size:11px;letter-spacing:1px}
.imp-high{color:var(--coral)}.imp-medium{color:var(--warning)}.imp-low,.imp-holiday,.imp-non{color:#4d544f}
.act{font-family:var(--mono);font-size:15px;font-weight:700}
.act.up{color:var(--positive)}.act.down{color:var(--negative)}.act.flat{color:var(--d-text)}
.out-badge{display:block;margin-top:3px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.out-badge.up{color:var(--positive)}.out-badge.down{color:var(--negative)}
.out-range{font-weight:700}.out-above{color:var(--positive)}.out-below{color:var(--negative)}

/* dettaglio evento */
.detail{position:sticky;top:100px;padding:20px}
.detail h2{margin:10px 0 4px;font-size:21px;letter-spacing:-.01em}
.detail .meta{font-family:var(--mono);font-size:12px;color:var(--d-muted);margin-bottom:12px}
.detail p{font-size:14px;color:#c9cec9}
.range-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1px;background:var(--d-line);border:1px solid var(--d-line);border-radius:4px;margin:12px 0;overflow:hidden}
.range-card>div{background:var(--ink-2);padding:11px 12px;display:grid;gap:4px}
.range-card strong{font-family:var(--mono);font-size:18px}
.range-viz{margin:16px 0 8px}
.range-track{position:relative;height:12px;border-radius:2px;background:var(--ink-3);border:1px solid var(--d-line)}
.range-band{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,rgba(255,100,112,.45),rgba(118,87,255,.45),rgba(37,216,163,.45))}
.range-mark{position:absolute;top:50%;transform:translate(-50%,-50%)}
.range-mark.cons{width:10px;height:10px;background:var(--violet);border:1px solid #fff;transform:translate(-50%,-50%) rotate(45deg)}
.range-mark.act{width:13px;height:13px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(186,255,69,.3)}
.range-legend{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--d-muted)}
.range-flag{display:inline-block;margin-top:9px;padding:4px 8px;border:1px solid;border-radius:3px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.range-flag.above{color:var(--positive);border-color:rgba(37,216,163,.5)}
.range-flag.below{color:var(--negative);border-color:rgba(255,100,112,.5)}
.range-flag.inside{color:var(--lime);border-color:rgba(186,255,69,.4)}

/* ---------- NEWSFEED ---------- */
.live-status{display:flex;align-items:center;gap:9px;margin:-4px 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#4b4e4a}
.live-status .dot{width:8px;height:8px;border-radius:50%;background:#8b8d88}
.live-status.ok .dot{background:var(--positive);animation:pulse 2s infinite}
.live-status.warn .dot{background:var(--warning)}
.news2{padding:4px 0}
.nday{padding:16px 20px 6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.nrow{display:flex;gap:18px;align-items:baseline;padding:12px 20px;border-top:1px solid var(--d-line);color:var(--d-text);text-decoration:none;font-size:15px;line-height:1.45}
.nrow:hover{background:rgba(255,255,255,.03)}
.nrow.new{background:rgba(186,255,69,.07);box-shadow:inset 3px 0 0 var(--lime)}
.ntime{min-width:46px;font-family:var(--mono);font-size:12.5px;color:var(--d-muted)}
.ntitle{flex:1}
.ntitle .orig{display:block;margin-top:3px;font-size:12px;color:var(--d-muted)}
.nrow.data .ntitle{font-weight:500}
.nmeta{margin-left:8px;font-family:var(--mono);font-size:11.5px;font-weight:400;color:var(--d-muted)}
.nsrc{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--d-muted);white-space:nowrap}

/* ---------- COT REPORT ---------- */
.cot-toolbar .control{min-width:min(420px,100%)}
.market-chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.market-chip{border:1px solid var(--ink);background:var(--white);border-radius:4px;padding:8px 13px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.market-chip.active{background:var(--ink);color:var(--lime);box-shadow:3px 3px 0 var(--violet)}
.cot-chart-panel{padding:16px 12px 6px}
.cot-chart-wrap{overflow-x:auto}
.cot-chart{display:block;width:100%;height:auto}
.cot-chart .long{fill:var(--positive)}.cot-chart .short{fill:var(--negative);opacity:.85}
.cot-chart .axis,.cot-chart .legend text{fill:var(--d-muted);font-family:var(--mono);font-size:10.5px}
.cot-range{float:right;margin:22px 0 6px;box-shadow:3px 3px 0 var(--violet)}
.cot-title{clear:both;margin:24px 0 12px;font-size:18px;letter-spacing:-.01em}
.cot-table-panel{margin-bottom:18px;padding:0}
.cot-date{margin:0;padding:16px 20px;border-bottom:1px solid var(--d-line);font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--lime)}
.events-table{width:100%;border-collapse:collapse;font-size:13.5px}
.events-table th{text-align:left;padding:12px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted);border-bottom:1px solid var(--d-line);white-space:nowrap}
.events-table td{padding:11px 12px;border-bottom:1px solid var(--d-line);white-space:nowrap}
.th-sort{border:0;background:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
.cot-table tr.row-bull td:first-child{box-shadow:inset 3px 0 0 var(--positive)}
.cot-table tr.row-bear td:first-child{box-shadow:inset 3px 0 0 var(--negative)}
.pill{display:inline-block;padding:3px 8px;border:1px solid;border-radius:3px;font-family:var(--mono);font-size:11px;letter-spacing:.04em}
.pill.bull{color:var(--positive);border-color:rgba(37,216,163,.45);background:rgba(37,216,163,.08)}
.pill.bear{color:var(--negative);border-color:rgba(255,100,112,.45);background:rgba(255,100,112,.08)}
.pill.flat{color:var(--d-muted);border-color:var(--d-line)}
.pct{display:grid;gap:5px;font-family:var(--mono)}
.pct-bar{display:block;width:66px;height:4px;background:var(--ink-3);border-radius:2px;overflow:hidden}
.pct-bar i{display:block;height:100%}.pct-bar.long i{background:var(--positive)}.pct-bar.short i{background:var(--negative)}

/* ---------- CHARTS ---------- */
.syms{gap:10px}
.sym{display:grid;gap:2px;min-width:132px;padding:11px 16px;text-align:left;border:1px solid var(--ink);background:var(--white);border-radius:4px}
.sym b{font-size:17px;font-weight:800}.sym span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sym.active{background:var(--ink);color:var(--white);box-shadow:4px 4px 0 var(--violet)}
.sym.active span{color:var(--lime)}
.chart2{padding:20px 20px 10px}
.chart-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.price{font-family:var(--mono);font-size:38px;font-weight:700;letter-spacing:-.02em;color:var(--white)}
.chg{margin:3px 0 6px;font-family:var(--mono);font-size:15px;font-weight:700}
.chg.up{color:var(--positive)}.chg.down{color:var(--negative)}
.chg .muted{font-weight:400;font-size:12px}
.chart-ctrl{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}
.candles{display:block;width:100%;height:auto}
.candles .grid{stroke:rgba(255,255,255,.06)}
.candles .ax{fill:var(--d-muted);font-family:var(--mono);font-size:11.5px}
.candles .cu line,.candles .cu rect{stroke:var(--positive);fill:var(--positive)}
.candles .cd line,.candles .cd rect{stroke:var(--negative);fill:var(--negative)}
.candles .lastline{stroke:rgba(186,255,69,.55);stroke-dasharray:4 4}
.candles .lastbox.cu{fill:var(--positive)}.candles .lastbox.cd{fill:var(--negative)}
.candles .lastval{fill:var(--ink);font-family:var(--mono);font-size:11.5px;font-weight:700}
.chart2 .chart-host{height:540px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.tile{padding:15px 17px;border:1px solid var(--ink);background:var(--white);border-radius:4px}
.tile-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tile-v{margin:5px 0 3px;font-family:var(--mono);font-size:28px;font-weight:700}
.tile-s{font-size:13px;color:#3f423e}
.tile.pos .tile-v{color:#0f9a72}.tile.neg .tile-v{color:#d6334a}.tile.na .tile-v{color:var(--muted)}

@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,216,163,.5)}70%{box-shadow:0 0 0 8px rgba(37,216,163,0)}100%{box-shadow:0 0 0 0 rgba(37,216,163,0)}}

/* ---------- responsive ---------- */
@media (max-width:1100px){.cal2{grid-template-columns:1fr}.detail{position:static}}
@media (max-width:860px){
  .pb-header{grid-template-columns:1fr auto;height:66px;padding:0 18px}
  .pb-nav{display:none}
  .pb-main{padding:22px 16px 96px}
  .pb-head{flex-direction:column;align-items:flex-start}
  .pb-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink);border-top:1px solid var(--d-line)}
  .pb-tabbar button{flex:1;padding:14px 4px;border:0;background:none;color:var(--d-muted);font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
  .pb-tabbar button.active{color:var(--lime);box-shadow:inset 0 2px 0 var(--lime)}
  .day-label{min-width:0;flex:1}
  .daynav{flex:1}
  .tiles{grid-template-columns:1fr}
  .price{font-size:30px}
  .sym{min-width:0;flex:1;padding:9px 11px}
  .nrow{gap:11px;padding:11px 14px;font-size:14px}.nsrc{display:none}
  .cot-range{float:none}
  .chart2 .chart-host{height:420px}
}

/* ---------- pagine account ---------- */
.auth{display:grid;place-items:center;min-height:calc(100vh - 80px)}
.auth-card{width:min(460px,100%);padding:30px;background:var(--white);border:1px solid var(--ink);border-radius:8px;box-shadow:8px 8px 0 var(--violet)}
.auth-card h1{margin:12px 0 6px;font-size:36px;font-weight:800;letter-spacing:-.03em}
.auth-card>p{margin:0 0 18px;color:#4b4e4a}
.auth-card form{display:grid;gap:14px}
.auth-card label{display:grid;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#3b3e3a}
.auth-card .control{width:100%;font-family:var(--sans);text-transform:none;letter-spacing:0}
.auth-submit{margin-top:6px;height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--lime);border-radius:4px;font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;box-shadow:4px 4px 0 var(--violet)}
.auth-switch{margin:18px 0 0;font-size:14px;color:#4b4e4a}.auth-switch a{color:var(--violet);font-weight:600}

@media (max-width:1280px){.t2 th:nth-child(8),.t2 td:nth-child(8){display:none}}

/* mobile: calendario leggibile a colpo d'occhio */
@media (max-width:860px){
  .day-label{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}
  .bar2 .switch{flex:1}
  .t2 th:nth-child(3),.t2 td:nth-child(3),.t2 th:nth-child(6),.t2 td:nth-child(6),.t2 th:nth-child(7),.t2 td:nth-child(7),.t2 th:nth-child(8),.t2 td:nth-child(8){display:none}
  .t2 td:nth-child(2){white-space:normal;line-height:1.3}
  .t2 td,.t2 th{padding:10px 8px}
  .detail{margin-bottom:12px}
}
