html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.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;
}
:root{--ink:#831843;--muted:#8a6270;--line:#f3d9e3;--lume:#db2777;--rz-primary:#db2777;--rz-primary-light:#f472b6;--rz-primary-lighter:rgba(219,39,119,.16);--rz-primary-dark:#be185d;--rz-primary-darker:#9d174d}
body{margin:0;background:#fff5f8;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.rz-layout{max-width:100vw}
.rz-header{border-bottom:1px solid var(--line)}
.logout-btn,.logout-btn .rzi{color:#fff!important}
.logout-btn:hover{color:#fbcfe8!important}
.app-header{width:100%;padding:0 1.5rem}
@media(min-width:769px){.rz-header{display:none}}
.content-area{display:block;max-width:1400px;padding:1.5rem 2.5rem 2.5rem;margin:0 auto}
h1{font-family:Georgia,serif;font-size:2.5rem;margin:0 0 1rem;line-height:1.15}
h2{font-size:1.2rem;margin:0 0 1.2rem}
.eyebrow{font-size:.7rem;letter-spacing:2px;color:var(--lume);margin:0 0 .25rem}
.muted{color:var(--muted);line-height:1.7}
.metrics{margin:2rem 0}
.metric-card,.panel{padding:1.5rem;border:1px solid var(--line);border-radius:12px;background:white}
.metric-card span,.metric-card a{display:block;font-size:.8rem}
.metric-card strong{display:block;font-size:2.5rem;margin:1rem 0}
a{color:var(--ink)}
.panel{margin:1.5rem 0}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
label{display:block;font-size:.85rem;margin-bottom:1rem}
label input:not([type=checkbox]),label select,label textarea{display:block;width:100%;padding:.65rem;border:1px solid #eec4d7;border-radius:6px;background:#fff;margin-top:.4rem;color:var(--ink);font-family:inherit}
.btn-primary{background:#db2777;border-color:#db2777}
.btn-primary:hover{background:#be185d;border-color:#be185d}
.notice{background:#fdeaf1;border:1px solid #f3c6dc;border-radius:8px;padding:1rem;margin:1rem 0}
input:focus,select:focus,button:focus,a:focus-visible{outline:2px solid #be185d;outline-offset:2px}
.validation-message{color:#a72f2f}
@media(max-width:1000px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){.content-area{padding:1.3rem}
.app-header{padding:0 .75rem}
.form-grid{grid-template-columns:minmax(0,1fr)}
h1{font-size:2rem}
.metric-card{padding:1rem}
.app-header{flex-wrap:wrap!important}
}


.rz-data-grid {
    margin: 1.5rem 0;
    border-radius: 10px;
    max-width: 100%;
    overflow-x: auto;
}

/* Shared registration layout: fields fill the available row before wrapping. */
.record-form .form-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    align-items: start;
}
.record-form .form-grid > label {
    min-width: 0;
}
@media (max-width: 700px) {
    .record-form .form-grid { grid-template-columns: 1fr; }
}

/* Grid children must shrink below their table/form intrinsic width. */
*, *::before, *::after { box-sizing: border-box; }
.rz-layout { grid-template-columns: auto minmax(0, 1fr); }
.rz-layout > .rz-body,
.rz-layout > .rz-header,
.content-area,
.panel,
.record-form form,
.form-grid > *,
.rz-form-field-content {
    min-width: 0;
}
.content-area { width: 100%; }
.form-grid { margin-bottom: 1rem; }
.form-grid .rz-form-field,
.form-grid .rz-form-field-content,
.form-grid .rz-textbox,
.form-grid .rz-dropdown,
.form-grid .rz-numeric,
.form-grid .rz-datepicker {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.record-form fieldset { min-inline-size: 0; }
.notice, .muted, h1 { overflow-wrap: anywhere; }
.rz-data-grid { width: 100%; min-width: 0; }
.rz-data-grid-data { min-width: 0; overscroll-behavior-x: contain; }
/* Preserve readable columns; only the grid's data area scrolls horizontally. */
.content-area .rz-grid-table { min-width: var(--table-min-width, 100%); }
.content-area .rz-grid-table .rz-cell-data,
.content-area .rz-grid-table .rz-column-title-content {
    white-space: normal;
    overflow-wrap: anywhere;
    text-overflow: clip;
}

@media (max-width: 768px) {
    /* Keep tables intact, with both scroll directions inside a bounded viewport. */
    .content-area .rz-data-grid-data {
        flex: 0 1 auto;
        max-height: 60vh;
        max-height: 60dvh;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    /* The mobile menu overlays the body instead of pushing it off screen. */
    .rz-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "rz-header" "rz-body" "rz-footer";
    }
    .rz-layout > .rz-sidebar {
        grid-area: rz-body;
        z-index: 3;
        max-width: 85vw;
    }
    .rz-layout > .rz-body { width: 100%; }

    .content-area {
        padding: 1rem max(1rem, env(safe-area-inset-right))
            max(1.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    }
    .panel { padding: 1rem; margin: 1.25rem 0; }
    .form-grid, .record-form .form-grid { grid-template-columns: minmax(0, 1fr); }
    .app-header { padding: 0 .5rem; flex-wrap: nowrap !important; }
    h1 { font-size: clamp(1.75rem, 7vw, 2rem); }
    .content-area input:not([type=checkbox]):not([type=radio]),
    .content-area select, .content-area textarea,
    .content-area .rz-dropdown-label { font-size: 16px; }
    .record-form .rz-button { min-height: 44px; width: 100%; }
    .notice .rz-button + .rz-button { margin-top: .75rem; }
    .rz-sidebar-toggle { min-width: 44px; min-height: 44px; }
    .rz-paginator { flex-wrap: wrap; }
}

.mail-app{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1.5rem;margin:1.5rem 0;align-items:start}
.mail-list,.mail-detail{border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.mail-list-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}
.mail-tabs{display:flex;gap:.25rem;padding:.6rem .75rem;border-bottom:1px solid var(--line);overflow-x:auto}
.mail-tabs button{border:0;background:none;color:var(--muted);font:inherit;font-size:.8rem;padding:.4rem .7rem;border-radius:999px;white-space:nowrap;cursor:pointer}
.mail-tabs button:hover{background:#fdeaf1}
.mail-tabs button.active{background:var(--lume);color:#fff}
.mail-list-items{max-height:70vh;overflow-y:auto}
.mail-row{display:block;width:100%;text-align:left;padding:.85rem 1rem;border:0;border-bottom:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:inherit}
.mail-row:last-child{border-bottom:0}
.mail-row:hover{background:#fdeaf1}
.mail-row.active{background:#fdeaf1;box-shadow:inset 3px 0 0 var(--lume)}
.mail-row.unread .mail-row-from{font-weight:700}
.mail-row-top{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem}
.mail-row-date{color:var(--muted);white-space:nowrap;font-size:.75rem}
.mail-row-subject{font-size:.85rem;color:var(--muted);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail-detail{padding:1.5rem;min-height:300px}
.mail-empty{color:var(--muted);text-align:center;padding:3rem 1rem}
.mail-body-frame{width:100%;min-height:400px;border:1px solid var(--line);border-radius:8px;background:#fff}
.mail-body-text{white-space:pre-wrap;font-family:inherit;margin:1rem 0 0}
.mail-back{display:none;background:none;border:0;color:var(--lume);font:inherit;padding:0 0 1rem;cursor:pointer}
.mail-attach{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.mail-attach-btn{display:inline-block;padding:.5rem .9rem;border:1px solid #eec4d7;border-radius:6px;cursor:pointer;font-size:.85rem;margin:0}
.mail-attach-btn:hover{background:#fdeaf1}
.mail-attach-list{list-style:none;margin:.5rem 0 0;padding:0;width:100%;font-size:.85rem}
.mail-attach-list li{padding:.35rem 0;border-bottom:1px solid var(--line)}
.mail-attach-remove{border:0;background:none;color:#a72f2f;cursor:pointer;font:inherit}

.thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;cursor:zoom-in;display:block;transition:transform .15s ease,box-shadow .15s ease}
.thumb:hover{transform:scale(1.6);position:relative;z-index:5;box-shadow:0 6px 18px rgba(131,24,67,.35)}
.photo-lightbox{position:fixed;inset:0;background:rgba(31,10,20,.8);display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out;padding:2rem}
.photo-lightbox img{max-width:90vw;max-height:85vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
@media(max-width:768px){
    .mail-app{grid-template-columns:1fr}
    .mail-app.has-detail .mail-list{display:none}
    .mail-app:not(.has-detail) .mail-detail{display:none}
    .mail-back{display:block}
    .mail-list-items{max-height:none}
}

/* Eğitim asistanı */
.assistant-setup{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:1rem 0}
.assistant-setup .rz-form-field{min-width:min(100%,320px)}
.assistant-modes{display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:#fff;overflow-x:auto;max-width:100%}
.assistant-modes button{border:0;background:none;color:var(--muted);font:inherit;font-size:.85rem;padding:.45rem .9rem;border-radius:999px;white-space:nowrap;cursor:pointer}
.assistant-modes button.active{background:var(--lume);color:#fff}
.assistant-modes button:focus-visible{outline:2px solid var(--lume);outline-offset:2px}
.assistant-chat{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fff;height:min(68vh,720px);min-height:420px}
.assistant-log{flex:1;display:flex;flex-direction:column-reverse;overflow-y:auto;padding:1rem}
.assistant-log>div{display:flex;flex-direction:column;gap:.75rem}
.assistant-intro{color:var(--muted);font-size:.9rem;margin:0 0 .25rem}
.assistant-msg{max-width:min(46rem,92%);padding:.7rem .95rem;border-radius:12px;line-height:1.55;overflow-wrap:anywhere}
.assistant-msg.user{align-self:flex-end;background:var(--ink);color:#fff;white-space:pre-wrap}
.assistant-msg.bot{align-self:flex-start;background:#fff5f8;border:1px solid var(--line)}
.assistant-msg.error{align-self:flex-start;background:#fdeaf1;border:1px solid #f3c6dc;margin:0}
.assistant-msg p{margin:0}.assistant-msg p+p,.assistant-msg p+ul,.assistant-msg ul+p{margin-top:.5rem}
.assistant-msg ul{margin:0;padding-left:1.2rem}
.assistant-msg a{color:var(--lume);text-decoration:underline}
.assistant-typing{color:var(--muted);letter-spacing:2px}
.assistant-input{border-top:1px solid var(--line);padding:.75rem 1rem}
.assistant-input textarea{display:block;width:100%;padding:.65rem;border:1px solid #eec4d7;border-radius:6px;font:inherit;color:var(--ink);resize:vertical;min-height:3rem;max-height:12rem}
.assistant-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.assistant-note{color:var(--muted);font-size:.75rem;margin:.5rem 0 0}
.assistant-privacy{display:none}
.assistant-send{min-width:2.75rem}

/* Mobil: Claude uygulaması gibi altta sabit, klavyenin üstünde duran yazma satırı.
   --assistant-kb (klavye yüksekliği) ve --assistant-log-h TrainingPage.razor.js ile ölçülür;
   iOS Safari klavye açılınca sayfayı küçültmez. 16px yazı odaklanınca yakınlaştırmayı önler. */
@media (max-width:768px){
 .assistant-head .eyebrow,.assistant-head .muted,.assistant-note{display:none}
 .assistant-privacy{display:inline}
 .assistant-head h1{font-size:1.5rem;margin:0 0 .5rem}
 .assistant-setup{gap:.5rem;margin:0 0 .5rem}
 .assistant-modes button{padding:.35rem .7rem;font-size:.8rem}
 .assistant-setup .rz-form-field{min-width:100%}
 .assistant-setup .rz-button{padding:.35rem .8rem}
 .assistant-chat{height:auto;min-height:0;border:0;background:none}
 .assistant-log{flex:none;height:var(--assistant-log-h,calc(100dvh - 15rem));min-height:0;padding:.25rem 0}
 .assistant-setup{flex-wrap:nowrap}
 .assistant-setup:has(.rz-form-field){flex-wrap:wrap}
 .assistant-start{width:2.4rem;height:2.4rem;min-width:0;padding:0!important;border-radius:50%;justify-content:center;flex:none}
 .assistant-start .rz-button-text{display:none}
 .assistant-msg{max-width:100%}
 .assistant-input{position:fixed;left:0;right:0;bottom:var(--assistant-kb,0px);z-index:1000;display:flex;align-items:flex-end;gap:.5rem;background:#fff;border-top:1px solid var(--line);padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom))}
 .assistant-chat.keyboard-open .assistant-input{padding-bottom:.5rem}
 .assistant-input textarea{flex:1;font-size:16px;line-height:1.35;min-height:2.6rem;max-height:10rem;resize:none;border-radius:1.3rem;padding:.55rem .95rem}
 .assistant-actions{margin:0;flex-wrap:nowrap}
 .assistant-send{width:2.6rem;height:2.6rem;min-width:0;padding:0;border-radius:50%;justify-content:center}
 .assistant-send .rz-button-text{display:none}
}
