:root{--mimir-primary: #5aa7ff;--mimir-secondary: #0a0f1d;--mimir-accent: #f8c14a;--mimir-background: #070a12;--mimir-text: #e7edf8;--mimir-surface: color-mix(in srgb, var(--mimir-background) 82%, #182235);--mimir-surface-strong: color-mix(in srgb, var(--mimir-background) 68%, #24324a);--mimir-border: color-mix(in srgb, var(--mimir-text) 14%, transparent);--mimir-muted: color-mix(in srgb, var(--mimir-text) 58%, var(--mimir-background));--mimir-radius: 6px;--mimir-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--mimir-font);color:var(--mimir-text);background:var(--mimir-background)}*{box-sizing:border-box}body{margin:0;background:var(--mimir-background)}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.portal-shell{min-height:100vh;background:var(--mimir-background)}.portal-header{min-height:72px;padding:0 28px}.portal-header .brand{margin-bottom:0;color:color-mix(in srgb,var(--mimir-secondary) 88%,var(--mimir-primary))}aside{background:var(--mimir-secondary);color:#eef2f7;padding:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;margin-bottom:24px}.mark{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--mimir-radius);background:var(--mimir-primary)}nav{display:grid;gap:6px}nav a{padding:10px 12px;border-radius:var(--mimir-radius);color:#cbd5e1}nav a:hover{background:color-mix(in srgb,var(--mimir-primary) 30%,var(--mimir-secondary));color:#fff}nav a.active-nav{background:color-mix(in srgb,var(--mimir-primary) 44%,var(--mimir-secondary));color:#fff}main{min-width:0;background:var(--mimir-background)}header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;background:#fff;border-bottom:1px solid #dbe3ef}header span,.muted{color:#64748b;font-size:.92rem}.tenant-control{display:flex;align-items:center;gap:10px;min-width:0}.tenant-control label{display:block;font-size:.78rem;letter-spacing:0;text-transform:uppercase;color:#64748b}.tenant-control select{width:min(360px,48vw);min-height:36px}.session-control{display:flex;align-items:center;gap:10px;min-width:0}.page{padding:28px}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:20px}.compact{margin-bottom:10px}h1{margin:0 0 6px;font-size:1.8rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;align-items:start}.project-layout.single{grid-template-columns:1fr}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.project-card{display:grid;align-content:start;gap:14px;min-width:0;min-height:230px;padding:18px;background:#fff;border:1px solid #dbe3ef;border-radius:var(--mimir-radius);box-shadow:0 1px 2px #0f172a0a;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.project-card:hover{border-color:color-mix(in srgb,var(--mimir-primary) 32%,#dbe3ef);box-shadow:0 12px 24px #0f172a14;transform:translateY(-1px)}.project-card-header{display:flex;justify-content:space-between;gap:12px;align-items:start;min-width:0}.project-title{display:grid;gap:4px;min-width:0}.project-title a{overflow:hidden;color:color-mix(in srgb,var(--mimir-secondary) 82%,var(--mimir-primary));font-size:1.08rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.project-title a:focus-visible,.project-card-actions a:focus-visible,button:focus-visible,.button:focus-visible{outline:3px solid color-mix(in srgb,var(--mimir-primary) 35%,white);outline-offset:2px}.project-description{display:-webkit-box;min-height:44px;margin:0;overflow:hidden;color:#475569;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-meta{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;margin-top:auto;overflow:hidden}.project-meta span{width:100%;min-width:0;max-width:100%;min-height:28px;display:inline-flex;align-items:center;overflow:hidden;padding:0 9px;border:1px solid #dbe3ef;border-radius:var(--mimir-radius);background:#f8fafc;color:#64748b;font-size:.84rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.project-card-actions{display:flex;flex-wrap:wrap;gap:8px}.project-card-actions .button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;font-size:.88rem}.project-create-panel{display:grid;gap:12px;padding:18px;background:#fff;border:1px solid #dbe3ef;border-radius:var(--mimir-radius)}.project-create-panel h2,.empty-state h2{margin:0 0 6px}.project-create-panel form{padding:0;border:0;max-width:none}.empty-state{display:grid;gap:8px;min-height:220px;place-content:center;padding:28px;background:#fff;border:1px dashed #cbd5e1;border-radius:var(--mimir-radius);text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#0f172a6b}.modal-panel{width:min(640px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:18px;background:#fff;border:1px solid #dbe3ef;border-radius:var(--mimir-radius);box-shadow:0 24px 70px #0f172a3d}.modal-panel form{max-width:none;padding:0;border:0}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.section-heading h2{margin:0}.release-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start;gap:16px}.release-stack{display:grid;gap:18px}.release-section{display:grid;gap:14px;padding:18px;background:var(--mimir-surface);border:1px solid var(--mimir-border);border-radius:var(--mimir-radius);box-shadow:0 16px 40px #0000002e}.latest-release-section{border-color:color-mix(in srgb,var(--mimir-primary) 42%,var(--mimir-border));background:linear-gradient(135deg,color-mix(in srgb,var(--mimir-primary) 9%,transparent),transparent 42%),var(--mimir-surface)}.release-section-header{display:flex;justify-content:space-between;gap:14px;align-items:start}.release-card{display:grid;align-content:start;gap:14px;padding:18px;background:#fff;border:1px solid #dbe3ef;border-radius:var(--mimir-radius)}.release-card-header{display:flex;justify-content:space-between;gap:14px;align-items:start}.version-row,.badge-row,.status-stack{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.version-row h2{margin:0}.status-stack{justify-content:flex-end}.release-changelog,.build-card p,.qa-card p{margin:0;white-space:pre-wrap}.release-metrics{display:flex;flex-wrap:wrap;gap:10px}.release-metrics span{min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid #dbe3ef;border-radius:var(--mimir-radius);background:#f8fafc;font-weight:700}.build-list{display:grid;gap:10px}.build-list.cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.build-card,.qa-card{display:grid;gap:10px;padding:14px;border:1px solid #dbe3ef;border-radius:var(--mimir-radius);background:#fbfdff}.build-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.build-overview .card{display:grid;gap:6px}.build-overview strong{font-size:1.25rem}.build-editor{max-width:none}.flush{margin-top:0}.qa-list{display:grid;gap:10px}.stack{margin-top:24px}.split{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:16px;align-items:start}.split.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card,form,table{background:#fff;border:1px solid #dbe3ef;border-radius:var(--mimir-radius)}.card{padding:18px}.stat{font-size:2rem;font-weight:700}form{display:grid;gap:12px;padding:18px;max-width:560px}.inline-form{margin-top:12px;max-width:none;grid-template-columns:180px minmax(220px,1fr);align-items:end}.client-access-form{grid-template-columns:minmax(220px,1fr) 180px 150px auto}.artifact-form{margin-top:14px;max-width:760px}.theme-form{max-width:760px}.theme-form input[type=color]{width:100%;padding:4px}.feature-flags{display:grid;gap:14px}.rule-form{max-width:none}.rule-list{display:grid;gap:12px}.rule-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.rule-row:last-child{padding-bottom:0;border-bottom:0}.rule-row p{margin:4px 0}.rule-row code{display:block;overflow:hidden;color:#475569;text-overflow:ellipsis;white-space:nowrap}.flag-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.switch-row{grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:40px;padding:8px 10px;border:1px solid #dbe3ef;border-radius:var(--mimir-radius);background:#f8fafc}.switch-row.standalone{display:grid}.switch-row input{min-height:18px}.switch-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:220px;overflow:auto;padding:10px;border:1px solid #dbe3ef;border-radius:var(--mimir-radius)}.checkbox-grid label{display:flex;align-items:center;gap:8px;font-weight:500;min-height:28px}.secret-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:12px 0}.secret-box code,.clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;gap:8px;justify-content:flex-end}.prompt-box{margin:14px 0 0;padding:16px;max-height:420px;overflow:auto;white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:var(--mimir-radius)}.upload-result{display:grid;gap:8px;overflow-wrap:anywhere}.attachment-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.comment{padding:10px 0;border-bottom:1px solid #e2e8f0}.comment p{margin:6px 0;white-space:pre-wrap}.inline-comment{margin-top:12px;max-width:none}.link-button{min-height:26px;padding:4px 8px;border:1px solid #dbe3ef;background:#fff;color:color-mix(in srgb,var(--mimir-primary) 78%,black);font-size:.82rem}label{display:grid;gap:6px;font-weight:600}input,textarea,select{min-height:38px;border:1px solid #cbd5e1;border-radius:var(--mimir-radius);padding:8px 10px;font:inherit}textarea{min-height:90px}.button,button{border:0;border-radius:var(--mimir-radius);padding:10px 14px;background:var(--mimir-primary);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 0 0 1px color-mix(in srgb,var(--mimir-primary) 18%,transparent);transition:background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.button:hover,button:hover:not(:disabled){background:color-mix(in srgb,var(--mimir-primary) 88%,var(--mimir-accent));box-shadow:0 0 0 1px color-mix(in srgb,var(--mimir-accent) 38%,transparent),0 12px 28px color-mix(in srgb,var(--mimir-primary) 24%,transparent);transform:translateY(-1px)}.button:active,button:active:not(:disabled){transform:translateY(0)}.ghost{background:color-mix(in srgb,var(--mimir-primary) 12%,white);color:color-mix(in srgb,var(--mimir-primary) 74%,black)}.danger{background:#fee2e2;color:#991b1b}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.actions{display:flex;flex-wrap:wrap;gap:8px}.wizard-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0 24px}.wizard-steps span{min-height:34px;display:grid;place-items:center;border:1px solid #dbe3ef;border-radius:var(--mimir-radius);background:#fff;color:#64748b;font-weight:700;font-size:.86rem}.wizard-steps span.done{border-color:color-mix(in srgb,var(--mimir-primary) 45%,#dbe3ef);color:color-mix(in srgb,var(--mimir-primary) 75%,black);background:color-mix(in srgb,var(--mimir-primary) 10%,white)}table{width:100%;border-collapse:collapse;overflow:hidden}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #e2e8f0}th{color:#475569;font-size:.86rem;text-transform:uppercase}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--mimir-accent) 18%,#e2e8f0);color:color-mix(in srgb,var(--mimir-secondary) 72%,#334155);font-size:.82rem;font-weight:700}.inline-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.error{border-color:#fecaca;color:#991b1b;background:#fff7f7}.brand-logo{display:block;max-width:10rem;max-height:2.25rem;object-fit:contain}header,.portal-header,.project-card,.project-create-panel,.empty-state,.modal-panel,.release-card,.build-card,.qa-card,.card,form,table{background:var(--mimir-surface);border-color:var(--mimir-border);color:var(--mimir-text);box-shadow:0 16px 40px #0000002e}aside{background:color-mix(in srgb,var(--mimir-secondary) 82%,black)}header,.portal-header{border-bottom-color:var(--mimir-border)}.portal-shell,main{background:radial-gradient(circle at top right,color-mix(in srgb,var(--mimir-primary) 14%,transparent),transparent 32rem),var(--mimir-background)}header span,.muted,.tenant-control label,th,.project-description,.rule-row code{color:var(--mimir-muted)}input,textarea,select{background:color-mix(in srgb,var(--mimir-background) 78%,#101827);border-color:var(--mimir-border);color:var(--mimir-text)}input:focus,textarea:focus,select:focus{outline:3px solid color-mix(in srgb,var(--mimir-primary) 28%,transparent);border-color:color-mix(in srgb,var(--mimir-primary) 72%,var(--mimir-border))}.ghost,.link-button{background:color-mix(in srgb,var(--mimir-primary) 15%,var(--mimir-surface));border-color:color-mix(in srgb,var(--mimir-primary) 26%,var(--mimir-border));color:color-mix(in srgb,var(--mimir-primary) 72%,white)}.ghost:hover,.link-button:hover{background:color-mix(in srgb,var(--mimir-primary) 28%,var(--mimir-surface-strong));border-color:color-mix(in srgb,var(--mimir-accent) 42%,var(--mimir-border));color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--mimir-accent) 32%,transparent),0 10px 24px color-mix(in srgb,var(--mimir-primary) 18%,transparent)}.danger{background:color-mix(in srgb,#ef4444 18%,var(--mimir-surface));color:#fecaca}.danger:hover:not(:disabled){background:color-mix(in srgb,#ef4444 30%,var(--mimir-surface-strong));color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,#fca5a5 36%,transparent),0 10px 24px color-mix(in srgb,#ef4444 18%,transparent)}.badge,.release-metrics span,.project-meta span,.switch-row,.wizard-steps span{background:color-mix(in srgb,var(--mimir-accent) 16%,var(--mimir-surface-strong));border-color:var(--mimir-border);color:color-mix(in srgb,var(--mimir-text) 82%,var(--mimir-accent))}.wizard-steps span.done{background:color-mix(in srgb,var(--mimir-primary) 18%,var(--mimir-surface-strong));border-color:color-mix(in srgb,var(--mimir-primary) 42%,var(--mimir-border));color:color-mix(in srgb,var(--mimir-primary) 54%,white)}td,th,.comment,.rule-row{border-bottom-color:var(--mimir-border)}.prompt-box{background:#020617;border:1px solid var(--mimir-border)}.error{background:color-mix(in srgb,#7f1d1d 26%,var(--mimir-surface));border-color:color-mix(in srgb,#ef4444 48%,var(--mimir-border));color:#fecaca}.release-board{display:grid;grid-template-columns:minmax(340px,1.35fr) minmax(300px,.9fr);grid-auto-flow:dense;align-items:start;gap:16px}.dev-release-card{position:relative;overflow:hidden}.dev-release-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--mimir-primary),var(--mimir-accent))}.featured-release{grid-row:span 2;min-height:520px;padding:22px}.featured-release h2{font-size:2.2rem}.release-copy{display:grid;gap:8px;padding:14px;background:color-mix(in srgb,var(--mimir-surface-strong) 78%,transparent);border:1px solid var(--mimir-border);border-radius:var(--mimir-radius)}.compact-copy{padding:12px}.markdown-block{color:var(--mimir-text);line-height:1.55;overflow-wrap:anywhere}.markdown-block>:first-child{margin-top:0}.markdown-block>:last-child{margin-bottom:0}.markdown-block p,.markdown-block ul,.markdown-block ol,.markdown-block blockquote,.markdown-block pre{margin:0 0 .75rem}.markdown-block ul,.markdown-block ol{padding-left:1.25rem}.markdown-block a{color:color-mix(in srgb,var(--mimir-primary) 76%,white);text-decoration:underline;text-underline-offset:3px}.markdown-block code{padding:.1rem .28rem;background:color-mix(in srgb,var(--mimir-background) 72%,#111827);border:1px solid var(--mimir-border);border-radius:4px}.markdown-block blockquote{padding-left:.85rem;border-left:3px solid color-mix(in srgb,var(--mimir-primary) 44%,var(--mimir-border));color:var(--mimir-muted)}.section-kicker{color:color-mix(in srgb,var(--mimir-accent) 72%,var(--mimir-text));font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dev-build-card{background:color-mix(in srgb,var(--mimir-surface-strong) 82%,transparent)}.build-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.build-download{min-width:168px;min-height:44px;padding:12px 18px;background:linear-gradient(135deg,var(--mimir-primary),color-mix(in srgb,var(--mimir-accent) 62%,var(--mimir-primary)));box-shadow:0 14px 30px color-mix(in srgb,var(--mimir-primary) 24%,transparent)}.build-download:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 34px color-mix(in srgb,var(--mimir-primary) 30%,transparent)}.build-secondary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.featured-release .dev-build-card:first-child{border-color:color-mix(in srgb,var(--mimir-primary) 44%,var(--mimir-border));background:color-mix(in srgb,var(--mimir-primary) 10%,var(--mimir-surface-strong))}.build-hero{align-items:center;padding:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--mimir-primary) 18%,var(--mimir-surface)),var(--mimir-surface));border:1px solid var(--mimir-border);border-radius:var(--mimir-radius)}.build-hero h1{font-size:clamp(1.8rem,3vw,3rem)}.build-metrics{margin-top:16px}.metric-card{min-height:116px;align-content:center}.progress-track{height:8px;overflow:hidden;background:color-mix(in srgb,var(--mimir-background) 80%,#101827);border-radius:999px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--mimir-primary),var(--mimir-accent));border-radius:inherit}.build-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;align-items:start;margin-top:18px}.build-notes-panel,.qa-create-panel{max-width:none}.build-notes-panel{display:grid;gap:14px}.inline-editor{max-width:none;padding:14px;background:color-mix(in srgb,var(--mimir-surface-strong) 82%,transparent)}.read-grid{margin-top:4px}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notes-grid textarea{min-height:150px}.build-side-panel{display:grid;gap:14px}.qa-card{border-left:4px solid var(--mimir-border)}.qa-status-passed{border-left-color:#22c55e}.qa-status-failed,.qa-status-blocked{border-left-color:#ef4444}.qa-status-in_progress{border-left-color:var(--mimir-accent)}@media(max-width:800px){.shell{grid-template-columns:1fr}aside{position:static}header{align-items:stretch;flex-direction:column;padding:14px 20px}.tenant-control{align-items:stretch;flex-direction:column;gap:6px}.session-control{align-items:stretch;flex-direction:column}.tenant-control select{width:100%}.split,.project-layout,.inline-form,.client-access-form,.form-row,.release-grid,.release-section-header,.release-board,.build-detail-layout,.notes-grid,.wizard-steps,.build-overview{grid-template-columns:1fr}.featured-release{grid-row:auto;min-height:0}.build-hero{align-items:stretch;display:grid}.build-actions{align-items:stretch;flex-direction:column}.build-download{width:100%}.build-secondary-actions{justify-content:flex-start}.project-card-actions .button{flex:1 1 120px}.release-card-header,.release-section-header{display:grid}.rule-row{grid-template-columns:1fr}.rule-row .actions,.status-stack{justify-content:flex-start}}
