:root {
    --theme-background: #eef3f1;
    --theme-surface: #ffffff;
    --theme-primary: #246b5a;
    --theme-primary-hover: #1d584a;
    --theme-accent: #dc6b3e;
    --theme-text: #18322b;
    --theme-muted: #66776f;
    --theme-border: #cad5d0;
    --theme-danger: #b42318;
    --theme-success: #18794e;
    --theme-radius: 12px;
    --theme-field-height: 48px;
    --theme-content-width: 420px;
}

html, body { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:var(--theme-background); color:var(--theme-text); }

a, .btn-link {
    color: var(--theme-primary);
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.auth-page { min-height:100svh; display:grid; place-items:center; padding:72px 20px 32px; position:relative; background:var(--theme-background); }
.auth-language { position:absolute; top:22px; right:24px; }
.language-switch { display:flex; gap:.35rem; align-items:center; font-size:.82rem; font-weight:700; }
.language-switch a { color:var(--theme-muted); text-decoration:none; padding:.35rem; }
.language-switch a.active { color:var(--theme-text); text-decoration:underline; text-underline-offset:4px; }
.auth-shell { width:min(100%,var(--theme-content-width)); }
.auth-brand { min-height:132px; display:flex; flex-direction:column; align-items:center; justify-content:center; margin-bottom:20px; color:var(--theme-text); }
.auth-wordmark { display:block; width:min(82%,280px); height:auto; }
.auth-heading { text-align:center; margin-bottom:1.5rem; }
.auth-heading h1 { font-family:inherit; font-size:1.65rem; font-weight:700; margin:0; }
.simple-form { display:grid; gap:15px; }
.simple-field { display:grid; gap:6px; }
.simple-field label { font-size:.85rem; font-weight:600; }
.simple-field input,.simple-field select { width:100%; height:var(--theme-field-height); border:1px solid var(--theme-border); border-radius:var(--theme-radius); background:var(--theme-surface); color:var(--theme-text); padding:0 13px; outline:none; }
.simple-field input:focus,.simple-field select:focus { border-color:var(--theme-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 16%,transparent); }
.remember-row,.terms-row { display:flex; gap:.65rem; align-items:flex-start; font-size:.82rem; color:var(--theme-muted); }
.remember-row input,.terms-row input { margin-top:.18rem; flex:0 0 auto; }
.primary-action { min-height:var(--theme-field-height); border:0; border-radius:var(--theme-radius); background:var(--theme-primary); color:white; font-weight:700; padding:0 18px; }
.primary-action:hover { background:var(--theme-primary-hover); }
.quiet-link,.auth-alternative { text-align:center; color:var(--theme-muted); font-size:.88rem; }
.quiet-link { text-decoration:none; }
.auth-divider { display:flex; align-items:center; gap:.8rem; color:var(--theme-muted); font-size:.78rem; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:var(--theme-border); }
.biometric-action { width:100%; border:0; background:transparent; color:var(--theme-primary); font-weight:650; padding:10px; }
.mobile-biometric { display:none; }
.validation-message,.text-danger { color:var(--theme-danger)!important; font-size:.78rem; }
@media (max-width: 800px) and (pointer: coarse) { .mobile-biometric { display:block; } }
@media (min-width: 720px) { .auth-shell { background:var(--theme-surface); border:1px solid var(--theme-border); border-radius:20px; padding:32px; box-shadow:0 20px 60px rgba(24,50,43,.08); } .auth-brand{min-height:100px;} }

.eyebrow { color:#dc6b3e; font-size:.72rem; letter-spacing:.18em; font-weight:800; }
.welcome-panel { padding:2rem 0 1rem; }
.welcome-panel h1, .onboarding-shell h1 { font-family:Georgia,serif; font-size:clamp(2.2rem,6vw,4rem); margin:.3rem 0; }
.workspace-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.workspace-card { min-height:170px; padding:1.4rem; border-radius:1rem; background:#fffdf8; border:1px solid #ddd9cd; color:#17352d; text-decoration:none; display:flex; flex-direction:column; justify-content:flex-end; box-shadow:0 8px 24px #17352d0c; }
.workspace-card:hover { transform:translateY(-2px); color:#17352d; border-color:#86a095; }
.workspace-card h2 { font-family:Georgia,serif; margin:.4rem 0; }

/* Belépés utáni egységes Sufni-felület */
.page-heading-row,.section-title-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.page-heading-row h1,.section-title-row h2 { margin:.25rem 0; }
.gear-button { width:2.9rem; height:2.9rem; display:grid; place-items:center; flex:0 0 auto; border:1px solid var(--theme-border); border-radius:50%; background:var(--theme-surface); color:var(--theme-text); text-decoration:none; font-size:1.35rem; cursor:pointer; }
.workspace-card { position:relative; padding:0; overflow:visible; }
.card-main-link { min-height:170px; padding:1.4rem 4.5rem 1.4rem 1.4rem; color:inherit; text-decoration:none; display:flex; flex-direction:column; justify-content:flex-end; border-radius:inherit; }
.card-settings { position:absolute; top:50%; right:1.2rem; transform:translateY(-50%); z-index:3; }
.card-settings summary,.card-settings-button { list-style:none; width:2.8rem; height:2.8rem; padding:0; display:grid; place-items:center; border-radius:50%; border:1px solid var(--theme-border); background:#fff; color:var(--theme-text); font-size:1.25rem; line-height:1; cursor:pointer; }
.card-settings summary::-webkit-details-marker { display:none; }
.settings-popover { position:absolute; z-index:20; right:0; top:3.2rem; min-width:220px; padding:.45rem; border:1px solid var(--theme-border); border-radius:12px; background:#fff; box-shadow:0 16px 36px rgba(24,50,43,.18); }
.settings-popover a,.settings-popover button { display:block; width:100%; padding:.7rem .8rem; border:0; border-radius:8px; background:transparent; color:var(--theme-text); text-align:left; text-decoration:none; font:inherit; }
.settings-popover a:hover,.settings-popover button:hover { background:var(--theme-background); }
.asset-section { margin-top:2rem; }
.asset-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:1rem; margin-top:1rem; }
.asset-card { position:relative; overflow:visible; border:1px solid var(--theme-border); border-radius:18px; background:var(--theme-surface); box-shadow:0 8px 24px rgba(24,50,43,.05); }
.asset-card > img,.asset-image-placeholder { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:17px 17px 0 0; background:#e5ece9; }
.asset-image-placeholder { display:grid; place-items:center; font-size:3.2rem; }
.asset-card-body { padding:1.1rem; }
.asset-card-body h3 { margin:.25rem 0; font-size:1.25rem; }
.asset-card-body p { min-height:1.4em; margin:0; color:var(--theme-muted); }
.asset-card .card-settings { top:1rem; transform:none; }
.empty-state { margin-top:1rem; padding:2rem; display:grid; justify-items:start; gap:1rem; border:1px dashed var(--theme-border); border-radius:18px; background:rgba(255,255,255,.55); }
.inline-action { display:inline-flex; align-items:center; padding:0 1rem; text-decoration:none; }
.record-form,.settings-stack { display:grid; gap:1rem; max-width:920px; }
.form-section { padding:1.25rem; border:1px solid var(--theme-border); border-radius:18px; background:var(--theme-surface); }
.form-section h2 { margin:0 0 1rem; font-size:1.15rem; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.form-grid label,.form-section form label { display:grid; gap:.4rem; font-weight:650; font-size:.86rem; }
.form-grid input,.form-grid select,.form-grid textarea,.form-section form input { width:100%; min-height:var(--theme-field-height); padding:.7rem .8rem; border:1px solid var(--theme-border); border-radius:var(--theme-radius); background:#fff; color:var(--theme-text); font:inherit; }
.form-grid textarea { min-height:110px; resize:vertical; }
.date-selects { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:.45rem; }
.date-selects select { min-width:0; }
.form-grid small { color:var(--theme-muted); font-weight:400; }
.wide-field { grid-column:1/-1; }
.upload-preview { width:min(100%,360px); max-height:260px; object-fit:cover; border-radius:14px; grid-column:1/-1; }
.form-submit { justify-self:start; min-width:180px; }
.quiet-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 .9rem; border:1px solid var(--theme-border); border-radius:10px; background:#fff; color:var(--theme-text); text-decoration:none; }
.compact-action { margin-top:.8rem; min-height:42px; padding:0 1rem; }
.danger-section { border-color:#edc9c5; }
.danger-button { min-height:44px; padding:0 1rem; border:0; border-radius:10px; background:var(--theme-danger); color:#fff; font-weight:700; }
@media(max-width:640px){.form-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.workspace-grid,.asset-grid{grid-template-columns:1fr}.content{padding-left:1rem!important;padding-right:1rem!important}.asset-card .settings-popover,.workspace-card .settings-popover{position:fixed;left:1rem;right:1rem;top:auto;bottom:5.5rem;min-width:0}.page-heading-row{align-items:flex-start}}
.workspace-type { color:#dc6b3e; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.workspace-card-new { border-style:dashed; justify-content:center; align-items:center; color:#2c6655; }
.onboarding-shell { max-width:760px; margin:1rem auto; background:#fffdf8; border:1px solid #ddd9cd; border-radius:1.4rem; padding:clamp(1.2rem,4vw,2.5rem); }
.choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin:1.5rem 0; }
.choice-card { padding:1rem; border:1px solid #ddd9cd; border-radius:.9rem; cursor:pointer; display:grid; gap:.25rem; }
.choice-card.selected { border-color:#2c6655; background:#e9f0ec; }
.choice-card span { color:#65766f; font-size:.82rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-bottom:.8rem; }
.form-hint { color:#65766f; font-size:.85rem; }
.feature-placeholder-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; margin-top:2rem; }
.feature-placeholder-grid div { padding:1.2rem; background:#fffdf8; border:1px solid #ddd9cd; border-radius:1rem; display:grid; gap:.4rem; }
.feature-placeholder-grid span { color:#65766f; }
@media(max-width:700px){ .choice-grid,.form-grid{grid-template-columns:1fr}.content{padding-left:1rem!important;padding-right:1rem!important}.top-row{display:none}.workspace-card{min-height:135px} }
