:root{--bg: #0f172a;--surface: #1e293b;--border: #334155;--text: #e2e8f0;--text-muted: #94a3b8;--primary: #3b82f6;--primary-hover: #2563eb;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b;--purple: #a855f7;--radius: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden}#root{height:100vh;width:100vw;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){body{overflow:auto}#root{height:auto;overflow:visible}}button{cursor:pointer;border:none;border-radius:var(--radius);padding:8px 18px;font-weight:600;font-size:.875rem;transition:background .2s}button.primary{background:var(--primary);color:#fff}button.primary:hover{background:var(--primary-hover)}button.primary:disabled{opacity:.5;cursor:not-allowed}header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:24px;padding:12px 24px;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap}header h1{font-size:1.1rem;fontWeight:700;white-space:nowrap;flex-shrink:0;margin:0;padding:0}header nav{display:flex;gap:4px;flex-shrink:0}header nav button{padding:6px 12px;font-size:.75rem;white-space:nowrap;border-radius:6px;transition:all .2s}header .status-indicators{display:flex;gap:12px;font-size:.8rem;flex-wrap:wrap;flex-shrink:0}main{margin-top:64px;height:calc(100vh - 64px);padding:12px;overflow:auto;box-sizing:border-box}@media (max-width: 768px){main{margin-top:0;height:auto;padding:140px 12px 12px;overflow:auto;box-sizing:border-box}}@media (max-width: 480px){main{padding-top:150px;padding-left:8px;padding-right:8px;overflow:auto}}select,input[type=text],textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:8px 12px;font-size:.875rem;outline:none}select:focus,input[type=text]:focus,textarea:focus{border-color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600}.badge.valid{background:#064e3b;color:var(--success)}.badge.invalid{background:#450a0a;color:var(--danger)}.badge.warning{background:#451a03;color:var(--warning)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tooltip-container{position:relative;display:inline-block;border-bottom:1px dotted var(--text-muted);cursor:help}.tooltip-text{visibility:hidden;background-color:#000000e6;color:#fff;text-align:center;padding:6px 10px;border-radius:4px;position:absolute;z-index:1000;bottom:125%;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.75rem;opacity:0;transition:opacity .3s;pointer-events:none;box-shadow:0 2px 8px #000c}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.9) transparent transparent transparent}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}@media (max-width: 768px){.tooltip-text{bottom:auto;top:125%}.tooltip-text:after{top:auto;bottom:100%;border-color:transparent transparent rgba(0,0,0,.9) transparent}}@media (max-width: 768px){header{flex-wrap:wrap;gap:12px!important;padding:12px!important}header h1{font-size:.95rem!important;flex:1 1 100%}header nav{flex:1 1 100%;gap:2px!important}header nav button{flex:1;padding:6px 8px!important;font-size:.75rem!important}header .status-indicators{flex:1 1 100%;gap:6px!important;font-size:.7rem!important}main{margin-top:0!important;height:auto!important;padding:140px 8px 12px!important;overflow-y:auto!important;overflow-x:hidden!important}header{min-height:140px;position:fixed;z-index:1000}.card{padding:12px!important}.kg-layout{flex-direction:column!important;overflow-y:auto!important;height:auto!important}.filter-panel{width:100%!important;flex-shrink:0!important;height:auto!important;max-height:none!important;overflow:visible!important;margin-bottom:16px}.graph-container{flex:none!important;width:100%!important;height:400px!important;overflow:hidden!important}select,input[type=text],button{padding:8px!important;font-size:.8rem!important}.detail-panel{position:fixed!important;bottom:0!important;right:0!important;width:100%!important;max-height:40vh!important;top:auto!important;border-radius:8px 8px 0 0!important;z-index:100}.controls{flex-direction:column!important;gap:8px!important}.controls button,.controls label{width:100%}.tooltip-text{white-space:normal;max-width:150px}.dashboard-container{width:100%}.chat-container{width:100%;height:auto;overflow:visible}.chat-messages{max-height:none;overflow-y:visible}.chat-predefined-queries{max-height:none!important;overflow-y:auto!important}}@media (min-width: 769px) and (max-width: 1024px){header{gap:12px!important;flex-wrap:wrap;min-height:auto}main{margin-top:0!important;height:calc(100vh - 80px)!important;overflow:hidden!important}.filter-panel{width:240px!important}.detail-panel{width:250px!important}}.flex-row{display:flex;gap:8px}.flex-col{display:flex;flex-direction:column;gap:8px}@media (max-width: 768px){header{padding:8px 12px!important;gap:12px!important}header h1{font-size:.95rem!important}header nav button{font-size:.7rem!important;padding:5px 8px!important;min-width:auto}.status-indicators{font-size:.7rem!important;gap:8px!important}main{margin-top:0!important;height:auto!important;padding:140px 12px 12px!important;overflow-y:auto!important;overflow-x:hidden!important}header{min-height:140px;position:fixed}.kg-layout{flex-direction:column!important}.filter-panel-container{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;flex-direction:unset!important}.filter-panel-container h3,.filter-panel-container button{grid-column:1 / -1!important}.graph-container{min-height:400px!important}.chat-container{height:auto;overflow:visible}.chat-messages{padding:12px!important;max-height:none}.chat-predefined-queries{max-height:none!important;padding:12px!important;margin-bottom:12px!important;overflow-y:auto!important}.chat-predefined-queries h3{font-size:.85rem!important}.chat-message{padding:8px 12px!important;font-size:.85rem!important}.chat-input-area{margin-top:8px!important}.chat-input-area textarea{min-height:60px!important}}@media (max-width: 480px){header{padding:6px 8px!important;gap:8px!important}header h1{font-size:.9rem!important}header nav{gap:2px!important}header nav button{font-size:.65rem!important;padding:4px 6px!important;min-width:auto}main{margin-top:0!important;height:auto!important;padding:150px 8px 8px!important;overflow-y:auto!important;overflow-x:hidden!important}header{min-height:150px;position:fixed;z-index:1000}.card{padding:12px!important}.chat-container{height:auto;width:100%;overflow:visible;padding:0!important}.chat-predefined-queries{max-height:40vh!important;padding:8px!important;margin-bottom:8px!important;margin-top:4px!important}.chat-predefined-queries h3{font-size:.75rem!important}.chat-messages{padding:8px!important;gap:8px!important}.chat-message{max-width:90%!important;padding:6px 10px!important;font-size:.8rem!important;border-radius:8px!important}.chat-input-area{margin-top:6px!important;flex-direction:column!important;gap:6px!important}.chat-input-area textarea{width:100%!important;min-height:56px!important;font-size:.8rem!important}.chat-input-area button{width:100%!important;padding:8px 12px!important;font-size:.8rem!important}table{font-size:.75rem!important}table thead th,table tbody td{padding:6px 8px!important}.case-study-container{padding:12px!important}.graph-container{min-height:350px!important}.upload-container{padding:12px!important}.upload-group{flex-direction:column!important;gap:12px!important}}
