@font-face{font-family:CoreUI;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#f5f3ee;color:#30352e;font:15px/1.5 CoreUI,'Segoe UI',sans-serif}a{color:inherit;text-underline-offset:3px}button,input,select{font:inherit}button,.button{border:1px solid #d9d9cf;border-radius:8px;background:#fff;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block;color:#343930;font-weight:600}button:hover,.button:hover{background:#ebece4;border-color:#90987f}.primary{background:#555e43;color:#fff;border-color:#555e43}.primary:hover{background:#434d35;color:#fff}.quiet{background:transparent}input,select{min-width:0;width:100%;border:1px solid #d6d9ce;border-radius:7px;background:#fff;padding:10px 12px;color:inherit}input:focus,select:focus,button:focus-visible{outline:3px solid #d7dfa8;outline-offset:2px}input[readonly]{background:#f6f6f2}input[type=checkbox]{width:18px;height:18px;accent-color:#596848}label{display:flex;flex-direction:column;gap:7px;font-weight:600}label small{font-weight:400}.access-header{max-width:1280px;margin:auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 32px;border-bottom:1px solid #dedfd5}.access-header img{width:108px;max-height:40px}.access-header>span{color:#858879;font-size:13px}.access-header nav{display:flex;align-items:center;gap:24px}.access-header nav a{text-decoration:none;font-weight:600}.access-main{max-width:1240px;margin:42px auto;padding:0 24px}.narrow{max-width:510px;margin-top:64px}.intro{margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:2px;color:#7c856c;font-weight:700}h1{font-size:30px;line-height:1.2;letter-spacing:-.6px;margin:10px 0 12px}h2{font-size:19px;margin:0 0 18px}p{margin:8px 0 18px}.intro p,.title-row p,.muted,small{color:#7a7f70}small{display:block;font-size:12px}.card{border:1px solid #dfE1d7;border-radius:14px;padding:26px;background:#fff;margin-bottom:22px;box-shadow:0 4px 16px #353c2204}.stack{display:flex;flex-direction:column;gap:18px}.stack p{margin:0}.stack p>label{margin-bottom:6px}.stack .primary{min-height:46px}.password{display:flex;position:relative}.password input{padding-right:76px}.password button{position:absolute;right:3px;top:3px;border:0;padding:8px;color:#7a806e}.help{border-top:1px solid #e5e6de;padding-top:18px;margin-top:22px}summary{cursor:pointer;color:#677159;font-size:13px}details label{margin-top:12px}.privacy{font-size:12px;line-height:1.6}.error,.errorlist{color:#a23f36;background:#fff2ee;padding:12px 16px;border-radius:8px}.message{background:#edf3e1;border:1px solid #d9e2c6;border-radius:8px;padding:14px}.access-footer{text-align:center;color:#929684;font-size:12px;padding:20px 20px 40px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stats>div{border:1px solid #dcdfd2;border-radius:12px;padding:18px 22px;background:#edeee7}.stats b{font-size:30px;display:block;font-weight:600}.stats span{font-size:12px;color:#747c65}.table-card{overflow:auto;padding:8px 20px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#8a917c;padding:16px 12px;border-bottom:1px solid #dce0d1}td{padding:14px 12px;border-bottom:1px solid #f0f1eb}tr:last-child td{border-bottom:0}.badge{display:inline-block;border-radius:20px;padding:3px 10px;background:#f3eedb;font-size:12px}.badge.ok{background:#e8efdd;color:#4e653b}.badge.off{background:#f6e6e2;color:#904e42}.service p{color:#7b836d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.check{flex-direction:row;align-items:center}.inline{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.inline p{margin:0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.permissions select{max-width:260px}.menu-preview{display:flex;gap:8px;flex-wrap:wrap}.menu-preview span{background:#ecefe3;border-radius:6px;padding:6px 12px}.sticky-actions{display:flex;gap:24px;align-items:center;position:sticky;bottom:0;background:#f5f3eef2;padding:18px 0;margin-bottom:24px}.back{color:#7c836d;text-decoration:none}.activation{border-color:#b4c592;background:#f6faef}.activation input{margin-bottom:14px}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eff0e9}.feature-list span{color:#8c937e;font-size:12px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filters label{max-width:200px;font-size:12px}.recovery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.recovery code,.secret{background:#eef1e4;padding:12px;display:inline-block;font-size:16px;letter-spacing:1px;overflow-wrap:anywhere}.secret{margin-bottom:22px}.errorlist{font-size:13px}.helptext{font-size:12px;color:#838b77}.helptext ul{padding-left:18px}@media(max-width:750px){.access-header{padding:16px;align-items:flex-start}.access-header nav{gap:12px;flex-wrap:wrap;font-size:12px}.access-main{padding:0 16px;margin-top:28px}.columns,.form-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.title-row{align-items:flex-start;flex-direction:column}.card{padding:20px}.table-card{padding:8px;overflow:auto}h1{font-size:26px}.recovery{grid-template-columns:1fr 1fr}}

/* Light wordmark embedded for the account header, including before sign-in.
   Source: app/static/artwork/core-plus-light.svg. */
.access-header img,.login-brand img{content:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20190%2064%22%20role%3D%22img%22%20aria-labelledby%3D%22title%22%3E%0A%20%20%3Ctitle%20id%3D%22title%22%3Ecore%2B%3C%2Ftitle%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3ClinearGradient%20id%3D%22gold%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%0A%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%23d0a03a%22%2F%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%220.5%22%20stop-color%3D%22%23c18d28%22%2F%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23ad781e%22%2F%3E%0A%20%20%20%20%3C%2FlinearGradient%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Ctext%20x%3D%2295%22%20text-anchor%3D%22middle%22%20y%3D%2249%22%20fill%3D%22%23343638%22%20font-family%3D%22Arial%20Black%2C%20Segoe%20UI%2C%20Arial%2C%20sans-serif%22%20font-size%3D%2256%22%20font-weight%3D%22900%22%20letter-spacing%3D%22-2%22%3Ecore%3Ctspan%20fill%3D%22url%28%23gold%29%22%3E%2B%3C%2Ftspan%3E%3C%2Ftext%3E%0A%3C%2Fsvg%3E")}


/* Minimal sign-in screen; other account and administration pages keep their layout. */
body.login-page {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: 32px 20px;
    background: radial-gradient(ellipse at center, #ffffff 0%, #f7f7f6 75%);
    color: #343638;
}
.login-page .access-main {
    width: min(100%, 420px);
    max-width: none;
    margin: 0;
    padding: 0;
}
.login-brand {
    display: block;
    width: 124px;
    margin: 0 auto 24px;
    line-height: 0;
}
.login-brand img { display: block; width: 100%; height: auto; }
.login-page .card {
    margin: 0;
    padding: 28px 26px 24px;
    border: 1px solid #e0e3e6;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 32px #24293009;
}
.login-page .stack { gap: 18px; }
.login-page label { gap: 6px; font-size: 14px; font-weight: 400; }
.login-page input {
    height: 42px;
    border-color: #dfe4e8;
    background: #f5f6f7;
    border-radius: 7px;
    padding: 9px 12px;
}
.login-page :is(input,button,a,summary):focus-visible {
    outline: 2px solid #b49150;
    outline-offset: 3px;
}
.login-page .password input { padding-right: 46px; }
.login-page .password button {
    top: 1px;
    right: 3px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    color: #4e5358;
    background: transparent;
}
.login-page .password button:hover { background: #e9ecef; }
.login-page .stack > details {
    border: 1px solid #e2e6ea;
    border-radius: 7px;
    padding: 0 12px;
}
.login-page .stack > details > summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    color: #454b51;
    font-size: 12px;
    list-style: none;
}
.login-page summary::-webkit-details-marker { display: none; }
.login-page summary svg { flex: none; width: 18px; height: 18px; }
.login-page .stack > details > summary svg:last-child { margin-left: auto; }
.login-page .stack > details[open] > summary svg:last-child { transform: rotate(180deg); }
.login-page .stack > details label { margin: 0 0 12px; }
.login-page .primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 44px;
    padding: 10px 16px;
    border-color: #343638;
    border-radius: 7px;
    background: #343638;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}
.login-page .primary:hover { background: #45484b; border-color: #45484b; }
.login-page .primary:active { background: #282a2c; }
.login-page .primary svg { width: 17px; height: 17px; }
.login-page .help { margin-top: 20px; padding-top: 18px; border-color: #edf0f2; }
.login-page .help summary {
    text-align: center;
    list-style: none;
    color: #5b6066;
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.login-page .help p { margin: 14px 0 0; color: #5b6066; font-size: 13px; }
.login-page .message { margin: 0 0 18px; font-size: 14px; }
@media(max-width: 480px) {
    body.login-page { padding: 24px 18px; }
    .login-page .card { padding: 24px 20px 22px; }
}



/* Shared compact account and administration surfaces. */
:root{--access-bg:#f5f5f2;--access-panel:#fff;--access-soft:#efefea;--access-text:#303530;--access-muted:#73786e;--access-line:#dedfd6;--access-gold:#b88a2e;--access-hover:#f5edd8;--access-danger:#a04438}
:root[data-theme=dark]{color-scheme:dark;--access-bg:#0d100d;--access-panel:#151815;--access-soft:#1e231e;--access-text:#eef0e8;--access-muted:#a4aa9b;--access-line:#30362e;--access-gold:#e6bd57;--access-hover:#302c1e;--access-danger:#f19c8e}
body.management-page{background:var(--access-bg);color:var(--access-text);font-size:13px;line-height:1.45}
.management-page .access-header,.management-page .access-main{width:calc(100% - 40px);max-width:1400px;padding:0;margin-inline:auto}
.management-page .access-header{min-height:64px;border-color:var(--access-line);gap:16px}
.management-page .access-header img{width:100px}
.management-page .access-header nav{gap:20px;flex-wrap:wrap}
.management-page .access-header a[aria-current]{color:var(--access-gold)}
.management-page .access-main{margin-block:22px}
.management-page .title-row{margin-bottom:16px;gap:16px}
.management-page h1{font-size:24px;margin:4px 0 6px}
.management-page h2{font-size:16px;margin:0 0 12px}
.management-page p{margin:6px 0 12px}
.management-page .card{padding:18px;margin-bottom:16px;border-radius:10px;box-shadow:none;background:var(--access-panel);border-color:var(--access-line);min-width:0}
.management-page :is(.muted,small,.helptext,.eyebrow,.back,.service p,.stats span,.feature-list span,th){color:var(--access-muted)}
.management-page :is(button,.button,input,select){padding:7px 10px;font-size:13px;border-color:var(--access-line);color:var(--access-text);background:var(--access-panel);border-radius:6px}
.management-page :is(button,.button):hover{background:var(--access-hover);border-color:var(--access-gold)}
.management-page :is(input,select){min-height:34px}
.management-page input[readonly]{background:var(--access-soft)}
.management-page input[type=checkbox]{min-height:0;accent-color:var(--access-gold)}
.management-page :is(input,select,button,a,summary):focus-visible{outline:2px solid var(--access-gold);outline-offset:2px}
.management-page .primary{background:var(--access-text);color:var(--access-bg);border-color:var(--access-text)}
.management-page .primary:hover{background:var(--access-gold);color:#151815}
.management-page .theme-toggle{font-size:20px;line-height:1;padding:7px 10px}
.management-page .stack{gap:12px}
.management-page .stack>.card{margin:0}
.management-page .stack p{margin:0}
.management-page .stack .primary{min-height:34px}
.management-page label{font-size:12px;gap:4px}
.management-page .helptext{font-size:11px;display:block;margin-top:4px}
.management-page .helptext ul{margin:6px 0;padding-left:17px}
.management-page .form-grid{gap:14px 20px}
.management-page .table-card{padding:10px 18px;overflow:auto}
.management-page th{font-size:10px;padding:8px;border-color:var(--access-line)}
.management-page td{padding:7px 8px;border-color:var(--access-line);font-size:12px}
.management-page td button{padding:4px 9px;font-size:12px}
.management-page .stats{gap:14px;margin-bottom:16px}
.management-page .stats>div{padding:12px 16px;background:var(--access-soft);border-color:var(--access-line);border-radius:8px}
.management-page .stats b{font-size:24px}
.management-page .inline{gap:10px}
.management-page .filters{gap:12px}
.management-page .filters label{flex:1 1 140px;max-width:none}
.management-page .sticky-actions{padding:12px 0;margin-bottom:16px;background:var(--access-bg);border-top:1px solid var(--access-line)}
.management-page .menu-preview span,.management-page :is(.secret,.recovery code){background:var(--access-soft)}
.management-page .menu-preview span{padding:4px 8px;font-size:12px}
.management-page .badge{background:var(--access-hover);color:var(--access-text)}
.management-page .badge.ok,.management-page .message{background:var(--access-soft);border-color:var(--access-line);color:var(--access-text)}
.management-page :is(.error,.errorlist){background:var(--access-soft);color:var(--access-danger)}
.management-page .danger,.management-page .delete-user summary{color:var(--access-danger)}
.management-page .delete-user{margin-top:16px}
.management-page .delete-user summary{font-weight:600}
.management-page .delete-user p{margin-top:12px}
.management-page .access-footer{display:none}
.account-page .access-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.account-page .title-row,.account-page .table-card,.account-page .access-main>.muted,.account-page .access-main>.message{grid-column:1/-1;margin:0}
.account-page .title-row>div{display:flex;align-items:baseline;gap:10px 16px;flex-wrap:wrap}
.account-page .title-row :is(h1,p){margin:0}
.account-page .columns{display:contents}
.account-page .card{margin:0}
.account-page .feature-list li{padding:5px 0;font-size:12px;gap:10px;border-color:var(--access-line)}
.account-page .feature-list span{font-size:11px;flex:none}
.account-page .inline{flex-direction:column;align-items:stretch}
.account-page .table-card td:last-child{text-align:right}
.account-page .table-card td{white-space:nowrap}
.account-page .access-main>.muted{font-size:11px}
.account-page .secret{max-width:100%;font-size:13px}
.account-page .recovery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
:root[data-theme=dark] .access-header img,:root[data-theme=dark] .login-brand img{content:url('/artwork/core-plus.svg')}
:root[data-theme=dark] body.login-page{background:var(--access-bg);color:var(--access-text)}
:root[data-theme=dark] .login-page :is(.card,input,button,details){background:var(--access-panel);border-color:var(--access-line);color:var(--access-text)}
:root[data-theme=dark] .login-page :is(summary,.help p){color:var(--access-muted)}
@media(max-width:1000px){.account-page .access-main{grid-template-columns:repeat(2,minmax(0,1fr))}.account-page .access-main>.card:not(.table-card){grid-column:1/-1}}
@media(max-width:700px){.management-page .access-header,.management-page .access-main{width:calc(100% - 28px)}.management-page .access-header{padding-block:10px;align-items:center;flex-wrap:wrap}.management-page .access-header nav{gap:12px;font-size:12px}.management-page .card{padding:14px}.account-page .access-main{display:flex;flex-direction:column}.management-page .form-grid{grid-template-columns:1fr}.management-page .title-row{gap:10px}.management-page .table-card{overflow:auto}}
@media(min-width:1001px){.account-page .feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.account-page .feature-list li{display:block;padding:6px 0;line-height:1.3}.account-page .feature-list span{display:block;margin-top:2px}}
.account-page .stack{gap:8px}.account-page .stack>ul{margin:0;padding-left:17px;font-size:11px;color:var(--access-muted)}.account-page .stack>p:empty{display:none}.account-page .stack p>label{margin-bottom:4px}
.management-page .stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}

.management-page td.connection-cell{white-space:normal;min-width:220px;max-width:560px;vertical-align:top}
.connection-details summary{color:var(--access-muted);font-size:12px;overflow-wrap:anywhere;cursor:pointer}
.connection-details[open] summary{color:var(--access-gold);margin-bottom:8px}
.connection-details dl{margin:0;padding:10px 12px;border:1px solid var(--access-line);border-radius:6px;background:var(--access-soft)}
.connection-details dt{font-size:11px;color:var(--access-muted);margin-top:8px}
.connection-details dt:first-child{margin-top:0}
.connection-details dd{margin:3px 0 0;white-space:normal;overflow-wrap:anywhere;user-select:text}
.connection-details .browser-agent{font-family:Consolas,monospace;font-size:11px;line-height:1.6}
.connection-cell>.badge{margin-bottom:4px}

.bug-screenshot{display:block;width:100%;border:1px solid var(--access-line);border-radius:10px;margin-bottom:10px}.bug-prose{overflow-wrap:anywhere;line-height:1.65}.bug-history{border-bottom:1px solid var(--access-line);padding:14px 0}.bug-history small{display:block;margin-top:6px}.bug-priority-high,.bug-priority-critical{border:1px solid #ac7650!important;color:var(--access-text)!important}.management-page textarea{width:100%;box-sizing:border-box;background:var(--access-panel);color:var(--access-text);border:1px solid var(--access-line);border-radius:8px;padding:10px;font:inherit}

.management-page .bug-admin .primary{background:#d3ac58;border-color:#d3ac58;color:#211b0e}.bug-admin dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:9px 12px}.bug-admin dt{color:var(--access-muted)}.bug-admin dd{margin:0;overflow-wrap:anywhere}

.login-language{display:flex;align-items:center;justify-content:center;gap:8px;margin:24px auto;color:var(--muted)}.login-language button{background:transparent;border:0;padding:6px;font:inherit;color:inherit}.login-language [aria-current="true"]{font-weight:700;text-decoration:underline;text-underline-offset:5px}

.management-page .access-main.narrow{max-width:480px;margin-block:40px}

.mfa-qr{display:block;width:240px;height:240px;max-width:100%;object-fit:contain;background:#fff;margin:16px 0;border:8px solid #fff;border-radius:6px;box-sizing:border-box;image-rendering:pixelated}

/* Keep browser autofill neutral in both themes. */
.login-page input:is(:-webkit-autofill,:autofill){-webkit-box-shadow:0 0 0 1000px var(--access-panel,#fff) inset!important;box-shadow:0 0 0 1000px var(--access-panel,#fff) inset!important;-webkit-text-fill-color:var(--access-text,#242824)!important;caret-color:var(--access-text,#242824)}
.login-page input::selection{background:#9c7a36;color:#fff}
.login-verification h1{font-size:22px;margin:0 0 12px}.login-verification p{color:var(--access-muted);line-height:1.6;margin:0 0 22px}
.login-cancel{margin-top:14px}.login-cancel button{width:100%}.login-page button:disabled{opacity:.45;cursor:not-allowed}
