:root{color-scheme:dark;--bg:#07121f;--panel:#0d1c2d;--soft:#11283e;--line:rgba(143,176,213,.2);--ink:#edf6ff;--muted:#91a5bb;--cyan:#65d9f5;--blue:#4a8eff;--green:#64d7a5;--amber:#f1bd68;--danger:#ff818d}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,"Segoe UI",sans-serif;background:radial-gradient(circle at 80% -10%,rgba(62,134,221,.25),transparent 35%),linear-gradient(145deg,#06101c,#0a1828 55%,#07121f)}button,input,select,textarea{font:inherit}.shell{width:min(1540px,calc(100% - 36px));margin:auto;padding:28px 0 60px}.hero,.panel{border:1px solid var(--line);background:linear-gradient(145deg,rgba(17,38,61,.96),rgba(8,21,36,.97));box-shadow:0 22px 58px rgba(0,0,0,.3)}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px;border-radius:24px}.hero h1{margin:3px 0 7px;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em}.hero p:last-child{margin:0;color:var(--muted);max-width:760px}.eyebrow{margin:0;color:var(--cyan);font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.hero-actions,.toolbar,.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.status,.ai-pill,.confidence{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:rgba(4,14,25,.55);font-size:.78rem;font-weight:800}.ai-pill{color:#071722;border:0;background:linear-gradient(135deg,var(--cyan),#96ebff)}.confidence{color:var(--amber)}.button{min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:12px;cursor:pointer;font-weight:800;text-decoration:none}.button:disabled{opacity:.45;cursor:not-allowed}.primary{color:#06131e;background:linear-gradient(135deg,var(--cyan),#98ebff)}.secondary{color:var(--ink);border-color:var(--line);background:rgba(18,38,60,.9)}.wide{width:100%}.steps{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px}.steps div{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:750}.steps b{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%}.steps .active{color:var(--cyan)}.steps .active b{color:#06131e;border:0;background:var(--cyan)}.steps i{width:70px;height:1px;background:var(--line)}.workspace{display:grid;grid-template-columns:minmax(310px,390px) 1fr;gap:18px;align-items:start}.panel{border-radius:22px;padding:22px}.input-panel{position:sticky;top:16px}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.panel-title h2{margin:3px 0;font-size:1.45rem;letter-spacing:-.03em}label{display:grid;gap:7px;margin-bottom:13px;color:#bfd0e2;font-size:.78rem;font-weight:750}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;outline:0;color:var(--ink);background:rgba(4,15,27,.82)}input,select{height:43px;padding:0 12px}textarea{padding:11px;resize:vertical}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.drop-zone{display:grid;place-items:center;text-align:center;gap:8px;margin:16px 0;padding:24px;border:1px dashed rgba(101,217,245,.45);border-radius:18px;background:rgba(8,32,49,.58)}.drop-zone.drag{border-color:var(--cyan);background:rgba(27,78,98,.5)}.drop-zone span,.drop-zone small,.privacy{color:var(--muted);font-size:.75rem}.upload-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;color:#06151f;background:linear-gradient(135deg,var(--cyan),var(--blue));font-weight:900}.privacy{line-height:1.5}.notice,.validation{padding:13px 15px;margin-bottom:16px;border:1px solid rgba(101,217,245,.22);border-radius:14px;color:#c9d9e8;background:rgba(11,43,61,.52);font-size:.82rem}.notice.warning,.validation.warning{border-color:rgba(241,189,104,.4);background:rgba(77,51,14,.32)}.notice.success,.validation.success{border-color:rgba(100,215,165,.35);background:rgba(18,71,52,.34)}.form-actions{justify-content:flex-end;margin-top:8px}.results{margin-top:18px}.summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.summary article{padding:17px;border:1px solid var(--line);border-radius:18px;background:rgba(15,34,55,.94)}.summary span,.summary small{display:block;color:var(--muted);font-size:.76rem}.summary strong{display:block;margin:8px 0 3px;font-size:1.35rem}.table-wrap{overflow:auto;max-height:650px;border:1px solid var(--line);border-radius:15px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:.79rem}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}th{position:sticky;top:0;z-index:1;color:#bcd0e4;background:#10243a}.num{text-align:right}tbody tr:hover{background:rgba(101,217,245,.05)}.archive-panel{margin-top:18px}.archive-list{display:grid;gap:9px}.archive-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(6,18,31,.54)}.archive-row small{display:block;color:var(--muted)}.empty{padding:24px;text-align:center;color:var(--muted)}@media(max-width:1000px){.workspace{grid-template-columns:1fr}.input-panel{position:static}.field-grid{grid-template-columns:repeat(2,1fr)}.summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.shell{width:min(100% - 20px,1540px);padding-top:10px}.hero{display:grid}.hero-actions{justify-content:flex-start}.steps i{width:20px}.steps span{display:none}.field-grid{grid-template-columns:1fr}.summary{grid-template-columns:1fr}.archive-row{grid-template-columns:1fr}.toolbar{width:100%}.toolbar .button{flex:1}}
.accounted-head,.accounted-cell{text-align:center}.accounted-control{display:inline-grid;grid-template-columns:22px auto;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:.68rem;cursor:pointer}.accounted-control input{width:20px;height:20px;margin:0;accent-color:var(--green)}.accounted-control span{min-width:72px}.accounted-control.is-done span{color:var(--green);font-weight:800}.schedule-accounted td{background:rgba(100,215,165,.055)}.archive-actions{display:flex;gap:7px;justify-content:flex-end}.danger-button{color:#ffd9dc;border-color:rgba(255,129,141,.35);background:rgba(93,25,35,.5)}.danger-button:hover{border-color:var(--danger);background:rgba(120,30,42,.65)}.archive-filters{display:grid;grid-template-columns:minmax(220px,1fr) 240px auto;gap:12px;align-items:end;margin-bottom:15px;padding:14px;border:1px solid var(--line);border-radius:15px;background:rgba(6,18,31,.54)}.archive-filters label{margin:0}.archive-filters .button{margin-bottom:13px}.archive-filter-summary{padding:20px;text-align:center;color:var(--muted)}
@media print{body{background:#fff;color:#111}.hero,.steps,.workspace,.archive-panel,.toolbar{display:none!important}.results{display:block!important;margin:0}.panel{box-shadow:none;border:0;background:#fff}.table-wrap{max-height:none;overflow:visible;border:0}table{font-size:8pt}th{position:static;color:#111;background:#eee}.summary article{color:#111;background:#fff;border-color:#bbb}.summary span,.summary small{color:#444}.validation{color:#111;background:#fff;border-color:#bbb}}
.year-filter { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 800; }
.year-filter select { min-width: 105px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: #071422; }
table tfoot th { position: sticky; bottom: 0; z-index: 2; border-top: 2px solid #4bc8e8; color: #fff; background: #10283b; }
.professional-finance-print{display:none}
@media print{
  @page{size:A4 landscape;margin:10mm}
  body{background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .shell>header,.steps,.workspace,.results,.archive-panel{display:none!important}
  .shell{width:100%;padding:0;margin:0}.professional-finance-print{display:block!important;font-family:Arial,Helvetica,sans-serif;color:#172033}
  .pfp-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:4mm;border-bottom:2px solid #163653}.pfp-brand{display:flex;align-items:center;gap:3mm}.pfp-brand img{width:15mm;height:15mm;border-radius:3mm}.pfp-brand strong,.pfp-brand span,.pfp-document b,.pfp-document span{display:block}.pfp-brand strong{font-size:16pt;letter-spacing:.6px}.pfp-brand span,.pfp-document span{margin-top:1mm;color:#64748b;font-size:7.5pt;text-transform:uppercase}.pfp-document{text-align:right}.pfp-document b{color:#163653;font-size:12pt}
  .pfp-title{padding:4mm 0 3mm}.pfp-title p{margin:0;color:#1686a4;font-size:7pt;font-weight:800;text-transform:uppercase;letter-spacing:1px}.pfp-title h1{margin:1mm 0;font-size:17pt}.pfp-title span{color:#64748b;font-size:8pt}
  .pfp-parties{display:grid;grid-template-columns:1fr 1fr;gap:3mm;margin-bottom:3mm}.pfp-parties>div{padding:3mm;border-left:3px solid #1686a4;background:#edf5f8}.pfp-parties span,.pfp-parties strong,.pfp-parties small{display:block}.pfp-parties span,.pfp-contract span,.pfp-totals span{color:#64748b;font-size:6.5pt;font-weight:800;text-transform:uppercase}.pfp-parties strong{margin:1mm 0;font-size:11pt}.pfp-parties small{font-size:7pt}
  .pfp-contract{display:grid;grid-template-columns:repeat(8,1fr);border:1px solid #cbd5e1}.pfp-contract div{min-height:14mm;padding:2mm;border-right:1px solid #cbd5e1}.pfp-contract div:last-child{border:0}.pfp-contract span,.pfp-contract strong{display:block}.pfp-contract strong{margin-top:2mm;font-size:8pt}
  .pfp-section-title{margin:4mm 0 2mm;padding-bottom:1.5mm;border-bottom:1px solid #94a3b8;color:#163653;font-size:9pt;text-transform:uppercase}.pfp-totals{display:grid;grid-template-columns:repeat(6,1fr);gap:2mm}.pfp-totals div{padding:2.5mm;border:1px solid #cbd5e1;background:#f8fafc}.pfp-totals div.primary{color:#fff;background:#163653}.pfp-totals div.primary span{color:#cde8ef}.pfp-totals span,.pfp-totals strong{display:block}.pfp-totals strong{margin-top:1.5mm;font-size:10pt}
  .pfp-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:6.8pt}.pfp-table th,.pfp-table td{padding:1.35mm;border:1px solid #cbd5e1;color:#111;text-align:right}.pfp-table th{position:static;background:#dbe8ef;font-weight:800;text-transform:uppercase}.pfp-table th:nth-child(-n+4),.pfp-table td:nth-child(-n+4){text-align:left}.pfp-table tbody tr:nth-child(even){background:#f8fafc}.pfp-table tfoot th{position:static;color:#fff;background:#163653}
  .pfp-notes{margin-top:3mm;padding:2.5mm;border:1px solid #cbd5e1;background:#f8fafc;font-size:7pt}.pfp-notes p{margin:1mm 0 0}.pfp-footer{display:flex;justify-content:space-between;margin-top:4mm;padding-top:2mm;border-top:1px solid #94a3b8;color:#64748b;font-size:6.5pt}
}
