:root {
    color-scheme: light;
    --ink: #15211b;
    --muted: #607066;
    --cream: #f4f1e8;
    --paper: #fffdf7;
    --green: #1e5d43;
    --green-dark: #12422f;
    --gold: #d6a84d;
    --line: #dfe4dc;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: var(--ink); line-height: 1.6; }
a { color: var(--green); }
.shell { width: min(1080px, calc(100% - 2rem)); margin-inline: auto; }
.nav { display: flex; align-items: center; justify-content: space-between; padding: 1.2rem 0; }
.brand { color: var(--ink); font-weight: 850; letter-spacing: -.04em; text-decoration: none; font-size: 1.3rem; }
.brand-mark { color: var(--gold); }
.badge { display: inline-flex; align-items: center; gap: .45rem; color: var(--green); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.badge::before { content: ""; width: .55rem; height: .55rem; border-radius: 99px; background: var(--gold); }
.hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; padding: clamp(3rem, 9vw, 8rem) 0 5rem; }
h1 { max-width: 780px; margin: 1rem 0; font-family: Georgia, serif; font-size: clamp(3.2rem, 8vw, 6.6rem); line-height: .93; letter-spacing: -.055em; font-weight: 500; }
h1 em { color: var(--green); font-style: italic; }
.lead { max-width: 620px; color: var(--muted); font-size: 1.08rem; }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.button { display: inline-block; border: 1px solid var(--green); border-radius: 99px; background: var(--green); color: white; padding: .72rem 1.15rem; text-decoration: none; font-weight: 750; cursor: pointer; }
.button:hover { background: var(--green-dark); }
.button.secondary { background: transparent; color: var(--green); }
.code-card { position: relative; overflow: hidden; border-radius: 1.25rem; background: var(--ink); color: #dce9df; box-shadow: 0 25px 80px rgba(20, 40, 28, .18); }
.code-card::before { content: "route → response"; display: block; padding: .7rem 1rem; border-bottom: 1px solid #334038; color: #94a79a; font: 700 .72rem/1 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .08em; }
pre { margin: 0; padding: 1.35rem; overflow: auto; font: .88rem/1.8 ui-monospace, SFMono-Regular, Consolas, monospace; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: var(--line); margin-bottom: 5rem; }
.feature { min-height: 190px; padding: 1.5rem; background: var(--paper); }
.feature span { color: var(--gold); font: 800 .78rem/1 ui-monospace, monospace; }
.feature h2 { margin: .9rem 0 .45rem; font-size: 1.05rem; }
.feature p { margin: 0; color: var(--muted); font-size: .92rem; }
.panel { margin-bottom: 5rem; border-radius: 1rem; background: var(--paper); padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--line); }
.panel h2 { margin-top: 0; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.auth-shell { min-height: calc(100vh - 190px); display: grid; place-items: center; padding: clamp(2rem, 7vw, 5rem) 0; }
.auth-card { width: min(100%, 520px); border: 1px solid var(--line); border-radius: 1rem; background: var(--paper); padding: clamp(1.4rem, 5vw, 2.5rem); box-shadow: 0 24px 70px rgba(20, 40, 28, .1); }
.auth-card-wide { width: min(100%, 680px); }
.auth-card h1 { margin: 1rem 0; font-size: clamp(2.4rem, 7vw, 4.2rem); }
.auth-error { margin: 1rem 0; padding: .85rem 1rem; border: 1px solid #e2bcbc; border-radius: .6rem; background: #fff0f0; color: #812626; }
.auth-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.4rem; }
.auth-notice { padding: .85rem 1rem; border-left: 4px solid var(--gold); background: #fff8e8; }
.setup-steps { padding-left: 1.25rem; color: var(--muted); }
.qr-wrap { display: grid; place-items: center; margin: 1.3rem 0; }
.totp-qr { width: min(100%, 300px); height: auto; border: 1px solid var(--line); }
.manual-key { display: grid; gap: .25rem; padding: 1rem; border-radius: .6rem; background: #edf1ec; text-align: center; }
.manual-key span { color: var(--muted); font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.manual-key code, .recovery-codes code { font: 750 1rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; overflow-wrap: anywhere; }
.recovery-codes { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; padding: 0; list-style: none; }
.recovery-codes li { padding: .7rem; border: 1px solid var(--line); border-radius: .5rem; background: white; text-align: center; }
.security-page { padding: clamp(2rem, 7vw, 5rem) 0; }
.security-page > h1 { font-size: clamp(2.8rem, 7vw, 5rem); }
.security-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.security-card { border: 1px solid var(--line); border-radius: 1rem; background: var(--paper); padding: clamp(1.2rem, 4vw, 2rem); }
.security-card h2 { margin-top: 0; }
.danger-card { border-color: #e2bcbc; }
.button.danger { border-color: #8c2828; background: #8c2828; }
.quiet-link { color: var(--muted); font-weight: 700; }
label { display: block; margin: .8rem 0 .3rem; font-weight: 750; font-size: .9rem; }
input, textarea, select { width: 100%; padding: .78rem .9rem; border: 1px solid #cbd4cc; border-radius: .6rem; background: white; font: inherit; }
textarea { min-height: 120px; resize: vertical; }
.error { margin: .25rem 0; color: #a22d2d; font-size: .84rem; }
.alert { margin-bottom: 1rem; padding: .8rem 1rem; border-radius: .6rem; background: #e4f1e9; color: var(--green-dark); }
.request-id { color: var(--muted); font: .78rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
footer { padding: 2rem 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .88rem; }
.admin-page { padding: clamp(2rem, 6vw, 5rem) 0; }
.admin-page > h1, .admin-heading h1 { margin: .8rem 0 1.5rem; font-size: clamp(2.8rem, 7vw, 5rem); }
.admin-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.admin-card, .role-card { border: 1px solid var(--line); border-radius: 1rem; background: var(--paper); padding: clamp(1.2rem, 3vw, 2rem); margin-bottom: 1rem; }
.admin-card h2, .role-card h2 { margin-top: 0; }
.narrow-card { max-width: 700px; }
.role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 2rem; }
.role-card { margin-bottom: 0; }
.role-card-top { display: flex; align-items: start; justify-content: space-between; gap: .8rem; }
.status-chip, .role-pill, .effect { display: inline-block; margin: .1rem; padding: .18rem .5rem; border-radius: 99px; background: #e7eee9; color: var(--green-dark); font-size: .75rem; font-weight: 800; white-space: nowrap; }
.stat-pair { display: flex; gap: 2rem; }
.stat-pair div { display: grid; }
.stat-pair dt { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.stat-pair dd { margin: 0; font-size: 1.5rem; font-weight: 800; }
.check-row { display: flex; align-items: flex-start; gap: .65rem; padding: .55rem 0; }
.check-row input, .permission-cell input { width: auto; margin-top: .3rem; }
.check-row small { display: block; color: var(--muted); font-weight: 400; }
.permission-matrix { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.permission-module { border: 1px solid var(--line); border-radius: .75rem; padding: .9rem; }
.permission-module legend { padding: 0 .35rem; font-weight: 850; }
.permission-cell { display: grid; grid-template-columns: auto 1fr; gap: 0 .6rem; align-items: center; padding: .45rem; border-radius: .4rem; }
.permission-cell:hover { background: #f1f4f0; }
.permission-cell code { grid-column: 2; color: var(--muted); font-size: .75rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .07em; }
.muted { color: var(--muted); font-size: .86rem; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; }
.admin-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rule-list { padding: 0; list-style: none; }
.rule-list li { display: grid; grid-template-columns: 1fr auto; gap: .25rem .5rem; padding: .6rem 0; border-bottom: 1px solid var(--line); }
.rule-list small { grid-column: 1 / -1; color: var(--muted); }
.effect-allow { background: #e1f2e7; color: #175a35; }
.effect-deny { background: #fae4e4; color: #842727; }
.inline-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem 1rem; margin-bottom: 1.5rem; }
.grid-span { grid-column: 1 / -1; }
.text-button { border: 0; background: transparent; color: #842727; font: inherit; font-weight: 750; cursor: pointer; }
.filter-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem 1rem; }
.filter-action { display: flex; align-items: end; gap: 1rem; }
.detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.detail-grid div { padding: .7rem; background: #f1f4f0; border-radius: .5rem; }
.detail-grid dt { color: var(--muted); font-size: .75rem; text-transform: uppercase; }
.detail-grid dd { margin: .25rem 0 0; overflow-wrap: anywhere; }
.hash-value { font: .78rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1rem; }
.metric-card { display: grid; padding: 1.2rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--paper); }
.metric-card span { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.metric-card strong { font-size: 2.2rem; }
.severity { display: inline-block; padding: .15rem .5rem; border-radius: 99px; font-size: .72rem; font-weight: 850; }
.severity-info { background: #e7eee9; color: var(--green-dark); }.severity-medium { background: #fff0c9; color: #765500; }.severity-high, .severity-critical { background: #fae4e4; color: #842727; }
.effect-success { background: #e1f2e7; color: #175a35; }.effect-failure, .effect-denied { background: #fae4e4; color: #842727; }
@media (max-width: 900px) { .role-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .hero { grid-template-columns: 1fr; padding-top: 3rem; } .grid, .security-grid, .role-grid, .permission-matrix, .admin-two-column, .inline-form-grid, .filter-grid, .detail-grid, .metric-grid { grid-template-columns: 1fr; } .grid-span { grid-column: auto; } .recovery-codes { grid-template-columns: 1fr; } .admin-heading { align-items: flex-start; flex-direction: column; } }

/* Enterprise application shell — component language adapted from the supplied DashboardPack reference. */
.enterprise-app {
    --sidebar: #ffffff;
    --sidebar-ink: #252936;
    --sidebar-muted: #777d8e;
    --accent: #8b3dff;
    --accent-dark: #7130d9;
    --accent-soft: #f1ebff;
    --app-bg: #f7f8fb;
    --app-panel: #ffffff;
    --app-ink: #252936;
    --app-muted: #747b8d;
    --app-line: #e5e7ee;
    --app-line-strong: #d9dde7;
    min-height: 100vh;
    background: var(--app-bg);
    color: var(--app-ink);
    font-size: 14px;
    line-height: 1.5;
}
.enterprise-app a { color: var(--accent-dark); }
.enterprise-app :focus-visible { outline: 3px solid rgba(139, 61, 255, .28); outline-offset: 2px; }
.app-sidebar { position:fixed; inset:0 auto 0 0; z-index:30; display:flex; flex-direction:column; width:264px; background:var(--sidebar); color:var(--sidebar-ink); border-right:1px solid var(--app-line); box-shadow:none; }
.app-brand { display:flex; align-items:center; gap:.75rem; min-height:64px; padding:0 1.25rem; border-bottom:1px solid var(--app-line); color:var(--sidebar-ink); text-decoration:none; font-size:.94rem; font-weight:850; letter-spacing:-.02em; }
.app-brand small,.sidebar-user small { display:block; color:var(--sidebar-muted); font-size:.64rem; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.app-brand-icon { display:grid; flex:0 0 auto; place-items:center; width:34px; height:34px; border-radius:9px; background:linear-gradient(135deg,#7c3aed,#a83df4); color:white; box-shadow:0 7px 18px rgba(139,61,255,.22); font-weight:900; }
.sidebar-nav { flex:1; overflow:auto; padding:.9rem .75rem 1rem; scrollbar-color:#d7d9e1 transparent; scrollbar-width:thin; }
.sidebar-nav section { margin-bottom:1.05rem; }
.sidebar-nav h2 { margin:.45rem .7rem; color:#777d8e; font-size:.62rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.sidebar-nav a { position:relative; display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:38px; padding:.52rem .75rem; border-radius:8px; color:#555b6b; font-size:.86rem; font-weight:600; text-decoration:none; transition:background-color .16s ease,color .16s ease; }
.sidebar-nav a:hover,.sidebar-nav a:focus-visible { background:#f5f2fb; color:var(--sidebar-ink); }
.sidebar-nav a.is-active,.sidebar-nav a[aria-current="page"] { background:var(--accent-soft); color:var(--accent-dark); font-weight:750; }
.sidebar-nav a.is-active::before,.sidebar-nav a[aria-current="page"]::before { content:""; position:absolute; left:0; width:3px; height:18px; border-radius:0 3px 3px 0; background:var(--accent); }
.sidebar-nav a strong { min-width:1.35rem; padding:.08rem .35rem; border-radius:99px; background:var(--accent); color:white; font-size:.68rem; text-align:center; }
.sidebar-user { display:flex; align-items:center; gap:.7rem; min-height:74px; padding:.85rem 1rem; border-top:1px solid var(--app-line); background:#fff; color:var(--sidebar-ink); font-size:.82rem; overflow:hidden; }
.sidebar-user > span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.avatar { display:grid; flex:0 0 auto; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--accent-soft); color:var(--accent-dark); font-weight:850; }
.app-frame { min-height:100vh; margin-left:264px; }
.app-topbar { position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:1rem; min-height:64px; padding:.65rem clamp(1rem,3vw,1.5rem); border-bottom:1px solid var(--app-line); background:rgba(255,255,255,.88); backdrop-filter:blur(16px); }
.icon-button { display:none; width:40px; height:40px; border:1px solid var(--app-line-strong); border-radius:8px; background:white; color:var(--app-ink); cursor:pointer; }
.global-search { flex:1; max-width:620px; }
.global-search input { height:42px; margin:0; border:1px solid var(--app-line); border-radius:10px; background:#fafafe; padding:.6rem 1rem; }
.global-search input:focus { border-color:#b99bf2; background:white; box-shadow:0 0 0 3px rgba(139,61,255,.1); outline:0; }
.topbar-actions { display:flex; align-items:center; gap:.75rem; margin-left:auto; }
.quick-create,.user-menu { position:relative; }
.quick-create summary,.user-menu summary { list-style:none; cursor:pointer; }
.quick-create summary::-webkit-details-marker,.user-menu summary::-webkit-details-marker { display:none; }
.quick-create > div,.user-menu > div { position:absolute; right:0; top:calc(100% + .5rem); z-index:50; display:grid; min-width:210px; padding:.45rem; border:1px solid var(--app-line); border-radius:10px; background:white; box-shadow:0 18px 45px rgba(29,32,43,.14); }
.quick-create a,.user-menu a,.user-menu button { padding:.62rem .75rem; border:0; border-radius:7px; background:white; color:var(--app-ink); font:inherit; font-size:.84rem; text-align:left; text-decoration:none; cursor:pointer; }
.quick-create a:hover,.user-menu a:hover,.user-menu button:hover { background:var(--accent-soft); color:var(--accent-dark); }
.notification-bell { position:relative; display:flex; align-items:center; gap:.45rem; color:var(--app-muted); text-decoration:none; font-size:.76rem; }
.notification-bell:hover { color:var(--accent-dark); }
.notification-bell > strong { position:absolute; top:-8px; left:-8px; min-width:18px; padding:0 4px; border:2px solid white; border-radius:99px; background:#e64855; color:white; font-size:.62rem; text-align:center; }
.user-menu summary { display:flex; align-items:center; gap:.5rem; color:var(--app-ink); font-size:.82rem; font-weight:750; }
.app-content { max-width:1600px; min-height:calc(100vh - 108px); margin:auto; padding:1.25rem clamp(1rem,3vw,1.5rem) 3rem; }
.breadcrumb { display:flex; gap:.5rem; margin-bottom:1rem; color:#9096a5; font-size:.74rem; }
.breadcrumb a { color:#747b8d; text-decoration:none; }
.app-footer { padding:1rem 2rem; border-top:1px solid var(--app-line); color:#8b91a0; font-size:.75rem; text-align:center; }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin:0 0 1.35rem; }
.page-heading h1,.app-content .hero h1,.app-content .admin-heading h1,.app-content .admin-page > h1 { margin:.25rem 0; font-family:inherit; font-size:clamp(1.75rem,3vw,2.35rem); font-weight:800; letter-spacing:-.035em; line-height:1.12; }
.app-content h1 em { color:var(--accent-dark); font-style:normal; }
.page-heading p,.card-heading p { margin:.25rem 0 0; color:var(--app-muted); }
.eyebrow { color:var(--accent-dark); font-size:.66rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.app-content .hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:.4rem 0 1.35rem; }
.app-content .grid { grid-template-columns:repeat(2,minmax(0,1fr)); border:0; background:transparent; gap:1rem; margin-bottom:1rem; }
.workspace-card,.app-content .card,.app-content .admin-card,.app-content .security-card { margin-bottom:1rem; padding:1.2rem; border:1px solid var(--app-line); border-radius:12px; background:var(--app-panel); box-shadow:0 1px 2px rgba(29,32,43,.025); }
.workspace-card h2,.app-content .card h2,.app-content .admin-card h2,.app-content .security-card h2 { margin-top:0; font-size:1rem; }
.card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.kpi-card,.app-content .metric-card,.app-content .role-card { display:grid; gap:.25rem; min-height:128px; padding:1.15rem; border:1px solid var(--app-line); border-radius:12px; background:white; box-shadow:0 1px 2px rgba(29,32,43,.02); }
.kpi-card { position:relative; overflow:hidden; }
.kpi-card::before { content:""; position:absolute; inset:0 0 auto; height:2px; background:linear-gradient(90deg,var(--accent),#5d9cf6); }
.kpi-card span { color:var(--app-muted); font-size:.71rem; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.kpi-card strong { color:var(--app-ink); font-size:2rem; line-height:1.2; }
.kpi-card small { margin-top:auto; color:#8c92a1; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:1rem; }
.dashboard-grid > *,.app-content .grid > *,.admin-two-column > * { min-width:0; }
.attention-list,.activity-list,.search-results { margin:0; padding:0; list-style:none; }
.attention-list li { display:grid; gap:.1rem; padding:.75rem 0; border-bottom:1px solid #eef0f4; }
.attention-list li:last-child,.activity-list li:last-child,.search-results li:last-child { border-bottom:0; }
.attention-list span,.activity-list small,.search-results small { display:block; color:#7c8292; font-size:.75rem; }
.activity-list li { display:flex; gap:.8rem; padding:.7rem 0; border-bottom:1px solid #f0f1f5; }
.activity-dot { width:.55rem; height:.55rem; margin-top:.45rem; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.search-page-form > div { display:flex; gap:.75rem; }
.search-page-form input { margin:0; }
.search-results li { display:flex; align-items:center; gap:1rem; padding:.8rem 0; border-bottom:1px solid #eef0f4; }
.search-results a { color:var(--app-ink); text-decoration:none; }
.result-type { min-width:75px; padding:.2rem .45rem; border-radius:99px; background:var(--accent-soft); color:var(--accent-dark); font-size:.68rem; font-weight:800; text-align:center; }
.enterprise-app .button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:.58rem .95rem; border:1px solid var(--accent); border-radius:8px; background:var(--accent); color:white; box-shadow:0 4px 12px rgba(139,61,255,.14); font-size:.84rem; font-weight:750; line-height:1.2; }
.enterprise-app .button:hover { border-color:var(--accent-dark); background:var(--accent-dark); }
.enterprise-app .button.secondary { border-color:var(--app-line-strong); background:white; color:var(--app-ink); box-shadow:none; }
.enterprise-app .button.secondary:hover { border-color:#c6b0ec; background:var(--accent-soft); color:var(--accent-dark); }
.enterprise-app .button.danger { border-color:#b63737; background:#b63737; color:white; }
.enterprise-app .badge { padding:.24rem .55rem; border-radius:99px; background:var(--accent-soft); color:var(--accent-dark); font-size:.66rem; letter-spacing:.07em; }
.enterprise-app .badge::before { display:none; }
.enterprise-app .status-chip,.enterprise-app .role-pill,.enterprise-app .effect { background:#f0ecfa; color:#6840a5; }
.enterprise-app input,.enterprise-app textarea,.enterprise-app select { border-color:var(--app-line-strong); border-radius:8px; color:var(--app-ink); }
.enterprise-app input:focus,.enterprise-app textarea:focus,.enterprise-app select:focus { border-color:#b99bf2; box-shadow:0 0 0 3px rgba(139,61,255,.1); outline:0; }
.enterprise-app input[type="checkbox"],.enterprise-app input[type="radio"] { accent-color:var(--accent); box-shadow:none; }
.enterprise-app table { font-size:.82rem; }
.enterprise-app th,.enterprise-app td { padding:.78rem .75rem; border-bottom-color:var(--app-line); }
.enterprise-app th { background:#fafafe; color:#777d8e; font-size:.68rem; font-weight:800; }
.enterprise-app tbody tr { transition:background-color .15s ease; }
.enterprise-app tbody tr:hover { background:#faf8ff; }
.enterprise-app .quiet-link { color:var(--accent-dark); }
.enterprise-app .detail-grid div,.enterprise-app .permission-cell:hover { background:#faf8ff; }
.enterprise-app .alert { border:1px solid #cde9d7; background:#edf9f1; color:#21633a; }
.addon-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.addon-card { display:flex; flex-direction:column; min-width:0; min-height:210px; padding:1.1rem; border:1px solid var(--app-line); border-radius:12px; background:white; }
.addon-card.addon-parent { border-top:3px solid var(--accent); }
.addon-card.addon-child { margin-left:.65rem; border-left:3px solid #ddd3ef; }
.addon-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.addon-card h2 { margin:.25rem 0; font-size:1rem; }
.addon-card p { color:var(--app-muted); }
.addon-switch { display:flex; align-items:center; gap:.6rem; margin-top:auto; padding-top:.85rem; border-top:1px solid var(--app-line); cursor:pointer; }
.addon-switch input { width:auto; margin:0; }
.usage-heading { margin-top:2.5rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1100px) { .kpi-grid,.addon-grid { grid-template-columns:repeat(2,1fr); } .notification-bell span { display:none; } }
@media (max-width:860px) { .app-sidebar { transform:translateX(-105%); transition:transform .2s ease; } .sidebar-open .app-sidebar { transform:translateX(0); } .app-frame { margin-left:0; } .icon-button { display:block; } .dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:620px) { .topbar-actions .quick-create,.user-menu summary > span:last-child { display:none; } .kpi-grid,.addon-grid { grid-template-columns:1fr; } .addon-card.addon-child { margin-left:0; } .page-heading,.app-content .hero { align-items:flex-start; flex-direction:column; } .app-content { padding-inline:1rem; } .global-search input::placeholder { color:transparent; } }
.ai-result { border-left: 4px solid var(--brand, #2563eb); }
.ai-result pre { white-space: pre-wrap; overflow-wrap: anywhere; background: #f7f9fc; padding: 1rem; border-radius: .5rem; }
.chart-row { display:grid; grid-template-columns:minmax(7rem,1fr) 3fr 3rem; align-items:center; gap:.7rem; margin:.65rem 0; }
.chart-track { height:.65rem; border-radius:99px; background:#e8edf5; overflow:hidden; }
.chart-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#3158d4,#5d8df5); }
.chart-track .bar-1 { width:10%; } .chart-track .bar-2 { width:20%; } .chart-track .bar-3 { width:30%; } .chart-track .bar-4 { width:40%; } .chart-track .bar-5 { width:50%; }
.chart-track .bar-6 { width:60%; } .chart-track .bar-7 { width:70%; } .chart-track .bar-8 { width:80%; } .chart-track .bar-9 { width:90%; } .chart-track .bar-10 { width:100%; }
