:root{color-scheme:light;--ink:#172334;--muted:#57677a;--line:#dce5ed;--paper:#fff;--bg:#f3f7fb;--nav:#102238;--accent:#145fa5;font:16px/1.55 'Inter','Segoe UI',sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:.22em}button,input,select{font:inherit}p{margin:.35rem 0 1rem;color:var(--muted)}h1,h2{line-height:1.15;margin:0;color:var(--ink)}h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}h2{font-size:1.2rem}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--nav);display:flex;flex-direction:column;padding:1.7rem 1rem;gap:2rem}.brand{display:flex;gap:.75rem;align-items:center;text-decoration:none;font-weight:750;letter-spacing:-.02em;font-size:1.1rem;color:inherit}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#c6ebf7;color:#153751;font-size:1.4rem;font-weight:800;letter-spacing:-.07em}.brand small{display:block;font-size:.65rem;letter-spacing:.14em;color:var(--muted)}.sidebar .brand{color:#fff;padding-left:.55rem}.sidebar .brand small{color:#a9bdd3}.sidebar nav{display:grid;gap:.3rem}.sidebar nav a{display:flex;gap:.65rem;align-items:center;padding:.7rem .8rem;border-radius:.55rem;color:#c3d6e8;text-decoration:none}.sidebar nav a[aria-current],.sidebar nav a:hover{background:#253e58;color:#fff}.sidebar nav span{display:inline-block;width:1.2rem;text-align:center}.logout{margin-top:auto}.logout .button{background:transparent;color:#e0ecf5;border-color:#425c77}.content{margin-left:230px;max-width:1380px;padding:clamp(1.25rem,4vw,3.6rem)}.page-header,.section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-header p{margin:.55rem 0 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border-radius:.55rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;white-space:nowrap;cursor:pointer;font-weight:650}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#104e89}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.stat,.card,.login{background:var(--paper);border:1px solid var(--line);border-radius:.9rem;padding:1.3rem;box-shadow:0 5px 12px #17385408}.stat{text-decoration:none;display:grid;gap:.3rem;color:var(--ink)}.stat:first-child{background:#e2f1fb;border-color:#c4deee}.stat span{color:var(--muted)}.stat strong{font-size:2rem}.stat strong.word{font-size:1.15rem;align-self:center}.card{margin-bottom:1.2rem}.card h2{margin-bottom:.65rem}.empty{padding:1.75rem 0;color:var(--ink)}.empty p{margin:.25rem 0 0}.customer-list,.runs{list-style:none;margin:0;padding:0}.customer-list li+li,.runs li+li{border-top:1px solid var(--line)}.customer-list a,.runs li{display:flex;align-items:center;gap:.8rem;padding:.9rem 0;text-decoration:none}.customer-list a:hover strong{text-decoration:underline}.customer-name{flex:1;min-width:0;overflow-wrap:anywhere}.customer-name strong{color:var(--ink);display:block}.customer-name span,.runs span{color:var(--muted);font-size:.9rem}.pill{display:inline-block;background:#e7f0f8;color:#294762;border-radius:1rem;padding:.2rem .6rem;font-size:.85rem}.back{display:inline-block;margin-bottom:.85rem}.stack{display:grid;gap:1rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.wide{grid-column:1/-1}label{display:grid;gap:.35rem;font-weight:600}label span{font-size:.85rem;color:var(--muted);font-weight:400}input,select{width:100%;min-height:44px;border:1px solid #bdcbd9;border-radius:.45rem;padding:.45rem .6rem;background:#fff;color:var(--ink)}:focus-visible{outline:3px solid #5696cc;outline-offset:3px}.login{max-width:460px;margin:clamp(1rem,8vh,6rem) auto;padding:2rem}.login h1{margin-top:1.8rem}.alert,.notice{padding:.7rem 1rem;border-radius:.45rem}.alert{color:#8b1b2b;background:#fde7eb}.notice{color:#17513e;background:#e1f4ec}dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.4rem 1.25rem;margin:0}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.runs li{justify-content:space-between}.section-header{margin-bottom:0}.section-header h2{margin:0}
@media(max-width:760px){.sidebar{position:static;width:auto;padding:.75rem 1rem;gap:.6rem}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar nav a{padding:.45rem .6rem}.sidebar .logout{align-self:flex-start}.content{margin-left:0}.page-header,.section-header,.runs li{align-items:flex-start;flex-wrap:wrap}.stats{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:1fr}.login{margin:1rem}.sidebar .brand{padding-left:0}}
@media(max-width:410px){.stats{grid-template-columns:1fr}.pill{font-size:.72rem}.sidebar nav span{display:none}.card{padding:1rem}}
.settings-panel > summary {
    cursor: pointer;
    font-size: 1.15rem;
    font-weight: 700;
}
.settings-edit {
    margin-top: 0.75rem;
}
.settings-edit > summary {
    cursor: pointer;
}
.settings-edit > form {
    margin-top: 0.75rem;
}
.settings-user {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.75rem;
    border-top: 1px solid #dce3ec;
    padding: 0.85rem 0;
    overflow-wrap: anywhere;
}
.settings-user-identity {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.65rem;
    min-height: 44px;
}
.settings-user > .settings-edit {
    margin: 0;
    text-align: end;
}
.settings-user > .settings-edit label {
    text-align: start;
}
.settings-actions {
    display: flex;
    justify-content: flex-end;
}
@media (max-width: 520px) {
    .settings-user {
        grid-template-columns: minmax(0, 1fr);
    }
}
.signed-in-account {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.65rem;
    color: #c3d6e8;
    font-size: 0.8rem;
    overflow-wrap: anywhere;
}
.account-avatar {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: #c6ebf7;
    color: #153751;
    font-weight: 700;
}
.account-avatar img {
    position: absolute;
    inset: 0;
    object-fit: cover;
}
.signed-in-account strong {
    display: block;
    color: #fff;
    font-size: 0.9rem;
}
