.glass{background:linear-gradient(180deg,rgba(13,22,28,.79),rgba(8,14,18,.67));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.holo-card{position:relative;overflow:hidden;border:1px solid rgba(112,232,255,.13);border-radius:var(--r2);background:linear-gradient(145deg,rgba(9,18,24,.87),rgba(5,9,12,.78));box-shadow:inset 0 1px rgba(255,255,255,.035),0 24px 80px rgba(0,0,0,.3)}.holo-card:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(115deg,transparent 22%,rgba(112,232,255,.08) 42%,rgba(214,173,85,.07) 52%,transparent 72%);transform:translateX(-110%);transition:transform .8s var(--ease)}.holo-card:hover:before{transform:translateX(110%)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.section-head p{max-width:540px}.metric{padding:20px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.022)}.metric small{display:block;font:700 .72rem var(--mono);letter-spacing:.1em;color:var(--soft);text-transform:uppercase}.metric strong{display:block;font-size:1.72rem;margin-top:10px;letter-spacing:-.04em}.metric em{display:block;font-style:normal;color:var(--ok);font-size:.79rem;margin-top:4px}.metric[data-tone=warn] em{color:var(--warn)}.metric[data-tone=danger] em{color:var(--danger)}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.02);font:700 .72rem var(--mono);letter-spacing:.05em;color:#b9c3ca}.tag.gold{border-color:var(--line-gold);color:var(--gold2)}.tag.cyan{border-color:var(--line-cyan);color:#bdf7ff}
.status-line{display:flex;align-items:center;gap:8px;font:700 .72rem var(--mono);color:var(--soft);letter-spacing:.08em}.status-line i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px rgba(112,232,255,.8)}
.modal{position:fixed;inset:0;z-index:1600;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.7);backdrop-filter:blur(14px)}.modal.open{display:flex}.modal-panel{width:min(680px,100%);max-height:min(82vh,780px);overflow:auto;padding:26px;border-radius:22px;background:#071015;border:1px solid var(--line-cyan);box-shadow:0 40px 120px rgba(0,0,0,.65)}.modal-close{float:right;border:0;background:transparent;font-size:1.6rem;cursor:pointer}
.field{display:grid;gap:7px}.field label{font-size:.84rem;color:#d4d9dd;font-weight:650}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:white;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(112,232,255,.07)}.field textarea{min-height:130px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .wide{grid-column:1/-1}.form-result{font-size:.88rem;color:var(--muted);min-height:1.4em}.consent{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.84rem}.consent input{margin-top:4px}
.command-palette{position:fixed;inset:0;display:none;place-items:center;z-index:1500;background:rgba(0,0,0,.65);backdrop-filter:blur(16px)}.command-palette.open{display:grid}.command-panel{width:min(560px,calc(100% - 30px));padding:18px;border-radius:18px;border:1px solid var(--line-cyan);background:#071015;box-shadow:0 40px 120px rgba(0,0,0,.6)}.command-head{display:flex;justify-content:space-between;align-items:center;padding:6px 6px 14px}.command-head button{border:0;background:none;font-size:1.4rem;cursor:pointer}.command-links{display:grid;gap:6px}.command-links a,.command-links button{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px;border-radius:11px;border:1px solid transparent;background:rgba(255,255,255,.02);color:white;text-align:left;cursor:pointer}.command-links a:hover,.command-links button:hover{border-color:var(--line);background:rgba(112,232,255,.045)}.command-links kbd{font:700 .7rem var(--mono);color:var(--gold2)}.command-links em{font:700 .68rem var(--mono);font-style:normal;color:var(--soft)}
.chat-toggle{position:fixed;right:22px;bottom:22px;z-index:1200;width:64px;height:64px;border-radius:50%;border:1px solid var(--line-cyan);background:radial-gradient(circle at 45% 38%,rgba(112,232,255,.24),rgba(5,11,15,.96) 56%);box-shadow:0 0 0 8px rgba(112,232,255,.025),0 14px 40px rgba(0,0,0,.45);cursor:pointer}.chat-toggle span{font:800 .8rem var(--mono);color:#d5faff}.chat-toggle:after{content:"";position:absolute;inset:9px;border:1px dashed rgba(214,173,85,.5);border-radius:50%;animation:spin 12s linear infinite}.chat-toggle[data-mode=llm]{border-color:rgba(118,226,180,.55);box-shadow:0 0 0 8px rgba(118,226,180,.025),0 14px 40px rgba(0,0,0,.45)}
.chat-panel{position:fixed;right:22px;bottom:98px;z-index:1190;width:min(430px,calc(100vw - 28px));height:min(650px,calc(100vh - 130px));display:none;grid-template-rows:auto 1fr auto auto;border:1px solid var(--line-cyan);border-radius:20px;overflow:hidden;background:rgba(5,10,14,.97);box-shadow:0 40px 100px rgba(0,0,0,.58);backdrop-filter:blur(18px)}.chat-panel.open{display:grid}.chat-head{padding:16px 16px 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.ai-orb{width:40px;height:40px;border-radius:50%;border:1px solid rgba(112,232,255,.45);background:radial-gradient(circle,rgba(112,232,255,.24),transparent 62%);position:relative}.ai-orb:before,.ai-orb:after{content:"";position:absolute;inset:7px;border:1px solid rgba(214,173,85,.5);border-radius:50%}.ai-orb:after{inset:13px;border-color:var(--cyan);box-shadow:0 0 16px rgba(112,232,255,.35)}.chat-head small{display:block;font:700 .66rem var(--mono);letter-spacing:.12em;color:var(--soft)}.chat-head strong{font-size:.94rem}.chat-head button{margin-left:auto;border:0;background:none;font-size:1.4rem;cursor:pointer}.chat-status{font:700 .66rem var(--mono);color:var(--ok)}.chat-body{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:10px}.msg{max-width:88%;padding:11px 13px;border-radius:13px;font-size:.9rem;white-space:pre-wrap}.msg.ai{align-self:flex-start;background:rgba(112,232,255,.055);border:1px solid rgba(112,232,255,.12)}.msg.user{align-self:flex-end;background:rgba(214,173,85,.08);border:1px solid rgba(214,173,85,.18)}.ai-suggestions{padding:0 14px 12px;display:flex;gap:7px;flex-wrap:wrap}.ai-suggestions button{padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:#cdd5da;font-size:.76rem;cursor:pointer}.chat-input{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--line)}.chat-input input{min-width:0;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.03);color:white;padding:11px 12px}.chat-input button{width:42px;border-radius:11px;border:1px solid var(--line-gold);background:rgba(214,173,85,.11);cursor:pointer}.chat-privacy{padding:0 14px 10px;margin:0;font-size:.72rem;color:var(--soft)}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.section-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.chat-toggle{right:14px;bottom:14px}.chat-panel{right:14px;bottom:88px;height:calc(100vh - 110px)}}

/* V5 holographic edge language */
.holo-card{isolation:isolate}
.holo-card:after{content:"";position:absolute;inset:8px;pointer-events:none;border-radius:calc(var(--r2) - 7px);background:linear-gradient(90deg,var(--cyan),transparent 14%) top left/72px 1px no-repeat,linear-gradient(180deg,var(--cyan),transparent 14%) top left/1px 72px no-repeat,linear-gradient(270deg,var(--gold2),transparent 14%) bottom right/72px 1px no-repeat,linear-gradient(0deg,var(--gold2),transparent 14%) bottom right/1px 72px no-repeat;opacity:.14;transition:opacity .3s var(--ease)}
.holo-card:hover:after{opacity:.34}
.chat-panel{background:linear-gradient(165deg,rgba(5,12,16,.985),rgba(4,8,11,.975));box-shadow:0 40px 100px rgba(0,0,0,.62),0 0 46px rgba(112,232,255,.055)}
.chat-panel.open .ai-orb{animation:aiPulse 3.6s ease-in-out infinite}
@keyframes aiPulse{0%,100%{box-shadow:0 0 0 0 rgba(112,232,255,.02)}50%{box-shadow:0 0 0 10px rgba(112,232,255,.035),0 0 24px rgba(112,232,255,.16)}}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* Pretoria AI V5.1 — conversational states */
.msg.thinking{letter-spacing:.16em;color:var(--cyan);min-width:58px;animation:aiThinking 1.1s ease-in-out infinite}
@keyframes aiThinking{0%,100%{opacity:.38;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
.chat-panel.open .chat-status{transition:color .2s ease,text-shadow .2s ease}.chat-toggle[data-mode=llm] span{color:var(--ok)}
