/* LexAI — Shared Design System | assets/css/main.css */
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800;900&family=Barlow+Condensed:wght@600;700;800;900&family=JetBrains+Mono:wght@300;400;600&display=swap');
:root{--bg:#070c18;--bg-2:#0b1120;--bg-3:#0f1728;--bg-card:rgba(255,255,255,0.03);--blue:#2563ff;--blue-light:#4d7fff;--blue-bright:#60a5fa;--blue-glow:rgba(37,99,255,0.12);--blue-border:rgba(37,99,255,0.35);--white:#ffffff;--grey-1:#e2e8f0;--grey-2:#94a3b8;--grey-3:#334155;--border:rgba(255,255,255,0.06);--border-blue:rgba(37,99,255,0.3);--red:#ef4444;--red-bg:rgba(239,68,68,0.1);--orange:#f97316;--orange-bg:rgba(249,115,22,0.1);--green:#22c55e;--green-bg:rgba(34,197,94,0.1);--radius:4px;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--grey-1);font-family:'Barlow',sans-serif;font-size:15px;line-height:1.6;min-height:100vh;overflow-x:hidden;}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--grey-3);border-radius:2px;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.25}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes slideIn{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}
/* NAV */
.topnav{position:fixed;top:0;left:0;right:0;z-index:100;height:64px;background:rgba(7,12,24,0.95);border-bottom:1px solid var(--border);backdrop-filter:blur(20px);display:flex;align-items:center;padding:0 40px;gap:40px;}
.logo{display:flex;align-items:center;gap:12px;cursor:pointer;text-decoration:none;flex-shrink:0;}
.logo-icon{width:36px;height:36px;background:var(--blue);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:900;color:white;}
.logo-wordmark{display:flex;flex-direction:column;line-height:1;}
.logo-name{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:0.06em;color:var(--white);}
.logo-tagline{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:0.12em;text-transform:uppercase;color:var(--grey-2);margin-top:1px;}
.nav-links{display:flex;gap:4px;}
.nav-link{font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--grey-2);padding:7px 18px;cursor:pointer;background:none;border:1px solid transparent;border-radius:var(--radius);transition:all 0.2s;text-decoration:none;display:inline-flex;align-items:center;}
.nav-link:hover{color:var(--white);background:rgba(255,255,255,0.04);}
.nav-link.active{color:var(--white);background:var(--blue-glow);border-color:var(--border-blue);}
.nav-spacer{flex:1;}
.nav-right{display:flex;align-items:center;gap:10px;}
.nav-chip{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.06em;padding:5px 14px;border-radius:20px;border:1px solid;cursor:pointer;transition:all 0.2s;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.nav-chip.tenant{color:var(--blue-bright);border-color:var(--border-blue);background:var(--blue-glow);}
.nav-chip.user{color:var(--grey-1);border-color:var(--border);background:rgba(255,255,255,0.03);}
.nav-chip.user:hover{border-color:var(--border-blue);color:var(--white);}
/* LAYOUT */
.main{margin-top:64px;}
.page-header{background:var(--bg-2);border-bottom:1px solid var(--border);padding:24px 48px;display:flex;align-items:center;justify-content:space-between;}
.page-title{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;letter-spacing:0.03em;color:var(--white);}
/* CARD */
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.card-header{padding:14px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;}
.card-label{font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--grey-2);}
.card-body{padding:22px;}
/* FORM */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-label{font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--grey-2);}
.form-input,.form-select{background:rgba(255,255,255,0.04);border:1px solid var(--border);color:var(--white);font-family:'Barlow',sans-serif;font-size:14px;font-weight:500;padding:10px 14px;outline:none;border-radius:var(--radius);transition:border-color 0.2s;width:100%;appearance:none;-webkit-appearance:none;}
.form-input:focus,.form-select:focus{border-color:var(--blue);background:rgba(37,99,255,0.05);}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer;}
.form-select option{background:#0b1120;color:var(--white);}
.form-hint{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--grey-2);margin-top:2px;}
.form-error{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--red);margin-top:2px;display:none;}
.form-error.show{display:block;}
/* BUTTONS */
.btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--blue);color:var(--white);border:none;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;padding:14px 24px;border-radius:var(--radius);transition:all 0.2s;text-decoration:none;}
.btn-primary:hover:not(:disabled){background:var(--blue-light);box-shadow:0 8px 28px rgba(37,99,255,0.35);transform:translateY(-1px);}
.btn-primary:disabled{opacity:0.3;cursor:not-allowed;transform:none;}
.btn-outline{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;padding:9px 20px;cursor:pointer;border-radius:var(--radius);transition:all 0.2s;background:transparent;color:var(--grey-2);border:1px solid var(--border);text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.btn-outline:hover{color:var(--white);border-color:var(--border-blue);background:var(--blue-glow);}
.btn-solid{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;padding:9px 20px;cursor:pointer;border-radius:var(--radius);transition:all 0.2s;background:var(--blue);color:var(--white);border:none;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.btn-solid:hover{background:var(--blue-light);box-shadow:0 4px 16px rgba(37,99,255,0.3);}
.btn-danger{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;padding:9px 20px;cursor:pointer;border-radius:var(--radius);transition:all 0.2s;background:var(--red-bg);color:var(--red);border:1px solid rgba(239,68,68,0.3);}
.btn-danger:hover{background:var(--red);color:#fff;}
/* BADGES */
.risk-badge{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;padding:3px 10px;flex-shrink:0;border-radius:var(--radius);}
.risk-badge.CRITICAL{background:var(--red-bg);color:var(--red);border:1px solid rgba(239,68,68,0.3);}
.risk-badge.HIGH{background:var(--orange-bg);color:var(--orange);border:1px solid rgba(249,115,22,0.3);}
.risk-badge.MEDIUM{background:var(--blue-glow);color:var(--blue-bright);border:1px solid var(--border-blue);}
.risk-badge.LOW{background:var(--green-bg);color:var(--green);border:1px solid rgba(34,197,94,0.3);}
.rec-badge{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;padding:7px 16px;border-radius:var(--radius);}
.rec-badge.DO_NOT_SIGN{background:var(--red);color:#fff;}
.rec-badge.REVIEW_REQUIRED{background:var(--orange);color:#fff;}
.rec-badge.ACCEPTABLE,.rec-badge.SIGN{background:var(--green);color:#fff;}
.det-badge{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;padding:2px 8px;border-radius:10px;margin-left:6px;}
.det-badge.override{background:rgba(245,158,11,0.15);color:#f59e0b;border:1px solid rgba(245,158,11,0.3);}
.det-badge.auto{background:var(--blue-glow);color:var(--blue-bright);border:1px solid var(--border-blue);}
/* TOAST */
.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px;pointer-events:none;}
.toast{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.06em;padding:12px 20px;border-radius:var(--radius);border:1px solid;animation:slideIn 0.3s ease;max-width:360px;pointer-events:auto;}
.toast.success{background:var(--green-bg);border-color:rgba(34,197,94,0.4);color:#86efac;}
.toast.error{background:var(--red-bg);border-color:rgba(239,68,68,0.4);color:#fca5a5;}
.toast.info{background:var(--blue-glow);border-color:var(--border-blue);color:var(--blue-bright);}
/* EMPTY STATE */
.empty{padding:80px 32px;text-align:center;}
.empty-icon{font-size:40px;margin-bottom:16px;opacity:0.15;}
.empty-title{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:900;text-transform:uppercase;color:var(--white);margin-bottom:8px;opacity:0.35;}
.empty-sub{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--grey-2);}
/* PROCESSING */
.processing-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(7,12,24,0.94);backdrop-filter:blur(20px);align-items:center;justify-content:center;}
.processing-overlay.show{display:flex;}
.processing-card{background:var(--bg-2);border:1px solid var(--border-blue);border-radius:8px;padding:48px 52px;text-align:center;max-width:420px;width:90%;box-shadow:0 0 80px rgba(37,99,255,0.12);}
.spinner{width:48px;height:48px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin 0.9s linear infinite;margin:0 auto 24px;}
.processing-title{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:900;text-transform:uppercase;letter-spacing:0.04em;color:var(--white);margin-bottom:6px;}
.processing-sub{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--grey-2);letter-spacing:0.06em;}
.processing-steps{margin-top:28px;display:flex;flex-direction:column;gap:10px;text-align:left;}
.p-step{display:flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--grey-2);opacity:0.3;transition:opacity 0.4s;}
.p-step.active{opacity:1;color:var(--blue-bright);}
.p-step.done{opacity:0.65;color:var(--green);}
.p-step-icon{width:16px;flex-shrink:0;text-align:center;}
.p-job{margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--grey-3);}
/* SETTINGS */
.settings-body{padding:40px 48px;max-width:680px;}
.settings-section{margin-bottom:40px;}
.settings-title{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:0.06em;color:var(--white);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.settings-field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px;}
.usage-track{height:6px;background:rgba(255,255,255,0.06);border-radius:3px;overflow:hidden;margin:10px 0 8px;}
.usage-fill{height:100%;background:var(--blue);border-radius:3px;}
.usage-meta{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--grey-2);}
/* STUB */
.stub-body{padding:80px 48px;text-align:center;}
.stub-icon{font-size:48px;margin-bottom:20px;opacity:0.2;}
.stub-title{font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:900;text-transform:uppercase;color:var(--white);margin-bottom:10px;letter-spacing:0.04em;}
.stub-sub{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--grey-2);margin-bottom:32px;}
.stub-endpoints{text-align:left;max-width:560px;margin:0 auto;}
.stub-endpoint{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--blue-bright);background:var(--blue-glow);border:1px solid var(--border-blue);border-radius:var(--radius);padding:8px 14px;margin-bottom:8px;}
.stub-endpoint span{color:var(--grey-2);}
@media(max-width:960px){.topnav{padding:0 20px;gap:16px;}.page-header{padding-left:20px;padding-right:20px;}.form-grid{grid-template-columns:1fr;}}
