:root{--bg:#070d1a;--panel:#111827;--panel2:#1f2937;--text:#f8fafc;--muted:#aab6c8;--line:#334155;--accent:#3b82f6;--danger:#ef4444;--ok:#22c55e;--board-bg:#f8fafc}body.light{--bg:#f3f4f6;--panel:#fff;--panel2:#eef2f7;--text:#111827;--muted:#64748b;--line:#cbd5e1;--board-bg:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}header{position:sticky;top:0;z-index:10;background:var(--panel);border-bottom:1px solid var(--line);padding:12px 20px;display:grid;grid-template-columns:minmax(170px,260px) 1fr;gap:14px;align-items:center}h1{font-size:22px;margin:0 0 3px}h2{margin:0 0 14px}h3{margin:22px 0 10px}.brand span{color:var(--muted);font-size:13px}.project-head{display:flex;gap:8px;align-items:end}.project-head label{flex:1;margin:0}.project-head select{margin-top:4px;padding:9px}nav{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}a,button,.btn-secondary{border:1px solid var(--line);background:var(--accent);color:#fff;border-radius:8px;padding:9px 12px;text-decoration:none;font-weight:700;cursor:pointer;display:inline-block}nav a{background:transparent;color:var(--text)}button.danger,.danger{background:var(--danger)}.logout{border-color:#7f1d1d}.wrap{max-width:1700px;margin:20px auto;padding:0 16px}.summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.summary>div,.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.summary b{display:block;font-size:24px;margin-top:6px}.panel-full{width:100%}label{display:block;color:var(--muted);font-size:13px;margin-bottom:12px}input,select,textarea{width:100%;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:6px}select option{color:#111}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;align-items:end}.pieceform.one-line{display:grid;grid-template-columns:minmax(210px,1.6fr) repeat(3,minmax(90px,.7fr)) repeat(4,minmax(130px,1fr)) minmax(145px,.8fr) minmax(180px,1fr);gap:10px;align-items:end}.check{display:flex;gap:8px;align-items:center;color:var(--text);min-height:41px}.check input{width:auto;margin:0}.btnrow{display:flex;gap:8px}.btnrow button{white-space:normal}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.panel-head .btn-secondary{background:var(--panel2);color:var(--text);white-space:nowrap}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:14px}th{background:var(--panel2);color:var(--muted);text-transform:uppercase;font-size:12px}.inline{display:inline}.hint,.flash,.muted{color:var(--muted)}.flash{padding:12px;border-radius:8px;margin-bottom:12px;border:1px solid var(--line)}.flash.ok{background:#052e16}.flash.err{background:#450a0a}.login{min-height:100vh;display:grid;place-items:center}.login .card{width:380px}.tabs-mini{display:flex;gap:8px;margin-bottom:12px}.board{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;max-height:72vh}.import{display:flex;gap:12px;align-items:end;flex-wrap:wrap;background:var(--panel2);padding:14px;border-radius:10px}.import-page label{min-width:360px}.report .summary{grid-template-columns:repeat(3,1fr)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.modal-backdrop{display:none!important;position:fixed;z-index:40;inset:0;background:rgba(0,0,0,.65);padding:24px}.modal-backdrop.open{display:grid!important;place-items:center}.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;width:min(520px,95vw);box-shadow:0 20px 80px rgba(0,0,0,.35)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-head h2{margin:0}.modal-head button{background:transparent;font-size:24px;line-height:1;padding:4px 10px}@media(max-width:1300px){header{grid-template-columns:1fr}.project-head{max-width:520px}nav{justify-content:flex-start}.summary{grid-template-columns:repeat(3,1fr)}.pieceform.one-line{grid-template-columns:repeat(4,1fr)}}@media(max-width:800px){.summary{grid-template-columns:repeat(2,1fr)}.pieceform.one-line,.formgrid{grid-template-columns:1fr}.panel-head{display:block}.import-page label{min-width:0}}@media print{header,.btnrow,button,nav,.import,.project-head,.modal-backdrop,.panel-head .btn-secondary{display:none!important}.panel,.card,.summary>div{border:1px solid #ccc;background:#fff;color:#000}.wrap{max-width:none}.summary{grid-template-columns:repeat(3,1fr)}body{background:#fff;color:#000}.board{max-height:none}}

/* v5 modal safety */
#projectModal:not(.open){display:none!important}
#projectModal.open{display:grid!important}

/* v8 layout refinements */
.hidden,.hidden-form{display:none!important}.project-settings{margin-bottom:4px}.project-select-form{grid-template-columns:minmax(240px,420px) auto;align-items:end}.settings-actions{align-items:end}.panel-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tabs-mini .boardTab{background:var(--panel2);color:var(--text);border-color:var(--line)}.tabs-mini .boardTab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.print-report{display:none}.pieceform.one-line .btnrow{align-self:end}.pieceform.one-line .btnrow button{min-height:39px}.btn-secondary{background:var(--panel2);color:var(--text)}
@media print{header,main,.modal-backdrop{display:none!important}.print-report{display:block!important;padding:18px;background:#fff;color:#000}.print-report .summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.print-report .summary>div{border:1px solid #bbb;background:#fff;color:#000;padding:10px;border-radius:6px}.print-report table{width:100%;border-collapse:collapse}.print-report th,.print-report td{border:1px solid #ccc;color:#000;padding:6px;font-size:11px}.print-report th{background:#eee}.print-board{break-before:page;page-break-before:always}.print-board:first-of-type{break-before:auto;page-break-before:auto}.print-report svg.board{width:100%;height:auto;max-height:none;border:1px solid #777;background:#fff}.print-report h1,.print-report h2,.print-report h3{color:#000;margin:8px 0}body{background:#fff!important;color:#000!important}}
