:root{color-scheme:light dark;--bg:#f4f6fb;--panel:#fff;--text:#131c32;--muted:#525f78;--line:#dce3ee;--accent:#4935bd;--accent-contrast:#fff;--tint:#ece8ff;--sidebar:#111a2f;--nav:#e0e7f9;--nav-muted:#a8b6d1;--danger:#a31832;--error-bg:#fff0f3;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
@media(prefers-color-scheme:dark){:root{--bg:#0b1121;--panel:#151d33;--text:#f4f6ff;--muted:#bdc7e0;--line:#34415f;--accent:#c8bbff;--accent-contrast:#201554;--tint:#28234d;--sidebar:#111a2f;--danger:#ff9bb0;--error-bg:#391d2b}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent)}a,button,input,select,textarea{outline-offset:3px}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.045em;line-height:1.08;margin-bottom:.45rem}h2{font-size:1.2rem;margin-bottom:.8rem}h3{font-size:1rem;margin-bottom:.45rem}small,.muted,.help{color:var(--muted)}.eyebrow,.nav-label{font-size:.72rem;letter-spacing:.12em;font-weight:750}.eyebrow{display:block;color:var(--accent);margin-bottom:.55rem}.shell{display:grid;grid-template-columns:16rem minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--sidebar);color:var(--nav);padding:1.4rem 1rem;position:sticky;align-self:start;top:0;min-height:100dvh;max-height:100dvh;overflow:auto}.brandmark{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;font-weight:760;margin-bottom:1.3rem;padding:.25rem .35rem}.brandmark small{display:block;font-size:.72rem;color:var(--nav-muted);font-weight:550}.mark{display:grid;place-items:center;background:#7056f5;border-radius:.65rem;width:2.45rem;height:2.45rem;color:#fff;font-size:1.8rem;line-height:1}.sidebar nav{display:grid;gap:.12rem}.nav-label{color:var(--nav-muted);padding:.78rem .55rem .3rem}.sidebar a:not(.brandmark),.logout button{color:var(--nav);border:0;background:none;text-decoration:none;padding:.43rem .56rem;display:block;border-radius:.45rem;text-align:left;font-size:.92rem;cursor:pointer}.sidebar a.active,.sidebar a:not(.brandmark):hover,.logout button:hover{background:#303758;color:#fff}.logout{border-top:1px solid #3b4661;padding-top:.65rem;margin-top:1rem}.content{width:100%;max-width:92rem;padding:clamp(1rem,4vw,3rem);margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem}.page-header p{color:var(--muted);margin:0}.panel{border:1px solid var(--line);border-radius:.85rem;background:var(--panel);padding:clamp(.85rem,2vw,1.35rem);margin-bottom:1rem;min-width:0}.stack{display:grid;gap:.8rem;align-content:start}.stack>*{margin-top:0;margin-bottom:0}.narrow{max-width:34rem}.login-shell{max-width:32rem;margin:clamp(2rem,10vh,8rem) auto}.form-grid,.split,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem}.split{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.field,label{display:grid;gap:.32rem;font-weight:600;min-width:0}.check{display:flex;align-items:center;gap:.5rem}.check input{width:auto}.toolbar,.actions{display:flex;gap:.55rem;align-items:end;flex-wrap:wrap;margin:0 0 .8rem}.actions{align-items:center}.actions>*{margin:0}.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:.45rem;padding:.48rem .78rem;line-height:1.35;cursor:pointer;text-decoration:none;font-weight:620}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.danger{color:var(--danger);border-color:var(--danger)}button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}button:hover:not(:disabled),.button:hover{filter:brightness(.93)}input,textarea,select{width:100%;min-width:0;padding:.46rem .55rem;border:1px solid var(--line);border-radius:.43rem;background:var(--bg);color:var(--text);font-weight:400}textarea{resize:vertical}input[type=file]{padding:.5rem}input[type=checkbox]{width:auto}.notice,.empty{padding:.7rem .9rem;border-radius:.5rem;background:var(--tint);margin-bottom:1rem}.error,.validation-message{color:var(--danger)}.notice.error{background:var(--error-bg)}.badge{display:inline-block;background:var(--tint);color:var(--text);border-radius:1rem;padding:.14rem .55rem;font-size:.79rem;font-weight:650}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{border-bottom:1px solid var(--line);padding:.6rem .5rem;vertical-align:top}th{font-size:.82rem;color:var(--muted)}tbody tr:last-child td{border-bottom:0}.stat{display:block;font-size:2rem;font-weight:770;line-height:1.2;letter-spacing:-.06em}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.preview-img{max-width:100%;max-height:20rem;object-fit:contain;border-radius:.5rem}.skip{position:absolute;z-index:2;transform:translateY(-200%);background:var(--panel);padding:.6rem}.skip:focus{transform:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(7rem,1fr));gap:.3rem;min-width:49rem}.calendar-day{border:1px solid var(--line);min-height:7rem;padding:.4rem;border-radius:.35rem;overflow-wrap:anywhere}.calendar-day.other{opacity:.65}.calendar-day ul{margin:.3rem 0;padding-left:1rem;font-size:.83rem}.metric-bar{height:.55rem;border-radius:.5rem;background:var(--accent);margin:.4rem 0}.audit-list>li{margin-bottom:.5rem}#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;z-index:5;background:var(--error-bg);color:var(--text);padding:1rem}
@media(max-width:900px){.shell{grid-template-columns:13rem minmax(0,1fr)}.split{grid-template-columns:1fr}}
@media(max-width:680px){.shell{display:block}.sidebar{position:static;min-height:0;max-height:none;padding:.7rem}.sidebar nav{display:flex;gap:.24rem;flex-wrap:wrap}.nav-label{display:none}.brandmark{margin:0 0 .4rem}.sidebar a:not(.brandmark){font-size:.82rem}.page-header{align-items:flex-start;flex-direction:column}.logout{margin-top:.4rem;padding-top:.3rem}.content{padding:1.1rem}.toolbar>label{flex:1 1 10rem}}


.crm-brand-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.crm-brand-logo {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.8rem;
    border-radius: 0.65rem;
    background: var(--tint);
    color: var(--accent);
    font-size: 1.35rem;
    font-weight: 750;
}

.crm-preline {
    white-space: pre-line;
    overflow-wrap: anywhere;
}
