/* v3.0.1 layout overrides. Loaded after app.css, so these win without touching app.css.
   Problem fixed: the side panel was a fixed 520px, so the Users table was cut off on the right
   and the Edit / Reset password buttons were off-screen. */

/* Wider side panels on desktop, still leaving a strip of the board visible to click out. */
.panel{width:min(860px,94vw);padding:26px 30px}
.panel.wide{width:min(1180px,96vw)}

/* Any table inside a panel scrolls sideways instead of being clipped. */
.tbl-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl-wrap table{min-width:760px}
.tbl-wrap td,.tbl-wrap th{white-space:nowrap}
.tbl-wrap td.wrap{white-space:normal}

/* app.css gives every input width:100%, which stretched checkboxes onto their own line. */
input[type=checkbox],input[type=radio]{width:auto;margin-right:6px;vertical-align:middle}

/* Settings form: fields were full width across a wide panel. Keep them readable. */
.panel.wide #settingsForm input:not([type=checkbox]),.panel.wide #settingsForm textarea{max-width:640px}
.panel.wide #newUserForm{grid-template-columns:2fr 2fr 1fr 1fr;align-items:center}

/* Buttons in a row wrap on narrow screens instead of squeezing. */
.row{flex-wrap:wrap}

/* Phones and small laptops: panel takes the full screen. */
@media (max-width:700px){
  .panel,.panel.wide{width:100vw;padding:18px 16px}
  .formgrid,.panel.wide #newUserForm{grid-template-columns:1fr}
}

/* v3.1 Today list, step cards, Team tab */
.today{padding:20px 24px;max-width:1100px}
.todayhead{margin-bottom:14px}
.todayhead h2{display:inline-block;font-size:20px}
.stepcard{background:#fff;border:1px solid var(--line);border-left:4px solid #9aa0a6;border-radius:10px;padding:12px 14px;margin-bottom:10px}
.stepcard.overdue{border-left-color:var(--red)}
.stephead{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.stephead .due{margin-left:auto;font-size:12.5px;color:var(--mut)}
.stephead a{color:var(--ink);font-weight:600}
.kind{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;background:#EEF1F5;color:#334}
.k-call{background:#E8F1FB;color:#1B4F8A}.k-email{background:#EEF7EE;color:#236B2E}.k-whatsapp{background:#E6F7EF;color:#0E7A4B}
.k-meeting{background:#FFF4E0;color:#8A5A00}.k-proposal{background:var(--red-l);color:var(--red)}.k-research{background:#F3EEFB;color:#5B3A8A}
.why{font-size:13px;margin:6px 0;color:#333;background:#FAFAFB;border-radius:6px;padding:6px 9px}
.outs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.steptools{display:flex;gap:6px;margin-top:6px}
.stepform{margin-top:8px;padding:10px;background:#FAFAFB;border-radius:8px}
.stepform textarea,.stepform input,.stepform select{margin-top:4px}
td.ok{color:#2E7D32;font-weight:600} td.low,span.low{color:var(--red);font-weight:600}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#1A1A1A;color:#fff;padding:10px 16px;border-radius:8px;font-size:13.5px;z-index:99;max-width:90vw}
.toast.warn{background:#8A5A00}

/* v3.2 customisation panel and partner portal */
details.customise{margin-top:12px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#FAFAFB}
details.customise summary{cursor:pointer;font-size:13.5px}
details.customise .cbody{margin-top:8px}
details.customise h4{font-size:12px;text-transform:uppercase;color:var(--mut);margin:8px 0 4px}
.pkgchecks{margin:6px 0 8px;padding:6px 8px;background:#fff;border:1px solid var(--line);border-radius:6px}
.checkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 10px;margin-top:4px}
.checkgrid label{font-size:12px;color:var(--ink)}
@media (max-width:700px){.checkgrid{grid-template-columns:1fr}}

/* v4.0: Board search */
.searchbar { display: flex; gap: 8px; padding: 14px 20px 0 20px; max-width: 900px; }
.searchbar input { flex: 1; }
.searchres { margin: 10px 20px 4px 20px; padding: 12px 14px; border: 1px solid #E4E4E7; border-radius: 8px; background: #fff; max-height: 55vh; overflow: auto; }
.searchres .sgroup h4 { margin: 10px 0 4px 0; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: #6B6B70; }
.searchres .srow { padding: 5px 6px; border-bottom: 1px solid #F1F1F3; }
.searchres .srow.rowlink { cursor: pointer; }
.searchres .srow.rowlink:hover { background: #FAF3F3; }

/* v4.0: completion panel, one line until opened, each item fixable in place */
.gapsBox summary { line-height: 1.5; }
.gapRow { margin-top: 8px; padding: 6px 0 6px 9px; border-left: 3px solid #B12830; }
.gapfix { margin-top: 4px; }
.gapfix input, .gapfix select { max-width: 360px; }
.cform input { min-width: 0; }
.cchecks label { display: inline-block; margin-top: 3px; }

/* v4.1: Spectra prospect deck editor */
table.spxstats { width: 100%; border-collapse: collapse; margin-top: 6px; }
table.spxstats th, table.spxstats td { border-bottom: 1px solid #EEF0F3; padding: 4px; vertical-align: top; font-size: 12px; text-align: left; }
table.spxstats input { width: 100%; margin-bottom: 3px; }
#spectraSection .formgrid .full { grid-column: 1 / -1; }
/* v4.3 */
.panelX{position:sticky;top:0;float:right;z-index:5;margin:-8px -10px 0 10px;background:#fff;border:1px solid var(--line,#ddd);border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;color:#333;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.panelX:hover{background:#F4F4F5}
.k-linkedin{background:#E7F0F8;color:#0A5A9C}
.pushnote{margin:6px 0;padding:6px 10px;border-radius:8px;background:#FFF4E0;color:#8A5A00;font-size:12.5px}
.pushnote.bad{background:#FBE9EA;color:#B12830}
.pushhint{margin-bottom:8px;padding:6px 10px;border-radius:8px;background:#EEF7EE;color:#236B2E;font-size:12.5px}
.pushreqs{border:1px solid #F0C36D;background:#FFFBF2;border-radius:10px;padding:12px 14px;margin:10px 0}
.pushreq{padding:8px 0;border-bottom:1px solid #F3E3C0}.pushreq:last-child{border-bottom:0}
/* v4.5 */
.nonum{margin:6px 0;padding:8px 10px;border-radius:8px;background:#FBE9EA;color:#7A1A20;font-size:12.5px}
.nonum input{font-size:13px}
