/* ═══════════════════════════════════════════
   CheckWind V5 — Professional Wind Analysis CSS
   ═══════════════════════════════════════════ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
    --bg:#1a1a2e;--bg2:#16213e;--bg3:#0f3460;
    --surface:#1e2a4a;--surface2:#233256;--surface3:#2a3d66;
    --primary:#00d2ff;--primary-dim:#0088aa;
    --accent:#7c4dff;--accent2:#e040fb;
    --success:#00e676;--warn:#ffab00;--danger:#ff5252;
    --text:#e8eaf6;--text2:#90a4ae;--text3:#607d8b;
    --border:#2e3f5f;--radius:8px;--radius-sm:5px;
    --shadow:0 4px 20px rgba(0,0,0,.3);
    --green-hl:#c8e6c9;
}
html,body{height:100%;overflow:hidden;font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:13px}
h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:8px}
h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text2);margin-bottom:6px}
a{color:var(--primary)}
input[type=range]{-webkit-appearance:none;width:100%;height:4px;background:#2e3f5f;border-radius:4px;outline:0;margin:4px 0 10px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid var(--bg)}
select,input[type=text]{width:100%;padding:5px 8px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-size:12px;margin-bottom:6px}
select:focus,input:focus{outline:none;border-color:var(--primary)}
label{display:block;font-size:11px;color:var(--text2);margin-bottom:2px}
label span{color:var(--primary);font-weight:700}
button{cursor:pointer}

/* ═══ Top Nav ═══ */
.top-nav{position:fixed;top:0;left:0;width:100%;height:42px;background:var(--bg2);display:flex;align-items:center;z-index:5000;border-bottom:1px solid var(--border);padding:0 12px}
.nav-brand{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--primary);min-width:160px}
.brand-icon{font-size:18px}
.brand-text sup{font-size:9px;color:var(--accent)}
.main-tabs{display:flex;gap:2px;margin-left:20px}
.main-tab{background:transparent;border:none;color:var(--text2);font-size:12px;font-weight:700;padding:10px 20px;letter-spacing:.08em;transition:all .15s}
.main-tab:hover{color:var(--text);background:rgba(255,255,255,.04)}
.main-tab.active{color:var(--primary);border-bottom:2px solid var(--primary);background:rgba(0,210,255,.06)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.btn-account{background:var(--surface2);border:1px solid var(--border);color:var(--text);width:32px;height:32px;border-radius:50%;font-size:16px}

/* Account menu */
.account-menu{display:none;position:fixed;top:48px;right:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;z-index:5001;min-width:220px;box-shadow:var(--shadow)}
.account-menu.show{display:block}
.acct-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.acct-avatar{font-size:28px}
.acct-name{font-weight:700}
.acct-plan{font-size:11px;color:var(--accent)}
.acct-divider{height:1px;background:var(--border);margin:8px 0}
.account-menu button{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:7px 8px;font-size:12px;border-radius:4px}
.account-menu button:hover{background:rgba(255,255,255,.06)}

/* ═══ Tab content containers ═══ */
.tab-content{position:fixed;top:42px;left:0;right:0;bottom:0}

/* ═══ STRUCTURE TAB ═══ */
.toolbar{position:absolute;top:0;left:0;right:0;height:36px;background:var(--bg2);display:flex;align-items:center;padding:0 10px;gap:2px;z-index:100;border-bottom:1px solid var(--border);overflow-x:auto}
.toolbar button{background:transparent;border:1px solid transparent;color:var(--text2);padding:3px 9px;border-radius:var(--radius-sm);font-size:11px;white-space:nowrap;transition:all .15s}
.toolbar button:hover{background:rgba(255,255,255,.06);color:var(--text)}
.toolbar button.active{color:var(--primary);border-color:var(--primary);background:rgba(0,210,255,.08)}
.toolbar-divider{width:1px;height:20px;background:var(--border);margin:0 4px}

/* Left panel */
.panel-left{position:absolute;top:36px;left:0;width:260px;bottom:0;overflow-y:auto;background:var(--bg2);border-right:1px solid var(--border);padding:10px 12px;z-index:99}
.panel-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;margin-bottom:10px}

/* Right panel */
.panel-right{position:absolute;top:36px;right:0;width:300px;bottom:0;overflow-y:auto;background:var(--bg2);border-left:1px solid var(--border);padding:10px 12px;z-index:99}
.result-table{width:100%;border-collapse:collapse;font-size:11px}
.result-table th{background:var(--surface3);color:var(--primary);padding:4px 6px;text-align:left;font-size:10px;letter-spacing:.04em}
.result-table td{padding:4px 6px;border-bottom:1px solid var(--border)}
.result-table tr:last-child td{border-bottom:none}
.clause-box{max-height:160px;overflow-y:auto;font-size:11px;line-height:1.5;color:var(--text2)}

/* Face info tooltip */
.face-info{display:none;position:fixed;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius);padding:10px 14px;z-index:1000;min-width:170px;box-shadow:var(--shadow)}
.face-info h4{color:var(--primary);margin-bottom:6px;font-size:12px}
.fi-row{display:flex;justify-content:space-between;font-size:11px;padding:2px 0}
.fi-lbl{color:var(--text2)}
.fi-val{font-weight:700}
.fi-clause{margin-top:6px;font-size:10px;color:var(--text3);font-style:italic}

/* Wind compass */
.wind-compass{position:fixed;bottom:20px;left:280px;width:130px;height:130px;z-index:200}
.wind-compass canvas{cursor:grab}

/* Legend */
.legend{position:fixed;bottom:20px;right:320px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;z-index:200}
.legend h4{font-size:10px;color:var(--text2);margin-bottom:4px}
.legend-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text2)}

/* 3D Canvas */
#canvas-container{position:fixed;top:78px;left:260px;right:300px;bottom:0;z-index:1}

/* ═══ SITE TAB ═══ */
.site-left-panel{position:absolute;top:0;left:0;width:350px;bottom:0;overflow-y:auto;background:var(--bg2);border-right:1px solid var(--border);padding:10px 12px;z-index:100}
.section-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.btn-row{display:flex;gap:6px}
.btn-row button{flex:1;padding:5px 10px;background:var(--surface3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-size:11px}
.btn-row button:hover{background:var(--primary);color:var(--bg)}
.wind-field{display:flex;align-items:center;gap:6px;margin:4px 0}
.wind-field label{white-space:nowrap;min-width:100px;font-size:11px}
.wind-field input{width:60px;text-align:right}
.highlight-green{background:#2e6b2e!important;color:#c8e6c9!important;font-weight:700;border-color:#4caf50!important}

/* Direction multiplier tabs */
.dir-tabs{display:flex;gap:2px;margin-bottom:8px}
.dir-tab{flex:1;background:transparent;border:1px solid var(--border);border-bottom:2px solid transparent;color:var(--text2);padding:5px 8px;font-size:10px;font-weight:700;letter-spacing:.04em;border-radius:var(--radius-sm) var(--radius-sm) 0 0}
.dir-tab:hover{background:rgba(255,255,255,.04)}
.dir-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:rgba(0,210,255,.06)}
.dir-table{max-height:300px;overflow-y:auto}
.dir-table table{width:100%;border-collapse:collapse;font-size:11px}
.dir-table th{background:var(--surface3);color:var(--text2);padding:4px 6px;text-align:center;font-weight:700;letter-spacing:.04em;position:sticky;top:0;z-index:1}
.dir-table td{padding:4px 6px;border-bottom:1px solid var(--border);text-align:center}
.dir-table input[type=text]{width:50px;text-align:center;padding:2px 4px;font-size:11px;margin:0}
.dir-table select{width:60px;font-size:10px;padding:2px;margin:0}
.dir-table .highlight-cell{background:#2e6b2e;color:#c8e6c9;font-weight:700;border-radius:3px;padding:2px 4px}

/* Map */
#map-container{position:absolute;top:0;left:350px;right:0;bottom:0;z-index:50}
#leaflet-map{width:100%;height:100%}
.map-overlay-info{position:absolute;top:10px;right:10px;background:rgba(26,26,46,.85);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;z-index:500;font-size:11px}
.map-overlay-info div{margin:2px 0}
.map-overlay-info b{color:var(--primary)}
.map-controls-bar{position:absolute;bottom:10px;left:10px;display:flex;gap:6px;z-index:500}
.map-controls-bar button{background:rgba(26,26,46,.9);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:var(--radius-sm);font-size:11px}
.map-controls-bar button:hover{background:var(--primary);color:var(--bg)}
.map-controls-bar button.active{color:var(--primary);border-color:var(--primary);background:rgba(0,210,255,.15)}

/* Ms Overlay Legend */
.map-overlay-legend{position:absolute;top:80px;right:10px;background:rgba(26,26,46,.92);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;z-index:501;min-width:200px;backdrop-filter:blur(6px)}
.legend-title{font-size:12px;font-weight:700;color:var(--primary);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.legend-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text2);padding:3px 0}
.legend-swatch{display:inline-block;width:16px;height:12px;border-radius:3px;flex-shrink:0}

/* ═══ ANALYSIS TAB ═══ */
.analysis-container{display:flex;height:100%;overflow:hidden}
.analysis-left{width:320px;overflow-y:auto;background:var(--bg2);border-right:1px solid var(--border);padding:12px;flex-shrink:0}
.analysis-center{flex:1;position:relative}
#canvas-container-analysis{width:100%;height:100%}
.analysis-right{width:300px;overflow-y:auto;background:var(--bg2);border-left:1px solid var(--border);padding:12px;flex-shrink:0}

/* ═══ PRESSURES TAB ═══ */
.pressures-container{display:flex;height:100%;overflow:hidden}
.pressure-center{flex:1;overflow:auto;padding:12px 16px}
.pressure-subtabs{display:flex;gap:4px;margin-bottom:12px}
.ptab{background:transparent;border:1px solid var(--border);border-bottom:2px solid transparent;color:var(--text2);padding:6px 20px;font-size:12px;font-weight:700;letter-spacing:.06em;border-radius:var(--radius-sm) var(--radius-sm) 0 0}
.ptab:hover{background:rgba(255,255,255,.04)}
.ptab.active{color:var(--primary);border-bottom-color:var(--primary);background:rgba(0,210,255,.06)}

.press-table{width:100%;border-collapse:collapse;font-size:11px;background:var(--surface)}
.press-table th{background:var(--surface3);color:var(--primary);padding:6px 8px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.04em;border:1px solid var(--border)}
.press-table td{padding:5px 8px;text-align:center;border:1px solid var(--border)}
.press-table td.label-cell{text-align:left;font-weight:600;color:var(--text)}
.press-table td.neg{color:var(--danger)}
.press-table td.pos{color:var(--success)}
.press-table tbody tr:hover{background:rgba(0,210,255,.04)}
.press-table .row-group-header{background:var(--surface2);font-weight:700;color:var(--text);font-size:11px}

/* Pressure right panel */
.pressure-right-panel{width:280px;overflow-y:auto;background:var(--bg2);border-left:1px solid var(--border);padding:12px;flex-shrink:0}
.pressure-right-panel .panel-section{margin-bottom:10px}
.info-field{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-size:12px;font-weight:700;color:var(--primary)}
.info-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0}
.info-row label{font-size:11px;color:var(--text2);min-width:70px}
.info-row span{font-size:12px;font-weight:600}
.info-row input[type=text]{width:60px;text-align:right}
.info-row select{width:60px}
.computed{color:var(--primary);font-weight:700}
.check-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text);margin:4px 0}
.check-label input[type=checkbox]{accent-color:var(--primary)}

/* ═══ DOCUMENT TAB ═══ */
.document-container{display:flex;flex-direction:column;height:100%;overflow:hidden}
.doc-toolbar{padding:10px 16px;background:var(--bg2);border-bottom:1px solid var(--border);display:flex;gap:8px}
.doc-toolbar button{background:var(--surface3);border:1px solid var(--border);color:var(--text);padding:7px 14px;border-radius:var(--radius-sm);font-size:11px;font-weight:600}
.doc-toolbar button:hover{background:var(--primary);color:var(--bg)}
.doc-preview{flex:1;overflow-y:auto;padding:20px 30px;background:var(--surface)}
.doc-preview .report-section{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.doc-preview h2{color:var(--primary);font-size:16px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:6px}
.doc-preview table{width:100%;border-collapse:collapse;font-size:11px;margin-top:8px}
.doc-preview th{background:var(--surface3);color:var(--primary);padding:5px 8px;text-align:left;font-size:10px}
.doc-preview td{padding:5px 8px;border-bottom:1px solid var(--border)}

/* ═══ Toast ═══ */
.toast{display:none;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--primary);color:var(--bg);padding:10px 24px;border-radius:20px;font-size:13px;font-weight:600;z-index:9000;box-shadow:var(--shadow)}
.toast.show{display:block;animation:fadeInUp .3s ease}
@keyframes fadeInUp{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ═══ Dark / Light toggle ═══ */
body.light{--bg:#f4f6f9;--bg2:#ffffff;--bg3:#e8ecf1;--surface:#fff;--surface2:#f0f2f5;--surface3:#e6eaf0;--primary:#0066cc;--text:#1a1a2e;--text2:#555;--text3:#999;--border:#d0d5dd;--green-hl:#e8f5e9}

/* ═══ Scrollbar ═══ */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text3)}

/* ═══ responsive ═══ */
@media(max-width:1100px){
    .panel-left,.site-left-panel{width:220px}
    .panel-right,.pressure-right-panel,.analysis-right{width:240px}
    #canvas-container{left:220px;right:240px}
}
@media(max-width:768px){
    .main-tabs{font-size:10px}
    .main-tab{padding:8px 10px;font-size:10px}
}
