:root{font-family:Inter,Segoe UI,Helvetica Neue,Arial,sans-serif;color:#e8eefc;background:radial-gradient(circle at top left,rgba(48,107,255,.18),transparent 28%),radial-gradient(circle at right top,rgba(40,180,120,.12),transparent 20%),linear-gradient(180deg,#0b1020,#101729);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;background:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);position:relative}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(140deg,rgba(255,255,255,.035),transparent 40%),radial-gradient(circle at bottom right,rgba(255,188,0,.05),transparent 22%);pointer-events:none}.sidebar{position:sticky;top:0;height:100vh;padding:28px 22px;border-right:1px solid rgba(255,255,255,.08);background:#0a0e1adb;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;flex-direction:column;justify-content:space-between;gap:20px}.brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#7ce7b2,#3c7bff);color:#05101a;font-weight:900;box-shadow:0 18px 35px #3c7bff47}.sidebar__brand{margin-top:14px;display:grid;gap:4px}.sidebar__brand strong{font-size:1.1rem}.sidebar__brand span,.sidebar__profile span,.panel__head p,.stack-card p,.recent-item p,.auth-card__lead,.auth-form label span,.drawer__head p,.empty-state p{color:#e8eefcb8}.nav{display:grid;gap:10px}.nav-item,.button{border:0;border-radius:16px;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease}.nav-item{text-align:left;padding:14px 16px;background:#ffffff0a;color:inherit}.nav-item strong{display:block;font-size:.98rem}.nav-item span{display:block;margin-top:2px;font-size:.84rem;color:#e8eefc94}.nav-item:hover,.button:hover{transform:translateY(-1px)}.nav-item--active{background:linear-gradient(135deg,#7ce7b233,#3c7bff29);box-shadow:inset 0 0 0 1px #7ce7b22e}.sidebar__footer{display:grid;gap:16px}.sidebar__profile{display:grid;gap:4px;padding:16px;border-radius:18px;background:#ffffff0a}.workspace{min-width:0;padding:28px;display:grid;gap:22px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;border-radius:26px;background:linear-gradient(135deg,#ffffff14,#ffffff08),#0a0e1acc;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 60px #02060f47}.topbar h1{margin:4px 0 0;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1}.topbar__eyebrow,.auth-card__eyebrow,.loading-card:before{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#7ce7b2e0}.topbar__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;align-items:center}.topbar__user{color:#e8eefcb8}.content-grid{display:grid;gap:22px}.content-grid--two-up{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.content-grid--plan-editor,.content-grid--prompt-editor{align-items:start}.panel{padding:22px;border-radius:26px;background:#0c1222d1;border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 48px #02060f38;min-width:0}.panel--compact{padding:18px}.panel__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.panel__head h2,.drawer__head h3{margin:0;font-size:1.12rem}.panel__head p{margin:6px 0 0;max-width:70ch}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stats-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{border-radius:22px;padding:18px;background:linear-gradient(180deg,#ffffff0b,#ffffff05),#ffffff05;border:1px solid rgba(255,255,255,.06);display:grid;gap:8px;min-height:124px}.stat-card span{color:#e8eefcad;font-size:.86rem}.stat-card strong{font-size:1.6rem}.stat-card__trend{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:14px;font-size:.83rem;background:#ffffff0a}.stat-card__trend span{color:inherit;font-size:.83rem}.stat-card__trend small{color:inherit}.stat-card small{color:#e8eefc8c}.stat-card--success{box-shadow:inset 0 0 0 1px #7ce7b21f}.stat-card--warning{box-shadow:inset 0 0 0 1px #ffc15524}.stat-card--info{box-shadow:inset 0 0 0 1px #3c7bff24}.stat-card--danger{box-shadow:inset 0 0 0 1px #ff6e6e26}.stat-card__trend--success{color:#c6ffe1;background:#7ce7b224}.stat-card__trend--danger{color:#ffc9c9;background:#ff6e6e24}.stat-card__trend--neutral{color:#e8eefcad}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#ffffff0f;color:#f6f9ff;font-size:.82rem;white-space:nowrap}.status-pill--success{background:#7ce7b224;color:#c6ffe1}.status-pill--warning{background:#ffc15524;color:#ffe1aa}.status-pill--info{background:#3c7bff29;color:#cfe0ff}.status-pill--danger{background:#ff6e6e24;color:#ffc9c9}.inline-actions,.auth-form__actions,.pager,.drawer__head{display:flex;align-items:center;gap:10px}.inline-actions{flex-wrap:wrap;justify-content:flex-end}.inline-actions--tight{justify-content:flex-start}.button,.field{min-height:44px}.button{padding:0 16px;font-weight:700;color:inherit}.button--primary{background:linear-gradient(135deg,#7ce7b2,#3c7bff);color:#07101b;box-shadow:0 14px 32px #3c7bff38}.button--ghost{background:#ffffff0d;color:inherit;border:1px solid rgba(255,255,255,.08)}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.field{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:inherit;padding:0 14px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.field:focus{border-color:#7ce7b2b3;box-shadow:0 0 0 4px #7ce7b21f;background:#ffffff0f}.field--textarea{min-height:108px;padding:14px;resize:vertical}.field--code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.92rem;line-height:1.6}.notice{padding:14px 16px;border-radius:16px;background:#7ce7b21f;border:1px solid rgba(124,231,178,.16);color:#d8ffe9}.notice--error{background:#ff787824;border-color:#ff787833;color:#ffd3d3}.notice--info{background:#3c7bff1f;border-color:#3c7bff2e;color:#d7e5ff}.notice--success{background:#7ce7b21f;border-color:#7ce7b22e;color:#d8ffe9}.table-shell{display:grid;gap:14px}.table{width:100%;border-collapse:collapse;overflow:hidden}.table thead th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#e8eefc8f;padding:0 14px 12px}.table tbody td{padding:16px 14px;border-top:1px solid rgba(255,255,255,.06);vertical-align:middle}.row-clickable{transition:background .16s ease}.row-clickable:hover{background:#ffffff08}.table-user{display:grid;gap:2px}.table-user span{color:#e8eefc9e;font-size:.86rem}.table-placeholder{padding:24px 0;color:#e8eefc9e}.empty-state{display:grid;gap:6px;padding:18px;border-radius:18px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1)}.empty-state strong{font-size:1rem}.pager{justify-content:space-between;color:#e8eefcb8;flex-wrap:wrap}.pager__actions{display:flex;gap:10px}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.recent-list,.stack-list{display:grid;gap:12px}.recent-list__head{display:flex;justify-content:space-between;color:#e8eefcad;margin-bottom:8px}.recent-item,.stack-card,.role-card{padding:16px;border-radius:18px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.recent-item,.stack-card__head,.stack-card__foot{display:flex;justify-content:space-between;gap:12px}.stack-card__head p{margin:6px 0 0}.stack-card__foot{margin-top:10px;color:#e8eefc9e;font-size:.86rem}.role-catalog{display:grid;gap:12px;margin-top:16px}.focus-card,.grant-plan-card{display:grid;gap:12px;padding:16px;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.focus-card__head,.grant-plan-card__head,.grant-plan-card__meta{display:flex;justify-content:space-between;gap:12px}.focus-card p,.grant-plan-card p{margin:0;color:#e8eefcad}.grant-plan-card__meta{flex-wrap:wrap;color:#e8eefc9e;font-size:.86rem}.role-card p{margin:10px 0 12px;color:#e8eefcad}.form-grid,.grant-form{display:grid;gap:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label,.grant-form label,.auth-form label{display:grid;gap:8px}.form-grid__wide{grid-column:1 / -1}.grant-form{margin-top:16px}.grant-footnote{margin-bottom:12px;color:#e8eefc9e;font-size:.86rem}.plan-editor-section{display:grid;gap:14px;padding:16px;border-radius:20px;background:#ffffff06;border:1px solid rgba(255,255,255,.06)}.plan-editor-section__head{display:grid;gap:4px}.plan-editor-section__head span{color:#e8eefc9e;font-size:.86rem}.plan-editor-grid,.plan-toggle-grid{display:grid;gap:12px}.plan-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-toggle{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.plan-toggle input{accent-color:#7ce7b2}.plan-change-list{display:grid;gap:10px}.plan-change-list__head{display:flex;justify-content:space-between;gap:12px;color:#e8eefcad}.plan-change-row{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.plan-change-row strong{font-size:.92rem}.plan-change-row div{display:flex;align-items:center;gap:10px;color:#e8eefca8;text-align:right}.plan-history-list{display:grid;gap:12px}.plan-history-card{display:grid;gap:8px}.prompt-catalog-toolbar{display:grid;gap:14px;margin-bottom:16px}.prompt-group-rail{display:flex;flex-wrap:wrap;gap:10px}.prompt-group-chip{display:grid;gap:3px;min-width:150px;padding:13px 14px;text-align:left;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:inherit;transition:border-color .16s ease,background .16s ease,transform .16s ease}.prompt-group-chip strong{font-size:.92rem}.prompt-group-chip span{color:#e8eefc94;font-size:.82rem}.prompt-group-chip:hover{transform:translateY(-1px)}.prompt-group-chip--active{background:linear-gradient(135deg,#7ce7b224,#3c7bff1f);border-color:#7ce7b229}.prompt-catalog-list{display:grid;gap:12px}.prompt-card{display:grid;gap:12px;width:100%;padding:16px;text-align:left;border-radius:20px;border:1px solid rgba(255,255,255,.06);background:#ffffff06;color:inherit;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.prompt-card:hover{transform:translateY(-1px);border-color:#3c7bff2e}.prompt-card--active{border-color:#7ce7b229;background:linear-gradient(180deg,#7ce7b214,#ffffff06);box-shadow:inset 0 0 0 1px #7ce7b214}.prompt-card__head,.prompt-card__meta,.prompt-variable-card__head,.prompt-variable-card__meta,.prompt-preview-card__head,.prompt-validation-summary,.prompt-editor-footnote,.prompt-context-row,.prompt-issue__head,.prompt-issue__meta{display:flex;justify-content:space-between;gap:12px}.prompt-card p,.prompt-variable-card p{margin:0;color:#e8eefcb3}.prompt-card__meta{align-items:center;color:#e8eefc94;font-size:.84rem;flex-wrap:wrap}.prompt-variable-grid,.prompt-preview-grid{display:grid;gap:12px}.prompt-variable-grid,.prompt-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prompt-variable-card,.prompt-preview-card,.prompt-issue{display:grid;gap:12px;padding:16px;border-radius:18px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.prompt-variable-card__head,.prompt-preview-card__head,.prompt-validation-summary,.prompt-context-row{align-items:center}.prompt-variable-card__meta{align-items:center;color:#e8eefc8f;font-size:.82rem;flex-wrap:wrap}.prompt-variable-card__actions{display:flex;justify-content:flex-end}.prompt-inline-preview,.prompt-preview,.prompt-context-row code{margin:0;padding:12px 14px;border-radius:14px;background:#050a148a;border:1px solid rgba(255,255,255,.06);color:#d7f1ff;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.84rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.prompt-preview{min-height:220px}.prompt-editor-textarea{min-height:380px}.prompt-editor-footnote,.prompt-validation-summary{color:#e8eefca3;font-size:.84rem;flex-wrap:wrap}.prompt-token-strip{display:grid;gap:12px;padding:14px;border-radius:16px;background:#ffffff06;border:1px solid rgba(255,255,255,.05)}.prompt-token-strip>div{display:grid;gap:8px}.prompt-token-strip span{color:#e8eefc94;font-size:.82rem}.prompt-validation-summary strong{color:#f6f9ff}.prompt-issue-list,.prompt-context-list{display:grid;gap:10px}.prompt-issue--error{border-color:#ff6e6e33;background:#ff6e6e12}.prompt-issue--warning{border-color:#ffc15529;background:#ffc15514}.prompt-issue__head{align-items:flex-start}.prompt-issue__meta{align-items:center;color:#e8eefc9e;font-size:.82rem;flex-wrap:wrap}.prompt-context-row{align-items:flex-start}.prompt-context-row strong{display:block;margin-bottom:4px}.key-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.key-value-grid span{display:block;color:#e8eefc8f;font-size:.78rem;margin-bottom:4px}.key-value-grid strong{word-break:break-word}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#03070e8f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:flex-end;z-index:40}.drawer{width:min(640px,100%);height:100%;overflow:auto;padding:22px;background:#0c1222fa;border-left:1px solid rgba(255,255,255,.08)}.drawer__body{display:grid;gap:16px}.drawer-stack{display:grid;gap:14px}.section-skeleton,.loading-card{border-radius:24px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);overflow:hidden}.section-skeleton{min-height:220px;background:linear-gradient(110deg,#ffffff08 8%,#ffffff14 18%,#ffffff08 33%),#ffffff08;background-size:200% 100%;animation:shimmer 1.6s infinite linear}.loading-card{width:min(420px,calc(100% - 32px));padding:24px;display:grid;gap:14px}.loading-card:before{content:"Booting"}.loading-bar{height:18px;border-radius:999px;background:#ffffff14;animation:pulse 1.5s infinite ease-in-out}.loading-bar--wide{width:80%}.loading-bar--thin{width:46%}.app-shell--loading{min-height:100vh;display:grid;place-items:center}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden}.auth-ornament{position:absolute;border-radius:999px;filter:blur(16px);opacity:.56}.auth-ornament--one{width:240px;height:240px;background:#3c7bff47;top:-40px;left:-60px}.auth-ornament--two{width:260px;height:260px;background:#7ce7b238;bottom:-50px;right:-70px}.auth-card{width:min(520px,100%);padding:30px;border-radius:30px;background:#0c1222db;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 80px #02060f52;position:relative;z-index:1}.auth-card h1{margin:10px 0 0;font-size:clamp(2rem,4vw,3rem);line-height:1.02}.auth-form{display:grid;gap:14px;margin-top:24px}.auth-form__remember{display:flex;align-items:center;gap:10px}.auth-card--denied{text-align:left}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:.54}50%{opacity:1}}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.content-grid--two-up{grid-template-columns:1fr}}@media (max-width: 800px){.workspace{padding:16px}.topbar,.panel,.auth-card,.drawer{border-radius:22px}.stats-grid,.form-grid,.key-value-grid,.plan-editor-grid,.plan-toggle-grid,.prompt-variable-grid,.prompt-preview-grid{grid-template-columns:1fr}.panel__head,.topbar,.recent-item,.stack-card__head,.stack-card__foot,.pager,.plan-change-list__head,.plan-change-row,.focus-card__head,.grant-plan-card__head,.grant-plan-card__meta,.prompt-card__head,.prompt-card__meta,.prompt-variable-card__head,.prompt-variable-card__meta,.prompt-preview-card__head,.prompt-validation-summary,.prompt-editor-footnote,.prompt-context-row,.prompt-issue__head,.prompt-issue__meta{flex-direction:column;align-items:flex-start}.inline-actions{justify-content:flex-start}.drawer-backdrop{padding:12px}}
