:root{
  --bg:#f5f7fa;--card:#fff;--border:#d9e0e8;--text:#172033;--muted:#667085;
  --primary:#1268c4;--primary-dark:#0d4f95;--danger:#d92d20;--warning:#b54708;
  --ok:#067647;--soft:#eef5fd;--shadow:0 1px 2px rgba(16,24,40,.04);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px}
body{min-width:1000px}
button,input,select{font:inherit}
.app-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.brand{display:flex;gap:12px;align-items:center}.drop{font-size:30px;color:var(--primary);transform:rotate(-45deg)}
h1{font-size:25px;margin:0}.subtitle{color:var(--muted);font-size:12px;margin-top:2px}
.header-actions{display:flex;gap:8px}.btn{border:1px solid var(--border);background:#fff;border-radius:7px;padding:9px 12px;cursor:pointer;color:#1f2937}.btn:hover{background:#f8fafc}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn-small{padding:7px 10px;font-size:12px}.file-label input{display:none}
.layout{display:grid;grid-template-columns:minmax(420px,40%) minmax(560px,60%);gap:14px;padding:14px;max-width:1680px;margin:0 auto}
.left-column,.right-column{display:flex;flex-direction:column;gap:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:14px}
.card h2{font-size:15px;margin:0 0 12px}.card h3{font-size:13px;margin:0 0 9px}.muted{color:var(--muted);font-weight:400;font-size:12px}
label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#344054}input,select{width:100%;border:1px solid #cfd7e2;border-radius:6px;padding:8px 9px;background:#fff;color:#101828}input:focus,select:focus{outline:2px solid #c8e0fb;border-color:var(--primary)}
.conditions,.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.conditions>div+div{border-left:1px solid var(--border);padding-left:16px}.conditions label{margin-bottom:10px}.dewline{font-size:12px;color:var(--primary);margin-top:3px}.advanced{margin-top:11px;border-top:1px solid #eef1f5;padding-top:10px}.advanced summary{cursor:pointer;color:var(--muted);font-size:12px;margin-bottom:10px}
.title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.hint{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:11px}
.layers{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.layer-row{display:grid;grid-template-columns:24px 28px minmax(125px,1fr) 80px 84px 70px 78px;gap:6px;align-items:end;border:1px solid #e5e9ef;border-radius:7px;padding:7px;background:#fff}.layer-row.dragging{opacity:.45}.drag{cursor:grab;color:#98a2b3;font-size:18px;align-self:center}.layer-number{align-self:center;color:#667085;text-align:center}.mini-label{font-size:10px;color:#667085;margin-bottom:4px}.layer-actions{display:flex;gap:3px;align-items:center}.iconbtn{width:24px;height:30px;border:1px solid var(--border);background:#fff;border-radius:5px;cursor:pointer;padding:0}.iconbtn.danger{color:var(--danger)}
.material-add{margin-top:14px;border-top:1px solid #e6eaf0;padding-top:12px}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:10px}.tab{border:0;border-right:1px solid var(--border);background:#f8fafc;padding:8px 14px;cursor:pointer}.tab.active{background:#fff;color:var(--primary);font-weight:600;border-top:2px solid var(--primary)}.tab-panel{display:none}.tab-panel.active{display:block}.search-row{display:flex;gap:8px}.catalog-results,.internet-results{display:flex;flex-direction:column;gap:7px;max-height:265px;overflow:auto;margin-top:10px}.catalog-item,.internet-item{border:1px solid #e5e9ef;border-radius:7px;padding:9px}.catalog-item-top,.internet-item-top{display:flex;justify-content:space-between;gap:8px}.item-name{font-weight:600}.item-meta{font-size:12px;color:#475467;margin-top:4px}.item-source{font-size:11px;color:var(--primary);text-decoration:none;word-break:break-all}.status-note{font-size:12px;color:#667085;margin-top:8px}.status-note.error{color:var(--danger)}.manual-grid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:8px;margin-bottom:8px}
.chart-card{min-height:590px}.legend{display:flex;gap:20px;color:#475467;font-size:12px;margin-bottom:8px}.line{display:inline-block;width:24px;height:0;border-top:2px solid;margin-right:6px;vertical-align:middle}.line.temp{border-color:#d92d20}.line.dew{border-color:#1268c4}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.dot.risk{background:#d92d20}.chart-wrap{width:100%;border:1px solid #eef1f5;border-radius:6px;overflow:hidden;background:#fff}.chart-wrap svg{width:100%;height:auto;display:block}.result-box{margin-top:10px;border:1px solid #cfd7e2;border-radius:7px;padding:11px 12px;background:#f8fafc}.result-box.risk{border-color:#f6c16f;background:#fff8eb;color:#93370d}.result-box.ok{border-color:#a6f4c5;background:#ecfdf3;color:#05603a}.result-box.warn{border-color:#fec84b;background:#fffaeb;color:#93370d}
.catalog-table-wrap,.table-wrap{overflow:auto}.catalog-table,#calcTable{width:100%;border-collapse:collapse;font-size:12px}.catalog-table th,.catalog-table td,#calcTable th,#calcTable td{border-bottom:1px solid #e6eaf0;padding:7px 8px;text-align:left;white-space:nowrap}.catalog-table th,#calcTable th{background:#f8fafc;color:#475467;font-weight:600}.catalog-table td:first-child{white-space:normal}.source-short{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-actions{display:flex;gap:4px}
.full-width{grid-column:1/-1}.calc-card{padding-bottom:10px}.summary{display:flex;gap:22px;flex-wrap:wrap;margin-top:10px;font-size:12px}.summary strong{font-size:13px}.info{grid-column:1/-1;border:1px solid #b2ddff;background:#eff8ff;color:#175cd3;padding:10px 14px;border-radius:7px;font-size:12px}
dialog{border:1px solid var(--border);border-radius:10px;padding:0;box-shadow:0 24px 48px rgba(16,24,40,.18);width:440px}dialog::backdrop{background:rgba(15,23,42,.35)}dialog form{padding:18px;display:flex;flex-direction:column;gap:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
@media(max-width:1150px){body{min-width:760px}.layout{grid-template-columns:1fr}.full-width,.info{grid-column:auto}.manual-grid{grid-template-columns:1fr 1fr}}
@media print{
  @page{size:A4 landscape;margin:7mm}
  body{min-width:0;background:#fff;font-size:8.5px}
  .app-header{position:static;padding:0 0 4mm;border:0}.header-actions{display:none}.subtitle{display:none}
  .layout{display:grid;grid-template-columns:39% 61%;gap:3mm;max-width:none;padding:0}
  .left-column,.right-column{display:flex;gap:2.5mm}
  .card{break-inside:avoid;box-shadow:none;margin:0;padding:7px}
  .left-column .card{margin-bottom:0}
  .layers-card .material-add,.layers-card #btnAddLayer,.right-column>.card:nth-child(2){display:none}
  .chart-card{min-height:0}.chart-wrap svg{max-height:112mm}
  .calc-card{grid-column:1/-1;break-before:page;margin-top:0}
  .info{grid-column:1/-1;margin-top:2mm}
  input,select{border:0;padding:1px;background:transparent}
  .layer-row{grid-template-columns:15px 18px 1fr 54px 58px 45px;padding:4px;gap:3px}
  .layer-actions{display:none}
  .conditions{gap:8px}.conditions>div+div{padding-left:8px}
  #calcTable{font-size:8px}.catalog-table th,.catalog-table td,#calcTable th,#calcTable td{padding:4px 5px}
  .summary{gap:12px;margin-top:5px}
}

.surface-note{font-size:11px;color:#667085;margin-top:-5px;margin-bottom:8px}
