:root{--ink:#17211c;--muted:#68736d;--paper:#f4f5ef;--panel:#fff;--line:#dfe3dc;--forest:#164c3c;--lime:#cbe95e;--orange:#ff8d62;--danger:#b94343;--shadow:0 22px 60px rgba(25,45,35,.09)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{margin:0 0 8px;color:#648072;font-size:11px;font-weight:700;letter-spacing:.16em}.muted{color:var(--muted);line-height:1.65}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr minmax(420px,46%);grid-template-areas:"art login";background:#fbfcf8}.login-card{grid-area:login;display:flex;flex-direction:column;justify-content:center;max-width:530px;padding:70px clamp(32px,7vw,110px)}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--forest);color:var(--lime);font:800 25px Manrope;margin-bottom:34px;box-shadow:0 12px 30px rgba(22,76,60,.24)}.brand-mark.small{width:39px;height:39px;border-radius:12px;font-size:19px;margin:0;box-shadow:none}.login-card h1{font:800 clamp(36px,5vw,63px)/1.04 Manrope;margin:10px 0 20px;letter-spacing:-.055em}.stack{display:grid;gap:17px;margin-top:22px}label{display:grid;gap:8px;color:#4d5b54;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;padding:12px 13px;color:var(--ink);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:#5b8978;box-shadow:0 0 0 3px rgba(49,111,87,.11)}textarea{resize:vertical}.button{border:0;border-radius:11px;padding:12px 17px;font-weight:700;cursor:pointer}.button.primary{background:var(--forest);color:white;box-shadow:0 7px 18px rgba(22,76,60,.18)}.button.primary:hover{background:#0e3c2e}.button.quiet{background:#edf1eb;color:var(--forest)}.error{min-height:20px;color:var(--danger);font-size:13px}.login-art{grid-area:art;position:relative;overflow:hidden;background:var(--forest);min-height:100vh}.login-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(203,233,94,.18),transparent 30%),linear-gradient(135deg,transparent 40%,rgba(255,255,255,.03))}.orb{position:absolute;border-radius:50%;border:1px solid rgba(203,233,94,.35)}.orb-one{width:560px;height:560px;right:-170px;top:-100px}.orb-two{width:280px;height:280px;left:70px;bottom:70px}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;padding:25px 18px;background:#123e32;color:white;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 7px 27px}.brand strong,.brand span{display:block}.brand strong{font:700 16px Manrope}.brand span{color:#9db4aa;font-size:11px;margin-top:2px}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#b9cac3;text-align:left;padding:11px 13px;border-radius:9px;cursor:pointer;font-weight:600;font-size:13px}nav button:hover,nav button.active{background:rgba(255,255,255,.09);color:white}nav button.active:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:10px}.sidebar-foot{margin-top:auto;padding:18px 8px 5px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:8px;color:#b9cac3;font-size:11px}.text-button{border:0;padding:0;background:none;color:var(--lime);text-align:left;cursor:pointer;font-size:12px}.app-shell main{grid-column:2;padding:0 38px 50px;min-width:0}.topbar{min-height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:29px}.topbar h2{margin:0;font:800 29px Manrope;letter-spacing:-.03em}.status{padding:8px 12px;border-radius:100px;background:#e7eee7;color:#3f6958;font-size:12px;font-weight:700}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#65a458;margin-right:7px}.page{display:none}.page.active{display:block}.metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px;margin-bottom:18px}.metric{padding:20px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.68)}.metric span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.metric strong{display:block;font:800 31px Manrope;margin-top:9px}.panel-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:23px;box-shadow:0 8px 30px rgba(25,45,35,.035)}.panel-head,.split-head,.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel h3,.split-head h3,.dialog-head h3,.lab-grid h3{font:700 20px Manrope;margin:0}.split-head{margin:0 0 20px}.split-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.callout{background:#f0f6d7;border-color:#dbe6ab}.callout p:not(.eyebrow){color:#526051;line-height:1.55}.flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:25px}.flow span{background:white;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:700}.flow b{color:#76965d}.table-wrap{overflow:auto;margin-top:16px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#77827c;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:10px;border-bottom:1px solid var(--line)}td{padding:12px 10px;border-bottom:1px solid #edf0eb;vertical-align:top}tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:5px 8px;border-radius:100px;background:#edf1ec;color:#4d655a;font-size:10px;font-weight:700}.badge.ready,.badge.primary{background:#e5f2d6;color:#35612d}.badge.failed{background:#fbe3df;color:#a03939}.badge.processing,.badge.queued{background:#fff0d6;color:#93631b}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.provider-card{background:white;border:1px solid var(--line);border-radius:16px;padding:21px}.provider-card .provider-top{display:flex;align-items:start;justify-content:space-between}.provider-icon{width:40px;height:40px;border-radius:12px;background:#eaf0e8;display:grid;place-items:center;font:800 17px Manrope;color:var(--forest)}.provider-card h4{font:700 17px Manrope;margin:18px 0 5px}.provider-card p{margin:0;color:var(--muted);font-size:12px}.provider-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.danger-button{border:0;background:transparent;color:#a84848;cursor:pointer;font-size:11px}.lab-grid{display:grid;grid-template-columns:minmax(350px,.85fr) 1.15fr;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answer-panel{border-radius:17px;background:#163e33;color:white;padding:27px;min-height:490px;box-shadow:var(--shadow)}.answer-panel .eyebrow{color:#aac1b7}.empty-answer{display:grid;place-items:center;text-align:center;height:380px;color:#8fb0a3;line-height:1.7}.answer-content{white-space:pre-wrap;line-height:1.7}.source-list{display:grid;gap:8px;margin-top:24px}.source-item{padding:10px 12px;border:1px solid rgba(255,255,255,.15);border-radius:9px;color:#c2d3cc;font-size:11px}.source-item b{color:var(--lime)}dialog{width:min(560px,calc(100% - 30px));border:0;border-radius:20px;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.24)}dialog::backdrop{background:rgba(11,30,24,.62);backdrop-filter:blur(3px)}.dialog-form{display:grid;gap:16px;padding:26px}.icon-button{border:0;background:#edf0eb;width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer}.check-row{display:flex;gap:18px;flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:7px}.check-row input{width:auto}.form-message{margin:0;min-height:18px;color:var(--muted);font-size:12px}label span{font-weight:400;color:var(--muted)}#toast{position:fixed;right:25px;bottom:25px;transform:translateY(30px);opacity:0;pointer-events:none;background:#173d33;color:white;padding:12px 17px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;transition:.25s}#toast.show{transform:none;opacity:1}.empty-state{padding:35px;text-align:center;color:var(--muted)}@media(max-width:1000px){.metrics{grid-template-columns:repeat(3,1fr)}.panel-grid,.lab-grid{grid-template-columns:1fr}.login-shell{display:block}.login-art{display:none}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;width:auto;height:auto}.sidebar nav{display:flex;overflow:auto}.sidebar-foot{display:none}.app-shell main{padding:0 17px 35px}.topbar{min-height:90px}.metrics{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.split-head{align-items:flex-start}.login-card{padding:40px 25px}.status{display:none}}

select[multiple] {
  min-height: 8.5rem;
  padding: .55rem;
}

select[multiple] option {
  padding: .4rem .5rem;
  border-radius: .35rem;
}

select[multiple] option:checked {
  background: #dfead0 linear-gradient(0deg, #dfead0 0%, #dfead0 100%);
  color: #244838;
}

.tenant-filter {
  display: block;
  max-width: 24rem;
  margin-bottom: 1rem;
}

td .badge + .badge {
  margin-left: .3rem;
}


:root {
  --brand-primary: #164c3c;
  --brand-accent: #cbe95e;
  --brand-background: #f4f5ef;
  --brand-text: #17211c;
  --forest: var(--brand-primary);
  --lime: var(--brand-accent);
  --paper: var(--brand-background);
  --ink: var(--brand-text);
}

body,
.login-shell {
  background: var(--brand-background);
  color: var(--brand-text);
}

.brand-mark {
  background: var(--brand-primary);
  color: var(--brand-accent);
}

.login-art {
  background: var(--brand-primary);
}

.sidebar {
  background: var(--brand-primary);
}

.answer-panel {
  background: var(--brand-primary);
}

#toast {
  background: var(--brand-primary);
}

.button.primary {
  background: var(--brand-primary);
}

.button.primary:hover {
  background: color-mix(in srgb, var(--brand-primary), black 18%);
}

nav button.active::before {
  background: var(--brand-accent);
}

.text-button,
#brand-support-email {
  color: var(--brand-accent);
}

.source-item b {
  color: var(--brand-accent);
}

.brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#brand-support-email {
  text-decoration: none;
}
