html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    background: #edf2f1;
}

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;
}

/* Platform and customer workspaces */
:root { --sanda-ink: #163d38; --sanda-muted: #71847f; --sanda-border: #e3ebe8; --sanda-green: #2f8269; }
body { margin: 0; background: #f4f7f6; color: #18312e; }
.workspace-shell { max-width: 1500px; margin: 0 auto; }
.workspace-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 2px 0 26px; }
.workspace-header h1 { margin: 7px 0 8px; color: #173d38; font-size: clamp(26px,3vw,36px); font-weight: 700; letter-spacing: -.04em; }
.workspace-header p { margin: 0; color: #758680; font-size: 13px; }
.eyebrow { color: #6d9386; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.quiet-link { color: #4f7468; font-size: 12px; text-decoration: none; }
.admin-grid { display: grid; grid-template-columns: minmax(360px,.92fr) minmax(420px,1.08fr); align-items: start; gap: 20px; }
.card { min-width: 0; padding: 24px; border: 1px solid #e5ece9; border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(33,74,62,.035); }
.card-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px; }
.card-heading h2 { margin: 5px 0 0; color: #1b3935; font-size: 18px; font-weight: 700; }
.step-mark, .count-pill { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #32745f; background: #e9f6ef; font-size: 11px; font-weight: 800; }
.count-pill { width: auto; min-width: 34px; padding: 0 10px; border-radius: 20px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; }
.form-grid label, .setup-card label { display: flex; flex-direction: column; gap: 7px; color: #546a64; font-size: 11px; font-weight: 700; }
.form-grid input, .form-grid select, .setup-card input, .copy-link input { width: 100%; min-width: 0; height: 40px; padding: 0 11px; border: 1px solid #dfe8e4; border-radius: 8px; outline: 0; color: #263e39; background: #fbfdfc; font: inherit; font-size: 12px; }
.form-grid input:focus, .form-grid select:focus, .setup-card input:focus { border-color: #6fb99b; box-shadow: 0 0 0 3px rgba(93,177,143,.13); }
.section-rule { display: flex; align-items: center; gap: 12px; margin: 22px 0 14px; color: #82948e; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.section-rule::after { height: 1px; flex: 1; background: #edf1ef; content: ''; }
.field-hint { margin: 12px 0 0; color: #84948f; font-size: 10px; line-height: 1.6; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border: 0; border-radius: 8px; font-size: 11px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .15s,filter .15s; }
.button:hover { filter: brightness(.97); transform: translateY(-1px); }
.button:disabled { opacity: .65; cursor: wait; transform: none; }
.button-primary { color: #fff; background: #256d5b; box-shadow: 0 6px 14px rgba(37,109,91,.16); }
.button-secondary { color: #285f52; background: #eaf4ef; }
.create-button { width: 100%; margin-top: 20px; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.data-table th { padding: 11px 9px; color: #80918c; background: #f7faf8; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 13px 9px; border-bottom: 1px solid #edf1ef; color: #536861; vertical-align: middle; }
.data-table td strong { display: block; color: #24433c; font-size: 11px; }
.data-table td small { display: block; margin-top: 4px; color: #98a49f; font-size: 9px; }
.data-table code { color: #638077; font-size: 9px; }
.row-actions { min-width: 104px; white-space: nowrap; }
.row-actions .button { min-height: 30px; padding: 0 9px; font-size: 9px; }
.mini-action { display: block; margin: 6px auto 0; padding: 2px 5px; border: 0; color: #7a8d86; background: transparent; font-size: 9px; cursor: pointer; }
.mini-action:hover { color: #276c58; text-decoration: underline; }
.status-pill { display: inline-block; padding: 5px 8px; border-radius: 20px; font-size: 9px; white-space: nowrap; }
.status-good { color: #317459; background: #e9f6ed; }
.status-pending { color: #9a7229; background: #fff4dc; }
.empty-state { display: grid; justify-items: center; padding: 55px 14px; color: #81918c; text-align: center; }
.empty-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 14px; border-radius: 13px; color: #4f9275; background: #e9f6ef; font-size: 24px; }
.empty-state strong { color: #38564e; font-size: 12px; }
.empty-state p, .muted { color: #80918b; font-size: 11px; line-height: 1.7; }
.notice-card { margin: 0 0 20px; padding: 14px 16px; border: 1px solid #e2ebe7; border-radius: 11px; background: white; color: #506a61; font-size: 12px; line-height: 1.7; }
.notice-card p { margin: 7px 0; }
.notice-error { color: #8e3e42; border-color: #f0d8d8; background: #fff8f8; }
.notice-success { color: #28664e; border-color: #d5ebdd; background: #f6fcf8; }
.notice-success a { color: #256d5b; font-weight: 700; }
.copy-link { display: flex; gap: 8px; margin-top: 10px; }
.copy-link input { flex: 1; }
.customer-next { display: flex; align-items: flex-start; gap: 13px; margin-top: 26px; padding: 18px; border-radius: 12px; background: #f5faf7; }
.customer-next strong { color: #31574a; font-size: 12px; }
.customer-next p { margin: 5px 0 0; color: #7a8c85; font-size: 11px; line-height: 1.6; }
.context-selectors { display: grid; max-width: 720px; grid-template-columns: 1fr 220px; gap: 14px; }
.context-selectors label { display: grid; gap: 7px; color: #546a64; font-size: 11px; font-weight: 700; }
.context-selectors select { height: 42px; padding: 0 12px; border: 1px solid #dfe8e4; border-radius: 9px; color: #28443d; background: #fbfdfc; }
.selected-context { display: flex; align-items: center; gap: 12px; max-width: 720px; margin-top: 16px; padding: 14px; border: 1px solid #e1eee7; border-radius: 11px; background: #f8fcf9; }
.selected-check { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #287253; background: #e5f4ea; font-weight: 800; }
.selected-context strong, .selected-context small { display: block; }
.selected-context strong { color: #31574a; font-size: 12px; }
.selected-context small { margin-top: 4px; color: #7b8e86; font-size: 10px; }
.setup-scene { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: radial-gradient(circle at 15% 15%,#e7f2ec,transparent 38%),#f4f7f6; }
.setup-card { width: min(100%,480px); padding: 36px; border: 1px solid #e4ece8; border-radius: 18px; background: white; box-shadow: 0 20px 60px rgba(26,69,56,.08); }
.setup-brand { display: flex; align-items: center; gap: 11px; margin-bottom: 32px; color: #183d37; text-decoration: none; }
.setup-brand b, .setup-brand small { display: block; }
.setup-brand b { font-size: 13px; letter-spacing: .17em; }
.setup-brand small { margin-top: 3px; color: #80948c; font-size: 8px; letter-spacing: .13em; }
.setup-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: #fff; background: #286e5b; font-weight: 800; }
.setup-card h1 { margin: 7px 0 8px; color: #1c3d37; font-size: 25px; letter-spacing: -.04em; }
.setup-card .muted { margin: 0 0 20px; }
.setup-card form { display: grid; gap: 14px; margin-top: 22px; }
.full-button { width: 100%; }
.validation-summary-errors { margin: 8px 0; color: #a4494b; font-size: 11px; }
.validation-summary-errors ul { margin-bottom: 0; padding-left: 18px; }
@media (max-width: 1100px) { .admin-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .form-grid { grid-template-columns: 1fr; } .context-selectors { grid-template-columns: 1fr; } .card { padding: 18px; } .workspace-header { align-items: flex-start; flex-direction: column; } .copy-link { flex-direction: column; } .setup-card { padding: 24px; } }

/* Platform administrator dashboard */
.platform-admin-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0,1fr); background: #f5f8f7; color: #203a35; }
.platform-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 25px 16px 16px; border-right: 1px solid #e7eeeb; background: #fff; }
.platform-brand { display: flex; align-items: center; gap: 11px; padding: 0 10px 31px; color: #173e37; text-decoration: none; }
.platform-brand-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 12px; color: white; background: linear-gradient(140deg,#398d70,#1d604f); box-shadow: 0 6px 13px #286d572d; font-size: 18px; font-weight: 800; }
.platform-brand strong,.platform-brand small { display: block; }
.platform-brand strong { font-size: 14px; letter-spacing: .2em; }
.platform-brand small { margin-top: 4px; color: #8b9d96; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.platform-nav-label { padding: 0 12px 10px; color: #a0ada8; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.platform-nav { display: grid; gap: 5px; }
.platform-nav-item { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 43px; padding: 0 12px; border: 0; border-radius: 9px; color: #687d75; background: transparent; font: inherit; font-size: 12px; text-align: left; cursor: pointer; transition: background .15s,color .15s; }
.platform-nav-item:hover { color: #245e4d; background: #f5faf7; }
.platform-nav-item.active { color: #24664f; background: #eaf5ef; font-weight: 700; }
.nav-icon { display: grid; place-items: center; width: 19px; color: #799087; font-size: 17px; }
.platform-nav-item.active .nav-icon { color: #287357; }
.nav-count { min-width: 22px; margin-left: auto; padding: 3px 6px; border-radius: 10px; color: #668176; background: #edf3f0; font-size: 9px; text-align: center; }
.platform-sidebar-bottom { margin-top: auto; }
.platform-secure { display: flex; align-items: center; gap: 10px; margin: 0 4px 15px; padding: 12px 10px; border: 1px solid #e8f0eb; border-radius: 10px; background: #fafcfb; }
.secure-dot { width: 8px; height: 8px; border-radius: 50%; background: #55aa7a; box-shadow: 0 0 0 4px #e8f5ed; }
.platform-secure strong,.platform-secure small { display: block; }
.platform-secure strong { color: #416956; font-size: 10px; }
.platform-secure small { margin-top: 3px; color: #91a099; font-size: 9px; }
.platform-user { display: flex; align-items: center; gap: 9px; padding: 13px 7px 2px; border-top: 1px solid #edf1ef; }
.user-avatar,.customer-avatar { display: grid; flex: 0 0 auto; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: #32715b; background: #e8f4ec; font-size: 10px; font-weight: 800; }
.user-copy { min-width: 0; flex: 1; }
.user-copy strong,.user-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-copy strong { color: #37544a; font-size: 10px; }
.user-copy small { margin-top: 3px; color: #96a49e; font-size: 9px; }
.logout-button { width: 29px; height: 29px; border: 0; border-radius: 7px; color: #81948b; background: transparent; cursor: pointer; }
.logout-button:hover { color: #9e5555; background: #fbefef; }
.platform-main { width: min(100%,1600px); min-width: 0; margin: 0 auto; padding: 0 36px 48px; }
.platform-topbar { display: flex; align-items: center; justify-content: space-between; min-height: 68px; border-bottom: 1px solid #e9efec; }
.platform-breadcrumb { display: flex; align-items: center; gap: 10px; color: #95a39d; font-size: 10px; }
.platform-breadcrumb b { color: #c5cfca; font-weight: 400; }
.platform-breadcrumb strong { color: #547066; font-weight: 700; }
.platform-top-actions { display: flex; align-items: center; gap: 13px; }
.platform-date { color: #899a92; font-size: 10px; text-transform: capitalize; }
.platform-icon-button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #e4ece8; border-radius: 9px; color: #678177; background: #fff; font-size: 19px; cursor: pointer; }
.platform-icon-button:hover { color: #2e755c; background: #f6fbf8; }
.platform-primary-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 0 14px; border: 0; border-radius: 8px; color: #fff; background: #28735a; box-shadow: 0 5px 12px #28735a26; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; transition: background .15s,transform .15s; }
.platform-primary-button:hover { background: #205f4a; transform: translateY(-1px); }
.platform-pos-button { background: linear-gradient(135deg,#8b5cf6,#6d43ce); }
.platform-pos-button:hover { background: linear-gradient(135deg,#7747dc,#5d35bb); }
.platform-primary-button:disabled { opacity: .6; cursor: wait; transform: none; }
.platform-primary-button span { font-size: 15px; line-height: 1; }
.platform-page-heading { display: flex; align-items: flex-end; justify-content: space-between; margin: 27px 0 23px; }
.platform-page-heading h1 { margin: 6px 0 5px; color: #193d35; font-size: 27px; font-weight: 700; letter-spacing: -.045em; }
.platform-page-heading p { margin: 0; color: #83938d; font-size: 11px; }
.platform-stats-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 17px; }
.platform-stat-card,.platform-panel { min-width: 0; border: 1px solid #e6eeea; border-radius: 13px; background: #fff; box-shadow: 0 5px 18px #244e3a08; }
.platform-stat-card { padding: 16px 17px 15px; }
.stat-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #75877f; font-size: 10px; }
.stat-topline .distribution-bullet { width: 8px; height: 8px; }
.stat-icon { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; font-size: 14px; }
.stat-icon-green { color: #33775d; background: #eaf5ed; }
.stat-icon-blue { color: #477392; background: #eaf3f8; }
.stat-icon-violet { color: #7466a2; background: #f0edfa; }
.stat-icon-amber { color: #a27a39; background: #faf3e7; }
.platform-stat-card>strong { display: block; margin-top: 10px; color: #213f37; font-size: 27px; font-weight: 700; letter-spacing: -.04em; }
.platform-stat-card>small { display: block; margin-top: 4px; color: #97a59f; font-size: 9px; }
.platform-overview-grid { display: grid; grid-template-columns: minmax(0,1.75fr) minmax(245px,.85fr); align-items: start; gap: 15px; }
.platform-panel { padding: 19px 20px; }
.platform-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.platform-panel-heading h2 { display: flex; align-items: center; gap: 9px; margin: 5px 0 0; color: #244239; font-size: 14px; font-weight: 700; }
.platform-panel-heading h2 .heading-count { display: inline-grid; place-items: center; min-width: 21px; height: 21px; padding: 0 6px; border-radius: 10px; color: #59816f; background: #edf5f0; font-size: 9px; }
.platform-panel-heading .eyebrow { font-size: 8px; }
.text-action,.panel-link-button { padding: 5px; border: 0; color: #398063; background: transparent; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.text-action:hover,.panel-link-button:hover { color: #1e6549; }
.text-action span,.panel-link-button span { margin-left: 4px; }
.platform-table-wrap { width: 100%; overflow-x: auto; }
.platform-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.platform-table th { padding: 10px 9px; border-bottom: 1px solid #edf1ef; color: #98a69f; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-align: left; white-space: nowrap; }
.platform-table td { padding: 11px 9px; border-bottom: 1px solid #f0f3f1; color: #667970; vertical-align: middle; white-space: nowrap; }
.platform-table tbody tr:last-child td { border-bottom: 0; }
.platform-table tbody tr:hover { background: #fbfdfb; }
.platform-table td:first-child { display: table-cell; }
.platform-table td .customer-avatar { display: inline-grid; width: 29px; height: 29px; margin-right: 9px; vertical-align: middle; border-radius: 9px; font-size: 9px; }
.customer-cell { display: inline-block; max-width: 225px; vertical-align: middle; white-space: normal; }
.customer-cell strong,.customer-cell small { display: block; }
.customer-cell .firm-default-badge { display:inline-flex; width:max-content; margin-top:4px; padding:3px 7px; border-radius:999px; background:#e4f5ed; color:#21734f; font-size:9px; font-weight:750; }
.customer-cell strong,.cell-main { color: #355248; font-size: 10px; font-weight: 700; }
.customer-cell small,.cell-sub { display: block; margin-top: 4px; color: #9aa8a1; font-size: 8px; }
.platform-table .status-pill { padding: 4px 8px; font-size: 8px; }
.status-trial { color: #71619c; background: #f0edfa; }
.status-error { color: #a25151; background: #fbefef; }
.platform-row-actions { min-width: 98px; text-align: right; }
.mini-action { display: inline-block; margin: 2px; padding: 6px 8px; border: 0; border-radius: 6px; color: #71847b; background: #f0f4f2; font-size: 8px; font-weight: 700; cursor: pointer; }
.mini-action:disabled { opacity: .55; cursor: wait; }
.mini-action.action-green { color: #2a7454; background: #eaf5ed; }
.mini-action.action-amber { color: #967035; background: #fbf4e8; }
.mini-action.action-red { color: #a22e39; background: #fff0f1; border: 1px solid #f0c7cb; }
.mini-action:hover { filter: brightness(.96); }
.distribution-row { display: flex; align-items: center; gap: 9px; padding: 11px 2px; border-bottom: 1px solid #f0f3f1; color: #6d8177; font-size: 10px; }
.distribution-row strong { margin-left: auto; color: #38574b; font-size: 11px; }
.distribution-bullet { width: 9px; height: 9px; border-radius: 50%; }
.bullet-green { background: #58ad7a; }.bullet-violet { background: #9782c5; }.bullet-amber { background: #d4a04e; }.bullet-gray { background: #aebbb5; }
.distribution-total { display: flex; justify-content: space-between; margin-top: 13px; padding: 9px 2px 12px; color: #49645a; font-size: 10px; font-weight: 700; }
.distribution-total strong { color: #25463b; font-size: 14px; }
.panel-link-button { width: 100%; padding: 10px 0 0; border-top: 1px solid #eff3f0; text-align: left; }
.panel-more { color: #8da198; font-size: 18px; }
.platform-table-toolbar { display: flex; align-items: center; gap: 10px; margin: 17px 0; }
.search-box { display: flex; align-items: center; gap: 7px; width: min(380px,50%); height: 36px; padding: 0 10px; border: 1px solid #e4ece8; border-radius: 8px; color: #94a39c; background: #fbfdfc; }
.search-box>span { font-size: 16px; }
.search-box input { width: 100%; border: 0; outline: 0; color: #476057; background: transparent; font: inherit; font-size: 10px; }
.search-box input::placeholder { color: #a6b2ac; }
.filter-select { height: 36px; padding: 0 10px; border: 1px solid #e4ece8; border-radius: 8px; color: #637a6f; background: #fff; font: inherit; font-size: 9px; }
.result-count { margin-left: auto; color: #96a49d; font-size: 9px; }
.panel-caption { color: #93a199; font-size: 9px; }
.panel-description { margin: 6px 0 0; color: #899992; font-size: 10px; }
.database-code { color: #557c6e; font-size: 9px; }
.platform-info-note { display: flex; gap: 12px; margin-top: 14px; padding: 14px 16px; border: 1px solid #e3eee7; border-radius: 10px; color: #73877d; background: #f7fbf8; font-size: 9px; line-height: 1.6; }
.platform-info-note strong { flex: 0 0 auto; color: #3c6d54; }
.platform-empty { display: grid; justify-items: center; padding: 37px 15px; color: #83948d; text-align: center; }
.platform-empty .empty-icon { margin-bottom: 10px; }
.platform-empty strong { color: #466057; font-size: 11px; }
.platform-empty p { margin: 5px 0 12px; color: #94a39c; font-size: 9px; }
.platform-loading { display: flex; align-items: center; gap: 9px; min-height: 170px; justify-content: center; color: #81938b; font-size: 11px; }
.loading-spinner { width: 17px; height: 17px; border: 2px solid #dceae2; border-top-color: #3a8a68; border-radius: 50%; animation: platform-spin .8s linear infinite; }
@keyframes platform-spin { to { transform: rotate(360deg); } }
.platform-modal-backdrop { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 22px; background: #102b2490; backdrop-filter: blur(3px); }
.platform-modal { display: flex; flex-direction: column; width: min(100%,760px); max-height: min(92vh,900px); overflow: hidden; border: 1px solid #e2ebe6; border-radius: 16px; background: #fff; box-shadow: 0 24px 80px #0e30254a; }
.platform-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 23px 26px 17px; border-bottom: 1px solid #edf1ef; }
.platform-modal-header h2 { margin: 5px 0; color: #24453a; font-size: 19px; font-weight: 700; letter-spacing: -.03em; }
.platform-modal-header p { margin: 0; color: #889891; font-size: 10px; }
.modal-close { width: 31px; height: 31px; border: 0; border-radius: 8px; color: #71857c; background: #f2f6f4; font-size: 20px; cursor: pointer; }
.platform-modal-body { padding: 19px 26px 22px; overflow-y: auto; }
.platform-modal .form-grid { gap: 13px 14px; }
.platform-modal .form-grid label { font-size: 10px; }
.platform-modal .form-grid-wide { grid-column: 1 / -1; }
.platform-modal .form-grid textarea { width: 100%; min-height: 68px; padding: 10px 11px; border: 1px solid #dfe8e4; border-radius: 8px; outline: 0; color: #263e39; background: #fbfdfc; font: inherit; font-size: 12px; resize: vertical; }
.platform-modal .form-grid textarea:focus { border-color: #6fb99b; box-shadow: 0 0 0 3px rgba(93,177,143,.13); }
.modal-section-title { display: flex; align-items: center; gap: 11px; margin: 7px 0 12px; color: #779087; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.modal-section-title:not(:first-child) { margin-top: 22px; }
.modal-section-title::after { height: 1px; flex: 1; background: #edf2ef; content: ''; }
.platform-modal-footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 19px; padding-top: 15px; border-top: 1px solid #edf1ef; }
.platform-modal-footer .button,.platform-modal-footer .platform-primary-button { min-width: 115px; }
.customer-delete-modal { width: min(100%, 560px); }
.delete-confirmation-field { display: grid; gap: 7px; margin-top: 16px; color: #526c61; font-size: 10px; font-weight: 700; }
.delete-confirmation-field input { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid #e2caca; border-radius: 8px; outline: 0; color: #4a3838; background: #fffafa; font: inherit; font-size: 12px; }
.delete-confirmation-field input:focus { border-color: #c96b6b; box-shadow: 0 0 0 3px rgba(201,107,107,.13); }
.delete-confirmation-field small { color: #9b8585; font-size: 9px; font-weight: 500; }
.platform-modal .button-danger { border: 1px solid #d76e72; color: #fff; background: #b8444b; }
.platform-modal .button-danger:disabled { opacity: .45; cursor: not-allowed; }
.platform-modal .validation-summary-errors { border-radius: 7px; background: #fff6f6; }
.platform-admin-shell .notice-card { margin-bottom: 14px; }
.platform-admin-shell .copy-link input { font-size: 10px; }
.subscription-summary-grid { margin-top: 4px; }
.subscriptions-panel { margin-top: 15px; }
@media (max-width: 1050px) { .platform-admin-shell { grid-template-columns: 210px minmax(0,1fr); } .platform-main { padding-right: 22px; padding-left: 22px; } .platform-overview-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 760px) { .platform-admin-shell { display: block; } .platform-sidebar { position: static; height: auto; padding: 13px 15px 10px; border-right: 0; border-bottom: 1px solid #e7eeeb; } .platform-brand { padding: 0 5px 12px; } .platform-nav-label,.platform-sidebar-bottom { display: none; } .platform-nav { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 1px; } .platform-nav-item { flex: 0 0 auto; width: auto; min-height: 36px; padding: 0 10px; font-size: 10px; } .nav-count { display: none; } .platform-main { padding: 0 16px 30px; } .platform-topbar { min-height: 55px; } .platform-date { display: none; } .platform-page-heading { margin: 21px 0 17px; } .platform-page-heading h1 { font-size: 23px; } .platform-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; } .platform-stat-card { padding: 13px; } .platform-stat-card>strong { font-size: 23px; } .platform-panel { padding: 15px 13px; } .customer-list-heading { align-items: flex-start; } }
@media (max-width: 460px) { .platform-top-actions { gap: 7px; } .platform-top-actions .platform-primary-button { min-height: 34px; padding: 0 9px; font-size: 9px; } .platform-breadcrumb { gap: 6px; font-size: 9px; } .platform-page-heading p { max-width: 290px; line-height: 1.5; } .platform-table-toolbar { flex-wrap: wrap; } .search-box { width: 100%; } .filter-select { flex: 1; } .platform-modal-backdrop { padding: 10px; } .platform-modal-header,.platform-modal-body { padding-right: 17px; padding-left: 17px; } .platform-modal .form-grid { grid-template-columns: 1fr; } .platform-modal .form-grid-wide { grid-column: auto; } }

/* Customer tenant administration */
.tenant-admin-page { width: min(1160px, 100%); margin: 0 auto; padding: 12px 4px 44px; color: #263e39; }
.tenant-admin-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 8px 0 23px; }
.tenant-admin-header h1 { margin: 7px 0 5px; color: #193d35; font-size: clamp(25px, 3vw, 34px); font-weight: 750; letter-spacing: -.7px; }
.tenant-admin-header p { margin: 0; color: #71817c; font-size: 14px; }
.cari-module-header { align-items: center; }
.cari-module-heading { display: flex; align-items: center; gap: 13px; min-width: 0; }
.cari-module-heading-icon { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg,#176a4d,#43a97b); box-shadow: 0 10px 20px rgba(28,117,82,.2), inset 0 1px rgba(255,255,255,.35); font-size: 24px; font-weight: 800; }
.cari-module-heading .eyebrow { color: #43826a; }
.cari-module-context { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.cari-module-context span { display: inline-flex; align-items: center; min-height: 23px; border: 1px solid #dfece4; border-radius: 999px; padding: 3px 9px; color: #5d776c; background: #f5faf7; font-size: 10px; font-weight: 650; }
.cari-header-summary { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; border: 1px solid #dfece4; border-radius: 999px; padding: 8px 11px; color: #5d776c; background: #f7fbf8; font-size: 10px; font-weight: 650; }
.cari-header-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #33a06e; box-shadow: 0 0 0 4px rgba(51,160,110,.12); }
.tenant-admin-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0 0 22px; }
.tenant-admin-action { display: flex; min-width: 0; align-items: center; gap: 11px; min-height: 78px; padding: 13px 14px; border: 1px solid #e2ebe6; border-radius: 14px; color: #38564c; background: #fff; box-shadow: 0 7px 18px rgba(20,57,46,.035); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s, transform .15s; }
.tenant-admin-action:hover { border-color: #b8dcca; background: #fbfefc; box-shadow: 0 10px 22px rgba(20,88,62,.09); transform: translateY(-1px); }
.tenant-admin-action.active { border-color: #9ac9ae; background: #eaf6ef; box-shadow: 0 8px 18px rgba(35,113,77,.12); }
.tenant-admin-action-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; color: #287657; background: #eaf5ee; font-size: 18px; font-weight: 750; }
.tenant-admin-action.active .tenant-admin-action-icon { color: #fff; background: linear-gradient(145deg,#176a4d,#43a97b); }
.tenant-admin-action-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 4px; }
.tenant-admin-action-copy strong { overflow: hidden; color: #2d5044; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.tenant-admin-action-copy small { overflow: hidden; color: #81918a; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.tenant-admin-action-arrow { color: #87a197; font-size: 22px; line-height: 1; }
.tenant-admin-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.tenant-admin-stats article,.tenant-admin-card,.tenant-admin-empty,.tenant-admin-info { border: 1px solid #e5ece8; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(20,57,46,.035); }
.tenant-admin-stats article { display: flex; min-height: 116px; flex-direction: column; gap: 4px; padding: 18px 20px; }
.tenant-admin-stats article span { color: #687b75; font-size: 12px; font-weight: 650; }
.tenant-admin-stats article strong { color: #174e3f; font-size: 29px; line-height: 1.1; }
.tenant-admin-stats article small { color: #8a9994; font-size: 11px; }
.tenant-admin-overview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.tenant-admin-card { margin-bottom: 16px; padding: 22px; }
.tenant-admin-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.tenant-admin-card-heading h2 { margin: 4px 0 3px; color: #20483e; font-size: 19px; font-weight: 720; }
.tenant-admin-card-heading p { margin: 4px 0 0; color: #7d8b86; font-size: 12px; }
.tenant-admin-list-row { display: flex; align-items: center; gap: 11px; min-height: 55px; border-top: 1px solid #eff3f1; }
.tenant-admin-list-row > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.tenant-admin-list-row strong { overflow: hidden; color: #304b44; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.tenant-admin-list-row small { overflow: hidden; color: #899791; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.tenant-admin-icon,.tenant-admin-avatar { display: inline-grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: #287657; background: #eaf5ee; font-size: 14px; font-weight: 750; }
.tenant-admin-avatar { border-radius: 50%; font-size: 11px; }
.tenant-admin-status { margin-left: auto; color: #74847e; font-size: 10px; }
.tenant-admin-empty { display: grid; justify-items: center; margin-top: 10px; padding: 32px 18px; text-align: center; box-shadow: none; }
.tenant-admin-empty > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; color: #438367; background: #eaf5ee; font-size: 21px; }
.tenant-admin-empty h2,.tenant-admin-empty h3 { margin: 12px 0 3px; color: #2d4b42; font-size: 16px; }
.tenant-admin-empty p { margin: 0; color: #82908b; font-size: 12px; }
.tenant-admin-card .platform-table { min-width: 760px; }
.tenant-year-chip { display: inline-block; margin: 2px 4px 2px 0; border-radius: 12px; padding: 4px 8px; color: #356e56; background: #ecf6ef; font-size: 10px; white-space: nowrap; }
.tenant-role-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.restaurant-role-templates { margin: 16px 0 14px; padding: 13px; border: 1px solid #dceee8; border-radius: 12px; background: linear-gradient(135deg,#f4fbf8,#fbfdfc); }
.restaurant-role-templates-heading { display: flex; flex-direction: column; gap: 3px; margin-bottom: 10px; }
.restaurant-role-templates-heading strong { color: #315d50; font-size: 12px; }
.restaurant-role-templates-heading small { color: #879891; font-size: 10px; }
.restaurant-role-template-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.restaurant-role-template { display: flex; align-items: center; gap: 8px; min-height: 58px; padding: 9px; border: 1px solid #dce8e3; border-radius: 10px; color: #36574d; background: #fff; text-align: left; cursor: pointer; transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.restaurant-role-template:hover { border-color: #58ad91; box-shadow: 0 6px 16px rgba(37,111,86,.1); transform: translateY(-1px); }
.restaurant-role-template-icon { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 9px; color: #fff; background: linear-gradient(135deg,#278b6d,#61b99b); font-size: 16px; font-weight: 800; }
.restaurant-role-template > span:last-child { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.restaurant-role-template strong { font-size: 10px; }
.restaurant-role-template small { color: #899b94; font-size: 9px; line-height: 1.25; }
@media (max-width: 760px) { .restaurant-role-template-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 460px) { .restaurant-role-template-grid { grid-template-columns: 1fr; } }
.tenant-role-card { display: flex; min-height: 190px; flex-direction: column; align-items: flex-start; gap: 11px; border: 1px solid #e7eeea; border-radius: 12px; padding: 16px; background: #fbfdfc; }
.tenant-role-badge { border-radius: 10px; padding: 4px 7px; color: #47725f; background: #eaf4ed; font-size: 9px; font-weight: 750; letter-spacing: .5px; }
.tenant-role-card h3 { margin: 8px 0 2px; color: #2c4b40; font-size: 15px; }
.tenant-role-card p,.tenant-role-card small { margin: 0; color: #899791; font-size: 11px; }
.tenant-role-permissions { display: flex; flex-wrap: wrap; gap: 5px; }
.tenant-role-permissions span { border: 1px solid #e5ece8; border-radius: 10px; padding: 4px 7px; color: #64766f; background: #fff; font-size: 9px; }
.tenant-role-card .mini-action { margin-top: auto; }
.tenant-admin-info { display: flex; flex-direction: column; gap: 4px; margin-top: 15px; padding: 14px 17px; box-shadow: none; }
.tenant-admin-info strong { color: #3b6450; font-size: 12px; }
.tenant-admin-info span { color: #72827c; font-size: 11px; line-height: 1.5; }
.legal-fixed-card { overflow: hidden; }
.legal-fixed-card .tenant-admin-card-heading { align-items: flex-start; }
.legal-fixed-toolbar { display: flex; align-items: flex-end; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.legal-fixed-toolbar > label { display: grid; min-width: 130px; gap: 6px; color: #4e675e; font-size: 11px; font-weight: 700; }
.legal-fixed-toolbar select { width: 100%; min-height: 38px; box-sizing: border-box; padding: 0 9px; border: 1px solid #dfe8e4; border-radius: 8px; color: #29483e; background: #fff; font: inherit; font-size: 11px; }
.legal-fixed-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 2px; }
.legal-fixed-panel { min-width: 0; overflow: hidden; border: 1px solid #e2ebe7; border-radius: 12px; background: linear-gradient(155deg, #fff, #fbfdfc); }
.legal-fixed-panel-heading { padding: 12px; border-bottom: 1px solid #e2ebe7; background: #f4f9f6; }
.legal-fixed-panel-heading > strong { display: block; color: #2e5b4c; font-size: 12px; }
.legal-fixed-column-head { display: grid; grid-template-columns: minmax(0, 1fr) 118px 118px; align-items: center; gap: 8px; margin-top: 10px; color: #789087; font-size: 10px; font-weight: 700; }
.legal-fixed-column-head span { overflow: hidden; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.legal-fixed-column-head span:first-child { text-align: left; }
.legal-fixed-tax-row, .legal-fixed-value-row { display: grid; align-items: center; gap: 8px; min-height: 50px; padding: 7px 12px; border-bottom: 1px solid #edf2ef; }
.legal-fixed-tax-row:last-child, .legal-fixed-value-row:last-child { border-bottom: 0; }
.legal-fixed-tax-row { grid-template-columns: minmax(0, 1fr) 118px 118px; }
.legal-fixed-value-row { grid-template-columns: minmax(0, 1fr) 118px 118px; }
.legal-fixed-tax-row > span, .legal-fixed-value-row > span:first-child { min-width: 0; overflow: hidden; color: #526a60; font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.legal-fixed-tax-row input, .legal-fixed-value-row input { width: 100%; min-width: 0; min-height: 34px; box-sizing: border-box; padding: 6px 8px; border: 1px solid #d5e1db; border-radius: 7px; outline: 0; color: #28483d; background: #fff; font: inherit; font-size: 11px; text-align: right; }
.legal-fixed-tax-row input:focus, .legal-fixed-value-row input:focus { border-color: #70b193; box-shadow: 0 0 0 3px rgba(93,177,143,.13); }
.legal-fixed-exemptions { margin-top: 16px; }
.legal-fixed-exemptions .legal-fixed-column-head { grid-template-columns: minmax(0, 1fr) 118px 118px 108px; }
.legal-fixed-exemptions .legal-fixed-value-row { grid-template-columns: minmax(0, 1fr) 118px 118px 108px; }
.legal-fixed-exemptions .legal-fixed-value-row > em { overflow: hidden; color: #7a8d84; font-size: 10px; font-style: normal; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.legal-fixed-exemptions .legal-fixed-value-row > span:not(:first-child) { min-height: 1px; }
.legal-fixed-card > .platform-modal-footer { align-items: center; justify-content: space-between; }
.legal-fixed-card > .platform-modal-footer small { color: #7d8d86; font-size: 10px; }
@media (max-width: 900px) {
    .legal-fixed-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .legal-fixed-card .tenant-admin-card-heading { align-items: stretch; }
    .legal-fixed-toolbar { align-items: stretch; justify-content: stretch; }
    .legal-fixed-toolbar > .platform-primary-button, .legal-fixed-toolbar > label { flex: 1 1 180px; }
    .legal-fixed-column-head, .legal-fixed-tax-row, .legal-fixed-value-row { grid-template-columns: minmax(0, 1fr) 100px 100px; }
    .legal-fixed-exemptions .legal-fixed-column-head, .legal-fixed-exemptions .legal-fixed-value-row { grid-template-columns: minmax(0, 1fr) 92px 92px 90px; }
}
@media (max-width: 520px) {
    .legal-fixed-panel { overflow-x: auto; }
    .legal-fixed-panel-heading, .legal-fixed-tax-row, .legal-fixed-value-row { min-width: 500px; }
    .legal-fixed-exemptions .legal-fixed-panel-heading, .legal-fixed-exemptions .legal-fixed-value-row { min-width: 620px; }
}
.occupation-import-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.occupation-import-step { display: flex; align-items: flex-start; gap: 13px; min-height: 188px; border: 1px solid #e6ede9; border-radius: 13px; padding: 18px; background: linear-gradient(145deg,#fbfdfc,#f5faf7); }
.occupation-import-number { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: #176247; background: #e4f3e9; font-size: 13px; font-weight: 800; }
.occupation-import-step > div { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 9px; }
.occupation-import-step strong { color: #284b40; font-size: 14px; }
.occupation-import-step p { margin: 0; color: #75867f; font-size: 12px; line-height: 1.6; }
.occupation-import-step input[type=file] { max-width: 100%; color: #526a60; font-size: 12px; }
.occupation-file-hint,.occupation-file-selected { color: #87958f; font-size: 11px; }
.occupation-file-selected { color: #23694d; font-weight: 650; overflow-wrap: anywhere; }
.occupation-import-actions { display: flex; justify-content: flex-end; margin-top: 18px; }
@media(max-width:760px) { .occupation-import-grid { grid-template-columns: 1fr; } .occupation-import-step { min-height: 0; } }
.tenant-role-select { min-width: 145px; border: 1px solid #dfe8e4; border-radius: 7px; padding: 7px 8px; color: #35534a; background: #fff; font: inherit; font-size: 11px; }
.tenant-checkbox { display: flex; align-items: center; gap: 9px; margin: 15px 0; color: #4d665e; font-size: 12px; font-weight: 600; }
.tenant-checkbox input,.tenant-permission-option input { width: 16px; height: 16px; accent-color: #258059; }
.firm-default-checkbox { display:grid; grid-template-columns:16px auto; justify-content:start; align-items:center; gap:4px 9px; }
.firm-default-checkbox small { grid-column:2; color:#81928a; font-size:10px; font-weight:500; }
.edonusum-admin-card { padding: 24px; }
.edonusum-firm-picker { display: grid; max-width: 440px; gap: 7px; margin: 0 0 18px; color: #486259; font-size: 12px; font-weight: 700; }
.edonusum-firm-picker select,.edonusum-form-grid input:not([type=checkbox]),.edonusum-form-grid select,.edonusum-xslt-editor input,.edonusum-xslt-editor textarea { width: 100%; min-width: 0; border: 1px solid #dfe8e4; border-radius: 8px; padding: 9px 10px; color: #29483e; background: #fff; font: inherit; font-size: 12px; }
.edonusum-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.edonusum-panel { min-width: 0; border: 1px solid #e4ece8; border-radius: 13px; padding: 17px; background: linear-gradient(155deg,#fff,#fbfdfc); }
.edonusum-panel h3 { margin: 3px 0; color: #20483e; font-size: 16px; }
.edonusum-panel .tenant-admin-card-heading p { max-width: 700px; line-height: 1.55; }
.edonusum-panel .cari-table-scroll { margin: 0 -3px 13px; }
.edonusum-panel .platform-table { min-width: 700px; }
.edonusum-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px 13px; }
.edonusum-form-grid label,.edonusum-xslt-editor label { display: grid; min-width: 0; gap: 6px; color: #4e675e; font-size: 11px; font-weight: 650; }
.edonusum-form-grid .edonusum-wide { grid-column: 1 / -1; }
.edonusum-form-grid .edonusum-check { display: flex; align-items: center; align-self: end; gap: 8px; min-height: 36px; }
.edonusum-form-grid input[type=checkbox] { width: 16px; height: 16px; accent-color: #258059; }
.edonusum-panel .platform-modal-footer { justify-content: flex-end; margin: 13px 0 0; }
.edonusum-xslt-panel { margin-top: 16px; }
.edonusum-xslt-layout { display: grid; grid-template-columns: minmax(190px,260px) minmax(0,1fr); gap: 18px; }
.edonusum-xslt-list { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: 8px; }
.edonusum-xslt-list input[type=file] { max-width: 100%; margin-top: 8px; color: #60766c; font-size: 11px; }
.edonusum-xslt-item { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; border: 1px solid #e4ece8; border-radius: 9px; padding: 11px; color: #37584d; background: #fbfdfc; text-align: left; cursor: pointer; }
.edonusum-xslt-item:hover { border-color: #a8cbbb; background: #f2faf5; }
.edonusum-xslt-item small { color: #82928b; font-size: 10px; }
.edonusum-xslt-editor { display: grid; min-width: 0; gap: 12px; }
.edonusum-xslt-editor .edonusum-xslt-source textarea { min-height: 400px; resize: vertical; font-family: Consolas,monospace; font-size: 11px; line-height: 1.5; tab-size: 2; }
.edonusum-xslt-editor .edonusum-form-grid { max-width: 460px; }
.edonusum-file-picker { display: grid; gap: 6px; margin-top: 6px; color: #45645a; font-size: 11px; font-weight: 700; }
.edonusum-file-picker input[type=file] { max-width: 100%; color: #60766c; font: inherit; font-size: 11px; }
.edonusum-file-picker small { color: #81928a; font-size: 10px; font-weight: 500; }
.edonusum-design-assets { display: grid; grid-template-columns: minmax(150px,.72fr) minmax(0,1.8fr); gap: 13px; border: 1px solid #e3ece7; border-radius: 11px; padding: 13px; background: linear-gradient(135deg,#fbfdfc,#f5faf7); }
.edonusum-design-logo,.edonusum-design-banks { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 8px; }
.edonusum-design-logo strong,.edonusum-design-banks strong { color: #35584c; font-size: 11px; }
.edonusum-design-logo img { width: 100%; max-width: 180px; height: 82px; border: 1px solid #e2eae6; border-radius: 8px; padding: 7px; background: #fff; object-fit: contain; }
.edonusum-design-logo small,.edonusum-design-banks small { color: #75877f; font-size: 10px; line-height: 1.45; }
.edonusum-bank-grid { display: grid; width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.edonusum-bank-grid label { display: grid; min-width: 0; gap: 5px; color: #536d63; font-size: 10px; font-weight: 650; }
.edonusum-bank-grid select { width: 100%; min-width: 0; border: 1px solid #dfe8e4; border-radius: 8px; padding: 8px; color: #29483e; background: #fff; font: inherit; font-size: 10px; }
.edonusum-design-banks a { color: #247d5c; font-weight: 700; }
@media(max-width:1050px) { .edonusum-grid { grid-template-columns: 1fr; } }
@media(max-width:760px) { .edonusum-admin-card { padding: 16px; } .edonusum-xslt-layout { grid-template-columns: 1fr; } .edonusum-form-grid { grid-template-columns: 1fr; } .edonusum-form-grid .edonusum-wide { grid-column: auto; } .edonusum-design-assets { grid-template-columns: 1fr; } .edonusum-bank-grid { grid-template-columns: 1fr; } }
.tenant-firm-check-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 14px; border: 1px solid #e8efeb; border-radius: 10px; padding: 5px 12px; }
.tenant-permission-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 16px; }
.tenant-permission-option { display: flex; align-items: flex-start; gap: 9px; border: 1px solid #e6ede9; border-radius: 9px; padding: 10px; background: #fbfdfc; }
.tenant-permission-option span { display: flex; flex-direction: column; gap: 3px; }
.tenant-permission-option strong { color: #405e53; font-size: 11px; }
.tenant-permission-option small { color: #87948f; font-size: 10px; }
.tenant-settings-card { max-width: 850px; }
.tenant-settings-card .form-grid textarea { width: 100%; padding: 10px; border: 1px solid #dfe8e4; border-radius: 8px; color: #263e39; background: #fbfdfc; font: inherit; font-size: 12px; resize: vertical; }
.firm-quota-notice { display: flex; flex-direction: column; gap: 4px; margin: 0 0 17px; border: 1px solid #dcebe2; border-radius: 10px; padding: 13px 15px; color: #36664e; background: #f2f8f4; }
.firm-quota-notice strong { font-size: 13px; }
.firm-quota-notice span { color: #6d8177; font-size: 11px; line-height: 1.5; }
.firm-quota-notice.firm-quota-full { border-color: #f0d7b7; color: #8b5720; background: #fff8ef; }
.firm-quota-notice.firm-quota-full span { color: #947654; }
.firm-card-modal { width: min(100%, 1040px); }
.firm-card-modal { height: min(92vh, 900px); }
.firm-card-modal > .platform-modal-body { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; overflow: hidden; }
.firm-card-modal > .platform-modal-body > form { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.firm-card-form-content { min-height: 0; flex: 1; overflow-y: auto; padding-bottom: 22px; }
.firm-card-modal > .platform-modal-body > form > .platform-modal-footer { position: sticky; bottom: 0; z-index: 1; flex: 0 0 auto; margin: 0; padding: 15px 0 0; background: #fff; box-shadow: 0 -8px 18px rgba(24,67,51,.06); }
.firm-general-layout { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap:10px; }
.firm-general-panel { border:1px solid #cfd9e4; border-radius:10px; background:#f2f5f8; overflow:visible; }
.firm-general-panel > header { display:flex; align-items:center; gap:8px; min-height:38px; padding:0 11px; border-bottom:1px solid #cfd9e4; color:#1b2738; font-size:13px; background:#e9eef4; }
.firm-panel-icon { display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px; border-radius:4px; color:#2b73d2; background:#e1ecff; font-size:13px; }
.firm-general-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 10px; padding:12px; }
.firm-general-fields label { display:flex; flex-direction:column; gap:4px; min-width:0; color:#526176; font-size:11px; font-weight:600; }
.firm-general-fields .firm-field-wide { grid-column:1 / -1; }
.firm-general-fields textarea { width:100%; min-height:42px; resize:vertical; }
.firm-logo-editor { display:flex; gap:10px; padding:12px 12px 4px; align-items:center; }
.firm-logo-box { width:120px; height:80px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid #cdd7e1; border-radius:4px; background:#f8fafc; color:#8a96a6; font-size:11px; text-align:center; }
.firm-logo-box img { width:100%; height:100%; object-fit:contain; }
.firm-logo-actions { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.firm-logo-actions small { color:#8a96a6; font-size:10px; font-weight:500; }
.firm-image-button { display:inline-flex; align-items:center; gap:5px; min-height:27px; padding:0 10px; border:1px solid #178bd0; border-radius:7px; color:#0874b4; background:#e9f7ff; font-size:11px; font-weight:700; cursor:pointer; }
.firm-image-button input[type=file] { display:none !important; }
.firm-image-remove { border-color:#9ba8ba; color:#69778b; background:#f0f3f7; }
.firm-tax-office-picker { position:relative; display:flex; gap:4px; }
.firm-tax-office-picker input { flex:1; min-width:0; }
.firm-tax-office-picker > button { width:34px; border:1px solid #178bd0; border-radius:7px; color:#0874b4; background:#e9f7ff; cursor:pointer; font-weight:800; }
.firm-tax-office-picker .tax-office-results { left:0; right:34px; }
.firm-default-checkbox { flex-direction:row !important; flex-wrap:wrap; align-items:center; gap:7px !important; }
.firm-default-checkbox small { width:100%; margin-left:24px; }
@media (max-width: 760px) { .firm-general-layout { grid-template-columns:1fr; } }
.firm-contact-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr); gap:10px; }
.firm-contact-panel { min-width:0; border:1px solid #cfd9e4; border-radius:10px; background:#f2f5f8; overflow:visible; }
.firm-contact-panel > header { display:flex; align-items:center; gap:8px; min-height:38px; padding:0 11px; border-bottom:1px solid #cfd9e4; color:#1b2738; font-size:13px; background:#e9eef4; }
.firm-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; padding:11px; }
.firm-address-panel .firm-contact-fields { grid-template-columns:repeat(12,minmax(0,1fr)); }
.firm-contact-fields label { display:flex; min-width:0; flex-direction:column; gap:4px; color:#526176; font-size:11px; font-weight:600; }
.firm-contact-fields label:nth-child(1), .firm-contact-fields label:nth-child(2), .firm-contact-fields label:nth-child(3) { grid-column:span 2; }
.firm-address-panel .firm-contact-fields label:nth-child(1), .firm-address-panel .firm-contact-fields label:nth-child(2), .firm-address-panel .firm-contact-fields label:nth-child(3) { grid-column:span 4; }
.firm-address-panel .firm-contact-fields label:nth-child(4), .firm-address-panel .firm-contact-fields label:nth-child(5), .firm-address-panel .firm-contact-fields label:nth-child(6), .firm-address-panel .firm-contact-fields label:nth-child(7) { grid-column:span 6; }
.firm-address-panel .firm-contact-fields label:nth-child(8), .firm-address-panel .firm-contact-fields label:nth-child(9), .firm-address-panel .firm-contact-fields label:nth-child(10), .firm-address-panel .firm-contact-fields label:nth-child(11) { grid-column:span 3; }
.firm-contact-wide { grid-column:1 / -1 !important; }
.firm-contact-fields textarea { width:100%; min-height:78px; resize:vertical; border:1px solid #dfe8e4; border-radius:7px; padding:8px 10px; color:#526176; background:#f8fafc; font:inherit; font-size:12px; }
.firm-contact-fields input { min-width:0; }
@media (max-width: 760px) { .firm-contact-layout { grid-template-columns:1fr; } .firm-address-panel .firm-contact-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .firm-address-panel .firm-contact-fields label { grid-column:span 1 !important; } .firm-address-panel .firm-contact-fields .firm-contact-wide { grid-column:1 / -1 !important; } }
.firm-definitions-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
.firm-definition-panel { min-width:0; border:1px solid #cfd9e4; border-radius:10px; background:#f2f5f8; overflow:visible; }
.firm-definition-panel > header { display:flex; align-items:center; gap:8px; min-height:38px; padding:0 11px; border-bottom:1px solid #cfd9e4; color:#1b2738; font-size:13px; background:#e9eef4; }
.firm-definition-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; padding:11px; }
.firm-definition-fields label { display:flex; min-width:0; flex-direction:column; gap:4px; color:#526176; font-size:11px; font-weight:600; }
.firm-definition-wide { grid-column:1 / -1; }
.firm-password-input, .firm-phone-pair { display:flex; min-width:0; gap:4px; }
.firm-password-input input, .firm-phone-pair input { min-width:0; flex:1; }
.firm-password-input button { flex:0 0 34px; border:0; border-radius:6px; color:#fff; background:#f39a00; cursor:pointer; }
.firm-withholding-panel { margin-top:10px; }
.firm-withholding-fields { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px 24px 20px; }
@media (max-width:760px) { .firm-definitions-grid { grid-template-columns:1fr; } .firm-withholding-fields { grid-template-columns:1fr; padding:12px; } }
.firm-branch-toolbar { display:flex; align-items:center; gap:5px; min-height:44px; border:1px solid #cfd9e4; border-bottom:0; border-radius:9px 9px 0 0; padding:6px 10px; background:#f6f8fa; }
.firm-toolbar-button { display:inline-flex; align-items:center; gap:5px; min-height:32px; border:1px solid #39b878; border-radius:8px; padding:0 12px; color:#16834b; background:#eafff1; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.firm-toolbar-edit { border-color:#37b979; color:#16834b; background:#eafff1; }
.firm-toolbar-delete { border-color:#ec6464; color:#cf3030; background:#fff0f0; }
.firm-toolbar-button:disabled { opacity:.45; cursor:not-allowed; }
.firm-branch-table-wrap { height:420px; overflow:auto; border:1px solid #cfd9e4; border-radius:0 0 9px 9px; background:#f1f4f7; }
.firm-branch-table { width:100%; border-collapse:collapse; table-layout:fixed; color:#2d3a4a; font-size:11px; }
.firm-branch-table th, .firm-branch-table td { border-right:1px solid #cfd9e4; border-bottom:1px solid #cfd9e4; padding:6px 8px; text-align:left; }
.firm-branch-table th { position:sticky; top:0; z-index:1; color:#334152; background:#e8edf2; font-weight:700; }
.firm-branch-table th:nth-child(1) { width:35%; } .firm-branch-table th:nth-child(2) { width:29%; } .firm-branch-table th:nth-child(3) { width:18%; } .firm-branch-table th:nth-child(4) { width:18%; }
.firm-branch-table tbody tr { cursor:pointer; background:#f1f4f7; }
.firm-branch-table tbody tr:hover, .firm-branch-table tbody tr.selected { background:#dbeaff; }
.firm-branch-table tbody tr.archived { color:#8b96a4; background:#e8ebee; }
.firm-branch-empty-cell { height:360px; color:#8693a2; text-align:center !important; vertical-align:middle; }
.firm-unit-toolbar { display:flex; align-items:center; gap:5px; min-height:44px; border:1px solid #cfd9e4; border-bottom:0; border-radius:9px 9px 0 0; padding:6px 10px; background:#f6f8fa; }
.firm-unit-table-wrap { height:420px; overflow:auto; border:1px solid #cfd9e4; border-radius:0 0 9px 9px; background:#f1f4f7; }
.firm-unit-table { width:100%; border-collapse:collapse; table-layout:fixed; color:#2d3a4a; font-size:11px; }
.firm-unit-table th, .firm-unit-table td { border-right:1px solid #cfd9e4; border-bottom:1px solid #cfd9e4; padding:6px 8px; text-align:left; }
.firm-unit-table th { position:sticky; top:0; z-index:1; color:#334152; background:#e8edf2; font-weight:700; }
.firm-unit-table th:first-child { width:83%; } .firm-unit-table th:last-child { width:17%; }
.firm-unit-table tbody tr { cursor:pointer; background:#f1f4f7; }
.firm-unit-table tbody tr:hover, .firm-unit-table tbody tr.selected { background:#dbeaff; }
.firm-unit-empty-cell { height:360px; color:#8693a2; text-align:center !important; vertical-align:middle; }
.firm-unit-editor { margin-top:10px; border:1px solid #cfd9e4; border-radius:9px; padding:12px; background:#f2f5f8; }
.firm-arge-toolbar { display:flex; align-items:center; gap:5px; min-height:44px; border:1px solid #cfd9e4; border-bottom:0; border-radius:9px 9px 0 0; padding:6px 10px; background:#f6f8fa; }
.firm-arge-table-wrap { height:420px; overflow:auto; border:1px solid #cfd9e4; border-radius:0 0 9px 9px; background:#f1f4f7; }
.firm-arge-table { width:100%; border-collapse:collapse; table-layout:fixed; color:#2d3a4a; font-size:11px; }
.firm-arge-table th, .firm-arge-table td { border-right:1px solid #cfd9e4; border-bottom:1px solid #cfd9e4; padding:6px 8px; text-align:left; }
.firm-arge-table th { position:sticky; top:0; z-index:1; color:#334152; background:#e8edf2; font-weight:700; }
.firm-arge-table th:first-child { width:50%; } .firm-arge-table th:last-child { width:50%; }
.firm-arge-table tbody tr { cursor:pointer; background:#f1f4f7; }
.firm-arge-table tbody tr:hover, .firm-arge-table tbody tr.selected { background:#dbeaff; }
.firm-arge-empty-cell { height:360px; color:#8693a2; text-align:center !important; vertical-align:middle; }
.firm-arge-editor { margin-top:10px; border:1px solid #cfd9e4; border-radius:9px; padding:12px; background:#f2f5f8; }
.arge-project-backdrop { z-index: 1010; }
.arge-project-modal { width: min(100%, 760px); max-height: calc(100vh - 28px); }
.arge-project-modal > .firm-arge-editor { min-height: 0; max-height: calc(100vh - 28px); overflow: auto; margin: 0; border: 0; border-radius: 0; padding: 20px 24px 22px; background: #fff; }
.firm-arge-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 14px; padding:12px 0; }
.firm-arge-fields label { display:flex; min-width:0; flex-direction:column; gap:4px; color:#526176; font-size:11px; font-weight:600; }
.firm-arge-wide { grid-column:1 / -1; }
.firm-union-toolbar { display:flex; align-items:center; gap:5px; min-height:44px; border:1px solid #cfd9e4; border-bottom:0; border-radius:9px 9px 0 0; padding:6px 10px; background:#f6f8fa; }
.firm-union-table-wrap { height:420px; overflow:auto; border:1px solid #cfd9e4; border-radius:0 0 9px 9px; background:#f1f4f7; }
.firm-union-table, .firm-union-raises, .firm-union-payments { width:100%; border-collapse:collapse; color:#2d3a4a; font-size:11px; }
.firm-union-table th, .firm-union-table td, .firm-union-raises th, .firm-union-raises td, .firm-union-payments th, .firm-union-payments td { border-right:1px solid #cfd9e4; border-bottom:1px solid #cfd9e4; padding:6px 8px; text-align:left; }
.firm-union-table th, .firm-union-raises th, .firm-union-payments th { position:sticky; top:0; z-index:1; color:#334152; background:#e8edf2; font-weight:700; }
.firm-union-table tbody tr, .firm-union-payments tbody tr { cursor:pointer; background:#f1f4f7; }
.firm-union-table tbody tr:hover, .firm-union-table tbody tr.selected, .firm-union-payments tbody tr.selected { background:#dbeaff; }
.firm-union-empty-cell { height:360px; color:#8693a2; text-align:center !important; vertical-align:middle; }
.firm-union-editor { margin-top:10px; border:1px solid #cfd9e4; border-radius:9px; padding:12px; background:#f2f5f8; }
.union-card-backdrop { z-index: 1010; }
.union-card-modal { width: min(100%, 1040px); max-height: calc(100vh - 28px); }
.union-card-modal > .firm-union-editor { min-height: 0; max-height: calc(100vh - 28px); overflow: auto; margin: 0; border: 0; border-radius: 0; padding: 20px 24px 22px; background: #fff; }
.union-card-modal .firm-union-tabs { margin: -20px -24px 12px; padding: 8px 20px 0; }
.firm-union-tabs { display:flex; gap:4px; margin:-12px -12px 12px; padding:8px 10px 0; border-bottom:1px solid #cfd9e4; background:#e9eef3; }
.firm-union-tabs button { border:0; border-bottom:2px solid transparent; padding:8px 13px; color:#526176; background:transparent; cursor:pointer; font:inherit; font-size:11px; font-weight:700; }
.firm-union-tabs button.active { border-bottom-color:#2563eb; color:#173c87; background:#f7fbff; }
.firm-union-general-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr); gap:14px; }
.firm-union-general-grid .form-grid { align-content:start; }
.firm-union-rates { display:grid; grid-template-columns:1fr 1fr; gap:7px 10px; padding:10px; border:1px solid #cfd9e4; border-radius:8px; background:#e8edf2; }
.firm-union-rates strong { grid-column:1/-1; color:#334152; }
.firm-union-rates label, .firm-union-payment-editor label { display:flex; flex-direction:column; gap:3px; color:#526176; font-size:10px; font-weight:700; }
.firm-union-subheading, .firm-union-payment-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:12px 0 6px; }
.firm-union-raises input, .firm-union-payments input { height:32px !important; padding:0 6px !important; }
.firm-union-payment-editor { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 12px; margin-top:10px; padding:10px; border:1px solid #cfd9e4; border-radius:8px; background:#eef3f7; }
.firm-union-payment-editor .form-grid-wide { grid-column:1/-1; }
.firm-union-payment-editor > button { align-self:end; }
.firm-union-documents-placeholder { min-height:190px; display:flex; align-items:center; justify-content:center; border:1px dashed #b8c5d3; border-radius:8px; color:#68788c; background:#f7f9fb; }
@media (max-width: 760px) { .firm-union-general-grid, .firm-union-payment-editor { grid-template-columns:1fr; } .firm-union-rates { grid-template-columns:1fr; } }
.union-payment-backdrop { z-index: 40; }
.union-payment-dialog { width:min(100%,780px); max-height:calc(100vh - 28px); overflow:hidden; }
.union-payment-dialog-header { background:#dfe6ef; color:#1f2a3a; }
.union-payment-dialog-header h2 { margin:4px 0; font-size:20px; }
.union-payment-dialog-header p { margin:0; color:#627083; }
.union-payment-dialog-tabs { display:flex; gap:2px; padding:12px 20px 0; border-bottom:1px solid #c7d2df; background:#f9fbfd; }
.union-payment-dialog-tabs button { border:0; border-bottom:2px solid transparent; padding:9px 14px; background:transparent; color:#354255; cursor:pointer; font:inherit; font-size:12px; }
.union-payment-dialog-tabs button.active { border-bottom-color:#2563eb; color:#102e68; background:#edf3fb; font-weight:700; }
.union-payment-dialog-body { max-height:calc(100vh - 230px); overflow:auto; padding:14px 20px; background:#fff; }
.union-payment-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr); gap:16px; }
.union-payment-main-fields, .union-payment-side { display:grid; align-content:start; gap:9px; }
.union-payment-main-fields label, .union-payment-side label { display:flex; align-items:center; gap:8px; color:#39475a; font-size:11px; }
.union-payment-main-fields label > :last-child, .union-payment-side label > :last-child { flex:1; min-width:0; }
.union-payment-amount { display:flex; align-items:center; gap:7px; flex:1; }
.union-payment-amount input[type=number] { width:130px !important; flex:0 0 130px !important; }
.union-payment-amount label { white-space:nowrap; }
.union-payment-wide { grid-column:1/-1; }
.union-months { grid-column:1/-1; min-height:150px; margin:2px 0 0; padding:8px 12px; border:1px solid #cbd6e1; border-radius:6px; }
.union-months legend, .union-payment-side legend { padding:0 5px; color:#26374d; font-size:11px; font-weight:700; }
.union-months > div { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.union-months .tenant-checkbox { font-size:11px; font-weight:500; }
.union-payment-side fieldset { margin:0; padding:10px; border:1px solid #cbd6e1; border-radius:6px; background:#f8fafc; }
.union-seniority-heading, .union-seniority-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; align-items:center; }
.union-seniority-heading { margin:0 0 4px 65px; color:#5c6b7d; font-size:10px; }
.union-seniority-row { grid-template-columns:66px 1fr 1fr; margin:4px 0; }
.union-seniority-row label { font-size:10px; }
.union-exemption-grid { display:grid; gap:12px; padding:14px; border:1px solid #cbd6e1; border-radius:7px; background:#f8fafc; }
.union-exemption-grid p { margin:4px 0 0; color:#6b7787; font-size:11px; }
@media (max-width: 720px) { .union-payment-grid { grid-template-columns:1fr; } .union-months { grid-column:auto; } .union-months > div { grid-template-columns:repeat(2,1fr); } .union-payment-main-fields label, .union-payment-side label { align-items:stretch; flex-direction:column; gap:3px; } }
.firm-card-tabs { display: flex; gap: 6px; overflow-x: auto; margin: 2px 0 18px; border-bottom: 1px solid #e7eeea; }
.firm-card-tab { flex: 0 0 auto; border: 0; border-bottom: 2px solid transparent; padding: 11px 13px; color: #748780; background: transparent; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.firm-card-tab.active { border-bottom-color: #26946a; color: #247354; }
.firm-card-modal .form-grid label { min-width: 0; }
.firm-card-modal input:not([type=checkbox]):not([type=file]), .firm-card-modal select { width: 100%; min-width: 0; height: 40px; padding: 0 11px; border: 1px solid #dfe8e4; border-radius: 8px; outline: 0; color: #263e39; background: #fbfdfc; font: inherit; font-size: 12px; }
.firm-card-modal input:focus, .firm-card-modal select:focus { border-color: #6fb99b; box-shadow: 0 0 0 3px rgba(93,177,143,.13); }
.firm-card-modal input[type=file] { padding: 8px; border: 1px solid #dfe8e4; border-radius: 8px; color: #526c62; background: #fbfdfc; }
.firm-card-modal label small { color: #889891; font-size: 10px; font-weight: 500; }
.tax-office-picker { position: relative; }
.tax-office-results { position: absolute; z-index: 5; top: calc(100% + 4px); left: 0; right: 0; max-height: 230px; overflow-y: auto; border: 1px solid #dfe8e4; border-radius: 9px; background: white; box-shadow: 0 12px 28px #163b2e24; }
.tax-office-results button { display: flex; width: 100%; flex-direction: column; gap: 3px; border: 0; border-bottom: 1px solid #edf1ef; padding: 10px 12px; text-align: left; background: white; color: #29493d; cursor: pointer; }
.tax-office-results button:hover { background: #f2f8f4; }
.tax-office-results small { color: #80928a; }
.firm-tab-intro { margin: 0 0 15px; color: #71857c; font-size: 12px; }
.firm-logo-preview { display: flex; align-items: center; gap: 12px; grid-column: 1 / -1; }
.firm-logo-preview img { width: 88px; height: 64px; object-fit: contain; border: 1px solid #e2ebe6; border-radius: 8px; padding: 5px; }
.firm-branches-editor { display: flex; flex-direction: column; gap: 12px; }
.firm-branches-heading { display: flex; align-items: center; justify-content: space-between; color: #35574b; font-size: 13px; }
.firm-branch-card { display: flex; flex-direction: column; gap: 12px; border: 1px solid #e2ebe6; border-radius: 12px; padding: 15px; background: #fbfdfc; }
.firm-branch-card.is-archived { background: #f5f6f5; opacity: .8; }
.firm-branch-card-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.firm-branch-card-title div { display: flex; flex-direction: column; gap: 4px; }
.firm-branch-card-title strong { color: #29493d; font-size: 14px; }
.firm-branch-card-title span,.firm-branch-card-meta { color: #75877f; font-size: 11px; }
.firm-branch-status { border-radius: 99px; padding: 4px 9px; background: #eaf5ee; color: #39704f !important; }
.firm-branch-card.is-archived .firm-branch-status { background: #eceeed; color: #697771 !important; }
.firm-branch-card-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.firm-branch-card-actions { display: flex; gap: 8px; }
.firm-branch-editor { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; border: 1px solid #cfe2d8; border-radius: 12px; padding: 17px; background: #f7fbf8; }
.firm-branch-editor h3 { margin: 6px 0 0; color: #35574b; font-size: 13px; }
.firm-branch-editor-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 7px; }
.branch-card-backdrop { z-index: 1010; }
.branch-card-modal { width: min(100%, 1080px); max-height: calc(100vh - 28px); }
.branch-card-modal > .firm-branch-editor { min-height: 0; max-height: calc(100vh - 28px); overflow: auto; margin: 0; border: 0; border-radius: 0; padding: 19px 24px 22px; background: #fff; }
.branch-card-modal > .firm-branch-editor > .firm-branches-heading { position: sticky; top: -19px; z-index: 3; margin: -19px -24px 0; padding: 15px 24px 12px; border-bottom: 1px solid #edf1ef; background: #fff; }
.branch-card-modal > .firm-branch-editor > .firm-branch-editor-actions:last-child { position: sticky; bottom: -22px; z-index: 3; margin: 0 -24px -22px; padding: 14px 24px 12px; border-top: 1px solid #edf1ef; background: #fff; box-shadow: 0 -8px 18px rgba(24,67,51,.06); }
.salary-group-backdrop { z-index: 1020; }
.salary-group-modal { width: min(100%, 760px); max-height: calc(100vh - 28px); }
.salary-group-modal > .firm-branch-salary-editor { min-height: 0; max-height: calc(100vh - 28px); overflow: auto; margin: 0; border: 0; border-radius: 0; padding: 20px 24px 22px; background: #fff; }
.branch-shift-backdrop { z-index: 1020; }
.branch-shift-modal { width: min(100%, 620px); max-height: calc(100vh - 28px); }
.branch-shift-modal > .firm-branch-shift-editor { min-height: 0; max-height: calc(100vh - 28px); overflow: auto; margin: 0; border: 0; border-radius: 0; padding: 20px 24px 22px; background: #fff; }
.firm-empty-branches { padding: 24px; border: 1px dashed #d9e4de; border-radius: 10px; color: #899990; text-align: center; font-size: 12px; }
@media (max-width: 760px) { .firm-branch-card-title { align-items: flex-start; } .firm-branch-card-meta { flex-direction: column; gap: 5px; } .firm-branch-editor { padding: 12px; } }
.cari-list-card { padding: 20px; }
.cari-list-toolbar { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(260px,1.5fr) auto auto; align-items: end; gap: 12px; margin-bottom: 18px; }
.cari-list-toolbar label { display: flex; min-width: 0; flex-direction: column; gap: 6px; color: #526a62; font-size: 11px; font-weight: 700; }
.cari-list-toolbar input:not([type=checkbox]),.cari-list-toolbar select,.cari-card-modal input:not([type=checkbox]):not([type=file]),.cari-card-modal select,.cari-card-modal textarea { width: 100%; min-width: 0; min-height: 40px; border: 1px solid #dfe8e4; border-radius: 8px; padding: 8px 11px; outline: 0; color: #263e39; background: #fbfdfc; font: inherit; font-size: 12px; }
.cari-list-toolbar input:focus,.cari-list-toolbar select:focus,.cari-card-modal input:focus,.cari-card-modal select:focus,.cari-card-modal textarea:focus { border-color: #6fb99b; box-shadow: 0 0 0 3px rgba(93,177,143,.13); }
.cari-list-toolbar .cari-inactive-toggle { display: flex; flex-direction: row; align-items: center; gap: 7px; min-height: 40px; white-space: nowrap; }
.cari-list-toolbar .cari-inactive-toggle input { accent-color: #25845d; }
.cari-search { position: relative; }
.cari-list-toolbar .button { min-height: 40px; }
.cari-table-scroll { overflow-x: auto; border: 1px solid #e8eeeb; border-radius: 10px; }
.cari-table { width: 100%; min-width: 860px; border-collapse: collapse; }
.cari-balance-table { min-width: 1380px; }
.cari-table .numeric-cell { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.balance-side { display: inline-flex; min-width: 26px; justify-content: center; border-radius: 99px; padding: 4px 8px; font-size: 10px; font-weight: 800; }
.balance-side.debit { color: #256746; background: #e6f4eb; }
.balance-side.credit { color: #9b4f38; background: #fff0e9; }
.balance-side.neutral { color: #74817a; background: #eff2f0; }
.cari-table th { padding: 12px 13px; color: #71817c; background: #f8faf9; text-align: left; font-size: 10px; text-transform: uppercase; letter-spacing: .35px; }
.cari-table td { border-top: 1px solid #eff3f1; padding: 12px 13px; color: #405b52; font-size: 12px; }
.cari-table td > small { display: block; margin-top: 3px; color: #82918b; font-size: 10px; }
.cari-ledger-field { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.cari-ledger-field > label { color: #50675f; font-size: 11px; font-weight: 700; }
.cari-ledger-field > small { color: #83928c; font-size: 10px; line-height: 1.4; }
.cari-ledger-input-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 7px; }
.cari-ledger-input-row .account-code-picker { min-width: 0; }
.cari-auto-account-button { min-height: 39px; white-space: nowrap; font-size: 10px; }
.cari-title-cell { color: #29493d; font-weight: 650; }
.cari-title-link { display: block; width: 100%; padding: 0; border: 0; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.cari-title-link:hover:not(:disabled) { color: #315fa8; text-decoration: underline; text-underline-offset: 3px; }
.cari-title-link:focus-visible { outline: 2px solid #6b93d0; outline-offset: 3px; border-radius: 2px; }
.cari-title-link:disabled { cursor: not-allowed; opacity: .65; }
.cari-delete-confirm-modal { width: min(520px, calc(100vw - 30px)); }
.cari-delete-progress-overlay { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 24px; background: rgba(13,27,47,.48); backdrop-filter: blur(5px); }
.cari-delete-progress-card { width: min(430px, calc(100vw - 40px)); padding: 26px 28px; border: 1px solid #e0e8f1; border-radius: 18px; background: linear-gradient(145deg,#fff,#f8faff); box-shadow: 0 28px 80px rgba(10,25,48,.28); animation: cari-delete-progress-enter .18s ease-out; }
.cari-delete-progress-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 22px; }
.cari-delete-progress-heading > div { display: grid; gap: 4px; }
.cari-delete-progress-heading small { color: #8997aa; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.cari-delete-progress-heading h2 { margin: 0; color: #203754; font-size: 19px; font-weight: 750; }
.cari-delete-progress-spinner { width: 23px; height: 23px; flex: 0 0 23px; border: 3px solid #f2d9c7; border-top-color: #ce743d; border-radius: 50%; animation: cari-delete-progress-spin .72s linear infinite; }
.cari-delete-progress-track { height: 9px; overflow: hidden; border-radius: 999px; background: #e8edf4; box-shadow: inset 0 1px 2px #1b34500d; }
.cari-delete-progress-track span { display: block; width: 38%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#c56c37,#e5a15e,#c56c37); animation: cari-delete-progress-slide 1.2s ease-in-out infinite; }
.cari-delete-progress-card p { margin: 15px 0 5px; color: #40536b; font-size: 13px; line-height: 1.55; }
.cari-delete-progress-card > small { color: #8794a6; font-size: 11px; }
@keyframes cari-delete-progress-spin { to { transform: rotate(360deg); } }
@keyframes cari-delete-progress-slide { 0% { transform: translateX(-110%); } 100% { transform: translateX(370%); } }
@keyframes cari-delete-progress-enter { from { opacity: 0; transform: translateY(6px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
.cari-status { display: inline-flex; border-radius: 99px; padding: 4px 9px; font-size: 10px; font-weight: 700; }
.cari-status.active { color: #39704f; background: #eaf5ee; }
.cari-status.inactive { color: #697771; background: #eceeed; }
.cari-empty-state { display: flex; min-height: 160px; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #7d8e86; text-align: center; font-size: 12px; }
.cari-empty-state strong { color: #35574b; font-size: 14px; }
.cari-list-footer { padding: 12px 3px 0; color: #8a9993; font-size: 10px; }
.cari-card-modal { width: min(920px, calc(100vw - 30px)); max-height: min(92vh, 900px); overflow-y: auto; }
.cari-card-modal textarea { min-height: auto; resize: vertical; }
.cari-card-modal .firm-card-tabs { margin-bottom: 18px; }
.finance-tabs { margin-bottom: 18px; }
.finance-toolbar { grid-template-columns: minmax(180px,.8fr) minmax(260px,1.5fr) auto auto; }
.finance-card-modal { width: min(960px, calc(100vw - 30px)); }
.finance-card-modal .annual-opening-panel { margin-top: 20px; padding: 16px; border: 1px solid #e3ece7; border-radius: 10px; background: #f8fbf9; }
.annual-opening-panel > div:first-child { display: flex; flex-direction: column; gap: 4px; color: #315448; font-size: 13px; }
.annual-opening-panel small { color: #7c8e85; font-size: 11px; font-weight: 400; }
.annual-balance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.annual-balance-grid label { display: flex; flex-direction: column; gap: 6px; color: #526a62; font-size: 11px; font-weight: 700; }
.annual-balance-grid input { width: 100%; min-width: 0; min-height: 40px; border: 1px solid #dfe8e4; border-radius: 8px; padding: 8px 11px; color: #263e39; background: #fff; font: inherit; font-size: 12px; }
.annual-empty { color: #a1612c; font-size: 12px; }
.finance-card-modal .form-grid label small { color: #899b93; font-size: 10px; font-weight: 400; line-height: 1.4; }
.cash-operation-header { align-items: center; }
.cash-operation-card { overflow: visible; }
.cash-operation-context { display: flex; align-items: stretch; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.cash-flow-rule { display: flex; flex-direction: column; justify-content: center; min-width: 310px; padding: 10px 14px; border: 1px solid #d8e8e0; border-radius: 10px; background: #f5faf7; }
.cash-flow-rule.receipt { border-left: 4px solid #20845f; }
.cash-flow-rule.payment { border-left: 4px solid #b56b21; background: #fffaf4; }
.cash-flow-rule strong { color: #284b3e; font-size: 12px; }
.cash-flow-rule small { margin-top: 3px; color: #7b8d85; font-size: 10px; }
.cash-operation-toolbar { display: grid; grid-template-columns: 160px 160px minmax(260px,1fr) auto; align-items: end; gap: 12px; margin-bottom: 16px; padding: 14px; border: 1px solid #e4ece8; border-radius: 11px; background: #fbfdfc; }
.cash-operation-toolbar label { display: flex; flex-direction: column; gap: 5px; color: #60736a; font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.cash-operation-toolbar input { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #dce7e1; border-radius: 8px; color: #263e39; background: #fff; font: inherit; font-size: 12px; }
.cash-operation-table-wrap { overflow: auto; }
.cash-operation-table { min-width: 1120px; }
.cash-operation-table td { vertical-align: top; }
.cash-operation-table .table-cell-note { display: block; max-width: 190px; margin-top: 3px; overflow: hidden; color: #85958e; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.cash-account-badge { display: inline-flex; padding: 4px 8px; border: 1px solid #d8e7df; border-radius: 999px; color: #285544; background: #f3f9f6; font-size: 10px; font-weight: 750; }
.cash-operation-modal { width: min(900px,calc(100vw - 28px)); }
.bank-movement-toolbar { grid-template-columns: 150px 150px minmax(190px,1fr) minmax(240px,1.2fr) auto; }
.bank-movement-toolbar select { width:100%; min-height:38px; padding:8px 10px; border:1px solid #dce7e1; border-radius:8px; color:#263e39; background:#fff; font:inherit; font-size:12px; }
.movement-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; color:#7c8e85; font-size:11px; }
.movement-pagination>div { display:flex; gap:7px; }
.movement-page-buttons { align-items:center; flex-wrap:wrap; }
.movement-page-number { min-width:34px; padding:7px 9px; border:1px solid #d7e0eb; background:#fff; color:#4e6179; }
.movement-page-number.active { border-color:#315fa8; background:#315fa8; color:#fff; font-weight:750; }
.movement-page-ellipsis { display:inline-flex; align-items:center; justify-content:center; min-width:24px; color:#7c8e85; }
.cash-account-badge.movement-receipt { border-color: #c9e5d5; color: #236146; background: #eef9f2; }
.cash-account-badge.movement-payment { border-color: #ecd9bc; color: #87541e; background: #fff8ed; }
.cash-account-badge.movement-expense { border-color: #e2ceda; color: #80405f; background: #fff3f8; }
.cash-operation-modal.accounting-fast-entry .platform-modal-body { flex: 1; min-height: 0; }
.expense-card-field select { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #dce7e1; border-radius: 8px; color: #263e39; background: #fff; font: inherit; font-size: 12px; }
.cari-dekont-window { width: min(980px,calc(100vw - 28px)); }
.cari-dekont-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; color: #546a64; font-size: 10px; font-weight: 700; }
.optional-field-label { color: #899b93; font-size: 10px; font-weight: 500; }
.cari-dekont-cari-row { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.cari-dekont-cari-row > .quick-lookup, .cari-dekont-account-picker > .quick-lookup { flex: 1; min-width: 0; }
.cari-dekont-account-button { flex: 0 0 auto; min-height: 40px; white-space: nowrap; font-size: 10px; }
.cari-dekont-account-picker { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.cari-dekont-new-button { flex: 0 0 auto; min-height: 40px; white-space: nowrap; font-size: 10px; }
.cari-dekont-new-account { display: grid; grid-template-columns: minmax(130px,.7fr) minmax(180px,1fr) 130px auto auto; align-items: end; gap: 8px; margin-top: 9px; padding: 10px; border: 1px solid #dbe9e2; border-radius: 9px; background: #f7fbf9; }
.cari-dekont-new-account label { display: flex; flex-direction: column; gap: 5px; min-width: 0; color: #60736a; font-size: 10px; font-weight: 700; }
.cari-dekont-new-account input, .cari-dekont-new-account select { width: 100%; min-height: 36px; padding: 7px 8px; border: 1px solid #dce7e1; border-radius: 7px; color: #263e39; background: #fff; font: inherit; font-size: 11px; }
.cari-dekont-new-account button { min-height: 36px; white-space: nowrap; font-size: 10px; }
.cari-dekont-account-hint { display: block; margin-top: 5px; color: #7a8d84; font-size: 10px; font-weight: 400; }
.cari-dekont-account-hint strong { color: #2d6651; font-weight: 750; }
.cash-operation-form label > small { display: block; margin-top: 5px; color: #7a8d84; font-size: 10px; font-weight: 400; }
.required-mark { color: #c54a4a; }
.cash-journal-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; padding: 12px; border: 1px solid #dfeae5; border-radius: 11px; background: #f8fbf9; }
.cash-journal-preview > div { display: grid; grid-template-columns: 62px 1fr auto; align-items: center; gap: 10px; min-height: 48px; padding: 9px 11px; border-radius: 8px; background: #fff; box-shadow: 0 1px 3px #173b2e0c; }
.cash-journal-preview small { color: #74867e; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.cash-journal-preview strong { overflow: hidden; color: #304a40; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.cash-journal-preview span { color: #1e6c50; font-size: 13px; font-weight: 800; }
@media (max-width: 850px) { .cash-operation-context { flex-direction: column; } .cash-flow-rule { min-width: 0; } .cash-operation-toolbar { grid-template-columns: 1fr 1fr; } .cash-search-field { grid-column: 1 / -1; } }
@media (max-width: 560px) { .cash-operation-toolbar,.cash-journal-preview { grid-template-columns: 1fr; } .cash-journal-preview > div { grid-template-columns: 55px 1fr; } .cash-journal-preview span { grid-column: 2; } }
@media (max-width: 760px) { .cari-dekont-new-account { grid-template-columns: 1fr 1fr; } .cari-dekont-new-account label:nth-child(2) { grid-column: span 1; } }
@media (max-width: 640px) { .cari-dekont-cari-row, .cari-dekont-account-picker { flex-direction: column; } .cari-dekont-account-button, .cari-dekont-new-button { width: 100%; } .cari-dekont-new-account { grid-template-columns: 1fr; } .cari-dekont-new-account label:nth-child(2) { grid-column: auto; } }
.stock-list-toolbar { grid-template-columns: minmax(180px,.8fr) minmax(280px,1.5fr) auto auto; }
.stock-list-filters { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 12px; margin: 0 0 14px; }
.stock-list-filters label { display: flex; flex-direction: column; gap: 5px; color: #526a62; font-size: 12px; font-weight: 700; }
.stock-list-filters select { width: 100%; min-height: 39px; padding: 8px 10px; border: 1px solid #d9e5df; border-radius: 9px; color: #29473b; background: #fff; font: inherit; }
.stock-filter-note { display: block; margin: -5px 0 13px; color: #7d6652; }
.stock-sort-header { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; text-align: inherit; white-space: nowrap; cursor: pointer; }
.stock-sort-header:hover { color: #1e7555; text-decoration: underline; text-underline-offset: 3px; }
.stock-list-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 2px 2px; color: #60736b; font-size: 12px; }
.stock-list-pagination > div { display: flex; gap: 8px; }
.cari-list-filters { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)) auto auto; align-items:end; gap:10px; margin:0 0 18px; }
.cari-list-filters label { display:flex; flex-direction:column; gap:6px; color:#526a62; font-size:12px; font-weight:700; }
.cari-list-filters select { min-height:40px; width:100%; min-width:0; border:1px solid #dfe8e4; border-radius:8px; padding:8px 10px; background:#fbfdfc; color:#263e39; }
.cari-list-filters .button { min-height:40px; display:inline-flex; justify-content:center; align-items:center; white-space:nowrap; }
.cari-module-header { margin-bottom: 16px; }
.cari-module-header + .accounting-module-toolbar { margin-top: 0; }
.cari-context-backdrop { position:fixed; inset:0; z-index:1100; background:transparent; }
.cari-context-menu { position:fixed; z-index:1101; min-width:230px; max-width:min(310px,calc(100vw - 20px)); max-height:calc(100vh - 20px); overflow:auto; display:flex; flex-direction:column; gap:2px; padding:8px; border:1px solid #dce8e2; border-radius:12px; background:#fff; box-shadow:0 18px 45px rgba(14,48,37,.2); }
.cari-context-menu strong { display:block; padding:8px 10px 10px; border-bottom:1px solid #e8efeb; color:#24493b; font-size:12px; }
.cari-context-menu button { border:0; border-radius:7px; background:transparent; padding:10px; text-align:left; font:inherit; font-size:13px; color:#263e39; cursor:pointer; }
.cari-context-menu button:hover:not(:disabled) { background:#eef7f2; }
.cari-context-menu button.danger { color:#a83a3a; }
.cari-context-menu button:disabled { opacity:.45; cursor:not-allowed; }
.cari-statement-filters { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin:14px 0 20px; }
.cari-statement-filters label { display:flex; flex-direction:column; gap:6px; min-width:155px; font-size:12px; font-weight:700; color:#526a62; }
.cari-statement-filters label:first-child { min-width:280px; flex:1; }
.cari-statement-filters input { min-height:40px; border:1px solid #dfe8e4; border-radius:8px; padding:8px 10px; }
.cari-statement-filters button { min-height:40px; }
.cari-statement-print { width:100%; background:#fff; color:#17342c; border:1px solid #dce9e3; border-radius:12px; padding:26px; }
.cari-statement-heading { display:flex; justify-content:space-between; gap:20px; border-bottom:2px solid #2b8060; padding-bottom:18px; margin-bottom:18px; }
.cari-statement-heading span { color:#30805d; letter-spacing:.15em; font-size:11px; font-weight:800; }
.cari-statement-heading h2 { margin:7px 0; font-size:24px; }
.cari-statement-heading p { margin:3px 0; }
.cari-statement-heading > div:last-child { text-align:right; }
.cari-statement-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:18px; }
.cari-statement-summary > div { display:flex; flex-direction:column; gap:6px; padding:13px; background:#f3f9f5; border-radius:8px; }
.cari-statement-summary small { color:#668075; }
.cari-statement-summary strong { font-size:16px; }
.cari-statement-table { width:100%; border-collapse:collapse; }
.cari-statement-table th,.cari-statement-table td { padding:9px 8px; border-bottom:1px solid #e5eee9; font-size:11px; }
.cari-statement-table thead { background:#eaf4ee; }
.cari-statement-table tfoot,.cari-statement-opening { background:#f2f7f4; font-weight:700; }
.cari-statement-footnote { color:#6c8076; font-size:10px; margin-top:18px; }
.cari-statement-modal { width:min(1180px,96vw); max-height:min(94vh,980px); }
.cari-statement-modal .platform-modal-body { min-height:0; padding:0; overflow:auto; }
.cari-statement-modal .cari-statement-page { min-height:0; padding:18px 22px 24px; background:transparent; }
.cari-statement-modal .cari-statement-page > .tenant-admin-header { display:none; }
.cari-statement-modal .cari-statement-page > .tenant-admin-card { margin:0; border:0; box-shadow:none; background:transparent; }
.cari-statement-modal .cari-statement-page > .tenant-admin-card > .module-active-firm { margin-top:0; }
.cari-statement-modal .cari-statement-print { min-width:760px; }
.cari-statement-modal-backdrop { z-index:1200; }
.cari-workspace-card { padding: 0; overflow: hidden; }
.finance-module-icon.cash { background: linear-gradient(145deg,#176a4d,#43a97b); }
.finance-module-icon.bank { background: linear-gradient(145deg,#2e568c,#5791c5); }
.finance-module-icon.expense { background: linear-gradient(145deg,#8d4b42,#d27a5f); }
.finance-movement-workspace-card { min-height: 760px; }
.finance-movement-main-column { --cari-cards-height: 360px; grid-template-rows: minmax(280px,var(--cari-cards-height)) 11px minmax(300px,1fr); }
.finance-overview-panel { min-height: 0; }
.finance-panel-icon.cash { color:#267451; background:#dcefe4; }
.finance-panel-icon.bank { color:#356b9a; background:#e2edf8; }
.finance-panel-icon.expense { color:#9b4d3e; background:#f9e8e2; }
.finance-summary-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px 13px 9px; }
.finance-summary-cards > div { display:flex; min-width:0; flex-direction:column; gap:3px; border:1px solid #dfece5; border-radius:9px; padding:10px 11px; background:#fbfdfc; }
.finance-summary-cards small { color:#7b9287; font-size:9px; font-weight:800; letter-spacing:.1em; }
.finance-summary-cards strong { overflow:hidden; color:#245846; font-size:19px; text-overflow:ellipsis; white-space:nowrap; }
.finance-summary-cards span { color:#879a91; font-size:10px; }
.finance-account-strip { display:flex; align-items:center; gap:8px; margin:0 13px 11px; border:1px solid #dce9e2; border-radius:8px; padding:7px 10px; color:#7b9085; background:#f5faf7; font-size:10px; }
.finance-account-strip strong { overflow:hidden; max-width:260px; color:#2c5d4a; text-overflow:ellipsis; white-space:nowrap; }
.finance-account-strip-note { margin-left:auto; color:#9aa9a2; font-size:9px; }
.finance-movement-list-panel { min-height:0; }
.finance-movement-table-scroll { min-height:0; }
.finance-movement-table { min-width:1120px; }
.finance-movement-table tfoot { background:#f5faf7; font-weight:700; }
.finance-movement-table .movement-receipt { color:#2b7a59; background:#e7f6ed; }
.finance-movement-table .movement-payment { color:#a15835; background:#fff0e6; }
.finance-movement-table .movement-expense { color:#6c609e; background:#f0ecff; }
.finance-grid-splitter { min-height:11px; }
.finance-card-table { min-width: 760px !important; }
.finance-card-table-scroll { flex: 1; min-height: 0; max-height: none; overflow: auto; border: 0; border-radius: 0; }
.finance-card-table tbody tr { cursor: pointer; transition: background .12s ease, box-shadow .12s ease; }
.finance-card-table tbody tr:hover { background: #f5faf7; }
.finance-card-table tbody tr.is-selected { background: #eaf6ef; box-shadow: inset 3px 0 #2c8b65; }
.finance-table tbody tr { cursor: pointer; }
.cari-card-list-page { box-sizing: border-box; width: 100%; max-width: none; padding-right: 12px; padding-left: 12px; }
.cari-desktop-workspace { display: grid; grid-template-columns: 264px minmax(0,1fr); min-height: 760px; background: #edf3f0; }
.cari-filter-panel { display: flex; min-width: 0; flex-direction: column; border-right: 1px solid #d9e5df; background: linear-gradient(180deg,#f7fbf8 0%,#eef5f1 100%); }
.cari-panel-heading { display: flex; align-items: center; gap: 9px; min-height: 52px; padding: 0 14px; border-bottom: 1px solid #dce8e1; background: linear-gradient(180deg,#e8f4ec 0%,#deeee5 100%); }
.cari-panel-heading-icon { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 8px; color: #176447; background: #c8e6d5; font-size: 18px; font-weight: 800; }
.cari-panel-heading strong { display: block; color: #236048; font-size: 10px; letter-spacing: .11em; }
.cari-panel-heading small { display: block; margin-top: 3px; color: #7c9287; font-size: 10px; }
.cari-filter-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 11px 12px 13px; }
.cari-filter-firm { display: flex; flex-direction: column; gap: 3px; margin-bottom: 13px; padding: 10px 11px; border: 1px solid #d6e7dd; border-radius: 9px; background: #fff; box-shadow: 0 3px 10px rgba(33,87,64,.05); }
.cari-filter-firm small { color: #7e978a; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.cari-filter-firm strong { overflow: hidden; color: #2c5848; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.cari-filter-firm span { color: #83968c; font-size: 10px; }
.cari-filter-field { display: flex; min-width: 0; flex-direction: column; gap: 5px; margin-bottom: 10px; color: #526a60; font-size: 10px; font-weight: 750; }
.cari-filter-field input,.cari-filter-field select { width: 100%; min-height: 36px; border: 1px solid #d5e3dc; border-radius: 7px; padding: 7px 8px; outline: 0; color: #2b4a3e; background: #fff; font: inherit; font-size: 11px; }
.cari-filter-field input::placeholder { color: #a2b0aa; }
.cari-filter-field input:focus,.cari-filter-field select:focus { border-color: #58a884; box-shadow: 0 0 0 3px rgba(66,153,112,.12); }
.cari-filter-check { display: flex; align-items: center; gap: 7px; margin-top: 4px; color: #5b7268; font-size: 10px; font-weight: 650; }
.cari-filter-check input { width: 15px; height: 15px; accent-color: #247d58; }
.cari-filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 10px 12px; border-top: 1px solid #dce8e1; background: #e4f0e9; }
.cari-filter-actions .button { min-height: 35px; padding: 0 8px; font-size: 10px; }
.cari-filter-actions .button-primary { border-color: #257654; color: #fff; background: linear-gradient(135deg,#2b8a68,#1e6d50); }
.cari-main-column { --cari-cards-height: 410px; display: grid; grid-template-rows: minmax(290px,var(--cari-cards-height)) 11px minmax(190px,1fr); gap: 7px; min-width: 0; padding: 9px; background: #eaf1ed; }
.cari-inner-panel { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #d9e5df; border-radius: 10px; background: #fff; box-shadow: 0 4px 13px rgba(23,59,44,.06); }
.cari-inner-panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 0 13px; border-bottom: 1px solid #dfeae4; background: linear-gradient(180deg,#f5faf7 0%,#edf6f1 100%); }
.cari-inner-panel-header > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.cari-inner-panel-header > div > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.cari-inner-panel-header strong { color: #2d6450; font-size: 10px; letter-spacing: .11em; }
.cari-inner-panel-header small { overflow: hidden; color: #82948a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.cari-inner-panel-icon { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 8px; color: #267451; background: #dcefe4; font-size: 17px; font-weight: 800; }
.cari-inner-panel-icon.movements { color: #366ba0; background: #e1ecf8; }
.cari-record-count { flex: 0 0 auto; border: 1px solid #d9e9df; border-radius: 999px; padding: 4px 8px; color: #57816d; background: #f9fcfa; font-size: 9px; font-weight: 700; }
.cari-panel-link { flex: 0 0 auto; color: #3476a2; font-size: 10px; font-weight: 700; text-decoration: none; }
.cari-panel-link:hover { color: #1b557c; text-decoration: underline; }
.cari-movement-header-main { min-width: 0; }
.cari-movement-header-actions { flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
.cari-movement-search { width: min(220px, 28vw); min-width: 150px; min-height: 31px; border: 1px solid #d2e2da; border-radius: 7px; padding: 6px 9px; outline: 0; color: #315348; background: #fff; font: inherit; font-size: 10px; transition: border-color .15s ease,box-shadow .15s ease; }
.cari-movement-search::placeholder { color: #9aa9a2; }
.cari-movement-search:focus { border-color: #5fa985; box-shadow: 0 0 0 3px rgba(67,153,108,.12); }
.cari-movement-search:disabled { color: #a2afa9; background: #f3f7f5; cursor: not-allowed; }
.cari-cards-panel .cari-table-scroll { flex: 1; min-height: 0; max-height: none; overflow: auto; border: 0; border-radius: 0; }
.cari-cards-panel .cari-table { min-width: 1240px; }
.cari-cards-panel .cari-table tbody tr { cursor: pointer; transition: background .12s ease, box-shadow .12s ease; }
.cari-cards-panel .cari-table tbody tr:hover { background: #f5faf7; }
.cari-cards-panel .cari-table tbody tr.is-selected { background: #eaf6ef; box-shadow: inset 3px 0 #2c8b65; }
.cari-cards-panel .cari-table th { position: sticky; top: 0; z-index: 1; border-bottom: 1px solid #dce8e1; background: #f6faf8; }
.cari-cards-panel .stock-list-pagination { margin: 0 12px; padding-bottom: 9px; }
.cari-movements-panel { min-height: 0; }
.cari-grid-splitter { display: flex; min-height: 11px; align-items: center; justify-content: center; border: 1px solid #c8ddd2; border-radius: 7px; outline: 0; background: linear-gradient(180deg,#e4f0e9,#d8e9e0); cursor: ns-resize; touch-action: none; user-select: none; }
.cari-grid-splitter > span { width: 48px; height: 4px; border-radius: 999px; background: #6c9a83; box-shadow: 0 1px 0 rgba(255,255,255,.85), 0 0 0 1px rgba(74,125,101,.12); transition: width .15s ease,background .15s ease; }
.cari-grid-splitter:hover,.cari-grid-splitter:focus-visible { border-color: #84b69d; background: linear-gradient(180deg,#edf8f1,#d9eee2); box-shadow: 0 0 0 3px rgba(67,153,108,.13); }
.cari-grid-splitter:hover > span,.cari-grid-splitter:focus-visible > span { width: 68px; background: #2b815c; }
body.cari-splitter-dragging, body.cari-splitter-dragging * { cursor: ns-resize !important; user-select: none !important; }
.cari-movement-table-scroll { min-height: 0; flex: 1 1 auto; overflow: auto; }
.cari-movement-summary { display: flex; flex-wrap: wrap; gap: 6px; padding: 7px 10px; border-bottom: 1px solid #edf2ef; background: #fbfdfc; }
.cari-movement-summary span { display: inline-flex; align-items: baseline; gap: 6px; border: 1px solid #dfece5; border-radius: 6px; padding: 4px 7px; color: #347258; background: #f2f9f5; }
.cari-movement-summary span:nth-child(2) { color: #a15c4c; border-color: #f0dfd8; background: #fff7f3; }
.cari-movement-summary span.balance { color: #416a96; border-color: #dbe6f3; background: #f3f7fc; }
.cari-movement-summary small { font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.cari-movement-summary strong { font-size: 11px; }
.cari-movement-table { width: 100%; min-width: 670px; border-collapse: collapse; }
.cari-movement-table th { padding: 8px 11px; color: #7b8e84; background: #fbfdfc; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.cari-movement-table td { border-top: 1px solid #edf2ef; padding: 8px 11px; color: #4b665a; font-size: 10px; }
.cari-movement-table tbody tr { cursor: pointer; transition: background .12s ease, box-shadow .12s ease; }
.cari-movement-table tbody tr:hover { background: #f0f8f3; box-shadow: inset 3px 0 #4b9a73; }
.cari-movement-type { display: inline-flex; border: 1px solid #dcebe3; border-radius: 999px; padding: 3px 7px; color: #34705a; background: #f2f9f5; font-size: 9px; font-weight: 700; }
.cari-movement-table .debit-value { color: #277153; font-weight: 700; }
.cari-movement-table .credit-value { color: #ad5a47; font-weight: 700; }
.cari-movement-pagination { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 11px 8px; border-top: 1px solid #e5eee9; color: #71837a; background: #fbfdfc; font-size: 9px; }
.cari-movement-pagination > div { display: flex; gap: 5px; }
.cari-movement-pagination .button { min-height: 27px; padding: 4px 8px; font-size: 9px; }
.cari-movement-empty { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: #8b9a92; text-align: center; }
.cari-movement-empty > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #3977a7; background: #eaf2fb; font-size: 17px; font-weight: 800; }
.cari-movement-empty strong { color: #4b685b; font-size: 12px; }
.cari-movement-empty small { font-size: 10px; }
@media(max-width:1100px){.cari-list-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.cari-statement-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cari-module-header{align-items:flex-start}.cari-header-summary{margin-top:3px}.cari-module-heading-icon{width:40px;height:40px;flex-basis:40px;border-radius:12px;font-size:20px}.cari-module-heading{gap:10px}}
@media(max-width:650px){.cari-list-filters{grid-template-columns:1fr 1fr}.cari-statement-summary{grid-template-columns:1fr 1fr}.cari-statement-print{padding:14px}.cari-header-summary{display:none}}
@media(max-width:900px){.cari-desktop-workspace{grid-template-columns:230px minmax(0,1fr)}.cari-main-column{--cari-cards-height:390px;grid-template-rows:minmax(270px,var(--cari-cards-height)) 11px minmax(180px,1fr)}}
@media(max-width:680px){.cari-desktop-workspace{display:block}.cari-filter-panel{border-right:0;border-bottom:1px solid #d9e5df}.cari-filter-scroll{max-height:none}.cari-main-column{grid-template-rows:auto auto;padding:7px}.cari-grid-splitter{display:none}.cari-cards-panel{min-height:420px}.cari-movements-panel{min-height:230px}.cari-inner-panel-header{min-height:46px;padding:0 10px}.cari-movement-header-actions{flex-wrap:wrap;justify-content:flex-end}.cari-movement-search{width:100%;min-width:0}.cari-table-scroll{max-width:100%}}
.stock-table { min-width: 1750px; }
.stock-select-cell { width: 42px; min-width: 42px; text-align: center; }
.stock-select-cell input { width: 16px; height: 16px; cursor: pointer; accent-color: #277d58; }
.stock-select-cell input:disabled { cursor: not-allowed; }
.stock-actions-cell { min-width: 275px; white-space: nowrap; }
@media(max-width:900px){.finance-movement-main-column{--cari-cards-height:320px}}
@media(max-width:680px){.finance-movement-workspace-card{min-height:0}.finance-movement-main-column{grid-template-rows:auto 11px minmax(380px,1fr)}.finance-summary-cards{grid-template-columns:1fr 1fr}.finance-summary-cards > div:last-child{grid-column:span 2}.finance-account-strip{align-items:flex-start;flex-direction:column}.finance-account-strip-note{margin-left:0}}
.stock-row-actions { display: flex; align-items: center; gap: 12px; }
.stock-action-link { padding: 2px 0; border: 0; background: transparent; color: #286399; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.stock-action-link:hover:not(:disabled) { color: #154a77; }
.stock-action-link.danger { color: #b44545; }
.stock-action-link.danger:hover:not(:disabled) { color: #8d2828; }
.stock-action-link:disabled { color: #9aa7aa; cursor: not-allowed; text-decoration: none; }
.stock-delete-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 8px 0 12px; color: #60736b; font-size: 12px; }
.stock-delete-button { border-color: #e7b6b6 !important; background: #fff2f2 !important; color: #a43c3c !important; }
.stock-delete-button:hover:not(:disabled) { background: #ffe6e6 !important; }
.stock-delete-button:disabled { opacity: .55; cursor: not-allowed; }
.stock-delete-modal { width: min(560px, calc(100vw - 30px)); }
.stock-delete-modal .platform-modal-body > p { line-height: 1.5; color: #50665c; }
.stock-operations-context { display: inline-flex; margin: 0 0 15px; }
.stock-operations-section-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.stock-operations-section-head h2 { margin: 0 0 5px; color: #244c3b; font-size: 20px; }
.stock-operations-section-head p { margin: 0; color: #71857a; font-size: 12px; }
.stock-warehouse-modal { width: min(620px, calc(100vw - 30px)); }
.stock-voucher-modal { width: min(1180px, calc(100vw - 30px)); min-height: min(620px, calc(100vh - 30px)); }
.stock-voucher-lines { min-width: 930px; }
.stock-voucher-lines td:first-child { min-width: 300px; }
.stock-voucher-lines .stock-voucher-lookup { min-width: 285px; }
.stock-voucher-lines .invoice-number-input { min-width: 120px; }
.stock-voucher-add-line { margin-top: 12px; }
.stock-voucher-cancel-confirm { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.stock-voucher-cancel-confirm > div { display: flex; gap: 8px; }
.stock-header-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.stock-header-actions .button { min-height: 42px; }
.stock-bulk-modal { width: min(900px, calc(100vw - 30px)); }
.stock-bulk-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.stock-bulk-controls > label:not(.tenant-checkbox) { display: grid; gap: 5px; min-width: 245px; color: #52695c; font-size: 12px; font-weight: 650; }
.stock-bulk-controls select { min-height: 40px; padding: 7px 10px; border: 1px solid #d6e2da; border-radius: 8px; background: #fff; }
.stock-bulk-controls .tenant-checkbox { margin: 0 3px 8px; }
.stock-bulk-note { margin: 0 0 15px; color: #61766a; font-size: 12px; line-height: 1.5; }
.stock-bulk-summary { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 14px; }
.stock-bulk-summary span { padding: 9px 11px; border: 1px solid #dfece3; border-radius: 9px; background: #f6faf7; color: #41634f; font-size: 12px; }
.stock-bulk-summary strong { margin-right: 3px; font-size: 15px; }
.stock-bulk-table { min-width: 650px; width: 100%; }
.stock-bulk-table-note { display: block; margin-top: 7px; color: #758579; font-size: 11px; }
.stock-bulk-progress { display: grid; gap: 8px; margin-top: 16px; color: #315d47; font-size: 12px; }
.stock-bulk-progress progress { width: 100%; height: 12px; accent-color: #34825a; }
.stock-bulk-progress small { color: #718174; }
.stock-name-cell { min-width: 190px; }
.stock-name-link { padding: 0; border: 0; background: transparent; color: #286399; font: inherit; font-weight: 700; text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.stock-name-link:hover:not(:disabled) { color: #154a77; }
.stock-name-link:disabled { color: #29493d; text-decoration: none; cursor: default; }
.invoice-number-link { padding: 0; border: 0; background: transparent; color: #286399; font: inherit; font-weight: 700; text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.invoice-number-link:hover { color: #154a77; }
.stock-card-modal { width: min(980px, calc(100vw - 30px)); }
.stock-card-modal { height: min(92vh,900px); }
.stock-card-modal > .platform-modal-body { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; overflow: hidden; }
.stock-card-modal > .platform-modal-body > form { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.stock-card-form-content { min-height: 0; flex: 1; overflow-y: auto; padding-bottom: 22px; }
.stock-card-modal > .platform-modal-body > form > .platform-modal-footer { position: sticky; bottom: 0; z-index: 1; flex: 0 0 auto; margin: 0; padding: 15px 0 0; background: #fff; box-shadow: 0 -8px 18px rgba(24,67,51,.06); }
.stock-card-modal .form-grid label small { color: #899b93; font-size: 10px; font-weight: 400; line-height: 1.4; }
.module-active-firm { display: flex; min-width: 145px; min-height: 40px; flex-direction: column; justify-content: center; gap: 3px; padding: 0 11px; border: 1px solid #d9eee1; border-radius: 9px; background: #f5fbf6; }
.module-active-firm small { color: #6f9a7d; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.module-active-firm strong { overflow: hidden; color: #315b46; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.customer-active-context { display: flex; align-items: center; gap: 16px; margin: 0 0 18px; padding: 22px; border: 1px solid #d9eee1; border-radius: 14px; background: linear-gradient(115deg,#f8fcf9,#eef8f1); box-shadow: 0 10px 28px #1a5d3910; }
.customer-context-icon { display: grid; width: 45px; height: 45px; flex: 0 0 45px; place-items: center; border: 1px solid #bfe3ca; border-radius: 14px; color: #338158; background: #e7f5eb; font-size: 20px; font-weight: 800; }
.customer-context-copy { min-width: 0; flex: 1; }
.customer-context-copy h2 { overflow: hidden; margin: 5px 0 3px; color: #214738; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
.customer-context-copy p { margin: 0; color: #74877e; font-size: 11px; }
.customer-context-hint { display: flex; max-width: 330px; flex-direction: column; gap: 5px; padding-left: 17px; border-left: 1px solid #d8e9dc; }
.customer-context-hint strong { color: #446754; font-size: 11px; }
.customer-context-hint span { color: #7e9186; font-size: 10px; line-height: 1.5; }
.customer-module-shortcuts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.customer-module-shortcuts a { position: relative; display: grid; min-height: 122px; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; align-content: center; align-items: center; column-gap: 10px; padding: 16px; border: 1px solid #e4ece7; border-radius: 12px; color: inherit; background: #fff; text-decoration: none; box-shadow: 0 5px 18px #183b2e08; transition: transform .16s,border-color .16s,box-shadow .16s; }
.customer-module-shortcuts a:hover { transform: translateY(-2px); border-color: #bbdfc8; box-shadow: 0 11px 24px #183b2e12; }
.customer-module-shortcuts a > span { display: grid; width: 34px; height: 34px; grid-row: 1 / 3; place-items: center; border-radius: 10px; color: #35805b; background: #eef8f0; font-size: 18px; }
.customer-module-shortcuts strong { color: #345548; font-size: 12px; }
.customer-module-shortcuts small { margin-top: 4px; color: #87978f; font-size: 10px; }
.customer-module-shortcuts b { position: absolute; top: 17px; right: 16px; color: #94a99d; font-size: 19px; font-weight: 400; }
.dashboard-admin-link { display: inline-flex; align-items: center; padding: 0 14px; color: #fff; text-decoration: none; }
.notice-success { border: 1px solid #cfe9d9; background: #f2faf5; color: #2f6849; }
@media (max-width: 850px) { .cari-list-toolbar { grid-template-columns: 1fr 1fr; } .cari-list-toolbar .cari-inactive-toggle { justify-self: start; } }
@media (max-width: 560px) { .cari-list-card { padding: 14px; } .cari-list-toolbar { grid-template-columns: 1fr; } .cari-list-toolbar .button { width: 100%; } .cari-card-modal { padding-bottom: 10px; } }

/* Sales invoice draft workspace */
.invoice-list-note { flex: 1; color: #64766f; font-size: 12px; line-height: 1.5; }
.sales-invoice-page .cari-list-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.invoice-credit-badges { display: flex; flex: 1 1 100%; align-items: center; flex-wrap: wrap; gap: 7px; }
.invoice-credit-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; border: 1px solid #d5e9dc; border-radius: 999px; background: #eff8f2; color: #2f6849; font-size: 11px; font-weight: 700; }
.invoice-credit-badge.is-low { border-color: #f0d2ae; background: #fff7ed; color: #9a5314; }
.invoice-credit-badge.is-muted,.invoice-credit-badge.is-loading { border-color: #e2e8e5; background: #f6f8f7; color: #71817a; }
.invoice-credit-refresh { min-height: 28px!important; padding: 0 10px!important; font-size: 11px!important; }
.notice-card.notice-info { border-color: #d6e6f3; background: #f2f8fc; color: #355c76; }
.e-invoice-preview-backdrop { z-index: 1300; }
.e-invoice-preview-modal { width: min(1500px, calc(100vw - 32px)); height: min(94vh, 1100px); max-height: 94vh; }
.e-invoice-preview-toolbar { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 20px; border-bottom: 1px solid #e7eeeb; color: #687b73; font-size: 11px; }
.e-invoice-preview-toolbar > div { display: flex; gap: 8px; }
.e-invoice-preview-frame { display: block; width: 100%; min-height: 0; flex: 1 1 auto; border: 0; background: #fff; }
.e-invoice-environment-select { display: grid; gap: 7px; max-width: 320px; margin-bottom: 15px; color: #485e57; font-size: 12px; font-weight: 700; }
.e-invoice-environment-select select { min-height: 38px; padding: 7px 9px; border: 1px solid #dfe8e4; border-radius: 7px; background: #fbfdfc; color: #263e39; font: inherit; }
.invoice-table { min-width: 1120px; }
.sales-invoice-page .cari-list-card { overflow: hidden; border: 1px solid #dce9e1; background: linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%); box-shadow: 0 16px 42px rgba(24,59,46,.07); }
.sales-invoice-page .cari-list-toolbar { min-width: 0; padding: 4px 2px 16px; border-bottom: 1px solid #e7efea; }
.sales-invoice-page .module-active-firm { min-width: 190px; padding: 11px 14px; border: 1px solid #d8e9df; border-radius: 12px; background: #f4faf6; }
.sales-invoice-page .module-active-firm strong { display: block; margin-top: 4px; overflow: hidden; color: #245443; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.sales-invoice-page .invoice-list-note { min-width: 220px; flex: 1 1 300px; padding: 0 6px; color: #657970; }
.sales-invoice-page .invoice-credit-badges { flex-basis: 100%; min-width: 0; padding-top: 2px; }
.invoice-filter-grid { display: grid; grid-template-columns: repeat(4,minmax(170px,1fr)); gap: 12px 14px; margin: 18px 0 20px; padding: 17px; border: 1px solid #dfeae4; border-radius: 14px; background: linear-gradient(135deg,#f8fcf9,#f2f8f4); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.invoice-filter-grid label { display: flex; min-width: 0; flex-direction: column; gap: 6px; color: #4e675d; font-size: 11px; font-weight: 750; letter-spacing: .01em; }
.invoice-filter-grid input:not([type=checkbox]), .invoice-filter-grid select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 40px; border: 1px solid #d6e4dc; border-radius: 9px; padding: 8px 10px; outline: 0; color: #29453b; background: rgba(255,255,255,.86); font: inherit; font-size: 12px; transition: border-color .16s,box-shadow .16s,background .16s; }
.invoice-filter-grid input:focus, .invoice-filter-grid select:focus { border-color: #65ac87; background: #fff; box-shadow: 0 0 0 3px rgba(76,164,117,.14); }
.invoice-filter-grid .invoice-filter-search { grid-column: span 2; }
.invoice-filter-actions { display: flex; grid-column: span 2; min-width: 0; align-items: flex-end; justify-content: flex-end; gap: 8px; }
.invoice-filter-actions .button { min-height: 40px; flex: 0 1 auto; min-width: 92px; white-space: nowrap; }
.sales-invoice-page .cari-table-scroll { border-color: #dbe8e1; border-radius: 12px; box-shadow: 0 8px 26px rgba(24,59,46,.045); }
.sales-invoice-page .invoice-table th { position: sticky; top: 0; z-index: 1; background: #eff7f2; color: #547065; }
.sales-invoice-page .invoice-table td { vertical-align: middle; }
.invoice-delivery-badge { display: inline-flex !important; width: fit-content; align-items: center; border: 1px solid #d7e7dd; border-radius: 999px; padding: 4px 8px; background: #f2f8f4; color: #397052 !important; font-size: 10px !important; font-weight: 700; }
.invoice-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; }
.invoice-pagination .mini-action { min-height: 30px; padding: 5px 9px; }
@media (max-width: 1180px) { .invoice-filter-grid { grid-template-columns: repeat(3,minmax(170px,1fr)); } }
@media (max-width: 820px) { .invoice-filter-grid { grid-template-columns: repeat(2,minmax(150px,1fr)); } .invoice-filter-grid .invoice-filter-search { grid-column: span 2; } .invoice-filter-actions { grid-column: span 2; } }
@media (max-width: 560px) { .invoice-filter-grid { grid-template-columns: 1fr; padding: 12px; } .invoice-filter-grid .invoice-filter-search,.invoice-filter-actions { grid-column: auto; } .invoice-filter-actions { align-items: stretch; } .invoice-pagination { justify-content: flex-start; margin-top: 9px; } }
.invoice-draft-modal { width: min(1500px, calc(100vw - 34px)); max-height: min(94vh, 1100px); overflow: hidden; display: flex; flex-direction: column; }
.invoice-draft-modal .platform-modal-body { overflow: auto; }
.invoice-draft-modal .platform-modal-header { flex: 0 0 auto; }
.invoice-header-fields { display: grid; grid-template-columns: minmax(260px, 2fr) repeat(2,minmax(170px,1fr)); gap: 14px; margin-bottom: 24px; }
.invoice-header-fields label { display: grid; gap: 7px; color: #485e57; font-size: 12px; font-weight: 700; }
.invoice-header-fields .invoice-description-field { grid-column: 1 / -1; }
.invoice-draft-modal input:not([type=checkbox]), .invoice-draft-modal select, .invoice-draft-modal textarea { width: 100%; min-width: 0; min-height: 38px; padding: 7px 9px; border: 1px solid #dfe8e4; border-radius: 7px; outline: 0; color: #263e39; background: #fbfdfc; font: inherit; font-size: 12px; }
.invoice-draft-modal input:focus, .invoice-draft-modal select:focus, .invoice-draft-modal textarea:focus { border-color: #6fb99b; box-shadow: 0 0 0 3px rgba(93,177,143,.13); }
.invoice-lines-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 12px; }
.invoice-lines-heading h3 { margin: 0 0 4px; color: #253d36; font-size: 16px; }
.invoice-lines-heading p { margin: 0; color: #71827c; font-size: 12px; }
.invoice-lines-scroll { overflow-x: auto; border: 1px solid #e6ece9; border-radius: 10px; }
.invoice-lines-table { width: 100%; min-width: 1120px; border-collapse: separate; border-spacing: 0; }
.invoice-lines-table th { padding: 10px 8px; background: #f6f9f7; color: #6a7d75; text-align: left; white-space: nowrap; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.invoice-lines-table td { padding: 8px; border-top: 1px solid #edf1ef; vertical-align: middle; }
.invoice-lines-table td:first-child { min-width: 205px; }
.invoice-lines-table td:nth-child(2) { min-width: 210px; }
.invoice-lines-table td:nth-child(3) { width: 90px; }
.invoice-lines-table td:nth-child(n+4):nth-child(-n+7) { width: 112px; }
.invoice-lines-table td:nth-child(8), .invoice-lines-table td:nth-child(9), .invoice-lines-table td:nth-child(10) { min-width: 160px; }
.invoice-lines-table td:nth-child(11) { min-width: 130px; text-align: right; font-weight: 700; white-space: nowrap; }
.invoice-lines-table td small { display: block; margin: 4px 0 0 2px; color: #82918c; font-size: 10px; }
.invoice-lines-table input, .invoice-lines-table select { min-height: 36px !important; }
.invoice-lines-table .invoice-tax-select { width: 100%; max-width: 210px; padding: 7px 8px; border: 1px solid #dce5df; border-radius: 6px; color: #30443a; background: #fff; }
.invoice-tax-not-applicable { color: #a0aaa4; }
.invoice-remove-line { width: 32px; height: 32px; border: 0; border-radius: 8px; color: #9a5049; background: #fff0ee; font-size: 20px; line-height: 1; }
.invoice-remove-line:disabled { opacity: .4; cursor: not-allowed; }
.invoice-draft-bottom { display: flex; justify-content: flex-end; margin: 18px 0 6px; }
.invoice-totals { width: min(360px,100%); padding: 14px 16px; border: 1px solid #e3ebe7; border-radius: 10px; background: #f9fbfa; }
.invoice-totals>div { display: flex; justify-content: space-between; gap: 20px; padding: 6px 0; color: #64766f; font-size: 12px; }
.invoice-totals strong { color: #304a41; font-variant-numeric: tabular-nums; }
.invoice-totals .invoice-grand-total { margin-top: 5px; padding-top: 12px; border-top: 1px solid #dfe8e4; color: #263e39; font-size: 14px; font-weight: 800; }
.invoice-totals .invoice-grand-total strong { color: #117250; font-size: 17px; }
.quick-lookup { position: relative; z-index: 2; min-width: 0; }
.quick-lookup:focus-within { z-index: 80; }
.quick-lookup-input-wrap { position: relative; }
.quick-lookup-input { display: block; width: 100%; box-sizing: border-box; padding-right: 34px; }
.quick-lookup-clear { position: absolute; top: 50%; right: 6px; width: 25px; height: 25px; transform: translateY(-50%); border: 0; border-radius: 6px; color: #71827c; background: #edf3ef; font-size: 18px; line-height: 1; cursor: pointer; }
.quick-lookup-results { position: absolute; z-index: 100; top: calc(100% + 3px); left: 0; right: 0; max-height: 280px; overflow: auto; border: 1px solid #cbd9d1; border-radius: 8px; background: #fff; box-shadow: 0 14px 30px #17362b30; }
.quick-lookup-results button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 38px; padding: 8px 10px; border: 0; border-bottom: 1px solid #edf2ef; color: #30483e; background: #fff; text-align: left; cursor: pointer; }
.quick-lookup-results button strong { flex: 0 0 auto; min-width: 66px; color: #287052; font-variant-numeric: tabular-nums; }
.quick-lookup-results button span { min-width: 0; overflow: hidden; color: #43574e; text-overflow: ellipsis; white-space: nowrap; }
.quick-lookup-results button.selected, .quick-lookup-results button:hover { background: #edf7f1; }
.quick-lookup-results button.unselectable { color: #78847e; background: #f6f8f6; cursor: not-allowed; }
.quick-lookup-results button.unselectable:hover { background: #f6f8f6; }
.quick-lookup-results button small { flex: 0 0 auto; margin-left: auto; padding: 3px 6px; border-radius: 999px; color: #7b6541; background: #f3eadb; font-size: 10px; white-space: nowrap; }
.stock-lookup .quick-lookup-results button { gap: 8px; font-size: 11px; }
.stock-lookup .quick-lookup-results button strong { flex: 1 1 auto; min-width: 0; overflow: hidden; color: #30483e; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.stock-lookup .quick-lookup-results button span { flex: 0 1 42%; min-width: 0; overflow: hidden; color: #71827c; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.quick-lookup-empty { padding: 11px 12px; color: #71827c; font-size: 12px; }
.journal-account-results button:disabled { color: #788397; background: #f6f8fb; cursor: not-allowed; }
.journal-account-results button:disabled:hover { background: #f6f8fb; }
.journal-account-results button small { flex: 0 0 auto; margin-left: auto; padding: 3px 6px; border-radius: 999px; color: #7b6541; background: #f3eadb; font-size: 10px; white-space: nowrap; }
.standard-money-entry { display: flex; align-items: center; gap: 2px; min-width: 0; }
.standard-money-entry>span { color: #71827c; font-weight: 700; }
.standard-money-entry input.journal-money-whole { flex: 1; width: 1px; min-width: 30px; text-align: right; font-variant-numeric: tabular-nums; }
.standard-money-entry input.journal-money-cents { flex: 0 0 46px; width: 46px; min-width: 46px; text-align: right; font-variant-numeric: tabular-nums; }
.standard-decimal-input { font-variant-numeric: tabular-nums; }
.invoice-number-input { text-align: right; }
.account-code-picker { position: relative; z-index: 10; min-width: 135px; }
.account-code-picker:focus-within { z-index: 80; }
.account-code-picker .quick-lookup-input { width: 100%; box-sizing: border-box; }
.invoice-draft-modal.accounting-fast-entry { position: relative; resize: none; min-width: min(820px,calc(100vw - 20px)); min-height: min(550px,calc(100vh - 20px)); max-width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
.invoice-draft-modal.accounting-fast-entry .platform-modal-body { flex: 1; min-height: 0; }
.invoice-draft-modal.accounting-fast-entry .platform-modal-header { padding: 18px 22px; cursor: move; user-select: none; }
.invoice-draft-modal.accounting-fast-entry .platform-modal-header h2 { margin: 4px 0; }
.invoice-draft-modal.accounting-fast-entry .platform-modal-header p { margin: 4px 0; color: #71827c; font-size: 12px; }
.journal-resize-handle { position: absolute; z-index: 125; display: block; touch-action: none; }
.resize-n,.resize-s { left: 10px; right: 10px; height: 7px; cursor: ns-resize; }
.resize-n { top: -3px; }.resize-s { bottom: -3px; }
.resize-e,.resize-w { top: 10px; bottom: 10px; width: 7px; cursor: ew-resize; }
.resize-e { right: -3px; }.resize-w { left: -3px; }
.resize-ne,.resize-nw,.resize-se,.resize-sw { width: 14px; height: 14px; }
.resize-ne { top: -4px; right: -4px; cursor: nesw-resize; }.resize-nw { top: -4px; left: -4px; cursor: nwse-resize; }
.resize-se { bottom: -4px; right: -4px; cursor: nwse-resize; }.resize-sw { bottom: -4px; left: -4px; cursor: nesw-resize; }
.invoice-draft-modal .quick-lookup-input { padding-right: 36px; }
.invoice-lines-scroll:has(.quick-lookup-results) { overflow: visible; }
.invoice-lines-table tr:has(.quick-lookup-results) { position: relative; z-index: 20; }
.invoice-lines-table td:has(.quick-lookup-results) { position: relative; z-index: 21; }
.invoice-stock-lookup { min-width: 185px; }
.invoice-customer-lookup { min-width: 250px; }
.invoice-related-card-button { display:block; margin-top:6px; border:0; padding:0; background:transparent; color:#226d58; font:600 11px/1.2 inherit; text-align:left; cursor:pointer; }
.invoice-related-card-button:hover:not(:disabled) { color:#123e32; text-decoration:underline; }
.invoice-related-card-button:disabled { color:#9aaba4; cursor:not-allowed; }
.invoice-save-permission-hint { flex: 1 1 100%; color: #9b5f29; font-size: 12px; line-height: 1.4; }
.invoice-row-actions { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.invoice-row-actions button:disabled { opacity: .5; cursor: not-allowed; }
.invoice-row-actions .action-red { color: #a22e39; background: #fff0f1; border-color: #f0c7cb; }
.journal-action-show { border: 1px solid #b9d5ea; color: #275f87; background: #e8f3fb; }
.journal-action-create { border: 1px solid #a9ddc1; color: #176b49; background: #e5f6ed; }
.journal-action-show:hover:not(:disabled) { border-color: #8ebbd9; background: #dceefa; }
.journal-action-create:hover:not(:disabled) { border-color: #7fc9a3; background: #d8f1e4; }
.invoice-delivery-message { display: block; max-width: 270px; margin-top: 3px; color: #8f3941; font-size: 11px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
.invoice-delete-modal { width: min(520px, calc(100vw - 28px)); }
.invoice-delete-modal .platform-modal-body > p { color: #607088; line-height: 1.6; }
.proforma-report-backdrop { position: fixed; inset: 0; z-index: 1110; display: grid; place-items: start center; overflow: auto; padding: 22px; background: #15243ac9; backdrop-filter: blur(5px); }
.proforma-report-preview { width: min(970px, 96vw); max-height: calc(100vh - 44px); overflow: auto; padding: 36px 42px 26px; border: 1px solid #e6ebf1; border-radius: 16px; background: #fff; color: #1b2b42; box-shadow: 0 28px 90px #07162970; font-family: Inter,"Segoe UI",Arial,sans-serif; }
.proforma-report-actions { position: sticky; top: -36px; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: -36px -42px 26px; padding: 12px 18px; background: #f5f7fa; border-bottom: 1px solid #e4e9f0; }
.proforma-report-actions > div:first-child { display: grid; gap: 4px; }
.proforma-report-actions > div:first-child strong { color: #1d3555; font-size: 14px; }
.proforma-report-actions > div:last-child { display: flex; align-items: center; gap: 7px; }
.proforma-report-heading { display: flex; justify-content: space-between; align-items: center; padding: 0 0 18px; border-bottom: 2px solid #1d3555; }
.proforma-report-brand { display: flex; align-items: center; gap: 12px; }
.proforma-report-brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: linear-gradient(145deg,#17395a,#267865); color: #fff; font: 700 26px Georgia,serif; }
.proforma-report-brand > span:last-child { display: grid; gap: 3px; }
.proforma-report-brand strong { color: #183451; font-size: 15px; letter-spacing: .12em; }
.proforma-report-brand small { color: #8491a1; font-size: 9px; letter-spacing: .2em; }
.proforma-report-kind { display: grid; gap: 3px; text-align: right; }
.proforma-report-kind span { color: #a25b27; font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.proforma-report-kind strong { color: #1d3555; font-size: 22px; letter-spacing: .08em; }
.proforma-report-kind small { color: #78869a; font-size: 11px; }
.proforma-report-title { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 23px 0 18px; }
.proforma-report-title h1 { margin: 4px 0; color: #172f4c; font-size: 22px; letter-spacing: -.025em; }
.proforma-report-title p { margin: 0; color: #68778b; font-size: 13px; }
.proforma-report-stamp { padding: 9px 12px; border: 1px solid #efd7bb; border-radius: 7px; background: #fff8ef; color: #97551f; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.proforma-report-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-bottom: 18px; overflow: hidden; border: 1px solid #e6ebf1; border-radius: 9px; background: #e6ebf1; }
.proforma-report-meta > div { display: grid; gap: 5px; min-height: 58px; padding: 10px 13px; background: #fafbfd; }
.proforma-report-meta small,.proforma-report-summary span { color: #8995a4; font-size: 9px; font-weight: 750; letter-spacing: .1em; }
.proforma-report-meta strong { overflow-wrap: anywhere; color: #293e59; font-size: 11px; font-weight: 650; }
.proforma-report-description { margin: 0 0 16px; padding: 10px 12px; border-left: 3px solid #7fb49d; background: #f6faf8; color: #566b63; font-size: 11px; }
.proforma-report-lines { overflow: visible; }
.proforma-report-lines table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.proforma-report-lines th { padding: 9px 6px; background: #1d3555; color: #fff; text-align: left; font-size: 8px; font-weight: 750; letter-spacing: .04em; }
.proforma-report-lines th:first-child { width: 36px; }
.proforma-report-lines th:nth-child(2) { width: 18%; }
.proforma-report-lines th:nth-child(3) { width: auto; }
.proforma-report-lines th:nth-child(4) { width: 65px; }
.proforma-report-lines th:nth-child(5) { width: 50px; }
.proforma-report-lines th:nth-child(n+6) { width: 82px; }
.proforma-report-lines td { padding: 9px 6px; border-bottom: 1px solid #e9edf2; color: #384b64; vertical-align: top; font-size: 9px; overflow-wrap: anywhere; }
.proforma-report-lines tbody tr:nth-child(even) { background: #f8fafc; }
.proforma-report-lines td strong,.proforma-report-lines td small { display: block; }
.proforma-report-lines td strong { color: #1d3555; font-size: 9px; }
.proforma-report-lines td small { margin-top: 3px; color: #8390a1; font-size: 8px; }
.proforma-amount { text-align: right !important; font-variant-numeric: tabular-nums; }
.proforma-report-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; padding: 15px 16px; border: 1px solid #e4eaf0; border-radius: 9px; background: linear-gradient(110deg,#f8fafc,#f3f7f7); }
.proforma-report-summary > div { display: grid; align-content: start; gap: 5px; }
.proforma-report-summary strong { color: #1e3654; font-size: 13px; font-variant-numeric: tabular-nums; }
.proforma-report-summary .proforma-grand-total strong { color: #147452; font-size: 16px; }
.proforma-report-notice { display: grid; gap: 4px; margin: 22px 0 16px; padding: 11px 13px; border: 1px solid #efd7bb; border-radius: 8px; background: #fffaf4; color: #795832; font-size: 10px; line-height: 1.5; }
.proforma-report-footer { display: flex; justify-content: space-between; gap: 14px; padding-top: 11px; border-top: 1px solid #e7ebf0; color: #8a96a5; font-size: 9px; }
@media(max-width:780px) { .proforma-report-backdrop { padding: 8px; } .proforma-report-preview { width: calc(100vw - 16px); max-height: calc(100vh - 16px); padding: 22px 16px 18px; } .proforma-report-actions { top: -22px; align-items: flex-start; flex-direction: column; margin: -22px -16px 18px; padding: 10px 12px; } .proforma-report-actions > div:last-child { width: 100%; flex-wrap: wrap; } .proforma-report-meta { grid-template-columns: repeat(2,minmax(0,1fr)); } .proforma-report-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } .proforma-report-lines { overflow-x: auto; } .proforma-report-lines table { min-width: 780px; } }
.movement-context-bar { align-items: center; }
.movement-info { color: #6e7f77; font-size: 12px; }
.movement-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; padding: 17px 22px; border-bottom: 1px solid #e6ebf1; background: #fbfcfd; }
.movement-filters label { display: grid; gap: 5px; min-width: 145px; color: #607088; font-size: 11px; font-weight: 700; }
.movement-filters input,.movement-filters select { min-height: 36px; padding: 7px 9px; border: 1px solid #d7e0eb; border-radius: 7px; background: #fff; color: #23364e; font: inherit; font-size: 12px; }
.movement-filters .movement-search { flex: 1 1 245px; }
.movement-filters .movement-card-filter { min-width: 230px; }
.movement-card-lookup { min-width: 0; }
.movement-filters button { height: 36px; }
.movement-table { min-width: 1120px; }
.stock-movement-table { min-width: 1450px; }
.movement-table tfoot { background: #f4f7fa; color: #354b64; font-weight: 750; }
.movement-table tfoot td { border-top: 1px solid #dfe6ee; }
@media(max-width:780px) { .movement-filters { align-items: stretch; padding: 14px; } .movement-filters label,.movement-filters .movement-search { flex: 1 1 100%; } .movement-filters button { flex: 1; } .movement-context-bar { align-items: flex-start; flex-direction: column; } }
@media (max-width: 760px) {
    .invoice-header-fields { grid-template-columns: 1fr; }
    .invoice-header-fields .invoice-description-field { grid-column: auto; }
    .invoice-lines-heading { align-items: flex-start; flex-direction: column; }
    .invoice-lines-heading .button { width: 100%; }
    .invoice-draft-modal { width: calc(100vw - 16px); max-height: 97vh; }
}
@media (max-width: 850px) { .finance-toolbar { grid-template-columns: 1fr 1fr; } .annual-balance-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .finance-toolbar { grid-template-columns: 1fr; } .annual-balance-grid { grid-template-columns: 1fr; } }
@media (max-width: 850px) { .stock-list-toolbar { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .stock-list-toolbar { grid-template-columns: 1fr; } }
@media (max-width: 850px) { .stock-list-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .stock-list-filters { grid-template-columns: 1fr; } }
@media (max-width: 850px) { .customer-module-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); } .customer-context-hint { max-width: 250px; } }
@media (max-width: 560px) { .customer-active-context { align-items: flex-start; flex-wrap: wrap; padding: 17px; } .customer-context-copy { flex-basis: calc(100% - 62px); } .customer-context-hint { max-width: none; margin-left: 61px; padding: 10px 0 0; border-top: 1px solid #d8e9dc; border-left: 0; } .customer-module-shortcuts { grid-template-columns: 1fr; } .customer-module-shortcuts a { min-height: 86px; } }
@media (max-width: 800px) { .tenant-admin-overview-grid { grid-template-columns: 1fr; } .tenant-role-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .tenant-admin-page { padding-right: 0; padding-left: 0; } .tenant-admin-header { align-items: flex-start; flex-direction: column; } .tenant-admin-header .button { align-self: flex-start; } .tenant-admin-stats { grid-template-columns: 1fr; gap: 9px; } .tenant-admin-stats article { min-height: 96px; } .tenant-admin-card { padding: 16px 13px; } .tenant-admin-card-heading { align-items: flex-start; flex-direction: column; } .tenant-admin-card-heading .platform-primary-button { align-self: stretch; } .tenant-role-grid,.tenant-permission-list,.tenant-firm-check-list { grid-template-columns: 1fr; } .tenant-admin-card .platform-table { min-width: 700px; } }
@media (max-width: 900px) { .tenant-admin-actions { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .tenant-admin-actions { grid-template-columns: 1fr; gap: 9px; } .tenant-admin-action { min-height: 68px; } }

/* Improve readability across the platform management dashboard */
.platform-nav-item { font-size: 13px; }
.platform-nav-label { font-size: 10px; }
.platform-brand strong { font-size: 15px; }
.platform-brand small { font-size: 9px; }
.platform-secure strong { font-size: 11px; }
.platform-secure small,.user-copy small { font-size: 10px; }
.user-copy strong { font-size: 11px; }
.platform-breadcrumb,.platform-date { font-size: 11px; }
.platform-page-heading h1 { font-size: 30px; }
.platform-page-heading p { font-size: 13px; }
.platform-primary-button { font-size: 11px; }
.stat-topline { font-size: 12px; }
.platform-stat-card>small { font-size: 10px; }
.platform-panel-heading h2 { font-size: 16px; }
.platform-table { font-size: 12px; }
.platform-table th { font-size: 9px; }
.platform-table td { font-size: 11px; }
.customer-cell strong,.cell-main { font-size: 12px; }
.customer-cell small,.cell-sub { font-size: 10px; }
.platform-table .status-pill { font-size: 9px; }
.platform-row-actions .mini-action { font-size: 9px; }
.platform-row-actions .action-blue { color: #4c7188; background: #edf4f8; }
.distribution-row,.distribution-total { font-size: 12px; }
.distribution-row strong { font-size: 12px; }
.text-action,.panel-link-button { font-size: 11px; }
.search-box input { font-size: 11px; }
.filter-select { font-size: 10px; }
.result-count,.panel-caption { font-size: 10px; }
.panel-description { font-size: 11px; }
.platform-info-note { font-size: 10px; }
.platform-empty strong { font-size: 12px; }
.platform-empty p { font-size: 10px; }
.platform-modal-header h2 { font-size: 21px; }
.platform-modal-header p { font-size: 11px; }
.platform-modal .form-grid label { font-size: 11px; }
.platform-admin-shell .field-hint { font-size: 11px; }
@media (max-width: 760px) {
    .platform-page-heading h1 { font-size: 27px; }
    .platform-nav-item { font-size: 12px; }
}
@media (max-width: 460px) {
    .platform-page-heading h1 { font-size: 25px; }
    .platform-top-actions .platform-primary-button { font-size: 10px; }
    .platform-breadcrumb { font-size: 10px; }
}

.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;
}

.personnel-branch-bar { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:20px 24px; border-bottom:1px solid #e7eee9; background:linear-gradient(110deg,#f5faf7,#fff); }
.personnel-branch-copy { display:flex; flex-direction:column; gap:4px; }
.personnel-branch-copy .eyebrow { color:#16805d; font-size:11px; font-weight:800; letter-spacing:.09em; }
.personnel-branch-copy strong { color:#18352b; font-size:17px; }
.personnel-branch-copy small { color:#73847b; font-size:13px; }
.personnel-branch-select { display:flex; flex-direction:column; gap:6px; min-width:min(100%,360px); color:#53655c; font-size:12px; font-weight:700; }
.personnel-branch-select select { min-height:44px; padding:0 38px 0 13px; border:1px solid #d7e3dc; border-radius:10px; background:#fff; color:#193a2e; font-size:14px; font-weight:650; }
.personnel-list-toolbar { border-bottom:1px solid #edf1ee; }
.personnel-page .personnel-table { min-width:1050px; }
.personnel-empty { display:flex; flex-direction:column; gap:8px; padding:28px; color:#415a4d; }
.personnel-empty strong { color:#a13535; font-size:17px; }
.personnel-card-modal { width:min(980px,calc(100vw - 36px)); }
.personnel-general-window { width:min(1240px,calc(100vw - 28px)); height:min(900px,calc(100vh - 28px)); max-height:calc(100vh - 28px); border-radius:14px; }
.personnel-card-window { position:relative; resize:none; min-width:min(820px,calc(100vw - 20px)); min-height:min(550px,calc(100vh - 20px)); max-width:calc(100vw - 20px); max-height:calc(100vh - 20px); }
.personnel-card-window .journal-window-drag-handle { cursor:move; user-select:none; touch-action:none; }
.personnel-window-header { display:flex; align-items:center; gap:14px; min-height:60px; padding:10px 15px; background:#f8fafc; border-bottom:1px solid #cbd5df; }
.personnel-window-title { display:flex; align-items:center; gap:10px; min-width:250px; }
.personnel-window-icon { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:#2476df; background:#e5f0ff; font-size:19px; }
.personnel-window-header h2 { margin:0; color:#1f2937; font-size:17px; letter-spacing:0; }
.personnel-window-header p { margin:2px 0 0; color:#728091; font-size:10px; }
.personnel-window-meta { display:flex; align-items:center; gap:7px; margin-left:auto; }
.personnel-header-actions { display:flex; align-items:center; gap:7px; }
.personnel-header-button { display:inline-flex; align-items:center; justify-content:center; min-height:27px; padding:0 9px; border:1px solid #c7d7ed; border-radius:999px; color:#42648d; background:#f5f9ff; font-size:10px; font-weight:750; }
.personnel-header-button:disabled { opacity:.72; cursor:not-allowed; }
.personnel-delete-button { color:#42648d; }
.personnel-meta-pill { display:inline-flex; align-items:center; min-height:26px; padding:0 10px; border:1px solid #cbdaf0; border-radius:999px; color:#42648d; background:#f5f9ff; font-size:11px; font-weight:700; }
.personnel-window-tabs { margin:0 -1px 12px; padding:0 4px; background:#f3f5f8; border:1px solid #d7dee6; border-top:0; }
.personnel-window-tabs .firm-card-tab { display:inline-flex; align-items:center; gap:5px; padding:10px 11px; border-radius:0; color:#506073; font-size:11px; }
.personnel-window-tabs .firm-card-tab.active { color:#1e4f99; background:#fff; box-shadow:inset 0 -2px #2b73d2; }
.personnel-window-tabs .firm-card-tab span,.personnel-tab-planned span { font-size:14px; }
.personnel-tab-planned { display:inline-flex; align-items:center; gap:5px; padding:10px 11px; border:0; border-bottom:2px solid transparent; color:#718096; background:transparent; font:inherit; font-size:11px; cursor:not-allowed; opacity:.82; }
.personnel-general-layout { display:grid; grid-template-columns:1.02fr .98fr 1.02fr; gap:6px; align-items:start; padding:0 1px 8px; }
.personnel-general-column { display:grid; gap:6px; min-width:0; }
.personnel-panel { overflow:hidden; border:1px solid #c9d6e2; border-radius:10px; background:#edf2f7; }
.personnel-panel > header { padding:7px 9px; border-bottom:1px solid #d2dce6; color:#2f3f50; background:#e6ecf3; font-size:11px; font-weight:800; }
.personnel-panel-fields { display:grid; grid-template-columns:1fr; gap:6px 8px; padding:8px; }
.personnel-payroll-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; padding:0 1px 8px; }
.personnel-payroll-column { display:grid; align-content:start; gap:8px; min-width:0; }
.personnel-payroll-panel { overflow:hidden; border:1px solid #c9d6e2; border-radius:10px; background:#edf2f7; }
.personnel-payroll-panel > header { display:flex; align-items:center; gap:7px; min-height:31px; padding:6px 9px; border-bottom:1px solid #d2dce6; color:#25384c; background:#e6ecf3; font-size:12px; font-weight:800; }
.personnel-payroll-panel > header span { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:6px; color:#2468cc; background:#dbe9ff; font-size:13px; }
.personnel-payroll-panel > header small { color:#6b7e91; font-size:10px; font-weight:700; }
.personnel-payroll-fields { display:grid; gap:6px; padding:9px; }
.personnel-payroll-fields > label { display:grid; grid-template-columns:minmax(145px,.85fr) minmax(0,1.35fr); align-items:center; gap:8px; min-height:31px; color:#506276; font-size:11px; font-weight:750; }
.personnel-payroll-fields > label > span:first-child { min-width:0; }
.personnel-payroll-fields input,.personnel-payroll-fields select { width:100%; min-width:0; min-height:30px; box-sizing:border-box; padding:5px 8px; border:1px solid #c7d4e0; border-radius:6px; background:#fff; color:#2c4055; font:inherit; }
.personnel-payroll-fields input[type=checkbox] { width:16px; min-height:16px; }
.personnel-payroll-check { grid-template-columns:auto 1fr!important; justify-content:start; gap:7px!important; }
.personnel-payroll-period { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:4px; }
.personnel-payroll-period b { color:#718296; font-size:12px; }
.personnel-payroll-insurance { grid-column:1 / -1; display:grid; grid-template-columns:minmax(290px,1fr) minmax(170px,260px); align-items:center; gap:10px; padding:10px 12px; border:1px solid #c9d6e2; border-radius:10px; background:#edf2f7; color:#64758a; font-size:11px; font-weight:750; }
.personnel-payroll-insurance input { width:100%; min-height:32px; box-sizing:border-box; padding:5px 8px; border:1px solid #c7d4e0; border-radius:6px; background:#fff; color:#2c4055; font:inherit; text-align:right; }
.personnel-payment-workspace { display:grid; gap:8px; min-width:0; padding:0 1px 8px; }
.personnel-payment-period-bar { display:flex; align-items:center; gap:12px; min-height:48px; padding:7px 13px; border:1px solid #c9d6e2; border-radius:10px; background:#e9eff5; color:#2d4054; }
.personnel-payment-period-bar strong { margin-right:5px; font-size:12px; }
.personnel-payment-period-bar label { display:flex; align-items:center; gap:6px; color:#66778a; font-size:11px; font-weight:750; }
.personnel-payment-period-bar select { min-width:100px; min-height:30px; padding:4px 25px 4px 8px; border:1px solid #afc2d8; border-radius:6px; background:#fff; color:#2c4055; font:inherit; }
.personnel-payment-calendar { display:grid; place-items:center; width:26px; height:26px; border-radius:6px; color:#2367d0; background:#dbe9ff; font-size:16px; }
.personnel-payment-all { margin-left:10px; color:#37495b!important; }
.personnel-payment-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.25fr); gap:8px; align-items:start; }
.personnel-payment-panel { overflow:hidden; min-width:0; border:1px solid #c7d4e0; border-radius:11px; background:#e9eff5; }
.personnel-payment-panel.payment-deductions,.personnel-payment-panel.payment-additional { min-height:236px; }
.personnel-payment-panel > header { display:flex; align-items:center; gap:8px; min-height:32px; padding:6px 8px; color:#2c4054; font-size:11px; }
.payment-icon { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#fff; font-size:14px; font-weight:900; }
.payment-icon-red { background:#d63636; }.payment-icon-orange { background:#ed8b20; }.payment-icon-green { background:#2aa24a; }
.personnel-payment-table-wrap { overflow:auto; min-height:96px; background:#fff; }
.payment-deductions .personnel-payment-table-wrap,.payment-additional .personnel-payment-table-wrap { min-height:160px; }
.personnel-payment-table { width:100%; min-width:560px; border-collapse:collapse; color:#374b60; font-size:10px; }
.personnel-payment-table th { padding:6px 8px; border:1px solid #cbd7e2; border-top:0; background:#e5ebf1; color:#34475a; text-align:left; font-size:9px; font-weight:800; white-space:nowrap; }
.personnel-payment-table td { padding:7px 8px; border-bottom:1px solid #e5ebf0; white-space:nowrap; }
.personnel-payment-table tbody tr:hover { background:#f4f8fc; }
.personnel-payment-empty { height:56px; color:#8291a1; text-align:center!important; }
.personnel-payment-panel > footer { display:flex; justify-content:flex-end; gap:13px; min-height:34px; padding:4px 9px; }
.personnel-payment-panel > footer button { border:0; color:#23394f; background:transparent; font-size:20px; line-height:1; cursor:pointer; }
.personnel-payment-panel > footer button:hover { color:#2167c7; }.personnel-payment-panel > footer button:disabled { color:#9aa7b4; cursor:not-allowed; }.personnel-payment-panel > footer .payment-delete { color:#a52f2f; font-size:16px; }
.personnel-payment-right-column { display:grid; gap:8px; min-width:0; }
.payment-additional { min-height:250px; }
.personnel-payment-editor-backdrop { position:absolute; inset:0; z-index:30; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }
.personnel-payment-editor { position:absolute; z-index:31; top:50%; left:50%; width:min(660px,calc(100% - 38px)); max-height:calc(100% - 52px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c9d7e4; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }
.personnel-payment-editor > header { display:flex; align-items:flex-start; justify-content:space-between; padding:15px 18px; border-bottom:1px solid #dce4ec; background:#f7f9fb; }.personnel-payment-editor-drag-handle { cursor:move; user-select:none; touch-action:none; }.personnel-payment-editor h3 { margin:4px 0 0; color:#24364a; font-size:17px; }
.personnel-payment-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:18px; }.personnel-payment-editor-grid label { display:grid; gap:6px; color:#51667a; font-size:11px; font-weight:750; }.personnel-payment-editor-grid input,.personnel-payment-editor-grid select,.personnel-payment-editor-grid textarea { width:100%; box-sizing:border-box; min-height:36px; padding:7px 9px; border:1px solid #cbd9e5; border-radius:7px; background:#fff; color:#2f4357; font:inherit; }.personnel-payment-editor-grid textarea { resize:vertical; }.payment-editor-wide { grid-column:1 / -1; }
.personnel-payment-editor > footer { display:flex; justify-content:flex-end; gap:8px; padding:13px 18px; border-top:1px solid #dce4ec; background:#fafcfe; }
.personnel-advance-editor { width:min(760px,calc(100% - 28px)); }
.personnel-advance-editor .personnel-payment-editor-grid { display:block; padding:0; }
.personnel-advance-editor .personnel-advance-editor-body { padding:0 14px 14px; }
.personnel-advance-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; padding:14px 8px 12px; }
.personnel-advance-form-grid label { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:center; gap:8px; color:#3e5368; font-size:11px; font-weight:700; }
.personnel-advance-form-grid input,.personnel-advance-form-grid select { box-sizing:border-box; width:100%; min-height:31px; padding:5px 8px; border:1px solid #c8d5e1; border-radius:5px; background:#fff; color:#30465a; font:inherit; }
.personnel-advance-form-grid input[readonly] { background:#f4f7fa; color:#52677b; }
.personnel-advance-wide { grid-column:1 / -1; }
.personnel-advance-schedule { overflow:hidden; border:1px solid #c7d4e0; border-radius:7px; background:#fff; }
.personnel-advance-schedule > header { padding:7px 9px; border-bottom:1px solid #cbd7e2; background:#e8eef4; color:#31465a; font-size:11px; font-weight:800; }
.personnel-advance-table-wrap { overflow:auto; max-height:210px; }
.personnel-advance-table { width:100%; min-width:500px; border-collapse:collapse; color:#33495d; font-size:10px; }
.personnel-advance-table th { padding:7px 8px; border-right:1px solid #cad6e1; border-bottom:1px solid #cbd7e2; background:#edf2f6; text-align:left; font-size:10px; font-weight:800; }
.personnel-advance-table td { padding:7px 8px; border-bottom:1px solid #e2e8ee; white-space:nowrap; }
.personnel-advance-table tbody tr:last-child td { border-bottom:0; }
.personnel-advance-totals { display:flex; justify-content:flex-end; gap:16px; padding:12px 0 0; }
.personnel-advance-totals label { display:grid; grid-template-columns:auto 100px; align-items:center; gap:7px; color:#405569; font-size:11px; font-weight:750; }
.personnel-advance-totals input { box-sizing:border-box; width:100px; min-height:31px; padding:5px 7px; border:1px solid #c8d5e1; border-radius:5px; background:#f4f7fa; color:#30465a; text-align:right; font:inherit; }
.personnel-regular-deduction-editor { width:min(700px,calc(100% - 28px)); }
.personnel-regular-deduction-editor .personnel-payment-editor-grid { display:block; padding:0; }
.personnel-regular-deduction-body { padding:0 8px 14px; }
.personnel-regular-deduction-person-strip { display:flex; align-items:center; gap:18px; padding:10px 8px; border:1px solid #cad7e2; border-radius:8px; background:#f4f7fa; }
.personnel-regular-deduction-person-strip label { display:flex; align-items:center; gap:7px; min-width:0; color:#607386; font-size:10px; font-weight:750; }
.personnel-regular-deduction-person-strip label:first-child { flex:0 0 215px; }
.personnel-regular-deduction-person-strip label:last-child { flex:1; }
.personnel-regular-deduction-person-strip input { box-sizing:border-box; width:100%; min-height:30px; padding:5px 8px; border:1px solid #d2dee8; border-radius:5px; background:#fff; color:#53677a; font:inherit; }
.personnel-regular-deduction-section { margin-top:10px; padding:10px; border:1px solid #cbd7e2; border-radius:9px; background:#e9eff5; }
.personnel-regular-deduction-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; }
.personnel-regular-deduction-form-grid label { display:grid; grid-template-columns:115px minmax(0,1fr); align-items:center; gap:7px; color:#3f5367; font-size:10px; font-weight:750; }
.personnel-regular-deduction-form-grid input,.personnel-regular-deduction-form-grid select,.personnel-regular-deduction-form-grid textarea { box-sizing:border-box; width:100%; min-height:30px; padding:5px 7px; border:1px solid #c7d4e0; border-radius:5px; background:#fff; color:#30465a; font:inherit; }
.personnel-regular-deduction-form-grid textarea { resize:vertical; }
.personnel-regular-deduction-wide { grid-column:1 / -1; }
.personnel-regular-deduction-switch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 20px; margin-top:12px; padding-top:11px; border-top:1px solid #cbd7e2; }
.personnel-regular-deduction-switch-grid label { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#405466; font-size:10px; }
.personnel-regular-deduction-switch-grid input[type=checkbox] { appearance:none; position:relative; width:43px; height:23px; margin:0; border:2px solid #3d4248; border-radius:13px; background:#f4f5f6; cursor:pointer; transition:.18s ease; }
.personnel-regular-deduction-switch-grid input[type=checkbox]::after { content:""; position:absolute; top:3px; left:3px; width:13px; height:13px; border-radius:50%; background:#474b50; transition:.18s ease; }
.personnel-regular-deduction-switch-grid input[type=checkbox]:checked { border-color:#267b51; background:#bcebd0; }
.personnel-regular-deduction-switch-grid input[type=checkbox]:checked::after { left:23px; background:#1f784b; }
.personnel-regular-payment-editor { width:min(880px,calc(100% - 24px)); }
.personnel-regular-payment-editor .personnel-payment-editor-grid { display:block; padding:0; }
.personnel-regular-payment-body { padding:0 8px 14px; }
.personnel-regular-payment-person-strip { display:flex; align-items:center; gap:18px; padding:10px 8px; border:1px solid #cad7e2; border-radius:8px; background:#f4f7fa; }
.personnel-regular-payment-person-strip label { display:flex; align-items:center; gap:7px; flex:1; min-width:0; color:#607386; font-size:10px; font-weight:750; }
.personnel-regular-payment-person-strip input { box-sizing:border-box; width:100%; min-height:30px; padding:5px 8px; border:1px solid #d2dee8; border-radius:5px; background:#fff; color:#53677a; font:inherit; }
.personnel-regular-payment-columns { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(250px,.92fr); gap:14px; margin-top:10px; padding:12px 10px; border:1px solid #cad7e2; border-radius:9px; background:#f0f3f6; }
.personnel-regular-payment-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; align-content:start; }
.personnel-regular-payment-form-grid > label { display:grid; grid-template-columns:125px minmax(0,1fr); align-items:center; gap:6px; color:#45596c; font-size:10px; }
.personnel-regular-payment-form-grid input,.personnel-regular-payment-form-grid select { box-sizing:border-box; width:100%; min-height:29px; padding:4px 7px; border:1px solid #c9d5e0; border-radius:5px; background:#fff; color:#34495c; font:inherit; }
.personnel-inline-check { display:flex!important; grid-template-columns:none!important; align-items:center!important; gap:5px!important; white-space:nowrap; }
.personnel-inline-check input { width:15px!important; min-height:15px!important; }
.personnel-radio-field { display:flex; align-items:center; gap:11px; min-width:0; margin:0; padding:0; border:0; color:#42566a; font-size:10px; }
.personnel-radio-field legend { width:125px; margin-right:2px; color:#45596c; font-size:10px; }
.personnel-radio-field label { display:flex; align-items:center; gap:4px; white-space:nowrap; }
.personnel-regular-payment-switch-column { display:grid; align-content:start; gap:7px; padding:1px 3px 0 12px; }
.personnel-regular-payment-switch-column label { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:27px; color:#526577; font-size:10px; }
.personnel-regular-payment-switch-column label.is-disabled { color:#b9c1c8; }
.personnel-regular-payment-switch-column input[type=checkbox] { appearance:none; position:relative; flex:none; width:40px; height:22px; margin:0; border:2px solid #40464b; border-radius:12px; background:#f4f5f6; cursor:pointer; transition:.18s ease; }
.personnel-regular-payment-switch-column input[type=checkbox]::after { content:""; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:#484d52; transition:.18s ease; }
.personnel-regular-payment-switch-column input[type=checkbox]:checked { border-color:#267b51; background:#bcebd0; }
.personnel-regular-payment-switch-column input[type=checkbox]:checked::after { left:21px; background:#1f784b; }
.personnel-regular-payment-switch-column label.is-disabled input[type=checkbox] { border-color:#aab0b5; background:#f0f1f2; }
.personnel-family-workspace { display:grid; grid-template-columns:300px minmax(0,1fr); gap:8px; min-width:0; padding:0 1px 8px; }
.personnel-family-documents,.personnel-family-card { min-width:0; border:1px solid #c8d5e1; border-radius:11px; background:#e9eff5; }
.personnel-family-documents { align-self:start; padding:14px 16px 16px; }
.personnel-family-documents header { display:flex; align-items:center; gap:8px; margin-bottom:12px; color:#263b50; font-size:13px; }
.personnel-family-doc-icon,.personnel-family-title-icon { color:#1e6ed1; font-size:20px; }
.personnel-family-document-list { display:grid; gap:8px; color:#25384b; font-size:11px; }
.personnel-family-document-list label { display:flex; align-items:center; gap:6px; }
.personnel-family-document-list input { width:14px; height:14px; margin:0; }
.personnel-family-sms,.personnel-family-whatsapp { display:block; width:100%; min-height:35px; margin-top:14px; border:1px solid #2d70dc; border-radius:8px; color:#2367d0; background:#edf4ff; font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.personnel-family-whatsapp { margin-top:8px; border-color:#18a45d; color:#fff; background:#20c96b; }
.personnel-family-main { min-width:0; }
.personnel-family-card { overflow:hidden; min-height:560px; }
.personnel-family-card > header { display:flex; align-items:center; min-height:44px; padding:0 14px; border-bottom:1px solid #cad7e2; color:#25394e; font-size:14px; }
.personnel-family-card > header div { display:flex; align-items:center; gap:8px; }
.personnel-family-table-wrap { overflow:auto; margin:0 16px; min-height:330px; background:#fff; }
.personnel-family-table { width:100%; min-width:780px; border-collapse:collapse; color:#2e4358; font-size:10px; }
.personnel-family-table th { padding:7px 8px; border:1px solid #cbd7e2; border-top:0; background:#e9eff5; text-align:left; white-space:nowrap; font-weight:800; }
.personnel-family-table td { padding:8px; border-bottom:1px solid #e2e8ee; white-space:nowrap; }
.personnel-family-table tbody tr:hover { background:#f5f9fd; cursor:pointer; }
.personnel-family-empty { height:170px; color:#8493a2; text-align:center!important; }
.personnel-family-spouse { display:grid; grid-template-columns:110px 120px minmax(120px,200px) minmax(120px,200px); gap:10px; margin:12px 16px 0; padding:12px; border:1px solid #cbd7e2; border-radius:10px; background:#fff; }
.personnel-family-spouse label { display:grid; gap:5px; color:#5e7183; font-size:10px; font-weight:750; }
.personnel-family-spouse select,.personnel-family-spouse input { min-height:29px; padding:4px 7px; border:1px solid #c8d5e1; border-radius:5px; background:#fff; color:#30465a; font:inherit; }
.personnel-family-card > footer { display:flex; justify-content:flex-end; gap:13px; min-height:38px; padding:5px 13px; }
.personnel-family-card > footer button { border:0; color:#23394f; background:transparent; font-size:21px; cursor:pointer; }
.personnel-family-card > footer button:disabled { color:#9aa7b4; cursor:not-allowed; }
.personnel-family-card > footer .payment-delete { color:#a52f2f; font-size:16px; }
.personnel-family-editor-backdrop { position:absolute; inset:0; z-index:34; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }
.personnel-family-editor { position:absolute; z-index:35; top:50%; left:50%; width:min(470px,calc(100% - 28px)); max-height:calc(100% - 32px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c4d4e3; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }
.personnel-family-editor > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:13px 15px; border-bottom:1px solid #d8e2eb; background:#edf3f8; }
.personnel-family-editor > header > div { display:flex; align-items:flex-start; gap:9px; }
.personnel-family-editor-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; background:#e4f2ff; color:#1d70d3; font-size:20px; }
.personnel-family-editor h3 { margin:0; color:#25394d; font-size:17px; }
.personnel-family-editor p { margin:3px 0 0; color:#697c8f; font-size:10px; }
.personnel-family-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 12px; padding:13px 15px; }
.personnel-family-editor-grid label { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:6px; color:#42576b; font-size:10px; }
.personnel-family-editor-grid input,.personnel-family-editor-grid select,.personnel-family-editor-grid textarea { box-sizing:border-box; width:100%; min-height:29px; padding:5px 7px; border:1px solid #cad7e2; border-radius:5px; background:#fff; color:#30465a; font:inherit; }
.personnel-family-editor-grid textarea { resize:vertical; }
.personnel-family-editor-grid .family-age-field { grid-template-columns:112px minmax(0,1fr); }
.family-age-field strong { color:#d7303d; }
.personnel-family-editor-grid .family-check { grid-template-columns:auto minmax(0,1fr); }
.personnel-family-editor-grid .family-check input { width:15px; min-height:15px; }
.personnel-family-editor-grid .family-wide { grid-column:1 / -1; }
.personnel-family-editor > footer { display:flex; justify-content:flex-end; gap:8px; padding:10px 15px; border-top:1px solid #d8e2eb; background:#f8fafc; }
.personnel-enforcement-workspace { display:grid; gap:8px; min-width:0; padding:0 1px 8px; color:#2b4054; }
.personnel-enforcement-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 14px; border-radius:10px; background:#f8fafc; }
.personnel-enforcement-heading > div:first-child { display:flex; align-items:center; gap:10px; }
.personnel-enforcement-heading h3 { margin:0; font-size:17px; color:#25384c; }
.personnel-enforcement-heading p { margin:3px 0 0; color:#738395; font-size:10px; }
.personnel-enforcement-icon { display:grid; place-items:center; width:31px; height:31px; border-radius:8px; color:#2d72d7; background:#e1edff; font-size:20px; }
.personnel-enforcement-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.personnel-enforcement-action { min-height:33px; border-color:#1976d2; color:#0b6fc2; background:#e7f8ff; font-size:10px; font-weight:750; }
.personnel-enforcement-list-card,.personnel-enforcement-details,.personnel-enforcement-deductions { overflow:hidden; min-width:0; border:1px solid #c6d4e0; border-radius:11px; background:#e9eff5; }
.personnel-enforcement-list-card > header { padding:8px 10px; color:#273b4e; font-size:12px; }
.personnel-enforcement-list-card > header div { display:grid; gap:2px; }
.personnel-enforcement-list-card > header small { color:#7d8c9a; font-size:9px; }
.personnel-enforcement-table-wrap { overflow:auto; min-height:158px; background:#fff; }
.personnel-enforcement-table { width:100%; min-width:980px; border-collapse:collapse; color:#2f4357; font-size:10px; }
.personnel-enforcement-table th { padding:7px 8px; border:1px solid #cbd7e2; border-top:0; background:#e5ebf1; text-align:left; white-space:nowrap; font-size:9px; }
.personnel-enforcement-table td { padding:8px; border-bottom:1px solid #e3eaf0; white-space:nowrap; }
.personnel-enforcement-table tbody tr { cursor:pointer; }
.personnel-enforcement-table tbody tr:hover,.personnel-enforcement-table tbody tr.selected { background:#e4f1ff; }
.personnel-enforcement-empty { height:80px; color:#8393a2; text-align:center!important; }
.personnel-enforcement-list-card > footer { display:flex; justify-content:flex-end; gap:7px; padding:7px 10px; }
.personnel-enforcement-list-card > footer .button { min-height:29px; padding:5px 10px; font-size:10px; }
.personnel-enforcement-bottom-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr); gap:8px; min-width:0; }
.personnel-enforcement-subtabs { display:flex; gap:1px; padding:4px 8px 0; border-bottom:1px solid #cbd7e2; background:#e9eff5; }
.personnel-enforcement-subtabs button { border:0; border-bottom:2px solid transparent; padding:8px 10px; color:#50667a; background:transparent; font:inherit; font-size:10px; cursor:pointer; }
.personnel-enforcement-subtabs button.active { border-bottom-color:#276ad0; color:#1c5dbb; background:#fff; }
.personnel-enforcement-subtabs button:disabled { color:#9ba7b2; cursor:not-allowed; }
.personnel-enforcement-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; padding:10px; background:#fff; }
.personnel-enforcement-fields label,.personnel-enforcement-editor-grid label { display:grid; gap:5px; color:#53687c; font-size:10px; font-weight:700; }
.personnel-enforcement-fields input,.personnel-enforcement-fields select,.personnel-enforcement-fields textarea,.personnel-enforcement-editor-grid input,.personnel-enforcement-editor-grid select,.personnel-enforcement-editor-grid textarea { box-sizing:border-box; width:100%; min-height:29px; padding:5px 7px; border:1px solid #c7d4df; border-radius:5px; background:#fff; color:#2d4358; font:inherit; }
.personnel-enforcement-fields textarea,.personnel-enforcement-editor-grid textarea { resize:vertical; }
.personnel-enforcement-wide,.personnel-enforcement-editor-wide { grid-column:1 / -1; }
.personnel-enforcement-no-selection { min-height:225px; display:grid; place-items:center; padding:15px; color:#8392a1; background:#fff; font-size:11px; text-align:center; }
.personnel-enforcement-deductions > header { min-height:35px; display:flex; align-items:center; padding:0 11px; color:#30465a; font-size:12px; }
.personnel-enforcement-deduction-table-wrap { min-height:225px; overflow:auto; background:#fff; }
.personnel-enforcement-deduction-table { width:100%; border-collapse:collapse; color:#344a5e; font-size:10px; }
.personnel-enforcement-deduction-table th { padding:7px 8px; border:1px solid #cbd7e2; border-top:0; background:#e5ebf1; text-align:left; }
.personnel-enforcement-deduction-table td { padding:8px; border-bottom:1px solid #e4eaf0; }
.personnel-enforcement-total { display:grid; grid-template-columns:1fr auto; gap:6px 10px; padding:10px; border-top:1px solid #cad7e2; background:#f5f8fb; color:#66788a; font-size:10px; }
.personnel-enforcement-total strong { color:#1f374d; text-align:right; }
.personnel-enforcement-total strong.debt { color:#b34738; }
.personnel-enforcement-editor-backdrop { position:absolute; inset:0; z-index:38; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }
.personnel-enforcement-editor { position:absolute; z-index:39; top:50%; left:50%; width:min(720px,calc(100% - 30px)); max-height:calc(100% - 35px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c5d4e2; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }
.personnel-enforcement-editor > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px 17px; border-bottom:1px solid #d8e2eb; background:#edf3f8; }
.personnel-enforcement-editor h3 { margin:3px 0 0; color:#25394d; font-size:17px; }
.personnel-enforcement-editor p { margin:3px 0 0; color:#718294; font-size:10px; }
.personnel-enforcement-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:16px; }
.personnel-enforcement-editor > footer { display:flex; justify-content:flex-end; gap:8px; padding:11px 16px; border-top:1px solid #d8e2eb; background:#f8fafc; }
@media (max-width:760px) { .personnel-enforcement-heading { align-items:flex-start; flex-direction:column; } .personnel-enforcement-actions { justify-content:flex-start; } .personnel-enforcement-bottom-grid { grid-template-columns:1fr; } }
.personnel-performance-workspace { display:grid; gap:8px; min-width:0; padding:0 1px 8px; }
.personnel-performance-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
.personnel-performance-panel { overflow:hidden; min-width:0; border:1px solid #c7d4e0; border-radius:11px; background:#e9eff5; }
.personnel-performance-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-height:40px; padding:9px 11px 7px; color:#24394d; }
.personnel-performance-panel > header div { display:flex; align-items:center; gap:8px; font-size:12px; }
.personnel-performance-panel > header div span { color:#126dd0; font-size:19px; }
.personnel-performance-panel:nth-child(3) > header div span { color:#e28a00; }.personnel-performance-panel:nth-child(4) > header div span { color:#d33131; }
.personnel-performance-panel > header small { max-width:180px; color:#7c8c9c; font-size:9px; text-align:right; }
.personnel-performance-table-wrap { overflow:auto; min-height:250px; margin:0 11px; background:#fff; }
.personnel-performance-table { width:100%; min-width:520px; border-collapse:collapse; color:#30465a; font-size:10px; }
.personnel-performance-table th { padding:7px 8px; border:1px solid #cbd7e2; border-top:0; background:#e5ebf1; text-align:left; white-space:nowrap; font-size:9px; font-weight:800; }
.personnel-performance-table td { padding:8px; border-bottom:1px solid #e3eaf0; white-space:nowrap; }
.personnel-performance-table tbody tr:hover { background:#f1f7ff; cursor:pointer; }
.personnel-performance-empty { height:110px; color:#8392a1; text-align:center!important; }
.personnel-performance-panel > footer { display:flex; justify-content:flex-end; gap:13px; min-height:37px; padding:5px 12px; }
.personnel-performance-panel > footer button { border:0; color:#24394d; background:transparent; font-size:21px; line-height:1; cursor:pointer; }.personnel-performance-panel > footer button:hover { color:#236ac8; }.personnel-performance-panel > footer button:disabled { color:#9ba8b5; cursor:not-allowed; }.personnel-performance-panel > footer .payment-delete { color:#a52f2f; font-size:16px; }
.personnel-performance-editor-backdrop { position:absolute; inset:0; z-index:40; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }
.personnel-performance-editor { position:absolute; z-index:41; top:50%; left:50%; width:min(760px,calc(100% - 30px)); max-height:calc(100% - 35px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c5d4e2; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }
.personnel-performance-editor > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px 17px; border-bottom:1px solid #d8e2eb; background:#edf3f8; }.personnel-performance-editor h3 { margin:3px 0 0; color:#25394d; font-size:17px; }.personnel-performance-editor p { margin:3px 0 0; color:#718294; font-size:10px; }
.personnel-performance-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:16px; }.personnel-performance-editor-grid label { display:grid; gap:5px; color:#53687c; font-size:10px; font-weight:700; }.personnel-performance-editor-grid input,.personnel-performance-editor-grid select,.personnel-performance-editor-grid textarea { box-sizing:border-box; width:100%; min-height:30px; padding:6px 8px; border:1px solid #c7d4df; border-radius:5px; background:#fff; color:#2d4358; font:inherit; }.personnel-performance-editor-grid textarea { resize:vertical; }.personnel-performance-editor-wide { grid-column:1 / -1; }.personnel-performance-editor > footer { display:flex; justify-content:flex-end; gap:8px; padding:11px 16px; border-top:1px solid #d8e2eb; background:#f8fafc; }
@media (max-width:760px) { .personnel-performance-grid { grid-template-columns:1fr; } }
.personnel-assignment-workspace { display:grid; gap:8px; min-width:0; padding:0 1px 8px; }
.personnel-assignment-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 14px; border-radius:10px; background:#f8fafc; }
.personnel-assignment-heading > div:first-child { display:flex; align-items:center; gap:10px; }.personnel-assignment-heading h3 { margin:0; color:#25384c; font-size:17px; }.personnel-assignment-heading p { margin:3px 0 0; color:#738395; font-size:10px; }.personnel-assignment-icon { display:grid; place-items:center; width:31px; height:31px; border-radius:8px; color:#246de0; background:#e2edff; font-size:20px; }
.personnel-assignment-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }.personnel-assignment-actions .button { min-height:33px; padding:6px 12px; font-size:10px; font-weight:750; }.personnel-assignment-new { border-color:#16a05b; color:#078b4b; background:#e7fff0; }.personnel-assignment-print { border-color:#1888d1; color:#0574b8; background:#e5f7ff; }.personnel-assignment-print:disabled { opacity:.55; cursor:not-allowed; }
.personnel-assignment-card { overflow:hidden; min-width:0; border:1px solid #c7d4e0; border-radius:11px; background:#e9eff5; }.personnel-assignment-card > header { min-height:36px; display:flex; align-items:center; padding:0 12px; color:#283d51; font-size:12px; }.personnel-assignment-table-wrap { overflow:auto; min-height:440px; margin:0 12px; background:#fff; }.personnel-assignment-table { width:100%; min-width:1020px; border-collapse:collapse; color:#30465a; font-size:10px; }.personnel-assignment-table th { padding:7px 8px; border:1px solid #cbd7e2; border-top:0; background:#e5ebf1; text-align:left; white-space:nowrap; font-size:9px; font-weight:800; }.personnel-assignment-table td { padding:8px; border-bottom:1px solid #e3eaf0; white-space:nowrap; }.personnel-assignment-table tbody tr { cursor:pointer; }.personnel-assignment-table tbody tr:hover,.personnel-assignment-table tbody tr.selected { background:#e5f1ff; }.personnel-assignment-empty { height:260px; color:#8392a1; text-align:center!important; }.personnel-assignment-card > footer { display:flex; justify-content:flex-end; gap:13px; min-height:38px; padding:5px 13px; }.personnel-assignment-card > footer button { border:0; color:#24394d; background:transparent; font-size:21px; cursor:pointer; }.personnel-assignment-card > footer button:disabled { color:#9ba8b5; cursor:not-allowed; }.personnel-assignment-card > footer .payment-delete { color:#a52f2f; font-size:16px; }
.personnel-assignment-editor-backdrop { position:absolute; inset:0; z-index:42; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }.personnel-assignment-editor { position:absolute; z-index:43; top:50%; left:50%; width:min(620px,calc(100% - 30px)); max-height:calc(100% - 35px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c5d4e2; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }.personnel-assignment-editor > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px 17px; border-bottom:1px solid #d8e2eb; background:#edf3f8; }.personnel-assignment-editor h3 { margin:3px 0 0; color:#25394d; font-size:17px; }.personnel-assignment-editor p { margin:3px 0 0; color:#718294; font-size:10px; }.personnel-assignment-person-strip { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:12px 16px 0; }.personnel-assignment-person-strip label { display:grid; grid-template-columns:75px minmax(0,1fr); align-items:center; gap:7px; color:#53687c; font-size:10px; font-weight:700; }.personnel-assignment-person-strip input { box-sizing:border-box; width:100%; min-height:30px; padding:6px 8px; border:1px solid #c7d4df; border-radius:5px; background:#f6f8fb; color:#6d7c8b; font:inherit; }.personnel-assignment-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:14px 16px 16px; }.personnel-assignment-editor-grid label { display:grid; gap:5px; color:#53687c; font-size:10px; font-weight:700; }.personnel-assignment-editor-grid input,.personnel-assignment-editor-grid select,.personnel-assignment-editor-grid textarea { box-sizing:border-box; width:100%; min-height:30px; padding:6px 8px; border:1px solid #c7d4df; border-radius:5px; background:#fff; color:#2d4358; font:inherit; }.personnel-assignment-editor-grid textarea { resize:vertical; }.personnel-assignment-editor-wide { grid-column:1 / -1; }.personnel-assignment-editor > footer { display:flex; justify-content:flex-end; gap:8px; padding:11px 16px; border-top:1px solid #d8e2eb; background:#f8fafc; }
@media (max-width:760px) { .personnel-assignment-heading { align-items:flex-start; flex-direction:column; }.personnel-assignment-actions { justify-content:flex-start; }.personnel-assignment-person-strip { grid-template-columns:1fr; }.personnel-assignment-editor-grid { grid-template-columns:1fr; }.personnel-assignment-editor-wide { grid-column:auto; } }
.personnel-notes-workspace { display:grid; gap:8px; min-width:0; padding:0 1px 8px; }.personnel-notes-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.7fr); gap:8px; align-items:start; }.personnel-notes-panel { overflow:hidden; min-width:0; border:1px solid #c7d4e0; border-radius:11px; background:#e9eff5; }.personnel-notes-panel > header { display:flex; align-items:center; justify-content:space-between; min-height:39px; padding:0 11px; color:#263b50; font-size:12px; }.personnel-notes-panel > header strong { display:flex; align-items:center; gap:8px; }.personnel-notes-panel > header strong:first-letter { color:#2b70d7; }.personnel-notes-panel > header div { display:flex; gap:10px; }.personnel-notes-panel > header button { border:0; color:#24394d; background:transparent; font-size:20px; cursor:pointer; }.personnel-notes-panel > header button:disabled { color:#9ba8b5; cursor:not-allowed; }.personnel-notes-panel > header .payment-delete { color:#a52f2f; font-size:16px; }
.personnel-notes-custom-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; padding:11px 16px 14px; }.personnel-notes-custom-fields label,.personnel-notes-driver-fields label { display:grid; grid-template-columns:105px minmax(0,1fr); align-items:center; gap:7px; color:#657588; font-size:10px; font-weight:700; }.personnel-notes-custom-fields input,.personnel-notes-driver-fields input,.personnel-notes-driver-fields select { box-sizing:border-box; width:100%; min-height:29px; padding:5px 7px; border:1px solid #c6d3df; border-radius:5px; background:#fff; color:#30465a; font:inherit; }.personnel-notes-driver-fields { display:grid; gap:8px; padding:11px 14px 14px; }.personnel-notes-driver-fields label { grid-template-columns:112px minmax(0,1fr); }.personnel-notes-table-wrap { overflow:auto; min-height:170px; margin:0 12px 12px; background:#fff; }.personnel-notes-list-panel .personnel-notes-table-wrap { min-height:205px; }.personnel-sms-panel .personnel-notes-table-wrap { min-height:210px; margin-bottom:12px; }.personnel-notes-table { width:100%; min-width:590px; border-collapse:collapse; color:#30465a; font-size:10px; }.personnel-notes-table th { padding:7px 8px; border:1px solid #cbd7e2; border-top:0; background:#e5ebf1; text-align:left; white-space:nowrap; font-size:9px; }.personnel-notes-table td { padding:8px; border-bottom:1px solid #e3eaf0; white-space:nowrap; }.personnel-notes-table tbody tr { cursor:pointer; }.personnel-notes-table tbody tr:hover,.personnel-notes-table tbody tr.selected { background:#e5f1ff; }.personnel-notes-empty { height:95px; color:#8392a1; text-align:center!important; }.personnel-sms-table { min-width:760px; }
.personnel-notes-editor-backdrop { position:absolute; inset:0; z-index:44; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }.personnel-notes-editor { position:absolute; z-index:45; top:50%; left:50%; width:min(540px,calc(100% - 30px)); max-height:calc(100% - 35px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c5d4e2; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }.personnel-notes-editor > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px 17px; border-bottom:1px solid #d8e2eb; background:#edf3f8; }.personnel-notes-editor h3 { margin:3px 0 0; color:#25394d; font-size:17px; }.personnel-notes-editor p { margin:3px 0 0; color:#718294; font-size:10px; }.personnel-notes-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:16px; }.personnel-notes-editor-grid label { display:grid; gap:5px; color:#53687c; font-size:10px; font-weight:700; }.personnel-notes-editor-grid input,.personnel-notes-editor-grid textarea { box-sizing:border-box; width:100%; min-height:30px; padding:6px 8px; border:1px solid #c7d4df; border-radius:5px; background:#fff; color:#2d4358; font:inherit; }.personnel-notes-editor-grid textarea { resize:vertical; }.personnel-notes-editor-wide { grid-column:1 / -1; }.personnel-notes-editor > footer { display:flex; justify-content:flex-end; gap:8px; padding:11px 16px; border-top:1px solid #d8e2eb; background:#f8fafc; }
@media (max-width:760px) { .personnel-notes-grid { grid-template-columns:1fr; }.personnel-notes-custom-fields,.personnel-notes-editor-grid { grid-template-columns:1fr; }.personnel-notes-editor-wide { grid-column:auto; } }
.personnel-union-workspace { display:grid; gap:8px; min-width:0; padding:0 1px 8px; }.personnel-union-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,1fr); gap:8px; min-width:0; }.personnel-union-left,.personnel-union-right { display:grid; align-content:start; gap:8px; min-width:0; }.personnel-union-panel { overflow:hidden; min-width:0; border:1px solid #c7d4e0; border-radius:11px; background:#e9eff5; }.personnel-union-panel > header { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:40px; padding:0 11px; color:#293d51; font-size:12px; }.personnel-union-panel > header small { color:#7a8b9c; font-size:9px; }.personnel-union-active-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; padding:8px 10px 12px; }.personnel-union-active-fields label { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:center; gap:7px; color:#566a7d; font-size:10px; font-weight:700; }.personnel-union-active-fields input,.personnel-union-active-fields select { box-sizing:border-box; width:100%; min-height:29px; padding:5px 7px; border:1px solid #c6d3df; border-radius:5px; background:#fff; color:#30465a; font:inherit; }.personnel-union-info { grid-column:2; justify-self:end; min-height:30px; padding:5px 10px; border-color:#168bd4; color:#0874b7; background:#e4f7ff; font-size:10px; }.personnel-union-table-wrap { overflow:auto; min-height:250px; margin:0 10px; background:#fff; }.personnel-union-history .personnel-union-table-wrap { min-height:245px; }.personnel-union-table { width:100%; min-width:610px; border-collapse:collapse; color:#30465a; font-size:10px; }.personnel-union-table th { padding:7px 8px; border:1px solid #cbd7e2; border-top:0; background:#e5ebf1; text-align:left; white-space:nowrap; font-size:9px; }.personnel-union-table td { padding:8px; border-bottom:1px solid #e3eaf0; white-space:nowrap; }.personnel-union-table tbody tr { cursor:pointer; }.personnel-union-table tbody tr:hover,.personnel-union-table tbody tr.selected { background:#e5f1ff; }.personnel-union-table input[type=checkbox] { width:14px; height:14px; }.personnel-union-empty { height:110px; color:#8392a1; text-align:center!important; }.personnel-union-panel > footer { display:flex; justify-content:flex-end; gap:13px; min-height:36px; padding:5px 11px; }.personnel-union-panel > footer button,.personnel-union-header-actions button { border:0; color:#24394d; background:transparent; font-size:20px; cursor:pointer; }.personnel-union-panel > footer button:disabled,.personnel-union-header-actions button:disabled { color:#9ba8b5; cursor:not-allowed; }.personnel-union-panel > footer .payment-delete,.personnel-union-header-actions .payment-delete { color:#a52f2f; font-size:16px; }.personnel-union-payment-actions { display:flex; align-items:center; gap:12px; padding:7px 10px 10px; color:#344b5f; font-size:10px; }.personnel-union-payment-actions label { display:flex; align-items:center; gap:5px; white-space:nowrap; }.personnel-union-payment-actions input { width:14px; height:14px; }.personnel-union-apply { flex:1; min-height:29px; border-color:#18a35c; color:#078b4b; background:#e1ffeb; font-size:10px; }.personnel-union-warning { display:flex; align-items:flex-start; gap:8px; padding:11px 12px; border:1px solid #ffae40; border-radius:11px; color:#e87b00; background:#fff5e2; font-size:10px; font-weight:700; }.personnel-union-warning:first-letter { font-size:18px; }.personnel-union-history > header { align-items:flex-start; padding-top:7px; padding-bottom:7px; }.personnel-union-history > header > div:first-child { display:grid; gap:2px; }.personnel-union-history > header small { font-weight:400; }.personnel-union-header-actions { display:flex; gap:10px; }.personnel-union-info-box { padding:10px 14px; border:1px solid #61b9dd; border-radius:11px; color:#f17900; background:#ddfff0; font-size:10px; }.personnel-union-info-box p { margin:0 0 6px 22px; }.personnel-union-info-box label { display:flex; align-items:center; gap:6px; color:#344b5f; }.personnel-union-info-box input { width:14px; height:14px; }
.personnel-union-editor-backdrop { position:absolute; inset:0; z-index:46; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }.personnel-union-editor { position:absolute; z-index:47; top:50%; left:50%; width:min(510px,calc(100% - 30px)); max-height:calc(100% - 35px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c5d4e2; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }.personnel-union-editor > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px 17px; border-bottom:1px solid #d8e2eb; background:#edf3f8; }.personnel-union-editor h3 { margin:3px 0 0; color:#25394d; font-size:17px; }.personnel-union-editor p { margin:3px 0 0; color:#718294; font-size:10px; }.personnel-union-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:16px; }.personnel-union-editor-grid label { display:grid; gap:5px; color:#53687c; font-size:10px; font-weight:700; }.personnel-union-editor-grid input,.personnel-union-editor-grid select,.personnel-union-editor-grid textarea { box-sizing:border-box; width:100%; min-height:30px; padding:6px 8px; border:1px solid #c7d4df; border-radius:5px; background:#fff; color:#2d4358; font:inherit; }.personnel-union-editor-grid select[multiple] { min-height:110px; }.personnel-union-editor-grid textarea { resize:vertical; }.personnel-union-editor-wide { grid-column:1 / -1; }.personnel-union-editor > footer { display:flex; justify-content:flex-end; gap:8px; padding:11px 16px; border-top:1px solid #d8e2eb; background:#f8fafc; }
@media (max-width:760px) { .personnel-union-grid { grid-template-columns:1fr; }.personnel-union-active-fields { grid-template-columns:1fr; }.personnel-union-info { grid-column:auto; justify-self:start; }.personnel-union-editor-grid { grid-template-columns:1fr; }.personnel-union-editor-wide { grid-column:auto; } }
.personnel-other-workspace { display:grid; gap:8px; min-width:0; padding:0 1px 8px; }
.personnel-other-top-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
.personnel-other-card { min-width:0; overflow:hidden; border:1px solid #c8d5e1; border-radius:10px; background:#e9eff5; }
.personnel-other-card > header { display:flex; align-items:center; justify-content:space-between; min-height:34px; padding:0 10px; color:#263b50; font-size:12px; }
.personnel-other-card > header span { color:#2b7d35; font-size:18px; }
.personnel-other-card > header div { display:flex; gap:10px; }
.personnel-other-card > header button { border:0; color:#1f2f43; background:transparent; font-size:19px; cursor:pointer; }
.personnel-other-card > header button:disabled { color:#a0acb8; cursor:not-allowed; }
.personnel-other-card > header .payment-delete { color:#a52f2f; font-size:15px; }
.personnel-other-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 10px; padding:6px 10px 10px; }
.personnel-other-fields label { display:grid; grid-template-columns:92px minmax(0,1fr); align-items:center; gap:6px; color:#5a6e81; font-size:10px; }
.personnel-other-fields input,.personnel-other-fields select { box-sizing:border-box; width:100%; min-height:28px; padding:4px 6px; border:1px solid #c6d3df; border-radius:5px; background:#fff; color:#30465a; font:inherit; }
.personnel-other-fields .other-wide { grid-column:1 / -1; }
.personnel-identity-card { grid-row:span 2; }
.personnel-identity-card > header { border-bottom:1px solid #cbd7e2; }
.personnel-other-tabs { display:flex; gap:1px; overflow:auto; padding:4px 7px 0; background:#e9eff5; }
.personnel-other-tabs button { border:0; border-bottom:2px solid transparent; padding:7px 9px; color:#31465a; background:transparent; font:inherit; font-size:10px; white-space:nowrap; cursor:pointer; }
.personnel-other-tabs button.active { border-bottom-color:#276ad0; background:#fff; }
.personnel-other-identity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 10px; padding:8px; background:#fff; }
.personnel-other-identity-grid label { display:grid; grid-template-columns:95px minmax(0,1fr); align-items:center; gap:6px; color:#52677a; font-size:10px; }
.personnel-other-identity-grid input { box-sizing:border-box; width:100%; min-height:28px; padding:4px 6px; border:1px solid #c7d4e0; border-radius:5px; font:inherit; }
.personnel-other-identity-grid .other-wide { grid-column:1 / -1; }
.uniform-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.personnel-certificate-card { min-height:180px; background:#e9eff5; }
.personnel-certificate-table-wrap,.personnel-education-table-wrap { overflow:auto; margin:0 8px 8px; background:#fff; }
.personnel-certificate-table,.personnel-education-table { width:100%; min-width:520px; border-collapse:collapse; color:#2e4358; font-size:10px; }
.personnel-certificate-table th,.personnel-education-table th { padding:7px; border:1px solid #cbd7e2; border-top:0; background:#edf2f6; text-align:left; white-space:nowrap; }
.personnel-certificate-table td,.personnel-education-table td { padding:7px; border-bottom:1px solid #e2e8ee; white-space:nowrap; }
.personnel-certificate-table tbody tr:hover,.personnel-education-table tbody tr:hover { background:#f5f9fd; cursor:pointer; }
.personnel-other-empty { height:75px; color:#8392a1; text-align:center!important; }
.personnel-other-bottom-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
.personnel-other-inline-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:7px 10px 10px; }
.personnel-other-inline-fields label { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:center; gap:5px; color:#5a6e81; font-size:10px; }
.personnel-other-inline-fields input { box-sizing:border-box; width:100%; min-height:28px; padding:4px 6px; border:1px solid #c6d3df; border-radius:5px; font:inherit; }
.personnel-record-card > div { display:flex; gap:8px; padding:7px 10px 10px; }
.personnel-record-card input { min-width:0; width:50%; min-height:28px; padding:4px 6px; border:1px solid #c6d3df; border-radius:5px; background:#f5f7fa; color:#738395; font:inherit; }
.personnel-education-card { min-height:170px; }
.personnel-other-emergency { display:flex; gap:22px; padding:3px 0; color:#53687a; font-size:10px; }
.personnel-other-emergency label { display:flex; align-items:center; gap:7px; }
.personnel-other-emergency input { min-height:28px; padding:4px 7px; border:1px solid #c8d5e1; border-radius:5px; font:inherit; }
.personnel-other-modal-backdrop { position:absolute; inset:0; z-index:34; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }
.personnel-other-modal { position:absolute; z-index:35; top:50%; left:50%; width:min(560px,calc(100% - 28px)); max-height:calc(100% - 34px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c4d4e3; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }
.personnel-other-modal > header { display:flex; align-items:center; justify-content:space-between; padding:13px 15px; border-bottom:1px solid #d8e2eb; background:#edf3f8; }
.personnel-other-modal h3 { margin:0; color:#263b4f; font-size:16px; }
.personnel-other-modal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 12px; padding:14px 16px; }
.personnel-other-modal-grid label { display:grid; grid-template-columns:125px minmax(0,1fr); align-items:center; gap:6px; color:#45596c; font-size:10px; }
.personnel-other-modal-grid input,.personnel-other-modal-grid select,.personnel-other-modal-grid textarea { box-sizing:border-box; width:100%; min-height:30px; padding:5px 7px; border:1px solid #c8d5e1; border-radius:5px; font:inherit; }
.personnel-other-modal-grid textarea { resize:vertical; }
.personnel-other-modal-grid .other-modal-wide { grid-column:1 / -1; }
.personnel-other-modal > footer { display:flex; justify-content:flex-end; gap:8px; padding:10px 16px; border-top:1px solid #d8e2eb; background:#f8fafc; }
.personnel-deduction-editor { width:min(760px,calc(100% - 28px)); }
.personnel-deduction-editor > header { align-items:flex-start; }
.payroll-deduction-editor-host { position:fixed; inset:0; z-index:1300; }
.payroll-deduction-editor-host .personnel-payment-editor-backdrop { position:absolute; inset:0; }
.payroll-deduction-editor-host .personnel-payment-editor { position:absolute; }
.personnel-deduction-validation { margin:0 14px 10px; padding:8px 10px; border:1px solid #f2b5b5; border-radius:7px; background:#fff1f1; color:#a52f2f; font-size:11px; font-weight:700; }
.personnel-deduction-subtitle { margin:4px 0 0; color:#7b8998; font-size:11px; }
.personnel-deduction-person-strip { display:flex; align-items:center; gap:12px; margin:12px 14px 0; padding:10px; border:1px solid #cbd9e5; border-radius:9px; background:#f5f8fb; }
.personnel-deduction-person-strip label { display:flex; align-items:center; gap:7px; min-width:0; color:#617386; font-size:10px; font-weight:750; }
.personnel-deduction-person-strip label span { white-space:nowrap; }
.personnel-deduction-person-strip input { box-sizing:border-box; width:140px; min-height:30px; padding:5px 8px; border:1px solid #d4dfe8; border-radius:5px; background:#fff; color:#33485c; font:inherit; }
.personnel-deduction-person-strip label:nth-child(2) input { width:170px; }
.personnel-deduction-period { margin-left:auto; padding:7px 10px; border:1px solid #bdd5ff; border-radius:6px; background:#edf4ff; color:#1e63c2; font-size:10px; white-space:nowrap; }
.personnel-deduction-period strong { font-weight:850; }
.personnel-deduction-section { margin:10px 14px 0; padding:0 10px 12px; border:1px solid #cad7e3; border-radius:10px; background:#e9eff5; }
.personnel-deduction-section-title { display:flex; align-items:center; gap:8px; min-height:33px; margin:0 -1px 8px; padding:0 9px; border-radius:7px; font-size:11px; font-weight:800; }
.personnel-deduction-section-title span { font-size:15px; }
.personnel-deduction-section-danger { border:1px solid #ffd3d5; background:#fff1f1; color:#d52f4c; }
.personnel-deduction-section-success { border:1px solid #c8ecd9; background:#edfff4; color:#22824c; }
.personnel-deduction-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; }
.personnel-deduction-field { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:center; gap:7px; color:#465a6e; font-size:11px; }
.personnel-deduction-field > span { white-space:nowrap; }
.personnel-deduction-field input,.personnel-deduction-field select,.personnel-deduction-field textarea { box-sizing:border-box; width:100%; min-height:30px; padding:5px 8px; border:1px solid #c6d3df; border-radius:6px; background:#fff; color:#30465a; font:inherit; }
.personnel-deduction-field textarea { resize:vertical; min-height:48px; }
.personnel-deduction-wide { grid-column:1 / -1; }
.personnel-deduction-switch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 22px; }
.personnel-deduction-switch-grid label { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#405466; font-size:11px; }
.personnel-deduction-switch-grid input[type=checkbox] { appearance:none; position:relative; width:43px; height:23px; margin:0; border:2px solid #3d4248; border-radius:13px; background:#f4f5f6; cursor:pointer; transition:.18s ease; }
.personnel-deduction-switch-grid input[type=checkbox]::after { content:""; position:absolute; top:3px; left:3px; width:13px; height:13px; border-radius:50%; background:#474b50; transition:.18s ease; }
.personnel-deduction-switch-grid input[type=checkbox]:checked { border-color:#267b51; background:#bcebd0; }
.personnel-deduction-switch-grid input[type=checkbox]:checked::after { left:23px; background:#1f784b; }
.personnel-deduction-delete { border-color:#f0b8b8!important; background:#fff3f3!important; color:#c02e38!important; }
.personnel-additional-payment-editor { width:min(1100px,calc(100% - 24px)); }
.personnel-additional-person-strip { display:flex; align-items:center; gap:11px; margin:12px 10px 0; padding:9px; border:1px solid #cbd8e4; border-radius:8px; background:#f6f9fc; }
.personnel-additional-person-strip label { display:flex; align-items:center; gap:6px; min-width:0; color:#617386; font-size:10px; font-weight:750; }
.personnel-additional-person-strip label span { white-space:nowrap; }
.personnel-additional-person-strip input { box-sizing:border-box; width:110px; min-height:29px; padding:5px 7px; border:1px solid #d2dee8; border-radius:5px; background:#fff; color:#526579; font:inherit; }
.personnel-additional-person-strip label:nth-child(2) input,.personnel-additional-person-strip label:nth-child(3) input { width:135px; }
.personnel-additional-payment-body { display:grid; grid-template-columns:minmax(600px,1.25fr) minmax(320px,.85fr); gap:12px; margin:10px 10px 0; min-height:350px; padding:12px 10px; border:1px solid #cad7e2; border-radius:8px; background:#f1f4f7; }
.personnel-additional-payment-column { min-width:0; }
.personnel-additional-payment-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7px 12px; }
.personnel-additional-payment-grid > label { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:center; gap:6px; color:#45596c; font-size:10px; }
.personnel-additional-payment-grid > label > span { white-space:nowrap; }
.personnel-additional-payment-grid input,.personnel-additional-payment-grid select { box-sizing:border-box; width:100%; min-height:29px; padding:4px 7px; border:1px solid #c9d5e0; border-radius:5px; background:#fff; color:#34495c; font:inherit; }
.personnel-additional-payment-grid select { min-width:145px; }
.personnel-additional-validation { grid-column:1 / -1; margin:0; }
.personnel-additional-inline-check { grid-template-columns:auto 1fr!important; align-items:center!important; }
.personnel-additional-inline-check input { width:15px!important; min-height:15px!important; }
.personnel-additional-radio { display:flex; align-items:center; gap:12px; min-width:0; margin:0; padding:3px 0; border:0; color:#42566a; font-size:10px; }
.personnel-additional-radio legend { float:left; width:145px; margin-right:6px; color:#45596c; font-size:10px; }
.personnel-additional-radio label { display:flex; align-items:center; gap:4px; white-space:nowrap; }
.personnel-additional-switch-column { display:grid; align-content:start; gap:7px; padding:1px 3px 0 12px; }
.personnel-additional-switch { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:27px; color:#526577; font-size:10px; }
.personnel-additional-switch > span { text-align:right; }
.personnel-additional-switch input[type=checkbox] { appearance:none; position:relative; flex:none; width:40px; height:22px; margin:0; border:2px solid #40464b; border-radius:12px; background:#f4f5f6; cursor:pointer; transition:.18s ease; }
.personnel-additional-switch input[type=checkbox]::after { content:""; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:#484d52; transition:.18s ease; }
.personnel-additional-switch input[type=checkbox]:checked { border-color:#267b51; background:#bcebd0; }
.personnel-additional-switch input[type=checkbox]:checked::after { left:21px; background:#1f784b; }
.personnel-additional-switch-disabled { color:#bcc3ca; }
.personnel-additional-switch-disabled input[type=checkbox] { border-color:#aab0b5; background:#f0f1f2; cursor:not-allowed; }
.personnel-additional-description { margin:9px 20px 0; }
.personnel-additional-description label { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:center; gap:7px; color:#53677a; font-size:10px; }
.personnel-additional-description textarea { box-sizing:border-box; width:100%; padding:6px 8px; border:1px solid #c8d5e0; border-radius:6px; font:inherit; resize:vertical; }
.personnel-additional-payment-editor > footer { margin-top:0; }
.personnel-leave-workspace { display:grid; gap:12px; min-width:0; padding:0 1px 8px; }
.personnel-leave-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; border:1px solid #d7e0e9; border-radius:10px; background:linear-gradient(110deg,#f4f7fa,#fff); }
.personnel-leave-heading h3 { margin:4px 0 0; color:#24364a; font-size:16px; }
.personnel-leave-new-button { white-space:nowrap; }
.personnel-leave-tabs { display:flex; gap:5px; padding:6px 8px 0; border:1px solid #d0dbe7; border-bottom:0; border-radius:10px 10px 0 0; background:#f1f4f8; overflow:auto; }
.personnel-leave-tabs button { border:0; border-bottom:2px solid transparent; padding:10px 13px; color:#55677b; background:transparent; font:inherit; font-size:11px; font-weight:700; white-space:nowrap; cursor:pointer; }
.personnel-leave-tabs button.active { color:#1d5fc2; border-bottom-color:#2b73d2; background:#fff; }
.personnel-leave-table-wrap { overflow:auto; border:1px solid #cbd7e2; border-radius:10px; background:#fff; }
.personnel-leave-table { width:100%; min-width:980px; border-collapse:separate; border-spacing:0; color:#314255; font-size:11px; }
.personnel-leave-table th { padding:8px 9px; border-bottom:1px solid #c5d2df; background:#eef3f8; color:#34465a; text-align:left; font-size:10px; font-weight:800; white-space:nowrap; }
.personnel-leave-table td { padding:9px; border-bottom:1px solid #e1e8ef; white-space:nowrap; vertical-align:middle; }
.personnel-leave-table tbody tr:last-child td { border-bottom:0; }
.personnel-leave-table tbody tr:hover { background:#f7fbff; }
.leave-type-badge { display:inline-flex; padding:4px 8px; border-radius:3px; background:#fff300; color:#273400; font-size:10px; }
.leave-status { display:inline-flex; padding:4px 8px; border-radius:5px; background:#fff4da; color:#9b6700; font-size:10px; font-weight:750; }
.personnel-leave-no-data { height:150px; color:#8492a1; text-align:center!important; }
.personnel-leave-row-actions { display:flex; gap:5px; }
.personnel-leave-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.personnel-leave-summary-card { display:grid; gap:7px; min-height:58px; padding:10px 12px; border:1px solid #c8d5e2; border-radius:10px; background:#dcecff; color:#2358b7; }
.personnel-leave-summary-card:nth-child(2n) { background:#dff9e8; color:#0e9f4e; }
.personnel-leave-summary-card:nth-child(3n) { background:#e9e1ff; color:#6941de; }
.personnel-leave-summary-card small { color:#52677d; font-size:10px; }
.personnel-leave-summary-card strong { font-size:18px; }
.personnel-leave-annual-wrap .personnel-leave-table { min-width:1260px; }
.personnel-free-time-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.personnel-free-time-summary article { display:grid; gap:9px; min-height:62px; padding:12px 16px; border:1px solid #c7d4e1; border-radius:11px; background:#dcecff; color:#245fc7; }
.personnel-free-time-summary article:nth-child(2) { background:#fff0d8; color:#ea7b00; }
.personnel-free-time-summary article:nth-child(3) { background:#dff9e8; color:#0f9f4f; }
.personnel-free-time-summary small { color:#5d6e80; font-size:10px; }
.personnel-free-time-summary strong { font-size:17px; }
.personnel-free-time-carry { display:flex; align-items:center; justify-content:center; gap:10px; padding:10px; border:1px solid #cbd8e4; border-radius:11px; background:#fff; color:#637589; font-size:11px; }
.personnel-free-time-carry input { width:70px; min-height:32px; padding:5px 8px; border:1px solid #c9d7e4; border-radius:5px; }
.personnel-leave-empty { display:grid; justify-items:center; gap:8px; padding:70px 22px; border:1px dashed #c9d6e2; border-radius:10px; background:#f7f9fb; color:#617286; text-align:center; }
.personnel-leave-empty-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:14px; background:#dcecff; color:#2766c9; font-size:28px; }
.personnel-leave-empty strong { color:#2c4259; }
.personnel-leave-dialog-backdrop { position:absolute; inset:0; z-index:20; border-radius:14px; background:#102a324d; backdrop-filter:blur(3px); }
.personnel-leave-dialog { position:absolute; z-index:21; top:50%; left:50%; width:min(720px,calc(100% - 36px)); max-height:calc(100% - 54px); overflow:auto; transform:translate(-50%,-50%); border:1px solid #c9d7e4; border-radius:14px; background:#fff; box-shadow:0 28px 70px #102a3245; }
.personnel-leave-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:16px 18px; border-bottom:1px solid #dce4ec; background:#f7f9fb; }
.personnel-leave-dialog > header h3 { margin:4px 0; color:#24364a; font-size:18px; }
.personnel-leave-dialog > header p { margin:0; color:#718095; font-size:11px; }
.personnel-leave-dialog > .notice-card { margin:12px 18px 0; }
.personnel-leave-dialog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:18px; }
.personnel-leave-dialog-grid label { display:grid; gap:6px; color:#51667a; font-size:11px; font-weight:750; }
.personnel-leave-dialog-grid input,.personnel-leave-dialog-grid select,.personnel-leave-dialog-grid textarea { width:100%; box-sizing:border-box; min-height:38px; padding:8px 10px; border:1px solid #cbd9e5; border-radius:7px; background:#fff; color:#2f4357; font:inherit; }
.personnel-leave-dialog-grid textarea { resize:vertical; }
.personnel-leave-dialog-wide { grid-column:1 / -1; }
.personnel-leave-dialog > footer { display:flex; justify-content:flex-end; gap:8px; padding:13px 18px; border-top:1px solid #dce4ec; background:#fafcfe; }
.personnel-inline-field { display:grid; grid-template-columns:120px minmax(140px,1fr); align-items:center; gap:7px; min-width:0; color:#5e6e80; font-size:10px; font-weight:700; }
.personnel-inline-field > span { overflow:visible; text-overflow:clip; white-space:normal; line-height:1.15; }
.personnel-inline-field b { color:#c44949; }
.personnel-inline-field input,.personnel-inline-field select { box-sizing:border-box; width:100%; min-width:0; min-height:28px; padding:3px 7px; border:1px solid #c5d0dc; border-radius:5px; outline:0; color:#26384b; background:#fff; font:inherit; font-size:11px; font-weight:500; }
.personnel-inline-field input[type="date"] { min-width:140px; }
.personnel-inline-field input:focus,.personnel-inline-field select:focus { border-color:#5b9ae6; box-shadow:0 0 0 2px #5b9ae622; }
.personnel-inline-field .personnel-age { display:block; margin-left:127px; color:#738396; font-size:9px; font-weight:700; }
.personnel-field-wide { grid-column:1 / -1; }
.personnel-check-field { display:flex; align-items:center; gap:6px; color:#5e6e80; font-size:10px; font-weight:700; }
.personnel-check-field input { width:auto; min-height:auto; }
.personnel-blacklist-trigger { display:flex; align-items:center; gap:9px; width:100%; padding:9px 11px; border:1px solid #efc7c7; border-radius:9px; color:#8f3030; background:#fff7f7; text-align:left; cursor:pointer; }
.personnel-blacklist-trigger:hover { border-color:#d98e8e; background:#fff0f0; }
.personnel-blacklist-trigger:disabled { opacity:.58; cursor:not-allowed; }
.personnel-blacklist-trigger > span:first-child { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#bd4b4b; font-size:14px; }
.personnel-blacklist-trigger strong,.personnel-blacklist-trigger small { display:block; }
.personnel-blacklist-trigger strong { font-size:11px; }
.personnel-blacklist-trigger small { margin-top:2px; color:#a25d5d; font-size:9px; font-weight:600; }
.personnel-blacklist-warning { display:grid; gap:3px; padding:9px 11px; border:1px solid #edc875; border-left:4px solid #cf8b19; border-radius:8px; color:#795719; background:#fff9e9; font-size:10px; line-height:1.35; }
.personnel-blacklist-warning strong { color:#9b5c0b; font-size:11px; }
.personnel-blacklist-modal { width:min(560px,calc(100vw - 28px)); }
.personnel-blacklist-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.personnel-blacklist-summary span { display:grid; gap:5px; padding:12px; border:1px solid #e3d5d5; border-radius:9px; color:#7a6868; background:#fff9f9; font-size:10px; font-weight:700; }
.personnel-blacklist-summary strong { color:#3c3030; font-size:13px; font-weight:800; overflow-wrap:anywhere; }
.personnel-blacklist-description { display:grid; gap:7px; color:#5e6e80; font-size:11px; font-weight:750; }
.personnel-blacklist-description textarea { box-sizing:border-box; width:100%; resize:vertical; min-height:112px; padding:10px; border:1px solid #c9d6e2; border-radius:8px; color:#26384b; background:#fff; font:inherit; font-size:12px; font-weight:500; }
.personnel-blacklist-description textarea:focus { border-color:#bd4b4b; outline:2px solid #bd4b4b22; }
.personnel-blacklist-description small { color:#788797; font-size:10px; font-weight:500; }
.personnel-blacklist-save { background:linear-gradient(135deg,#b64343,#d06850); box-shadow:0 8px 18px #bd4b4b2b; }
.personnel-inline-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.personnel-inline-actions .button { min-height:28px; padding:0 9px; border-color:#9fc2f2; color:#1d62b2; background:#f4f8ff; font-size:10px; }
.personnel-photo-panel { display:grid; justify-items:center; min-height:190px; }
.personnel-photo-panel > header { width:100%; }
.personnel-avatar { display:grid; place-items:center; width:104px; height:104px; margin:14px 0 8px; border:6px solid #d9e4ef; border-radius:50%; color:#fff; background:#93a7bc; font-size:31px; font-weight:800; overflow:hidden; }
.personnel-avatar-photo { outline:0; }
.personnel-avatar-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.personnel-photo-panel small { padding:0 10px 12px; color:#718096; font-size:9px; text-align:center; }
.personnel-photo-actions { display:flex; gap:6px; }
.personnel-photo-action-button { display:inline-grid; place-items:center; width:29px; height:27px; border:1px solid #c8d5e1; border-radius:6px; color:#42648d; background:#f8fbfe; font-size:13px; cursor:pointer; }
.personnel-photo-action-button:hover { border-color:#72a6df; color:#1d62b2; background:#edf5ff; }
.personnel-photo-action-button input { display:none; }
.personnel-photo-remove { color:#a64848; }
.personnel-photo-remove:hover { border-color:#d58a8a; color:#a12d2d; background:#fff0f0; }
.personnel-occupation-combobox { min-width:0; }
.personnel-panel:has(.occupation-search-results) { overflow:visible; }
.personnel-window-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.personnel-footer-left,.personnel-footer-right { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.personnel-window-footer .button,.personnel-window-footer .platform-primary-button { min-width:auto; min-height:32px; padding:0 11px; font-size:10px; }
.personnel-general-window .platform-modal-body { padding:0 12px 10px; background:#fff; }
.personnel-legacy-identity { display:none; }
.personnel-new-button { min-height:31px; padding:0 12px; white-space:nowrap; }
.personnel-card-modal > form { display:flex; flex:1; min-height:0; flex-direction:column; }
.personnel-card-modal > .platform-modal-header { flex:0 0 auto; position:sticky; top:0; z-index:3; background:#fff; box-shadow:0 5px 14px rgba(24,67,51,.06); }
.personnel-card-modal > form .platform-modal-body { flex:1; min-height:0; max-height:none; overflow:auto; }
.personnel-card-modal > form .platform-modal-body { scrollbar-width:thin; scrollbar-color:#9aaabd #eef2f6; scrollbar-gutter:stable; }
.personnel-card-modal > form .platform-modal-body::-webkit-scrollbar { width:9px; height:9px; }
.personnel-card-modal > form .platform-modal-body::-webkit-scrollbar-track { border-radius:8px; background:#eef2f6; }
.personnel-card-modal > form .platform-modal-body::-webkit-scrollbar-thumb { border:2px solid #eef2f6; border-radius:8px; background:#9aaabd; }
.personnel-card-modal > form .platform-modal-body::-webkit-scrollbar-thumb:hover { background:#71859b; }
.personnel-card-modal > form .platform-modal-footer { flex:0 0 auto; margin:0; padding:15px 26px 18px; background:#fff; box-shadow:0 -8px 18px rgba(24,67,51,.06); }
.tenant-audit-toolbar { display:flex; align-items:flex-end; gap:10px; margin:18px 0 14px; padding:14px; border:1px solid #e4eee8; border-radius:12px; background:#f8fbf9; }
.tenant-audit-toolbar .cari-search { flex:1; min-width:220px; }
.tenant-audit-table-wrap { overflow:auto; }
.tenant-audit-table { min-width:980px; }
.tenant-audit-table td { vertical-align:top; }
.audit-event-badge { display:inline-flex; padding:5px 8px; border-radius:7px; color:#236449; background:#e8f5ed; font-size:11px; font-weight:750; }
.audit-details { display:block; max-width:360px; overflow-wrap:anywhere; color:#52675d; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; line-height:1.45; white-space:pre-wrap; }
.personnel-card-modal .form-grid { row-gap:16px; }
.personnel-form-section-title { grid-column:1 / -1; margin:8px 0 -1px; padding:11px 13px; border:1px solid #dcebe2; border-radius:10px; background:linear-gradient(110deg,#f1f8f4,#fbfdfc); color:#2e654d; font-size:12px; font-weight:800; letter-spacing:.02em; }
.personnel-workdays-field { display:grid; gap:7px; }
.personnel-field-label { color:#65776d; font-size:10px; font-weight:700; }
.personnel-workdays { display:flex; flex-wrap:wrap; gap:8px; padding:9px 11px; border:1px solid #dfe8e4; border-radius:8px; background:#fbfdfc; }
.personnel-workdays label { display:flex; align-items:center; gap:5px; color:#395448; font-size:11px; font-weight:650; }
.personnel-workdays input { width:auto; min-height:auto; }
.personnel-card-modal input[readonly] { background:#f3f7f4; color:#4d6358; }
.personnel-privacy-note { margin-top:16px; padding:12px 14px; border:1px solid #dcebe2; border-radius:9px; background:#f4faf6; color:#547061; font-size:12px; }
.personnel-card-modal label { position:relative; }
.occupation-combobox { position:relative; width:100%; }
.occupation-search-results { position:absolute; z-index:30; top:calc(100% - 2px); left:0; right:0; display:flex; flex-direction:column; max-height:260px; overflow:auto; padding:5px; border:1px solid #d6e4dc; border-radius:0 0 11px 11px; background:#fff; box-shadow:0 16px 34px #14382720; }
.occupation-search-results button { padding:9px 10px; border:0; border-radius:7px; background:#fff; color:#334b3e; text-align:left; font-size:12px; cursor:pointer; }
.occupation-search-results button:hover { background:#f0f7f2; }
.occupation-search-results button.occupation-option-active,.occupation-search-results button[aria-selected="true"] { outline:0; background:#e6f4eb; color:#174e3a; box-shadow:inset 3px 0 #218356; }
.occupation-search-results strong { color:#087653; }
.personnel-sgk-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding:14px; border:1px solid #dce8e0; border-radius:11px; background:#f7faf8; }
.personnel-sgk-actions > small { flex-basis:100%; color:#65776d; font-size:12px; }
.personnel-sgk-actions .personnel-sgk-copy-message { color:#087653; font-weight:700; }
.personnel-sgk-actions .sgk-test-panel { flex-basis:100%; display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:15px; border:1px solid #c7d8ce; border-left:4px solid #b57a19; border-radius:12px; background:#fffdf7; }
.sgk-test-panel > strong,.sgk-test-panel > span,.sgk-test-panel > small,.sgk-test-panel > .notice-card { flex-basis:100%; }
.sgk-test-panel > strong { color:#34473b; font-size:15px; }
.sgk-test-panel > span,.sgk-test-panel > small { color:#65776d; font-size:12px; line-height:1.5; }
.sgk-test-panel .notice-card { margin:2px 0 0; }
.sgk-test-panel .notice-card span { display:block; margin-top:4px; font-weight:700; }
.personnel-card-modal .text-action { border:0; background:none; color:#087653; font-size:12px; cursor:pointer; }
.branch-department-list { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 18px; }
.branch-department-list span { display:inline-flex; align-items:center; gap:9px; padding:7px 10px; border:1px solid #dce8df; border-radius:999px; background:#f4f8f5; color:#345344; font-size:13px; }
.branch-department-list button { border:0; background:none; color:#8b4a4a; font-size:18px; line-height:1; cursor:pointer; }
.commercial-definitions-page { display:grid; gap:18px; }
.commercial-firm-context { display:flex; align-items:center; gap:20px; padding:16px 20px; border:1px solid #dce9e1; border-radius:12px; background:linear-gradient(105deg,#f4faf6,#fff); }
.commercial-firm-context > div { display:grid; gap:4px; min-width:180px; }
.commercial-firm-context small { color:#708278; font-size:10px; font-weight:800; letter-spacing:.08em; }
.commercial-firm-context strong { color:#234435; font-size:14px; }
.commercial-firm-context p { margin:0 0 0 auto; color:#718178; font-size:12px; }
.commercial-context-divider { width:1px; height:36px; background:#dce9e1; }
.commercial-vat-card { overflow:visible; padding:0; margin-bottom:0; }
.commercial-definition-card { overflow:visible; padding:0; margin-bottom:0; }
.cari-dekont-report-toolbar { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-end; margin-bottom:14px; }
.cash-operation-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-width:245px; }
.table-action-button { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:0 11px; border:1px solid #cfe0d5; border-radius:8px; background:#f7fbf8; color:#236146; font:inherit; font-size:11px; font-weight:750; line-height:1; text-decoration:none; white-space:nowrap; cursor:pointer; transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease; }
.table-action-button:hover:not(:disabled) { border-color:#8fbea3; background:#eaf6ee; color:#164c35; transform:translateY(-1px); }
.table-action-button:disabled { opacity:.48; cursor:not-allowed; }
.table-action-button.danger { border-color:#ebcccc; background:#fff8f8; color:#a14a4a; }
.table-action-button.danger:hover:not(:disabled) { border-color:#d99a9a; background:#fff0f0; color:#863737; }
.finance-new-account-button { width:max-content; margin-top:7px; }
.finance-field-label { display:block; }
.cash-operation-form .finance-document-field,
.cash-operation-form .finance-amount-field,
.cash-operation-form .finance-date-field,
.cash-operation-form .finance-account-field { align-self:start; }
.cash-operation-form .finance-document-field .finance-field-label,
.cash-operation-form .finance-amount-field .finance-field-label,
.cash-operation-form .finance-date-field .finance-field-label,
.cash-operation-form .finance-account-field .finance-field-label { min-height:18px; margin-bottom:5px; }
.cash-operation-form .finance-document-field input,
.cash-operation-form .finance-amount-field .standard-money-entry { width:100%; }
.finance-counter-picker-row { display:flex; align-items:flex-start; gap:8px; min-width:0; }
.finance-counter-picker-row .account-code-picker { flex:1 1 auto; min-width:0; }
.finance-counter-picker-row .finance-new-account-button { flex:none; margin-top:0; min-height:39px; }
.finance-new-account-panel { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; margin-top:12px; padding:13px; border:1px solid #dce9e1; border-radius:11px; background:#f7fbf8; }
.finance-new-account-panel label { display:grid; gap:5px; color:#52695c; font-size:11px; font-weight:750; }
.finance-new-account-panel input { min-height:36px; padding:0 10px; border:1px solid #d5e3da; border-radius:8px; }
.finance-expense-print-temp { position:fixed; z-index:-1; left:-10000px; top:0; }
.income-expense-card-list { overflow:visible; padding:0; }
.income-expense-card-modal { width:min(760px,calc(100vw - 36px)); }
.income-expense-records-modal { width:min(1200px,calc(100vw - 28px)); max-height:min(94vh,980px); }
.income-expense-records-toolbar { display:grid; grid-template-columns:145px 145px minmax(220px,1fr) auto auto auto auto; align-items:end; gap:9px; margin-bottom:16px; padding:12px; border:1px solid #e2ece6; border-radius:10px; background:#fbfdfc; }
.income-expense-records-toolbar label { display:flex; flex-direction:column; gap:5px; color:#60736a; font-size:10px; font-weight:700; }
.income-expense-records-toolbar input { width:100%; min-height:36px; padding:7px 9px; border:1px solid #dce7e1; border-radius:7px; color:#263e39; background:#fff; font:inherit; font-size:11px; }
.income-expense-records-print { padding:18px; border:1px solid #dce7e1; border-radius:10px; background:#fff; }
.income-expense-records-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:14px; padding-bottom:12px; border-bottom:2px solid #2e6b52; }
.income-expense-records-heading span { color:#779087; font-size:9px; font-weight:800; letter-spacing:.13em; }
.income-expense-records-heading h2 { margin:4px 0; color:#24453a; font-size:19px; }
.income-expense-records-heading p,.income-expense-records-heading small { display:block; margin:3px 0 0; color:#7e9088; font-size:10px; }
.income-expense-records-heading>div:last-child { display:grid; align-content:start; gap:5px; text-align:right; color:#315448; }
.income-expense-records-table { min-width:900px; }
.income-expense-records-table tfoot { background:#f4f8f5; font-weight:750; }
.income-expense-records-footnote { margin:12px 0 0; color:#7c8e85; font-size:10px; }
.income-expense-records-print .movement-pagination { margin-top:14px; }
.income-expense-form-grid { gap:14px; }
.income-expense-form-grid label { min-width:0; }
.income-expense-account-field { display:grid!important; gap:7px!important; }
.income-expense-account-row { display:flex; align-items:flex-start; gap:9px; min-width:0; }
.income-expense-account-row .account-code-picker { flex:1 1 auto; min-width:0; }
.income-expense-account-row .button { flex:none; min-height:40px; white-space:nowrap; }
.income-expense-account-field small { color:#71827c; font-size:10px; font-weight:400; }
.sanda-confirm-backdrop { position:fixed; z-index:2200; inset:0; display:grid; place-items:center; padding:20px; background:rgba(12,38,29,.54); backdrop-filter:blur(5px); }
.sanda-confirm-dialog { display:flex; align-items:flex-start; gap:17px; width:min(500px,calc(100vw - 40px)); padding:25px 27px; border:1px solid #d8e8de; border-radius:18px; background:#fff; box-shadow:0 25px 80px rgba(13,48,34,.28); animation:sanda-confirm-in .18s ease-out; }
.sanda-confirm-icon { display:grid; flex:none; place-items:center; width:38px; height:38px; border-radius:12px; background:#e8f5ed; color:#19724b; font-size:23px; font-weight:850; }
.sanda-confirm-content { min-width:0; flex:1; }
.sanda-confirm-content h2 { margin:5px 0 8px; color:#203d30; font-size:19px; line-height:1.25; }
.sanda-confirm-content p { margin:0; color:#64776c; font-size:13px; line-height:1.55; }
.sanda-confirm-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:21px; }
@keyframes sanda-confirm-in { from { opacity:0; transform:translateY(-7px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
.cari-dekont-print { box-sizing:border-box; width:794px; max-width:100%; margin:15px auto 0; padding:22px; border:1px solid #111; color:#000; background:#fff; box-shadow:0 10px 30px rgba(31,68,49,.08); font-family:Arial,"Segoe UI",sans-serif; }
.cari-dekont-report-heading,.cari-dekont-report-info,.cari-dekont-report-lines { width:100%; border-collapse:collapse; color:#000; }
.cari-dekont-report-heading { margin:0; border-bottom:2px solid #000; }
.cari-dekont-report-heading td,.cari-dekont-report-heading th { padding:5px 7px; border-bottom:1px solid #000; vertical-align:middle; font-size:9px; text-align:left; }
.cari-dekont-report-heading tr:last-child td,.cari-dekont-report-heading tr:last-child th { border-bottom:0; }
.cari-dekont-report-heading .report-brand { width:70%; padding:0 0 13px; border-bottom:0; vertical-align:top; }
.cari-dekont-report-heading strong { font-size:10px; letter-spacing:.16em; }
.cari-dekont-report-heading h2 { margin:6px 0 5px; color:#000; font-size:22px; line-height:1.1; letter-spacing:.04em; }
.cari-dekont-report-heading p { margin:0; color:#000; font-size:12px; font-weight:700; }
.cari-dekont-report-heading th { width:88px; border-left:1px solid #000; background:#eee; font-weight:800; }
.cari-dekont-report-heading td:not(.report-brand) { width:20%; font-weight:700; }
.cari-dekont-report-info { margin:14px 0; border:1px solid #000; }
.cari-dekont-report-info th,.cari-dekont-report-info td { min-height:30px; padding:7px 9px; border:1px solid #000; font-size:9px; line-height:1.35; text-align:left; vertical-align:top; }
.cari-dekont-report-info th { width:94px; background:#eee; font-size:8px; font-weight:800; text-transform:uppercase; }
.cari-dekont-report-info td { font-size:10px; font-weight:700; }
.cari-dekont-report-lines { table-layout:fixed; }
.cari-dekont-report-lines th,.cari-dekont-report-lines td { padding:7px 6px; border:1px solid #000; overflow-wrap:anywhere; font-size:9px; line-height:1.3; text-align:left; vertical-align:top; }
.cari-dekont-report-lines th { background:#e9e9e9; font-size:8px; text-transform:uppercase; }
.cari-dekont-report-lines th:first-child,.cari-dekont-report-lines td:first-child { width:64%; }
.cari-dekont-report-lines .numeric-cell { width:18%; text-align:right; white-space:nowrap; }
.cari-dekont-report-lines tfoot td { padding:8px 6px; background:#eee; font-weight:800; }
.cari-dekont-report-note { margin:14px 0 0; padding:10px 11px; border:1px solid #000; color:#000; font-size:9px; line-height:1.5; }
.cari-dekont-report-footer { display:flex; justify-content:space-between; gap:15px; margin-top:12px; padding-top:7px; border-top:1px solid #000; color:#000; font-size:7.5px; }
.danger-link { margin-left:9px; color:#a64b46!important; }
.cheque-account-definition-grid { display:grid; grid-template-columns:repeat(2,minmax(260px,1fr)); gap:16px; padding:4px 20px 20px; }
.cheque-account-definition-grid label { display:grid; gap:7px; color:#5c7065; font-size:11px; font-weight:750; }
.cheque-account-definition-grid .account-code-picker { min-width:0; }
.cheque-account-definition-grid .quick-lookup-input { box-sizing:border-box; width:100%; min-height:39px; padding:8px 11px; border:1px solid #dce5df; border-radius:8px; color:#294337; font-size:12px; }
.commercial-card-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border-bottom:1px solid #e7eee9; }
.commercial-card-heading h2 { margin:4px 0 3px; color:#203c30; font-size:20px; }
.commercial-card-heading p { margin:0; color:#718178; font-size:12px; }
.commercial-rate-count { flex:none; padding:7px 11px; border:1px solid #dce9e1; border-radius:999px; background:#f4faf6; color:#26714e; font-size:11px; font-weight:800; }
.commercial-usage-note { display:flex; gap:10px; align-items:flex-start; margin:16px 20px; padding:12px 14px; border:1px solid #dce9e1; border-radius:9px; background:#f5faf7; color:#566e60; font-size:12px; line-height:1.55; }
.commercial-note-icon { display:grid; flex:none; place-items:center; width:20px; height:20px; border-radius:50%; background:#dcefe3; color:#28734d; font-weight:800; }
.commercial-vat-table-wrap { overflow-x:auto; }
.commercial-vat-table { width:100%; min-width:830px; border-collapse:collapse; }
.commercial-vat-table th { padding:12px 18px; border-bottom:1px solid #e4eae6; background:#f8faf9; color:#607168; text-align:left; font-size:11px; font-weight:800; }
.commercial-vat-table th small { display:block; margin-top:3px; color:#849188; font-size:10px; font-weight:600; }
.commercial-vat-table td { padding:13px 18px; border-bottom:1px solid #edf1ee; vertical-align:middle; }
.commercial-vat-table tbody tr:last-child td { border-bottom:0; }
.commercial-vat-table td:first-child { width:145px; }
.vat-rate-pill { display:grid; gap:3px; width:max-content; min-width:70px; padding:7px 10px; border:1px solid #e1ebe4; border-radius:9px; background:#fbfdfb; }
.vat-rate-pill strong { color:#214a35; font-size:16px; }
.vat-rate-pill span { color:#819087; font-size:9px; }
.commercial-vat-table .account-code-picker { min-width:220px; }
.commercial-vat-table .quick-lookup-input { min-height:39px; padding:8px 11px; border:1px solid #dce5df; border-radius:8px; color:#294337; font-size:12px; }
.commercial-vat-table .quick-lookup-results { z-index:100; top:calc(100% + 3px); }
.commercial-readonly-account { min-height:39px; padding:10px 11px; border:1px solid #e5ebe7; border-radius:8px; background:#f8faf9; color:#55685d; font-size:12px; }
.commercial-vat-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 20px; border-top:1px solid #e7eee9; background:#fbfcfb; }
.commercial-vat-footer > span,.commercial-permission-note { color:#7a8880; font-size:11px; }
.commercial-permission-note { padding:0 20px 16px; }
.commercial-loading { display:flex; align-items:center; gap:10px; padding:30px 20px; color:#6b7c72; font-size:13px; }
.commercial-definition-create-row,.commercial-stopaj-create-row { display:grid; align-items:end; gap:11px; padding:16px 20px; border-bottom:1px solid #e7eee9; background:#fbfcfb; }
.commercial-definition-create-row label,.commercial-stopaj-create-row label { display:grid; gap:6px; min-width:0; color:#5c7065; font-size:11px; font-weight:750; }
.commercial-definition-create-row input,.commercial-definition-create-row select,.commercial-stopaj-create-row input,.commercial-stopaj-create-row select { box-sizing:border-box; width:100%; min-height:39px; padding:8px 10px; border:1px solid #dce5df; border-radius:8px; background:#fff; color:#294337; font:inherit; font-size:12px; }
.ratio-create-row { grid-template-columns:minmax(190px,1fr) 90px 12px 90px auto; }
.ratio-create-row .commercial-ratio-slash { align-self:center; padding-top:20px; color:#718178; font-size:18px; text-align:center; }
.withholding-code-create-row { grid-template-columns:minmax(110px,.6fr) minmax(180px,1.6fr) minmax(190px,1fr) auto; }
.exemption-create-row { grid-template-columns:minmax(130px,.65fr) minmax(200px,1.8fr) auto; }
.commercial-stopaj-create-row { grid-template-columns:minmax(165px,.8fr) 100px minmax(220px,1fr) minmax(220px,1fr) auto; }
.commercial-stopaj-create-row .account-code-picker { min-width:0; }
.commercial-stopaj-create-row .quick-lookup-input { box-sizing:border-box; width:100%; min-height:39px; padding:8px 10px; border:1px solid #dce5df; border-radius:8px; font-size:12px; }
.compact-commercial-table td { padding-top:9px; padding-bottom:9px; }
.commercial-inline-input { box-sizing:border-box; width:100%; min-width:100px; min-height:35px; padding:7px 9px; border:1px solid #e0e8e3; border-radius:7px; background:#fff; color:#30473b; font:inherit; font-size:12px; }
.commercial-inline-input:disabled { border-color:transparent; background:transparent; color:#52665b; opacity:1; }
.commercial-inline-input.ratio-number { max-width:100px; }
.commercial-inline-input.code-inline-input { max-width:160px; }
.commercial-row-actions { width:1%; white-space:nowrap; }
.commercial-row-actions button { margin-left:5px; }
.commercial-subtle-button,.commercial-danger-button { min-height:32px; padding:6px 10px; border:1px solid #dce7e0; border-radius:7px; background:#f6faf7; color:#26704e; font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.commercial-danger-button { border-color:#f0dddd; background:#fff8f7; color:#9b4a42; }
.commercial-subtle-button:disabled,.commercial-danger-button:disabled { opacity:.5; cursor:wait; }
.commercial-empty-row { padding:18px 20px; color:#839088; font-size:12px; }
.stopaj-table { min-width:1250px; }
@media(max-width:760px) {
    .commercial-firm-context { align-items:flex-start; flex-direction:column; gap:12px; }
    .commercial-firm-context > div { min-width:0; }
    .commercial-context-divider { width:100%; height:1px; }
    .commercial-firm-context p { margin:0; }
    .cheque-account-definition-grid { grid-template-columns:1fr; padding:0 14px 14px; }
    .commercial-card-heading { align-items:flex-start; }
    .commercial-vat-footer { align-items:stretch; flex-direction:column; }
    .commercial-vat-footer .platform-primary-button { width:100%; }
    .commercial-definition-create-row,.commercial-stopaj-create-row { grid-template-columns:1fr; padding:14px; }
    .ratio-create-row .commercial-ratio-slash { display:none; }
    .commercial-definition-create-row .platform-primary-button,.commercial-stopaj-create-row .platform-primary-button { width:100%; }
    .commercial-row-actions button { margin-left:0; margin-right:4px; }
}
@media (max-width:1100px) {
    .personnel-additional-payment-body { grid-template-columns:1fr; }
}
@media (max-width:760px) {
    .personnel-branch-bar { align-items:stretch; flex-direction:column; padding:18px; }
    .personnel-branch-select { min-width:0; }
    .personnel-card-modal { width:calc(100vw - 20px); }
    .personnel-general-layout { grid-template-columns:1fr; }
    .personnel-payroll-workspace { grid-template-columns:1fr; }
    .personnel-payment-grid { grid-template-columns:1fr; }
    .personnel-payment-period-bar { align-items:stretch; flex-wrap:wrap; }
    .personnel-payment-editor-grid { grid-template-columns:1fr; }
    .payment-editor-wide { grid-column:auto; }
    .personnel-deduction-person-strip { align-items:stretch; flex-wrap:wrap; }
    .personnel-deduction-person-strip label { flex:1 1 240px; }
    .personnel-deduction-person-strip label input,.personnel-deduction-person-strip label:nth-child(2) input { width:100%; }
    .personnel-deduction-period { margin-left:0; }
    .personnel-deduction-form-grid,.personnel-deduction-switch-grid { grid-template-columns:1fr; }
    .personnel-deduction-field { grid-template-columns:1fr; align-items:stretch; }
    .personnel-deduction-wide { grid-column:auto; }
    .personnel-additional-person-strip { align-items:stretch; flex-wrap:wrap; }
    .personnel-additional-person-strip label { flex:1 1 180px; }
    .personnel-additional-person-strip label input,.personnel-additional-person-strip label:nth-child(2) input,.personnel-additional-person-strip label:nth-child(3) input { width:100%; }
    .personnel-additional-person-strip .personnel-deduction-period { margin-left:0; }
    .personnel-additional-payment-body { grid-template-columns:1fr; }
    .personnel-additional-payment-grid { grid-template-columns:1fr; }
    .personnel-additional-payment-grid > label { grid-template-columns:1fr; align-items:stretch; }
    .personnel-additional-inline-check { grid-template-columns:auto 1fr!important; align-items:center!important; }
    .personnel-additional-radio { flex-wrap:wrap; }
    .personnel-additional-radio legend { width:auto; float:none; margin-right:4px; }
    .personnel-additional-switch-column { padding-left:0; }
    .personnel-additional-description label { grid-template-columns:1fr; align-items:stretch; }
    .personnel-payroll-fields > label,.personnel-payroll-insurance { grid-template-columns:1fr; align-items:stretch; }
    .personnel-payroll-check { grid-template-columns:auto 1fr!important; align-items:center!important; }
    .personnel-payroll-insurance input { text-align:left; }
    .personnel-window-header { align-items:flex-start; flex-wrap:wrap; }
    .personnel-window-title { min-width:0; flex:1 1 100%; }
    .personnel-header-actions,.personnel-window-meta { margin-left:0; }
    .personnel-leave-heading { align-items:stretch; flex-direction:column; }
    .personnel-leave-new-button { width:100%; }
    .personnel-leave-summary-grid,.personnel-free-time-summary { grid-template-columns:1fr; }
    .personnel-leave-dialog-grid { grid-template-columns:1fr; }
    .personnel-leave-dialog-wide { grid-column:auto; }
    .personnel-free-time-carry { align-items:stretch; flex-direction:column; }
}

.tenant-module-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin-top:18px; }
.tenant-module-card { display:flex; flex-direction:column; gap:9px; min-height:230px; padding:18px; border:1px solid #dce7e4; border-radius:16px; background:linear-gradient(145deg,#fff,#f7fbfa); box-shadow:0 8px 22px rgba(26,66,58,.06); }
.tenant-module-card.disabled { opacity:.8; background:#fbfcfd; }
.tenant-module-card-top { display:flex; align-items:center; justify-content:space-between; }
.tenant-module-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:#fff2dc; font-size:22px; }
.tenant-module-card h3 { margin:2px 0 0; color:#244d44; font-size:18px; }
.tenant-module-card p { flex:1; margin:0; color:#607a74; font-size:13px; line-height:1.5; }
.tenant-module-card small { color:#8a9c98; font-size:11px; }
.tenant-module-card button { align-self:flex-start; margin-top:4px; }
.side-sub-link-disabled { cursor:default; opacity:.55; }
.action-violet { background:#f0e9ff; color:#7251ba; border-color:#dfd2fb; }
.action-violet:hover { background:#e6dbff; }
.subscription-manager-modal { width:min(760px,calc(100vw - 32px)); }
.subscription-manager-plan-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; }
.subscription-manager-plan-row label,.subscription-manager-actions label { display:grid; gap:6px; color:#718593; font-size:12px; font-weight:700; }
.subscription-manager-plan-row select,.subscription-manager-actions input { min-height:40px; padding:8px 10px; border:1px solid #d9e4eb; border-radius:9px; background:#fff; color:#2d465a; }
.subscription-manager-status { display:flex; align-items:center; gap:10px; margin-top:14px; padding:11px 13px; border:1px solid #e2ebef; border-radius:10px; background:#f8fbfc; color:#7b8e9c; font-size:12px; }
.subscription-manager-status strong { color:#2e5965; }
.subscription-manager-status small { margin-left:auto; color:#9aaab5; }
.storage-cell { min-width: 126px; display: grid; gap: 5px; }
.storage-cell-label { display: flex; align-items: baseline; gap: 4px; }
.storage-cell-label strong { color: #2e5965; font-size: 11px; }
.storage-cell-label small { color: #9aaab5; font-size: 9px; }
.storage-progress { height: 6px; overflow: hidden; border-radius: 99px; background: #e8f0f0; }
.storage-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #36b79d, #ecaa45); }
.storage-cell .cell-sub { margin-top: 0; }
.subscription-storage-summary { display: grid; gap: 7px; margin-top: 14px; padding: 12px 13px; border: 1px solid #dfe9ee; border-radius: 10px; background: #f8fbfc; color: #718794; font-size: 11px; }
.subscription-storage-summary strong { color: #2e5965; font-size: 14px; }
.subscription-storage-summary small { color: #9aaab5; }
.storage-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.storage-overview-grid article { display:grid; gap:5px; padding:15px; border:1px solid #e2ebef; border-radius:12px; background:#f8fbfc; }
.storage-overview-grid article span { color:#78909b; font-size:11px; }
.storage-overview-grid article strong { color:#2e5965; font-size:21px; }
.storage-overview-grid article small { color:#9aaab5; font-size:10px; }
.storage-breakdown { display:flex; gap:10px; margin-top:12px; }
.storage-breakdown div { display:flex; justify-content:space-between; gap:18px; flex:1; padding:10px 12px; border:1px solid #e8eef0; border-radius:9px; color:#78909b; font-size:11px; }
.storage-breakdown strong { color:#2e5965; }
.storage-progress-large { height:10px; margin-top:14px; }
@media(max-width:640px) { .storage-overview-grid { grid-template-columns:1fr; } .storage-breakdown { flex-direction:column; } }
.subscription-manager-actions { display:flex; align-items:end; gap:9px; }
.subscription-manager-actions input { width:100px; }
.button-danger { border:1px solid #f2c5c5; border-radius:9px; background:#fff4f4; color:#c54c4c; padding:9px 13px; cursor:pointer; }
.button-danger:hover { background:#ffe8e8; }
.subscription-module-list { display:grid; gap:8px; }
.subscription-module-row { display:flex; align-items:center; gap:10px; padding:11px 12px; border:1px solid #e1e9ed; border-radius:11px; background:#fff; }
.subscription-module-row > span:nth-child(2) { display:grid; gap:3px; min-width:0; }
.subscription-module-row strong { color:#365769; }
.subscription-module-row small { color:#8c9ca8; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.subscription-module-icon { display:grid; place-items:center; width:35px; height:35px; border-radius:10px; background:#fff1d9; font-size:19px; }
.subscription-module-row button { margin-left:auto; white-space:nowrap; }
@media(max-width:640px) { .subscription-manager-plan-row { grid-template-columns:1fr; } .subscription-manager-plan-row button { width:100%; } .subscription-manager-status { align-items:flex-start; flex-direction:column; } .subscription-manager-status small { margin-left:0; } .subscription-manager-actions { align-items:stretch; flex-wrap:wrap; } .subscription-manager-actions label { flex:1 1 100%; } .subscription-manager-actions input { width:100%; } }

/* Blazor bu alanı yalnızca gerçek bir devre hatasında görünür yapar. */
#blazor-error-ui {
    display: none;
    position: fixed;
    right: 18px;
    bottom: 18px;
    left: auto;
    z-index: 10000;
    box-sizing: border-box;
    width: min(520px, calc(100vw - 36px));
    padding: 14px 48px 14px 58px;
    border: 1px solid #efd08a;
    border-radius: 14px;
    background: #fffaf0;
    color: #694b18;
    box-shadow: 0 18px 46px rgba(39, 51, 47, .2);
    font-size: 13px;
}

#blazor-error-ui .blazor-error-icon {
    position: absolute;
    top: 50%;
    left: 16px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    transform: translateY(-50%);
    border-radius: 9px;
    background: #f3b43f;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
}

#blazor-error-ui .blazor-error-message {
    display: inline-grid;
    gap: 2px;
    margin-right: 12px;
    vertical-align: middle;
}

#blazor-error-ui .blazor-error-message strong {
    color: #563b0d;
    font-size: 13px;
}

#blazor-error-ui .blazor-error-message small {
    color: #8c713e;
    font-size: 11px;
}

#blazor-error-ui .reload {
    display: inline-block;
    padding: 7px 10px;
    border-radius: 8px;
    background: #174f45;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    vertical-align: middle;
}

#blazor-error-ui .dismiss {
    position: absolute;
    top: 50%;
    right: 14px;
    color: #8d754a;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    transform: translateY(-50%);
}

@media (max-width: 560px) {
    #blazor-error-ui {
        right: 10px;
        bottom: 10px;
        width: calc(100vw - 20px);
        padding-right: 42px;
    }

    #blazor-error-ui .reload {
        margin-top: 9px;
    }
}

/* Stok fişi satırındaki hızlı stok aramasının tablo tarafından kırpılmasını önler. */
.stock-voucher-modal .cari-table-scroll:has(.stock-voucher-lookup .quick-lookup-results){min-height:330px;overflow:visible}
.stock-voucher-lines tr:has(.stock-voucher-lookup .quick-lookup-results){position:relative;z-index:120}
.stock-voucher-lines td:has(.stock-voucher-lookup .quick-lookup-results){position:relative;z-index:121}
.stock-voucher-lookup .quick-lookup-results{z-index:160;max-height:250px}
@media(max-height:720px){.stock-voucher-modal .cari-table-scroll:has(.stock-voucher-lookup .quick-lookup-results){min-height:285px}.stock-voucher-lookup .quick-lookup-results{max-height:210px}}
/* Self-service subscription renewal */
.subscription-card { overflow: hidden; }
.subscription-secure-badge { align-self: flex-start; background: #edf8f1; color: #19734a; border: 1px solid #c8ecd7; border-radius: 999px; padding: .55rem .8rem; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.subscription-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 1.25rem 0; }
.subscription-summary-grid > div { background: linear-gradient(135deg,#f7fbff,#f4f8fc); border: 1px solid #e2eaf2; border-radius: 1rem; padding: 1rem 1.1rem; display: flex; flex-direction: column; gap: .25rem; }
.subscription-summary-grid span { color: #718096; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.subscription-summary-grid strong { color: #1c3550; font-size: 1.25rem; }
.subscription-summary-grid small { color: #718096; }
.subscription-renew-form { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid #e8eef4; }
.subscription-renew-form label { display: flex; flex-direction: column; gap: .35rem; color: #526579; font-weight: 700; font-size: .86rem; }
.subscription-renew-form select { min-width: 180px; border: 1px solid #d8e1ea; border-radius: .65rem; padding: .7rem .8rem; background: white; color: #1b344f; }
@media (max-width: 760px) { .subscription-summary-grid { grid-template-columns: 1fr; } .subscription-renew-form { align-items: stretch; flex-direction: column; } .subscription-renew-form select { width: 100%; } }
.subscription-transfer-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1rem; padding:1rem; border:1px solid #dce8e4; border-radius:1rem; background:#f8fcfb; }
.subscription-transfer-form label { display:flex; flex-direction:column; gap:.35rem; color:#526579; font-weight:700; font-size:.86rem; }
.subscription-transfer-form input, .subscription-transfer-form textarea { border:1px solid #d8e1ea; border-radius:.65rem; padding:.65rem .75rem; background:#fff; color:#1b344f; }
.subscription-transfer-form .form-grid-wide { grid-column:1 / -1; }
@media (max-width:760px) { .subscription-transfer-form { grid-template-columns:1fr; } .subscription-transfer-form .form-grid-wide { grid-column:auto; } }

/* Mobilde ortak okunabilirlik ayarı. Ekranların kendi yerleşimini bozmadan
   metinleri aynı oranda büyütür ve form kontrollerini parmak kullanımına uygun tutar. */
@media (max-width: 760px) {
    html {
        font-size: 120%;
        -webkit-text-size-adjust: 120%;
        text-size-adjust: 120%;
    }

    body {
        font-size: 15px;
    }

    body :where(p, li, label, button, input, select, textarea) {
        line-height: 1.35;
    }

    body :where(input, select, textarea) {
        font-size: max(14px, 1em);
    }

    body :where(.button, .platform-primary-button, .button-primary, .button-secondary) {
        min-height: 42px;
        font-size: max(12px, 1em);
    }

    body :where(.muted, .field-hint, .panel-description, .notice-card) {
        font-size: max(12px, 1em);
    }
}
.stock-operations-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.stock-operations-header-actions .button,.stock-operations-header-actions .platform-primary-button{white-space:nowrap}
.firm-payroll-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:480px}.firm-payroll-panel{border:1px solid #cbd5e1;border-radius:10px;background:#eef2f6;padding:10px;display:flex;flex-direction:column;gap:10px}.firm-payroll-panel header{display:flex;align-items:center;gap:8px;font-size:14px}.firm-payroll-entry{display:flex;gap:8px}.firm-payroll-entry input{flex:1}.firm-payroll-list{flex:1;min-height:300px;background:#fff;border:1px solid #cbd5e1;border-radius:3px;display:flex;flex-direction:column;overflow:auto;padding:3px}.firm-payroll-list button{border:0;background:#fff;text-align:left;padding:7px 9px;cursor:pointer}.firm-payroll-list button:hover,.firm-payroll-list button.selected{background:#dbeafe;color:#1d4ed8}.firm-payroll-empty{padding:12px;color:#64748b;font-size:13px}.firm-payroll-panel>.firm-toolbar-delete{align-self:flex-end}@media(max-width:760px){.firm-payroll-grid{grid-template-columns:1fr}}
.firm-branch-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:10px -2px 14px;border-bottom:1px solid #cbd5e1}.firm-branch-tabs button{border:0;background:transparent;color:#334155;padding:9px 13px;border-bottom:2px solid transparent;cursor:pointer;font-weight:600}.firm-branch-tabs button.active{background:#e7edf4;border-bottom-color:#2563eb;color:#172554}.firm-branch-tab-placeholder{min-height:260px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#64748b}.firm-branch-tab-placeholder strong{color:#1e293b;font-size:16px}
.firm-branch-definitions-grid{display:grid;grid-template-columns:1fr 1.55fr;gap:12px}.firm-branch-definition-panel{border:1px solid #cbd5e1;border-radius:8px;background:#eef2f6;padding:10px;min-width:0}.firm-branch-definition-panel header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.firm-branch-department-entry{display:flex;gap:6px}.firm-branch-department-entry input{flex:1}.firm-branch-definition-list{margin-top:8px;background:#fff;border:1px solid #cbd5e1;min-height:230px}.firm-branch-definition-list>div{display:flex;justify-content:space-between;padding:7px 9px;border-bottom:1px solid #e2e8f0}.firm-branch-definition-list>span{display:block;padding:10px;color:#64748b}.firm-branch-definition-list button{border:0;background:transparent;color:#b91c1c;cursor:pointer}.firm-branch-salary-table-wrap{overflow:auto;min-height:230px;background:#fff;border:1px solid #cbd5e1}.firm-branch-salary-table{width:100%;border-collapse:collapse;font-size:12px}.firm-branch-salary-table th,.firm-branch-salary-table td{padding:6px;border-bottom:1px solid #cbd5e1;text-align:left;white-space:nowrap}.firm-branch-salary-table tbody tr{cursor:pointer}.firm-branch-salary-table tbody tr.selected{background:#dbeafe}.firm-branch-salary-editor{margin-top:12px;border:1px solid #cbd5e1;border-radius:8px;padding:12px;background:#f8fafc}.firm-branch-salary-editor header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.firm-branch-salary-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.firm-branch-salary-form>div{display:flex;flex-direction:column;gap:8px}.firm-branch-salary-form h4,.firm-branch-wages h4{margin:0 0 6px}.firm-branch-wages{margin-top:12px}.firm-branch-wages table{width:100%;border-collapse:collapse}.firm-branch-wages th,.firm-branch-wages td{padding:5px;border-bottom:1px solid #cbd5e1;text-align:left}.firm-branch-wages input{width:100%}@media(max-width:760px){.firm-branch-definitions-grid,.firm-branch-salary-form{grid-template-columns:1fr}}
.firm-branch-sgk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sgk-registration-fields{display:grid;grid-template-columns:.7fr 1.2fr .8fr .8fr 1.6fr 1fr 1fr 1fr 1.1fr;gap:8px;margin-bottom:12px}.sgk-registration-fields label,.firm-branch-sgk-grid label{display:flex;flex-direction:column;gap:4px}.firm-branch-sgk-grid .firm-branch-definition-panel{background:#eef2f6}.firm-branch-sgk-grid .form-grid{margin:0}.firm-branch-sgk-grid .firm-tab-intro{margin-top:10px}@media(max-width:1100px){.sgk-registration-fields{grid-template-columns:repeat(5,1fr)}}@media(max-width:760px){.firm-branch-sgk-grid{grid-template-columns:1fr}.sgk-registration-fields{grid-template-columns:repeat(2,1fr)}}
.firm-branch-shift-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12px}.firm-branch-shift-table-wrap{overflow:auto;min-height:300px;background:#fff;border:1px solid #cbd5e1}.firm-branch-shift-table{width:100%;border-collapse:collapse;font-size:12px}.firm-branch-shift-table th,.firm-branch-shift-table td{padding:7px;border-bottom:1px solid #cbd5e1;text-align:left;white-space:nowrap}.firm-branch-shift-table tbody tr{cursor:pointer}.firm-branch-shift-table tbody tr.selected{background:#dbeafe}.firm-branch-shift-editor{margin-top:12px;border:1px solid #cbd5e1;border-radius:8px;padding:12px;background:#f8fafc}.firm-branch-shift-editor header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.firm-branch-shift-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.firm-branch-shift-form h4{grid-column:1/-1;margin:4px 0 0;color:#475569}.firm-branch-shift-form label{display:flex;flex-direction:column;gap:4px}@media(max-width:760px){.firm-branch-shift-grid,.firm-branch-shift-form{grid-template-columns:1fr}}
.backup-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:13px 14px;border:1px solid #e4eee9;border-radius:10px;background:#f8fbf9}.backup-manager-toolbar .field-hint{flex:1;margin:0}.backup-manager-toolbar .platform-primary-button{white-space:nowrap}
.restore-backup-file{display:grid;gap:5px;margin:0 0 16px;padding:13px 14px;border:1px solid #ead9d9;border-radius:10px;background:#fff8f8}.restore-backup-file span{color:#8e3e42;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.restore-backup-file code{overflow-wrap:anywhere;color:#5f3f43;font-size:11px}.restore-backup-file small{color:#a48184;font-size:9px}.platform-modal .platform-field{display:grid;gap:7px;margin-top:16px;color:#526c61;font-size:10px;font-weight:700}.platform-modal .platform-field input{width:100%;min-height:40px;padding:0 11px;border:1px solid #e2caca;border-radius:8px;outline:0;color:#4a3838;background:#fffafa;font:inherit;font-size:12px}.platform-modal .platform-field input:focus{border-color:#c96b6b;box-shadow:0 0 0 3px rgba(201,107,107,.13)}
@media(max-width:650px){.backup-manager-toolbar{align-items:stretch;flex-direction:column}.backup-manager-toolbar .platform-primary-button{width:100%}}

/* Puantaj kayıtları */
.attendance-page { display: flex; width: 100%; max-width: none; height: 100%; min-height: 0; margin: 0; box-sizing: border-box; flex-direction: column; overflow: hidden; }
.attendance-filter-card { padding: 16px; margin-bottom: 14px; }
.attendance-filter-grid { display: grid; grid-template-columns: minmax(150px,1fr) minmax(170px,1fr) 120px 110px minmax(160px,1fr) minmax(220px,1.4fr) auto; gap: 12px; align-items: end; }
.attendance-filter-grid label { display: grid; gap: 5px; color: var(--muted-text, #64748b); font-size: .78rem; font-weight: 700; }
.attendance-filter-grid select, .attendance-filter-grid input { min-height: 38px; border: 1px solid #c7d2e0; border-radius: 7px; padding: 7px 9px; background: #fff; color: #172033; }
.attendance-load { min-height: 38px; }
.attendance-card { display: flex; min-height: 0; padding: 0; overflow: hidden; flex: 1 1 auto; flex-direction: column; }
.attendance-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; border-bottom: 1px solid #d7e0eb; background: #f7f9fc; }
.attendance-card-head strong { display: block; color: #18233a; font-size: 1rem; }
.attendance-card-head small { display: block; margin-top: 3px; color: #718096; }
.attendance-hint { color: #4169a8; font-size: .8rem; }
.attendance-grid-wrap { min-height: 0; overflow: auto; max-height: none; flex: 1 1 auto; }
.attendance-grid { border-collapse: separate; border-spacing: 0; min-width: 1120px; width: max-content; table-layout: fixed; color: #1f2937; font-size: .74rem; }
.attendance-grid th, .attendance-grid td { border-right: 1px solid #d6deea; border-bottom: 1px solid #d6deea; height: 33px; padding: 3px 5px; white-space: nowrap; background: #fff; }
.attendance-grid th { position: sticky; top: 0; z-index: 3; background: #eaf0f7; color: #334155; font-weight: 800; text-align: center; }
.attendance-grid .day-head, .attendance-grid .day-cell { width: 28px; min-width: 28px; max-width: 28px; padding: 2px 1px; }
.attendance-grid .day-head.weekend, .attendance-grid td.weekend { background: #fff2f0; }
.attendance-grid .sticky-col { position: sticky; z-index: 2; background: #fff; }
.attendance-grid th.sticky-col { z-index: 5; background: #eaf0f7; }
.attendance-grid .sticky-index { left: 0; width: 38px; min-width: 38px; max-width: 38px; box-sizing: border-box; text-align: center; }
.attendance-grid .sticky-person { left: 38px; width: 170px; min-width: 170px; max-width: 170px; box-sizing: border-box; }
.attendance-grid .sticky-employment { left: 208px; width: 110px; min-width: 110px; max-width: 110px; box-sizing: border-box; }
.attendance-grid .sticky-national { left: 318px; width: 95px; min-width: 95px; max-width: 95px; box-sizing: border-box; }
.attendance-grid .sticky-person strong, .attendance-grid .sticky-person span, .attendance-grid .sticky-person small { display: block; overflow: hidden; text-overflow: ellipsis; }
.attendance-grid .sticky-person span { font-weight: 700; }
.attendance-grid .attendance-person-id { display: flex; align-items: baseline; gap: 5px; min-width: 0; }
.attendance-grid .attendance-person-id small { min-width: 0; color: #64748b; font-size: .66rem; }
.attendance-grid .sticky-employment span { display: block; line-height: 1.35; white-space: nowrap; }
.attendance-hire-date { color: #475569; }
.attendance-exit-date { color: #dc2626; font-weight: 800; }
.attendance-cell { width: 24px; max-width: 24px; height: 24px; padding: 1px 0; border: 1px solid transparent; border-radius: 4px; text-align: center; text-transform: uppercase; color: #111827; background: transparent; font-weight: 700; box-sizing: border-box; }
.attendance-cell:focus { outline: 2px solid #2563eb; border-color: #2563eb; background: #eff6ff; }
.attendance-cell:disabled { color: #64748b; cursor: not-allowed; }
.attendance-inactive-cell { display: block; width: 24px; height: 24px; }
.attendance-managed-code { display: flex; align-items: center; justify-content: center; color: #334155; font-weight: 800; }
.attendance-grid td.attendance-code-holiday { background: #fff200; }
.attendance-grid td.attendance-code-unpaid { background: #ffd9e3; }
.attendance-grid td.attendance-code-permission { background: #ccecff; }
.attendance-grid td.attendance-code-report { background: #87ceeb; }
.attendance-grid td.attendance-code-overtime { background: #f6a142; }
.attendance-grid td.attendance-code-annual { background: #ffa07a; }
.attendance-grid td.attendance-code-short-work { background: #6495ed; }
.attendance-grid td.attendance-code-free-time { background: #deb887; }
.attendance-grid td.attendance-code-absence { background: #f08080; }
.attendance-grid td.attendance-code-public-holiday { background: #4169e1; color: #fff; }
.attendance-grid th.day-head.official-holiday { background: #bdebd8; color: #166534; }
.attendance-grid td.attendance-official-holiday { background: #dff6ea !important; color: #166534; }
.attendance-grid td.attendance-has-mesai { background: #d9f7e5 !important; color: #166534; }
.attendance-grid td.attendance-cell-locked { background: #eef1f4 !important; color: #94a3b8; cursor: not-allowed; }
.attendance-grid td.attendance-cell-locked.attendance-official-holiday { background: #eef1f4 !important; color: #94a3b8; }
.attendance-grid td.attendance-cell-locked.attendance-code-holiday { background: #fff200 !important; color: #854d0e !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-unpaid { background: #ffd9e3 !important; color: #991b1b !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-permission { background: #ccecff !important; color: #1e40af !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-report { background: #87ceeb !important; color: #0c4a6e !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-annual { background: #ffa07a !important; color: #7c2d12 !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-public-holiday { background: #4169e1 !important; color: #fff !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-absence { background: #f08080 !important; color: #7f1d1d !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-overtime { background: #f6a142 !important; color: #7c2d12 !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-short-work { background: #6495ed !important; color: #fff !important; }
.attendance-grid td.attendance-cell-locked.attendance-code-free-time { background: #deb887 !important; color: #5b3716 !important; }
.attendance-grid .row-summary-head, .attendance-grid .row-summary-cell { width: 36px; min-width: 36px; max-width: 36px; box-sizing: border-box; padding: 2px 1px; text-align: center; font-variant-numeric: tabular-nums; }
.attendance-grid .row-summary-cell { text-align: right; }
.attendance-grid .total-cell { min-width: 36px; text-align: right; font-weight: 800; background: #f8fafc; }
.attendance-lock-icon { position: relative; display: inline-block; width: 14px; height: 11px; margin-top: 6px; border: 2px solid currentColor; border-radius: 2px; box-sizing: border-box; }
.attendance-lock-icon::before { content: ""; position: absolute; left: 1px; top: -9px; width: 8px; height: 8px; border: 2px solid currentColor; border-bottom: 0; border-radius: 7px 7px 0 0; }
.attendance-lock-icon.is-open::before { left: 4px; top: -8px; transform: rotate(28deg); transform-origin: left bottom; }
.attendance-lock-icon.is-locked { color: #dc2626; }
.attendance-lock-icon.is-open { color: #16a34a; }
.attendance-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 12px 18px; color: #64748b; font-size: .78rem; border-top: 1px solid #d7e0eb; }
.attendance-legend b { display: inline-block; min-width: 24px; color: #1d4ed8; }
.attendance-summary-bar { display: flex; align-items: center; gap: 4px; overflow-x: auto; padding: 7px 8px; border-top: 1px solid #d7e0eb; background: #eef2f6; scrollbar-width: thin; }
.attendance-summary-pill { display: inline-flex; align-items: center; gap: 4px; min-height: 25px; padding: 3px 8px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #475569; font-size: .72rem; line-height: 1.2; white-space: nowrap; }
.attendance-summary-pill strong { font-weight: 800; }
.attendance-summary-pill.summary-workers { border-color: #bfdbfe; color: #1d4ed8; }
.attendance-summary-pill.summary-new { border-color: #bbf7d0; color: #15803d; }
.attendance-summary-pill.summary-exit { border-color: #fecaca; color: #dc2626; }
.attendance-summary-pill.summary-days { border-color: #fed7aa; color: #ea580c; }
.attendance-summary-pill.summary-work { border-color: #c7d2fe; color: #4f46e5; }
.attendance-summary-pill.summary-annual { border-color: #a7f3d0; color: #0f766e; }
.attendance-summary-pill.summary-report { border-color: #fbcfe8; color: #be185d; }
.attendance-summary-pill.summary-excuse { border-color: #fed7aa; color: #c2410c; }
.attendance-summary-pill.summary-fm { border-color: #bfdbfe; color: #1d4ed8; }
.attendance-summary-pill.summary-bm { border-color: #fde68a; color: #d97706; }
.attendance-summary-pill.summary-fm3 { border-color: #ddd6fe; color: #7c3aed; }
.attendance-summary-pill.summary-missing { border-color: #fecaca; color: #dc2626; }
@media (max-width: 760px) { .attendance-summary-bar { flex-wrap: wrap; overflow-x: visible; } }

/* Bordro listesi */
.payroll-page { gap: 0; --payroll-tab-panel-height: 164px; }
.payroll-header { align-items: center; }
.payroll-header-actions { display: flex; align-items: center; gap: 8px; }
.payroll-count-badge { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 7px 16px; border: 1px solid #cbd5e1; border-radius: 8px; background: #f8fafc; color: #64748b; font-size: .75rem; }
.payroll-count-badge strong { display: block; color: #1d4ed8; font-size: 1rem; }
.payroll-tabs { display: flex; gap: 3px; margin-bottom: 9px; border-bottom: 1px solid #cbd5e1; }
.payroll-tabs button { min-height: 40px; padding: 8px 16px; border: 1px solid #cbd5e1; border-bottom: 0; border-radius: 8px 8px 0 0; background: #e2e8f0; color: #1e293b; font-weight: 800; cursor: pointer; }
.payroll-tabs button.active { background: #fff; color: #0f172a; box-shadow: inset 0 -3px #2563eb; }
.payroll-filter-card { height: var(--payroll-tab-panel-height); min-height: 0; box-sizing: border-box; overflow: hidden; padding: 9px 10px; margin-bottom: 7px; }
.payroll-wage-export-card { height: var(--payroll-tab-panel-height); min-height: 0; box-sizing: border-box; overflow: hidden; padding: 10px 14px; margin-bottom: 7px; }
.payroll-wage-export-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; color: #64748b; }
.payroll-wage-export-head h3 { margin: 0 0 2px; color: #334155; font-size: .82rem; }
.payroll-wage-export-head span, .payroll-wage-export-head small { font-size: .72rem; }
.payroll-wage-export-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 12px; }
.payroll-wage-export-button { min-height: 30px; padding: 5px 8px; border: 1px solid #d5deea; border-radius: 6px; color: #1e293b; background: #f8fafc; font-size: .72rem; font-weight: 700; text-align: left; cursor: pointer; }
.payroll-wage-export-button:hover:not(:disabled) { border-color: #93c5fd; color: #1d4ed8; background: #eff6ff; }
.payroll-wage-export-button:disabled { cursor: not-allowed; opacity: .5; }
.payroll-report-actions-card { display: grid; height: var(--payroll-tab-panel-height); min-height: 0; box-sizing: border-box; grid-template-columns: 1.15fr 1.15fr .9fr; gap: 0; padding: 12px 8px; margin-bottom: 10px; overflow: hidden; }
.payroll-report-actions-group { min-width: 0; padding: 0 15px; border-right: 1px solid #d7e0eb; }
.payroll-report-actions-group:first-child { padding-left: 8px; }
.payroll-report-actions-group:last-child { border-right: 0; }
.payroll-report-actions-group h3 { margin: 0 0 8px; color: #334155; font-size: .75rem; font-weight: 800; }
.payroll-report-actions-group small { display: block; margin-top: 5px; color: #64748b; font-size: .68rem; line-height: 1.35; }
.payroll-report-action-button { display: block; width: 100%; min-height: 29px; margin: 0 0 5px; padding: 5px 8px; border: 1px solid #d5deea; border-radius: 6px; color: #1e293b; background: #f8fafc; font-size: .71rem; font-weight: 700; text-align: left; cursor: pointer; }
.payroll-report-action-button:hover:not(:disabled) { border-color: #93c5fd; color: #1d4ed8; background: #eff6ff; }
.payroll-report-action-button:disabled { cursor: not-allowed; opacity: .5; }
.payroll-report-primary { border-color: #b8c9e5; background: #e8eef8; }
.payroll-report-designer-button { color: #075985; border-color: #bae6fd; background: #ecfeff; }
.payroll-report-backdrop { position: fixed; inset: 0; z-index: 1700; display: flex; align-items: center; justify-content: center; padding: 14px; overflow: auto; background: rgba(15,23,42,.64); }
.payroll-report-preview, .payroll-custom-designer { width: min(1400px, calc(100vw - 28px)); max-height: calc(100vh - 28px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #b9c8d7; border-radius: 12px; background: #eef2f7; box-shadow: 0 24px 70px rgba(15,23,42,.35); }
.payroll-report-preview-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 0 0 auto; padding: 10px 14px; border-bottom: 1px solid #cbd5e1; background: #f8fafc; }
.payroll-report-preview-header h2 { margin: 2px 0; color: #172033; font-size: 1rem; }
.payroll-report-preview-header p { margin: 0; color: #64748b; font-size: .72rem; }
.payroll-report-preview-actions { display: flex; align-items: center; gap: 6px; }
.payroll-report-preview-actions .button { min-height: 30px; padding: 5px 9px; font-size: .72rem; }
.payroll-report-paper { margin: 12px auto; padding: 10px; width: calc(100% - 24px); box-sizing: border-box; overflow: auto; background: #fff; color: #172033; font-family: Arial, sans-serif; font-size: 9px; line-height: 1.2; box-shadow: 0 5px 20px rgba(15,23,42,.14); }
.payroll-report-title { display: flex; justify-content: space-between; gap: 12px; padding: 7px 10px; border: 1px solid #6b7280; text-align: center; font-size: 12px; }
.payroll-report-title strong { flex: 1; }
.payroll-report-company { display: flex; flex-wrap: wrap; gap: 4px 14px; padding: 7px 8px; border: 1px solid #6b7280; border-top: 0; }
.payroll-carsaf-table, .payroll-bulk-payslip-table, .payroll-custom-report-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.payroll-carsaf-table th, .payroll-carsaf-table td, .payroll-bulk-payslip-table th, .payroll-bulk-payslip-table td, .payroll-custom-report-table th, .payroll-custom-report-table td { padding: 4px 5px; border: 1px solid #aab7c6; vertical-align: middle; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payroll-carsaf-table th, .payroll-custom-report-table th { background: #dfe7f0; color: #1d3a5b; text-align: center; font-weight: 800; }
.payroll-carsaf-table .payroll-carsaf-repeat-title th { padding: 7px 10px; background: #fff; color: #172033; font-size: 12px; text-align: center; }
.payroll-carsaf-table .payroll-carsaf-repeat-title th strong { display: inline-block; margin-right: 24px; }
.payroll-carsaf-table .payroll-carsaf-repeat-title th span { float: right; font-weight: 400; font-size: 9px; }
.payroll-carsaf-table .payroll-carsaf-repeat-company th { padding: 6px 8px; background: #fff; color: #334155; text-align: left; font-weight: 400; }
.payroll-carsaf-table td { text-align: right; }
.payroll-carsaf-table td:nth-child(2), .payroll-carsaf-table td:nth-child(3) { text-align: left; }
.payroll-carsaf-table tbody tr { break-inside: avoid; page-break-inside: avoid; }
.payroll-carsaf-table thead { display: table-header-group; }
.payroll-carsaf-personnel-table { font-size: 7px; }
.payroll-carsaf-personnel-table th, .payroll-carsaf-personnel-table td { padding: 3px 2px; }
.payroll-carsaf-personnel-table th { white-space: normal; line-height: 1.1; font-size: 7.1px; }
.payroll-carsaf-personnel-table td { line-height: 1.15; }
.payroll-carsaf-personnel-table td:nth-child(1), .payroll-carsaf-personnel-table td:nth-child(2), .payroll-carsaf-personnel-table td:nth-child(3) { text-align: left; }
.payroll-carsaf-personnel-table td small { font-size: .95em; }
.payroll-carsaf-signature-cell { min-width: 24px; }
.payroll-carsaf-page { break-after: page; page-break-after: always; }
.payroll-carsaf-page:last-of-type { break-after: auto; page-break-after: auto; }
.payroll-report-summary { margin-top: 10px; break-before: page; page-break-before: always; }
.payroll-report-summary h3 { margin: 0; padding: 6px; border: 1px solid #6b7280; background: #dfe7f0; text-align: center; font-size: 10px; }
.payroll-carsaf-single-page { display: flex; flex-direction: column; min-height: 190mm; }
.payroll-carsaf-single-page .payroll-report-summary { margin-top: auto; break-before: auto; page-break-before: auto; }
.payroll-report-summary-title { margin-top: 8px !important; }
.payroll-carsaf-group-table-wrap { overflow-x: auto; }
.payroll-carsaf-group-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 7px; }
.payroll-carsaf-group-table th, .payroll-carsaf-group-table td { padding: 3px 3px; border: 1px solid #aab7c6; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.payroll-carsaf-group-table th { background: #dfe7f0; color: #1d3a5b; text-align: center; font-weight: 800; }
.payroll-carsaf-group-table th:first-child, .payroll-carsaf-group-table td:first-child { text-align: left; }
.payroll-carsaf-group-total td { background: #f1f5f9; font-weight: 800; }
.payroll-tahakkuk-table { width: 82%; margin-top: 8px; border-collapse: collapse; table-layout: fixed; font-size: 8px; }
.payroll-tahakkuk-table th, .payroll-tahakkuk-table td { padding: 4px 5px; border: 1px solid #8d959e; line-height: 1.15; }
.payroll-tahakkuk-table th { background: #fff; text-align: center; font-size: 9px; font-weight: 800; }
.payroll-tahakkuk-table td:nth-child(1), .payroll-tahakkuk-table td:nth-child(3) { text-align: left; }
.payroll-tahakkuk-table td:nth-child(2), .payroll-tahakkuk-table td:nth-child(4) { text-align: right; }
.payroll-tahakkuk-table td:nth-child(1) { width: 40%; }
.payroll-tahakkuk-table td:nth-child(2) { width: 12%; }
.payroll-tahakkuk-table td:nth-child(3) { width: 38%; }
.payroll-tahakkuk-table td:nth-child(4) { width: 10%; }
.payroll-tahakkuk-total td { font-weight: 800; }
.payroll-tahakkuk-spacer td { height: 7px; padding: 0; border-left: 0; border-right: 0; }
.payroll-report-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.payroll-report-summary-grid > div { display: grid; grid-template-columns: 1fr auto; }
.payroll-report-summary-grid span, .payroll-report-summary-grid strong { padding: 4px 6px; border: 1px solid #aab7c6; border-top: 0; }
.payroll-report-summary-grid strong { text-align: right; }
.payroll-bulk-payslip-item { min-height: 245px; padding-bottom: 16px; margin-bottom: 16px; break-after: page; page-break-after: always; }
.payroll-bulk-payslip-item:last-child { margin-bottom: 0; break-after: auto; page-break-after: auto; }
.payroll-bulk-payslip-layout { display: grid; grid-template-columns: 275px minmax(0, 1fr); min-height: 0; flex: 1; overflow: hidden; }
.payroll-bulk-payslip-selection { padding: 10px; overflow: auto; border-right: 1px solid #cbd5e1; background: #f8fafc; }
.payroll-bulk-payslip-selection-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 8px; color: #1e3a5f; font-size: .75rem; }
.payroll-bulk-payslip-selection-head label { color: #475569; font-size: .69rem; }
.payroll-bulk-payslip-person { display: flex; gap: 8px; align-items: flex-start; padding: 8px 6px; border-bottom: 1px solid #e2e8f0; cursor: pointer; }
.payroll-bulk-payslip-person:hover { background: #eef6ff; }
.payroll-bulk-payslip-person span { min-width: 0; }
.payroll-bulk-payslip-person strong, .payroll-bulk-payslip-person small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payroll-bulk-payslip-person strong { color: #1e293b; font-size: .72rem; }
.payroll-bulk-payslip-person small { margin-top: 2px; color: #64748b; font-size: .64rem; }
.payroll-bulk-payslip-send-results { margin-top: 12px; padding-top: 10px; border-top: 1px solid #cbd5e1; }
.payroll-bulk-payslip-send-results h3 { margin: 0 0 7px; color: #334155; font-size: .72rem; }
.payroll-bulk-payslip-send-result { display: flex; flex-direction: column; gap: 2px; margin-bottom: 5px; padding: 6px 7px; border-left: 3px solid #94a3b8; background: #f1f5f9; font-size: .65rem; }
.payroll-bulk-payslip-send-result strong { color: #334155; }
.payroll-bulk-payslip-send-result span { color: #64748b; line-height: 1.3; }
.payroll-bulk-payslip-send-result.is-success { border-left-color: #16a34a; background: #f0fdf4; }
.payroll-bulk-payslip-send-result.is-success span { color: #166534; }
.payroll-bulk-payslip-send-result.is-error { border-left-color: #dc2626; background: #fef2f2; }
.payroll-bulk-payslip-send-result.is-error span { color: #991b1b; }
.payroll-bulk-payslip-preview { min-width: 0; overflow: auto; padding: 10px; background: #dfe7f0; }
.payroll-bulk-payslip-preview .payroll-payslip-embedded { display: block; margin: 0 auto 12px; }
.payroll-bulk-payslip-preview .payroll-payslip-embedded { break-after: page; page-break-after: always; }
.payroll-bulk-payslip-preview .payroll-payslip-embedded:last-child { break-after: auto; page-break-after: auto; }
.payroll-payslip-embedded .payroll-payslip-paper { margin: 0 auto; box-shadow: 0 5px 18px rgba(15,23,42,.16); }
@media print {
    .payroll-bulk-payslip-preview { padding: 0 !important; overflow: visible !important; background: #fff !important; }
    .payroll-bulk-payslip-preview .payroll-payslip-embedded { width: 210mm !important; height: 297mm !important; min-height: 297mm !important; margin: 0 !important; overflow: hidden !important; break-after: page !important; page-break-after: always !important; }
    .payroll-bulk-payslip-preview .payroll-payslip-embedded:last-child { break-after: auto !important; page-break-after: auto !important; }
    .payroll-bulk-payslip-preview .payroll-payslip-paper { width: 202mm !important; max-width: none !important; height: auto !important; margin: 0 auto !important; box-shadow: none !important; }
}
.payroll-bulk-payslip-empty { display: grid; min-height: 180px; place-items: center; color: #64748b; font-size: .8rem; }
.payroll-bulk-payslip-identity { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 9px; border: 1px solid #aab7c6; border-top: 0; }
.payroll-bulk-payslip-identity strong { width: 100%; font-size: 12px; }
.payroll-bulk-payslip-table { margin-top: 12px; font-size: 10px; }
.payroll-bulk-payslip-table th { width: 25%; background: #f0f4f8; text-align: left; }
.payroll-bulk-payslip-table td { text-align: right; }
.payroll-bulk-payslip-net th, .payroll-bulk-payslip-net td { background: #e7f8d6; color: #255b1a; font-weight: 800; font-size: 12px; }
.payroll-custom-designer { width: min(1000px, calc(100vw - 28px)); }
.payroll-custom-designer-body { display: grid; grid-template-columns: 1.6fr .8fr; gap: 10px; min-height: 0; padding: 12px; overflow: hidden; }
.payroll-custom-fields, .payroll-custom-selected { min-height: 0; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #e7edf3; }
.payroll-custom-fields { overflow: auto; }
.payroll-custom-selected { display: flex; flex-direction: column; overflow: hidden; }
.payroll-custom-fields h3, .payroll-custom-selected h3 { margin: 0 0 8px; color: #1357d0; font-size: .76rem; letter-spacing: .02em; }
.payroll-custom-field-tree { display: grid; gap: 6px; }
.payroll-custom-field-group { overflow: hidden; border: 1px solid #c5d0dc; border-radius: 4px; background: #fff; }
.payroll-custom-field-group summary { display: flex; align-items: center; gap: 5px; padding: 5px 7px; color: #334155; background: #fff; cursor: pointer; font-size: .73rem; font-weight: 700; list-style: none; }
.payroll-custom-field-group summary::-webkit-details-marker { display: none; }
.payroll-custom-field-group-icon { display: inline-grid; width: 16px; height: 16px; place-items: center; border: 1px solid #64748b; border-radius: 50%; color: #334155; font-size: .68rem; line-height: 1; }
.payroll-custom-field-group:not([open]) .payroll-custom-field-group-icon { transform: rotate(180deg); }
.payroll-custom-field-grid { display: flex; flex-wrap: wrap; gap: 5px 10px; padding: 6px 7px 8px; border-top: 1px solid #e2e8f0; background: #fff; }
.payroll-custom-field-grid label { color: #334155; font-size: .68rem; white-space: nowrap; }
.payroll-custom-field-grid input { margin: 0 4px 0 0; accent-color: #2563eb; }
.payroll-custom-dynamic-title { color: #dc2626; }
.payroll-custom-extra-title { color: #16a34a; }
.payroll-custom-field-group small { color: #64748b; font-size: .62rem; font-weight: 400; }
.payroll-custom-selected-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 6px; }
.payroll-custom-selected-head h3 { margin-bottom: 2px; }
.payroll-custom-selected-head h3 small { display: block; margin-top: 3px; color: #2563eb; font-size: .62rem; font-weight: 600; }
.payroll-custom-selected-head > span { color: #64748b; font-size: .65rem; white-space: nowrap; }
.payroll-custom-selected ol { flex: 1; min-height: 0; overflow: auto; margin: 0; padding: 0; color: #334155; font-size: .7rem; list-style: none; }
.payroll-custom-selected li { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding: 5px 4px; border: 1px solid #d6dee8; border-top: 0; background: #fff; }
.payroll-custom-selected li:first-child { border-top: 1px solid #d6dee8; }
.payroll-custom-selected-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payroll-custom-selected-actions { display: inline-flex; flex: 0 0 auto; gap: 3px; }
.payroll-custom-selected-actions button { width: 23px; height: 22px; padding: 0; border: 1px solid #cbd5e1; border-radius: 4px; color: #334155; background: #f8fafc; cursor: pointer; }
.payroll-custom-selected-actions button:hover:not(:disabled) { border-color: #60a5fa; color: #1d4ed8; background: #eff6ff; }
.payroll-custom-selected-actions button:disabled { cursor: not-allowed; opacity: .4; }
.payroll-custom-selected-actions .payroll-custom-remove-button { color: #b91c1c; }
.payroll-custom-selected-note { margin: 8px 0 0; color: #64748b; font-size: .63rem; line-height: 1.35; }
.payroll-custom-report-export-source { position: fixed; left: -10000px; top: 0; z-index: -1; width: 1200px; min-height: 400px; padding: 12px; box-sizing: border-box; overflow: visible; background: #fff; color: #172033; font-family: Arial, sans-serif; font-size: 9px; }
.payroll-report-designer-footer { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-top: 1px solid #cbd5e1; background: #f8fafc; }
.payroll-report-designer-footer label { display: flex; align-items: center; gap: 6px; color: #475569; font-size: .72rem; }
.payroll-report-designer-footer input { min-width: 190px; padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 5px; }
.payroll-report-format-actions { display: flex; gap: 6px; margin-left: auto; }
@media print { .payroll-report-paper { width: 100%; margin: 0; box-shadow: none; } .payroll-report-summary { break-before: page; page-break-before: always; } .payroll-carsaf-single-page { min-height: 190mm; } .payroll-carsaf-single-page .payroll-report-summary { break-before: auto; page-break-before: auto; } }
@media (max-width: 780px) { .payroll-report-actions-card { height: auto; min-height: var(--payroll-tab-panel-height); grid-template-columns: 1fr; overflow: visible; } .payroll-report-actions-group, .payroll-report-actions-group:first-child { padding: 8px; border-right: 0; border-bottom: 1px solid #d7e0eb; } .payroll-report-actions-group:last-child { border-bottom: 0; } .payroll-custom-designer-body, .payroll-report-summary-grid { grid-template-columns: 1fr; } .payroll-custom-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .payroll-report-preview-header, .payroll-report-designer-footer { align-items: flex-start; flex-direction: column; } .payroll-report-preview-actions, .payroll-report-format-actions { width: 100%; flex-wrap: wrap; } .payroll-report-preview-actions .button, .payroll-report-format-actions .button { flex: 1; } .payroll-report-designer-footer label { width: 100%; align-items: flex-start; flex-direction: column; } .payroll-report-designer-footer input, .payroll-report-designer-footer select { width: 100%; box-sizing: border-box; } .payroll-bulk-payslip-layout { grid-template-columns: 1fr; overflow: auto; } .payroll-bulk-payslip-selection { max-height: 220px; border-right: 0; border-bottom: 1px solid #cbd5e1; } }
.payroll-operations-card { display: grid; height: var(--payroll-tab-panel-height); min-height: 0; box-sizing: border-box; grid-template-columns: minmax(170px,.8fr) minmax(230px,1fr) minmax(380px,1.7fr); gap: 0; padding: 12px 8px; margin-bottom: 10px; overflow: hidden; }
.payroll-operations-group { display: grid; align-content: start; gap: 7px; padding: 5px 18px; border-right: 1px solid #d7e0eb; }
.payroll-operations-group:last-child { border-right: 0; }
.payroll-operations-group h3 { margin: 0 0 3px; color: #334155; font-size: .76rem; }
.payroll-operations-group-wide { gap: 7px; }
.payroll-operation-button-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.payroll-operation-button-column { display: grid; align-content: start; gap: 7px; min-width: 0; }
.payroll-operation-button { min-height: 31px; padding: 6px 9px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #1e293b; font-size: .75rem; font-weight: 700; text-align: left; cursor: pointer; }
.payroll-operation-button:hover { border-color: #bfdbfe; background: #eff6ff; color: #1d4ed8; }
.payroll-operation-danger { color: #b91c1c; }
.payroll-operation-danger:hover { border-color: #fecaca; background: #fef2f2; color: #991b1b; }
.payroll-operation-modal { position: relative; display: flex; width: min(920px, calc(100vw - 24px)); max-height: calc(100vh - 24px); flex-direction: column; overflow: hidden; border: 1px solid #b8c9dc; border-radius: 11px; background: #f8fafc; box-shadow: 0 20px 60px #0f172a55; }
.payroll-operation-modal-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid #d4deea; background: #eef3f8; }
.payroll-operation-modal-header h2 { margin: 2px 0; color: #172033; font-size: 1.08rem; }
.payroll-operation-modal-header p { margin: 0; color: #64748b; font-size: .75rem; }
.payroll-operation-body { display: grid; grid-template-columns: minmax(240px,.9fr) minmax(360px,1.1fr); min-height: 390px; gap: 14px; padding: 14px; overflow: auto; }
.payroll-bulk-personnel { min-width: 0; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; }
.payroll-bulk-personnel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid #e2e8f0; color: #334155; font-size: .78rem; }
.payroll-bulk-personnel-head label { display: flex; align-items: center; gap: 4px; font-weight: 500; }
.payroll-bulk-personnel-list { max-height: 310px; overflow: auto; }
.payroll-bulk-personnel-list label { display: grid; grid-template-columns: 18px 1fr auto; align-items: center; gap: 5px; padding: 7px 3px; border-bottom: 1px solid #eef2f7; color: #334155; font-size: .75rem; }
.payroll-bulk-personnel-list small { color: #64748b; }
.payroll-selection-count { display: block; margin-top: 8px; color: #1d4ed8; font-weight: 800; }
.payroll-operation-form { display: grid; align-content: start; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px 12px; padding: 12px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; }
.payroll-operation-form label { display: grid; gap: 5px; color: #475569; font-size: .76rem; font-weight: 700; }
.payroll-operation-form input, .payroll-operation-form select, .payroll-operation-form textarea { width: 100%; box-sizing: border-box; min-height: 32px; padding: 6px 8px; border: 1px solid #c7d2e0; border-radius: 6px; background: #fff; color: #172033; }
.payroll-operation-form textarea { min-height: 70px; resize: vertical; }
.payroll-operation-form label:last-child, .payroll-operation-form .payroll-check-line { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; }
.payroll-operation-form .payroll-check-line input { width: auto; min-height: auto; }
.payroll-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; padding: 18px; overflow: auto; }
.payroll-info-grid label { display: grid; gap: 4px; padding: 10px; border: 1px solid #d7e0eb; border-radius: 7px; color: #64748b; font-size: .76rem; font-weight: 700; }
.payroll-info-grid strong { color: #1e293b; font-size: .85rem; }
.payroll-info-grid .payroll-info-wide { grid-column: 1 / -1; }
.payroll-operation-modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 11px 14px; border-top: 1px solid #d4deea; background: #eef3f8; }
@media (max-width: 780px) { .payroll-operations-card, .payroll-operation-body { grid-template-columns: 1fr; } .payroll-filter-card, .payroll-wage-export-card, .payroll-operations-card { height: auto; min-height: var(--payroll-tab-panel-height); overflow: visible; } .payroll-wage-export-grid { grid-template-columns: 1fr; } .payroll-operations-group { border-right: 0; border-bottom: 1px solid #d7e0eb; } .payroll-operations-group:last-child { border-bottom: 0; } .payroll-operation-button-columns { grid-template-columns: 1fr; } .payroll-operation-form, .payroll-info-grid { grid-template-columns: 1fr; } }
.payroll-filter-grid { display: grid; grid-template-columns: minmax(300px,1.3fr) minmax(190px,.75fr) minmax(310px,1.25fr) minmax(245px,1fr); gap: 7px; align-items: stretch; }
.payroll-filter-group { display: grid; min-width: 0; box-sizing: border-box; gap: 4px; padding: 0 8px; border-right: 1px solid #d7e0eb; }
.payroll-filter-group:last-child { border-right: 0; }
.payroll-filter-group label { display: grid; gap: 4px; color: #475569; font-size: .74rem; font-weight: 700; }
.payroll-filter-group select, .payroll-filter-group input { min-height: 28px; border: 1px solid #c7d2e0; border-radius: 6px; padding: 4px 7px; background: #fff; color: #172033; }
.payroll-firm-filter { grid-template-columns: 1fr 1fr; }
.payroll-firm-filter .payroll-search { grid-column: span 2; }
.payroll-period-filter { grid-template-columns: 1fr 1fr; align-content: start; }
.payroll-period-filter .payroll-navigation { display: flex; gap: 5px; grid-column: span 2; }
.payroll-navigation .button { flex: 1; min-height: 31px; padding: 4px 7px; }
.payroll-calculation-filter { grid-template-columns: 1fr 1fr; align-content: start; }
.payroll-calculation-filter fieldset { min-width: 0; margin: 0; padding: 5px 8px; border: 1px solid #cbd5e1; border-radius: 5px; }
.payroll-calculation-filter legend { padding: 0 3px; color: #475569; font-size: .72rem; }
.payroll-calculation-filter fieldset label { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 5px; margin: 3px 0; font-weight: 600; white-space: nowrap; }
.payroll-generate { grid-column: span 2; min-height: 34px; }
.payroll-list-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; align-content: start; }
.payroll-list-filter label { min-width: 0; gap: 5px; }
.payroll-list-filter select { width: 100%; min-width: 0; box-sizing: border-box; }
.payroll-card { display: flex; min-height: 0; padding: 0; overflow: hidden; flex: 1 1 auto; flex-direction: column; }
.payroll-grid-wrap { flex: 1 1 auto; min-height: 0; overflow: auto; }
.payroll-grid { width: max-content; min-width: 1640px; border-collapse: separate; border-spacing: 0; table-layout: fixed; color: #1f2937; font-size: .72rem; }
.payroll-grid th, .payroll-grid td { height: 30px; min-width: 62px; padding: 3px 6px; border-right: 1px solid #cbd5e1; border-bottom: 1px solid #cbd5e1; white-space: nowrap; background: #fff; }
.payroll-grid th { position: sticky; top: 0; z-index: 2; background: #e8eef5; color: #334155; font-weight: 800; text-align: center; }
.payroll-grid td { text-align: right; }
.payroll-grid td:nth-child(2), .payroll-grid td:nth-child(4), .payroll-grid td:nth-child(5), .payroll-grid td:nth-child(6), .payroll-grid td:nth-child(9), .payroll-grid td:nth-child(10) { text-align: left; }
.payroll-grid th:nth-child(1), .payroll-grid td:nth-child(1) { position: sticky; left: 0; z-index: 3; min-width: 34px; width: 34px; text-align: center; }
.payroll-grid th:nth-child(2), .payroll-grid td:nth-child(2) { min-width: 36px; width: 36px; }
.payroll-grid th:nth-child(3), .payroll-grid td:nth-child(3) { min-width: 34px; width: 34px; text-align: center; }
.payroll-grid th:nth-child(6), .payroll-grid td:nth-child(6) { min-width: 150px; width: 150px; }
.payroll-grid th:nth-child(9), .payroll-grid td:nth-child(9) { min-width: 120px; width: 120px; }
.payroll-grid th:nth-child(10), .payroll-grid td:nth-child(10) { min-width: 115px; width: 115px; }
.payroll-grid tbody tr:hover td { background: #f8fbff; }
.payroll-grid td strong { color: #dc2626; }
.payroll-lock { font-size: 1rem; font-weight: 900; }
.payroll-open { color: #16a34a; }
.payroll-payment { display: inline-flex; align-items: center; border-radius: 5px; padding: 3px 6px; font-size: .66rem; font-weight: 800; }
.payroll-pending { color: #fff; background: #94a3b8; }
.payroll-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border-bottom: 1px solid #d7e0eb; background: #f7f9fc; }
.payroll-card-head strong { display: block; color: #18233a; font-size: .95rem; }
.payroll-card-head small { display: block; margin-top: 3px; color: #718096; }
.payroll-summary-dock { flex: 0 0 auto; position: sticky; bottom: 0; z-index: 6; border-top: 1px solid #cbd5e1; background: #eef2f6; box-shadow: 0 -8px 18px rgba(15,23,42,.08); }
.payroll-summary-toggle { display: block; width: 100%; padding: 8px 14px; border: 0; color: #334155; background: #e8eef5; font-size: .78rem; font-weight: 800; text-align: left; cursor: pointer; }
.payroll-summary-toggle:hover { color: #1d4ed8; background: #dbeafe; }
.payroll-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(180px, 1fr)); gap: 8px; padding: 8px; background: #eef2f6; }
.payroll-summary-grid section { padding: 9px 10px; border: 1px solid #d5deea; border-radius: 7px; background: #fff; }
.payroll-summary-grid h3 { margin: 0 0 7px; color: #2563eb; font-size: .72rem; }
.payroll-summary-grid section:nth-child(2) h3 { color: #16a34a; }
.payroll-summary-grid section:nth-child(3) h3 { color: #d97706; }
.payroll-summary-grid section:nth-child(4) h3 { color: #1d4ed8; }
.payroll-summary-grid section:nth-child(5) h3 { color: #0284c7; }
.payroll-summary-grid label { display: flex; justify-content: space-between; gap: 8px; margin: 4px 0; color: #64748b; font-size: .7rem; }
.payroll-summary-grid label strong { color: #334155; font-variant-numeric: tabular-nums; }
@media (max-width: 1200px) { .payroll-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .payroll-filter-group:nth-child(2), .payroll-filter-group:nth-child(4) { border-right: 0; } .payroll-summary-grid { grid-template-columns: repeat(3, minmax(180px, 1fr)); } }
@media (max-width: 760px) { .payroll-header, .payroll-card-head { align-items: flex-start; flex-direction: column; } .payroll-tabs { overflow-x: auto; } .payroll-filter-grid { grid-template-columns: 1fr; } .payroll-filter-group { border-right: 0; } .payroll-summary-grid { grid-template-columns: 1fr; } }

.payroll-context-layer { position: fixed; inset: 0; z-index: 1100; pointer-events: auto; }
.payroll-context-menu { position: fixed; min-width: 250px; max-height: calc(100vh - 16px); overflow-y: auto; padding: 6px; border: 1px solid #c8d5e2; border-radius: 8px; background: #fff; box-shadow: 0 12px 32px #1f293744; pointer-events: auto; }
.payroll-context-title { padding: 8px 9px; border-bottom: 1px solid #e2e8f0; color: #334155; font-size: .75rem; font-weight: 800; }
.payroll-context-menu button { display: block; width: 100%; padding: 8px 9px; border: 0; border-radius: 5px; background: transparent; color: #1e293b; text-align: left; cursor: pointer; }
.payroll-context-menu button:hover { background: #eff6ff; color: #1d4ed8; }
.payroll-modal-layer { position: fixed; inset: 0; z-index: 1050; display: flex; align-items: center; justify-content: center; padding: 12px; background: #0f172a66; }
.payroll-detail-modal { position: relative; display: flex; width: min(1280px, calc(100vw - 24px)); height: min(92vh, 900px); min-width: min(760px, calc(100vw - 24px)); min-height: min(480px, calc(100vh - 24px)); max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); flex-direction: column; overflow: hidden; resize: both; border: 1px solid #c8d5e2; border-radius: 10px; background: #fff; box-shadow: 0 20px 60px #0f172a55; }
.payroll-detail-header { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #d7e0eb; background: #f1f5f9; }
.payroll-detail-header h2 { margin: 2px 0; color: #172033; font-size: 1.05rem; }
.payroll-detail-header p { margin: 0; color: #64748b; font-size: .75rem; }
.payroll-detail-header > div:first-child { min-width: 180px; }
.payroll-detail-badges { display: flex; flex: 1; flex-wrap: wrap; gap: 6px; }
.payroll-detail-badges span { padding: 5px 9px; border: 1px solid #cbd5e1; border-radius: 12px; background: #fff; color: #334155; font-size: .7rem; font-weight: 700; }
.payroll-detail-badges .payroll-detail-period-badge { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; padding: 3px 7px; border-color: #93c5fd; background: linear-gradient(135deg, #eff6ff, #dbeafe); color: #1e3a8a; }
.payroll-detail-period-badge strong { white-space: nowrap; }
.payroll-detail-period-badge select { min-width: 78px; padding: 3px 5px; border: 1px solid #bfdbfe; border-radius: 7px; background: #fff; color: #1e3a8a; font-size: .68rem; font-weight: 700; }
.payroll-detail-period-badge select:last-child { min-width: 58px; }
.payroll-detail-badges .payroll-detail-period-badge .payroll-detail-period-separator { padding: 0; border: 0; border-radius: 0; background: transparent; color: #64748b; }
.payroll-detail-badges .payroll-detail-lock { color: #fff; border-color: #991b1b; background: #b91c1c; }
.payroll-detail-badges .payroll-detail-lock.payroll-detail-lock-on { border-color: #166534; background: #15803d; }
.payroll-detail-badges .payroll-detail-lock.payroll-detail-lock-off { border-color: #991b1b; background: #b91c1c; }
.payroll-detail-content { display: flex; min-height: 0; flex: 1 1 auto; overflow: auto; flex-direction: column; padding: 7px 10px; }
.payroll-detail-lists { display: grid; flex: 0 0 auto; grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 126px; gap: 0; border: 1px solid #cbd5e1; overflow: hidden; }
.payroll-detail-list-group { min-width: 0; min-height: 124px; border-right: 1px solid #cbd5e1; }
.payroll-detail-list-group:last-child { border-right: 0; }
.payroll-detail-list-group h3 { margin: 0; padding: 6px 8px; border-bottom: 1px solid #cbd5e1; color: #047857; font-size: .7rem; }
.payroll-detail-list-group:nth-child(2) h3 { color: #b91c1c; }
.payroll-detail-list-group:nth-child(3) h3 { color: #0369a1; }
.payroll-detail-list-group:nth-child(4) h3 { color: #dc2626; }
.payroll-detail-line { display: flex; min-width: 0; min-height: 28px; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 8px; border-bottom: 1px solid #e2e8f0; color: #334155; font-size: .72rem; line-height: 1.25; }
.payroll-detail-line:last-child { border-bottom: 0; }
.payroll-detail-line span { min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; }
.payroll-detail-line strong { flex: 0 0 auto; margin-left: auto; color: #172033; font-size: .72rem; font-variant-numeric: tabular-nums; font-weight: 700; white-space: nowrap; text-align: right; }
.payroll-detail-table-wrap { min-width: 0; height: 100px; overflow: hidden; }
.payroll-detail-table { width: 100%; min-width: 0; border-collapse: collapse; table-layout: fixed; font-size: .61rem; }
.payroll-detail-table th, .payroll-detail-table td { height: 24px; padding: 3px 4px; border-right: 1px solid #d7e0eb; border-bottom: 1px solid #d7e0eb; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payroll-detail-table th { background: #eef2f7; color: #334155; font-weight: 700; text-align: left; }
.payroll-detail-table td { color: #334155; font-variant-numeric: tabular-nums; }
.payroll-detail-table th:last-child, .payroll-detail-table td:last-child { border-right: 0; }
.payroll-detail-table td:nth-child(n+2) { text-align: right; }
.payroll-detail-table .payroll-empty-cell { padding: 12px; color: #94a3b8; text-align: left; }
.payroll-overtime-table { min-width: 0; }
.payroll-empty-lines { min-height: 67px; padding: 10px; color: #94a3b8; font-size: .7rem; }
.payroll-day-strip { height: 58px; min-height: 58px; max-height: 58px; margin-top: 9px; overflow-x: auto; overflow-y: hidden; border: 1px solid #cbd5e1; }
.payroll-day-numbers, .payroll-day-codes { display: flex; flex: 0 0 auto; width: max-content; min-width: max-content; }
.payroll-day-numbers > span, .payroll-day-codes > span { box-sizing: border-box; display: inline-flex; flex: 0 0 29px; width: 29px; min-width: 29px; max-width: 29px; height: 25px; align-items: center; justify-content: center; border-right: 1px solid #cbd5e1; color: #475569; font-size: .68rem; }
.payroll-day-numbers span { background: #f1f5f9; }
.payroll-day-numbers span.payroll-day-rest-head { background: #fff2f0; color: #9f1239; font-weight: 800; }
.payroll-day-numbers span.payroll-day-official-head { background: #bdebd8; color: #166534; font-weight: 900; }
.payroll-day-codes span { background: #eff6ff; color: #1d4ed8; font-weight: 800; }
.payroll-editable-day-strip .payroll-day-edit-cell { position: relative; padding: 0; background: #eff6ff; }
.payroll-day-input { display: block; box-sizing: border-box; width: 100%; height: 25px; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: #1d4ed8; font: inherit; font-weight: 800; text-align: center; text-transform: uppercase; }
.payroll-day-input:focus { background: #dbeafe; box-shadow: inset 0 0 0 2px #2563eb; }
.payroll-day-code { box-sizing: border-box; display: inline-flex; flex: 0 0 100%; width: 100%; min-width: 0; max-width: 100%; height: 25px; align-items: center; justify-content: center; border-right: 0; }
.payroll-day-edit-cell.payroll-day-weekend { background: #fff7ed; }
.payroll-day-edit-cell.payroll-day-rest { background: #fff2f0; }
.payroll-day-edit-cell.payroll-day-official { background: #dff6ea; }
.payroll-day-edit-cell.payroll-day-holiday { background: #dbeafe; }
.payroll-day-edit-cell.payroll-day-locked { background: #e2e8f0; color: #94a3b8; }
.payroll-day-edit-cell.attendance-code-holiday { background: #fff200 !important; color: #854d0e; }
.payroll-day-edit-cell.attendance-code-unpaid { background: #ffd9e3 !important; color: #991b1b; }
.payroll-day-edit-cell.attendance-code-permission { background: #ccecff !important; color: #1e40af; }
.payroll-day-edit-cell.attendance-code-report { background: #87ceeb !important; color: #0c4a6e; }
.payroll-day-edit-cell.attendance-code-annual { background: #ffa07a !important; color: #7c2d12; }
.payroll-day-edit-cell.attendance-code-public-holiday { background: #4169e1 !important; color: #fff; }
.payroll-day-edit-cell.attendance-code-absence { background: #f08080 !important; color: #7f1d1d; }
.payroll-day-edit-cell.attendance-code-overtime { background: #f6a142 !important; color: #7c2d12; }
.payroll-day-edit-cell.attendance-code-short-work { background: #6495ed !important; color: #fff; }
.payroll-day-edit-cell.attendance-code-free-time { background: #deb887 !important; color: #5b3716; }
.payroll-day-edit-cell.attendance-code-annual .payroll-day-code { background: #ffa07a !important; color: #7c2d12 !important; }
.payroll-day-edit-cell.attendance-code-unpaid .payroll-day-code { background: #ffd9e3 !important; color: #991b1b !important; }
.payroll-day-edit-cell.attendance-code-holiday .payroll-day-input,
.payroll-day-edit-cell.attendance-code-unpaid .payroll-day-input,
.payroll-day-edit-cell.attendance-code-permission .payroll-day-input,
.payroll-day-edit-cell.attendance-code-report .payroll-day-input,
.payroll-day-edit-cell.attendance-code-annual .payroll-day-input,
.payroll-day-edit-cell.attendance-code-public-holiday .payroll-day-input,
.payroll-day-edit-cell.attendance-code-absence .payroll-day-input,
.payroll-day-edit-cell.attendance-code-overtime .payroll-day-input,
.payroll-day-edit-cell.attendance-code-short-work .payroll-day-input,
.payroll-day-edit-cell.attendance-code-free-time .payroll-day-input { color: inherit; }
.payroll-day-edit-cell.payroll-day-locked { background: #e2e8f0 !important; color: #94a3b8; }
.payroll-day-context-layer { position: fixed; inset: 0; z-index: 1250; pointer-events: auto; }
.payroll-day-context-menu { position: fixed; min-width: 240px; max-height: calc(100vh - 16px); overflow-y: auto; padding: 6px; border: 1px solid #c8d5e2; border-radius: 8px; background: #fff; box-shadow: 0 12px 32px #1f293744; pointer-events: auto; }
.payroll-day-context-menu button { display: block; width: 100%; padding: 8px 9px; border: 0; border-radius: 5px; background: transparent; color: #1e293b; text-align: left; cursor: pointer; }
.payroll-day-context-menu button:hover { background: #eff6ff; color: #1d4ed8; }
.payroll-list-context-layer { position: fixed; inset: 0; z-index: 1260; pointer-events: auto; }
.payroll-list-context-menu { position: fixed; min-width: 190px; max-height: calc(100vh - 16px); overflow-y: auto; padding: 6px; border: 1px solid #c8d5e2; border-radius: 8px; background: #fff; box-shadow: 0 12px 32px #1f293744; pointer-events: auto; }
.payroll-list-context-menu button { display: block; width: 100%; padding: 8px 9px; border: 0; border-radius: 5px; background: transparent; color: #1e293b; text-align: left; cursor: pointer; }
.payroll-list-context-menu button:hover { background: #eff6ff; color: #1d4ed8; }
.payroll-detail-columns { display: grid; grid-template-columns: 1fr 1.35fr 1.8fr; gap: 8px; margin-top: 9px; overflow: visible; }
.payroll-detail-columns fieldset { min-width: 0; margin: 0; padding: 8px; border: 1px solid #cbd5e1; border-radius: 6px; }
.payroll-detail-columns legend { padding: 0 4px; color: #2563eb; font-size: .75rem; font-weight: 800; }
.payroll-detail-columns label { display: grid; grid-template-columns: minmax(0, 1fr) minmax(96px, 48%); align-items: stretch; gap: 8px; min-height: 24px; color: #64748b; font-size: .7rem; }
.payroll-detail-columns label strong { width: 100%; min-width: 0; box-sizing: border-box; overflow: hidden; padding: 4px 6px; background: #e8edf2; color: #334155; font-weight: 500; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.payroll-detail-columns .payroll-highlight strong { background: #c9f4f4; font-weight: 800; }
.payroll-hour-grid { display: grid; grid-template-columns: 1.3fr .75fr .75fr; gap: 2px; margin-top: 5px; color: #64748b; font-size: .68rem; }
.payroll-hour-grid > * { padding: 3px; background: #f1f5f9; }
.payroll-hour-grid strong { color: #334155; font-weight: 500; text-align: right; }
.payroll-net-total { position: static; z-index: 8; display: flex; flex: 0 0 auto; width: 100%; box-sizing: border-box; justify-content: space-between; margin: 8px 0 0; padding: 9px; border: 1px solid #a3c400; border-radius: 8px; background: #d9f500; box-shadow: 0 -4px 10px #0f172a1c; color: #172033; font-weight: 900; }
.payroll-bordro-fieldset { display: flex; min-width: 0; flex-direction: column; }
.payroll-bordro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 4px; }
.payroll-bordro-column { min-width: 0; }
.payroll-bordro-column label { min-height: 25px; }
.payroll-bordro-column label strong { background: #e2e8f0; font-variant-numeric: tabular-nums; }
.payroll-detail-columns fieldset > label:nth-of-type(odd), .payroll-bordro-column label:nth-of-type(odd) { background: #f8fafc; }
.payroll-detail-columns fieldset > label:nth-of-type(even), .payroll-bordro-column label:nth-of-type(even) { background: #f1f5f9; }
.payroll-detail-columns fieldset > label:nth-of-type(odd) strong, .payroll-bordro-column label:nth-of-type(odd) strong { background: #e8edf2; }
.payroll-detail-columns fieldset > label:nth-of-type(even) strong, .payroll-bordro-column label:nth-of-type(even) strong { background: #e2e8f0; }
.payroll-detail-columns .payroll-highlight strong { background: #c9f4f4; }
.payroll-bordro-column .payroll-value-green strong { background: #b7f7bd; }
.payroll-bordro-column .payroll-value-red strong { background: #ff8c8c; }
.payroll-bordro-column .payroll-value-bold strong { font-weight: 800; }
.payroll-bordro-column .payroll-value-employer strong { background: #f7e8b4; }
.payroll-detail-tabs { display: flex; flex: 0 0 auto; gap: 2px; margin-top: 9px; border-bottom: 1px solid #cbd5e1; background: #fff; }
.payroll-detail-tabs button { padding: 7px 11px; border: 0; border-bottom: 2px solid transparent; background: #fff; color: #334155; font-size: .72rem; cursor: pointer; }
.payroll-detail-tabs button.active { border-bottom-color: #2563eb; font-weight: 800; }
.payroll-tab-panel { flex: 0 0 auto; min-height: 100px; margin-top: 0; padding: 8px; border: 1px solid #cbd5e1; border-top: 0; background: #f8fafc; color: #334155; font-size: .72rem; }
.payroll-options-panel { display: block; min-height: 0; padding: 10px; background: #f8fafc; }
.payroll-options-main-grid, .payroll-options-bottom-grid { display: grid; gap: 18px; align-items: start; }
.payroll-options-main-grid { grid-template-columns: minmax(210px, 1.15fr) minmax(210px, 1.15fr) minmax(190px, .9fr); }
.payroll-options-bottom-grid { grid-template-columns: minmax(280px, .9fr) minmax(430px, 1.6fr); margin-top: 10px; }
.payroll-option-group { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.payroll-option-group legend { padding: 0 0 4px; border-bottom: 1px solid #cbd5e1; color: #1e3a8a; font-size: .73rem; font-weight: 800; }
.payroll-option-group label, .payroll-arge-panel label, .payroll-payment-panel label, .payroll-info-panel label { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 25px; }
.payroll-option-group label + label { margin-top: 2px; }
.payroll-option-group input[type="radio"] { flex: 0 0 auto; margin: 0 5px 0 0; accent-color: #2563eb; }
.payroll-option-group label:has(input[type="radio"]) { justify-content: flex-start; }
.payroll-option-badge { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.payroll-option-badge-title { display: block; min-height: 0; margin-bottom: 4px; padding: 0 0 4px; border-bottom: 1px solid #cbd5e1; border-radius: 0; background: transparent; color: #1e3a8a; font-size: .73rem; }
.payroll-option-badge label { display: flex; align-items: center; justify-content: flex-start; gap: 7px; min-height: 24px; color: #334155; }
.payroll-option-badge label + label { margin-top: 2px; }
.payroll-option-badge input[type="radio"] { flex: 0 0 auto; margin: 0; accent-color: #2563eb; }
.payroll-option-badge select { width: min(100%, 150px); }
.payroll-options-panel select, .payroll-arge-panel select, .payroll-payment-panel select { min-height: 27px; border: 1px solid #cbd5e1; border-radius: 4px; background: #fff; }
.payroll-options-panel select { width: min(100%, 210px); padding: 3px 7px; }
.payroll-switch-group label { justify-content: flex-start; gap: 8px; }
.payroll-switch-group input[type="checkbox"] { flex: 0 0 auto; margin: 0; accent-color: #2563eb; }
.payroll-toggle-line { white-space: normal; }
.payroll-accrual-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px 18px; }
.payroll-accrual-panel label { display: flex; justify-content: space-between; padding: 3px; }
.payroll-accrual-panel strong { min-width: 90px; background: #e2e8f0; text-align: right; }
.payroll-note-panel { min-height: 115px; color: #dc2626; font-weight: 700; }
.payroll-arge-panel { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 8px; }
.payroll-table-panel { display: flex; min-height: 120px; flex-direction: column; justify-content: space-between; padding: 0; }
.payroll-table-panel table { width: 100%; border-collapse: collapse; }
.payroll-table-panel th, .payroll-table-panel td { padding: 5px 7px; border-right: 1px solid #cbd5e1; border-bottom: 1px solid #cbd5e1; text-align: left; }
.payroll-table-panel th { background: #e2e8f0; }
.payroll-table-panel > strong { padding: 6px; text-align: right; }
.payroll-payment-panel { display: grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 8px; }
.payroll-payment-panel > div { grid-column: span 2; padding: 10px; border: 1px solid #d7e0eb; border-radius: 6px; background: #fff; }
.payroll-mobile-pill { display: inline-block; width: 90px; height: 20px; border-radius: 12px; background: #94a3b8; vertical-align: middle; }
.payroll-info-panel { display: grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 5px 20px; }
.payroll-info-panel strong { min-width: 150px; padding: 4px 7px; background: #e2e8f0; text-align: left; }
.payroll-detail-footer { display: flex; align-items: center; gap: 7px; padding: 9px 12px; border-top: 1px solid #d7e0eb; background: #f1f5f9; }
.payroll-detail-footer > .button { min-height: 38px; padding: 0 13px; border: 1px solid transparent; border-radius: 8px; box-shadow: 0 2px 5px #0f172a1a; font-size: .72rem; font-weight: 800; }
.payroll-detail-footer > .button-info { border-color: #0284c7; color: #fff; background: #0ea5e9; }
.payroll-detail-footer > .button-info:hover { background: #0284c7; }
.payroll-detail-footer > .button-danger { border-color: #dc2626; color: #fff; background: #ef4444; }
.payroll-detail-footer > .button-danger:hover { background: #dc2626; }
.payroll-detail-footer > .button-success { border-color: #15803d; color: #fff; background: #22c55e; }
.payroll-detail-footer > .button-success:hover { background: #15803d; }
.payroll-detail-footer > .button-secondary { border-color: #94a3b8; color: #334155; background: #e2e8f0; }
.payroll-detail-footer > .button-secondary:disabled { color: #64748b; background: #e2e8f0; }
.payroll-detail-footer > .button-close { border-color: #64748b; color: #fff; background: #64748b; }
.payroll-detail-footer > .button-close:hover { background: #475569; }
.payroll-detail-lock-toggle { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: #475569; font-size: .72rem; font-weight: 700; }
.payroll-detail-lock-toggle input { width: 34px; height: 18px; margin: 0; accent-color: #15803d; cursor: pointer; }
.payroll-detail-lock-toggle strong { min-width: 42px; color: #15803d; }
.payroll-detail-lock-toggle input:not(:checked) + strong { color: #64748b; }
.payroll-external-button { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; margin-left: auto; padding: 0; border: 1px solid #93c5fd; border-radius: 6px; background: #eff6ff; color: #1d4ed8; font-size: .95rem; font-weight: 800; cursor: pointer; }
.payroll-external-button:hover { background: #dbeafe; }
.payroll-external-modal-layer { align-items: stretch; justify-content: stretch; padding: 0; background: #fff; }
.payroll-external-modal-layer .payroll-external-button { display: none; }
.payroll-external-modal-layer .payroll-detail-modal { width: 100vw; height: 100vh; min-width: 0; min-height: 0; max-width: none; max-height: none; border: 0; border-radius: 0; resize: none; }
.payroll-external-document, .payroll-external-document body { overflow: hidden; }
@media (max-width: 760px) { .payroll-detail-modal { width: calc(100vw - 12px); min-width: 0; height: calc(100vh - 12px); min-height: 0; max-width: calc(100vw - 12px); max-height: calc(100vh - 12px); } }
@media (max-width: 900px) { .payroll-detail-lists, .payroll-detail-columns { grid-template-columns: 1fr 1fr; } .payroll-detail-list-group:nth-child(2) { border-right: 0; } .payroll-detail-list-group:nth-child(-n+2) { border-bottom: 1px solid #cbd5e1; } }
@media (max-width: 640px) { .payroll-detail-lists, .payroll-detail-columns { grid-template-columns: 1fr; } .payroll-detail-list-group { border-right: 0; border-bottom: 1px solid #cbd5e1; } .payroll-detail-footer { flex-wrap: wrap; } .payroll-detail-lock-toggle { width: 100%; margin-left: 0; } }
@media (max-width: 900px) { .payroll-options-main-grid, .payroll-options-bottom-grid { grid-template-columns: 1fr 1fr; } .payroll-period-group, .payroll-switch-group { grid-column: span 2; } }
@media (max-width: 760px) { .payroll-options-main-grid, .payroll-options-bottom-grid, .payroll-accrual-panel, .payroll-arge-panel, .payroll-payment-panel, .payroll-info-panel { grid-template-columns: 1fr; } .payroll-period-group, .payroll-switch-group { grid-column: auto; } .payroll-payment-panel > div { grid-column: auto; } }
.attendance-context-layer { position: fixed; inset: 0; z-index: 1000; pointer-events: none; }
.attendance-context-menu { position: fixed; min-width: 260px; max-width: 330px; max-height: calc(100vh - 16px); overflow-y: auto; padding: 6px; border: 1px solid #c8d5e2; border-radius: 8px; background: #fff; box-shadow: 0 12px 32px #1f293744; }
.attendance-context-menu { pointer-events: auto; }
.attendance-context-title { padding: 7px 10px 8px; border-bottom: 1px solid #e2e8f0; color: #334155; font-size: .76rem; font-weight: 800; }
.attendance-context-menu button { display: block; width: 100%; padding: 7px 10px; border: 0; border-radius: 5px; background: transparent; color: #263548; cursor: pointer; font: inherit; font-size: .76rem; text-align: left; }
.attendance-context-menu button:hover { background: #e8f1ff; color: #1d4ed8; }
.attendance-context-menu .attendance-context-action { display: block; width: 100%; box-sizing: border-box; padding: 7px 10px; border-radius: 5px; background: transparent; color: #263548; cursor: pointer; font: inherit; font-size: .76rem; text-align: left; text-decoration: none; }
.attendance-context-menu .attendance-context-action:hover { background: #e8f1ff; color: #1d4ed8; }
.external-popup-root { min-height: 100vh; background: #f8fafc; }
.payroll-external-loading, .personnel-external-loading { display: grid; min-height: 100vh; place-content: center; gap: 6px; color: #2563eb; text-align: center; }
.payroll-external-loading strong, .personnel-external-loading strong { color: #334155; font-size: .95rem; }
.attendance-context-separator { height: 1px; margin: 5px 0; background: #e2e8f0; }
.attendance-modal-layer { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 18px; background: #0f172a66; }
.attendance-mesai-modal { width: min(620px, 100%); max-height: min(760px, 94vh); overflow: auto; border: 1px solid #c8d5e2; border-radius: 14px; background: #f7f9fc; box-shadow: 0 24px 65px #0f172a55; }
.attendance-izin-modal { width: min(980px, 100%); height: min(900px, calc(100vh - 24px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #c8d5e2; border-radius: 14px; background: #f7f9fc; box-shadow: 0 24px 65px #0f172a55; }
.attendance-mesai-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 20px; background: #e8eef5; border-bottom: 1px solid #cbd7e2; }
.attendance-mesai-header h2 { margin: 3px 0 0; color: #24364a; font-size: 1.05rem; }
.attendance-mesai-header p { margin: 4px 0 0; color: #718096; font-size: .78rem; }
.attendance-mesai-body { padding: 14px 18px; }
.attendance-mesai-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 12px; color: #64748b; font-size: .78rem; }
.attendance-mesai-meta strong { color: #16814c; }
.attendance-mesai-section { margin-bottom: 12px; padding: 12px; border: 1px solid #cbd8e5; border-radius: 10px; background: #fff; }
.attendance-mesai-section h3 { margin: 0 0 10px; padding: 7px 10px; border-radius: 7px; color: #1d4ed8; background: #eff6ff; font-size: .82rem; }
.attendance-mesai-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 14px; }
.attendance-mesai-section label, .attendance-mesai-description { display: grid; grid-template-columns: minmax(145px, 1fr) 110px; align-items: center; gap: 8px; color: #53677a; font-size: .76rem; font-weight: 700; }
.attendance-mesai-section input[type=number] { width: 100%; min-height: 31px; box-sizing: border-box; padding: 5px 7px; border: 1px solid #c6d3df; border-radius: 5px; color: #263548; background: #fff; text-align: right; }
.attendance-mesai-missing { display: grid; gap: 9px; }
.attendance-mesai-missing h3 { margin-bottom: 1px; }
.attendance-mesai-missing .attendance-check { display: flex; grid-template-columns: none; gap: 7px; }
.attendance-mesai-missing .attendance-check input { width: 15px; height: 15px; }
.attendance-mesai-description { grid-template-columns: 145px minmax(0, 1fr); margin-top: 4px; }
.attendance-mesai-description textarea { width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid #c6d3df; border-radius: 6px; resize: vertical; color: #263548; background: #fff; font: inherit; }
.attendance-mesai-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 12px 18px; border-top: 1px solid #d2dce7; background: #fff; }
.attendance-izin-error { margin: 12px 18px 0; }
.attendance-izin-tabs { display: flex; gap: 2px; padding: 7px 18px 0; border-bottom: 1px solid #cbd7e2; background: #f7f9fc; }
.attendance-izin-tab { appearance: none; border: 0; border-bottom: 3px solid transparent; padding: 9px 14px; color: #596b7e; background: transparent; font: 700 .78rem/1 inherit; cursor: default; }
.attendance-izin-tab.is-active { color: #1d4ed8; border-bottom-color: #2563eb; background: #fff; }
.attendance-izin-body { min-height: 0; flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 12px; overflow: auto; padding: 14px 18px; }
.attendance-izin-panel { padding: 12px; border: 1px solid #cbd8e5; border-radius: 10px; background: #fff; }
.attendance-izin-panel h3 { margin: 0 0 10px; padding: 7px 10px; border-radius: 7px; color: #1d4ed8; background: #eff6ff; font-size: .82rem; }
.attendance-izin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 12px; }
.attendance-izin-grid label { display: grid; gap: 4px; color: #53677a; font-size: .76rem; font-weight: 700; }
.attendance-izin-grid input, .attendance-izin-grid select, .attendance-izin-grid textarea { width: 100%; box-sizing: border-box; min-height: 31px; padding: 5px 7px; border: 1px solid #c6d3df; border-radius: 5px; color: #263548; background: #fff; font: inherit; font-weight: 500; }
.attendance-izin-grid textarea { resize: vertical; }
.attendance-izin-wide { grid-column: 1 / -1; }
.attendance-izin-side { display: grid; align-content: start; gap: 12px; }
.attendance-izin-side .attendance-izin-panel { display: grid; gap: 7px; }
.attendance-izin-side label { color: #53677a; font-size: .76rem; }
.attendance-izin-side input { margin-right: 5px; }
.attendance-izin-side small { margin-top: 4px; color: #718096; font-size: .73rem; line-height: 1.35; }
.attendance-izin-weekdays label { display: flex; align-items: center; gap: 5px; }
.attendance-izin-weekdays input { margin: 0; accent-color: #2563eb; }
.attendance-izin-report-panel label, .attendance-izin-record-panel label { display: grid; grid-template-columns: 1fr 132px; align-items: center; gap: 7px; color: #53677a; font-size: .74rem; }
.attendance-izin-report-panel input, .attendance-izin-report-panel select, .attendance-izin-record-panel input { width: 100%; box-sizing: border-box; min-height: 29px; padding: 4px 6px; border: 1px solid #c6d3df; border-radius: 5px; color: #263548; background: #fff; font: inherit; }
.attendance-izin-check { display: flex !important; grid-template-columns: none !important; gap: 6px !important; margin-top: 2px; }
.attendance-izin-check input { width: 15px !important; min-height: 15px !important; margin: 0; accent-color: #2563eb; }
@media (max-width: 720px) { .attendance-izin-modal { height: calc(100vh - 10px); max-height: calc(100vh - 10px); } .attendance-izin-body { grid-template-columns: 1fr; } .attendance-izin-grid { grid-template-columns: 1fr; } .attendance-izin-wide { grid-column: auto; } }
@media (max-width: 620px) { .attendance-mesai-grid { grid-template-columns: 1fr; } .attendance-mesai-section label, .attendance-mesai-description { grid-template-columns: 1fr; gap: 4px; } }
@media (max-width: 1000px) { .attendance-filter-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); } .attendance-load { grid-column: span 2; } .attendance-card-head { align-items: flex-start; flex-direction: column; } }
.reset-data-modal { width: min(100%, 820px); }
.reset-option-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 16px 0 12px; }
.reset-option { display: flex; align-items: flex-start; gap: 10px; min-height: 66px; padding: 12px; border: 1px solid #e2ebe6; border-radius: 10px; background: #fbfdfc; cursor: pointer; }
.reset-option:hover { border-color: #9bcbb6; background: #f5fbf7; }
.reset-option input { margin-top: 3px; accent-color: #2e8b6c; }
.reset-option span { display: grid; gap: 4px; }
.reset-option strong { color: #24453a; font-size: 11px; }
.reset-option small { color: #71827c; font-size: 10px; line-height: 1.45; }
.reset-option-all { grid-column: 1 / -1; border-color: #e6b1b1; background: #fff7f7; }
.reset-option-all strong { color: #a22e39; }
.reset-dependency-note { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; background: #fff9ed; color: #896a31; }
@media (max-width: 650px) { .reset-option-list { grid-template-columns: 1fr; } .reset-option-all { grid-column: auto; } }

.payroll-save-button { min-width: 170px; min-height: 44px; padding: 0 18px; border: 1px solid #15803d; border-radius: 9px; color: #fff; background: linear-gradient(135deg,#22c55e,#15803d); box-shadow: 0 5px 12px #15803d3d; font-size: .78rem; font-weight: 800; }
.payroll-save-button:hover { background: linear-gradient(135deg,#16a34a,#166534); box-shadow: 0 7px 16px #15803d55; }
@media (max-width: 640px) { .payroll-save-button { order: -1; width: 100%; } }

/* Ortak ücret pusulası yazdırma şablonu */
.payroll-payslip-backdrop { position: fixed; inset: 0; z-index: 1600; display: flex; align-items: center; justify-content: center; padding: 18px; overflow: auto; background: rgba(15,23,42,.62); }
.payroll-payslip-preview { width: min(980px, calc(100vw - 30px)); max-height: calc(100vh - 32px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #b9c8d7; border-radius: 12px; background: #eef2f7; box-shadow: 0 24px 70px rgba(15,23,42,.35); }
.payroll-payslip-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 0 0 auto; padding: 10px 14px; border-bottom: 1px solid #cbd5e1; background: #f8fafc; }
.payroll-payslip-actions strong { display: block; color: #172033; font-size: .88rem; }
.payroll-payslip-action-buttons { display: flex; gap: 7px; }
.payroll-payslip-action-buttons .button { min-height: 32px; padding: 6px 11px; }
.payroll-payslip-paper { width: 210mm; max-width: 100%; margin: 14px auto; padding: 10px; overflow: auto; box-sizing: border-box; background: #fff; color: #1f334b; font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 1.2; box-shadow: 0 5px 20px rgba(15,23,42,.14); }
.payroll-payslip-heading { display: grid; grid-template-columns: 1fr 200px; min-height: 54px; align-items: center; border: 1px solid #74849a; }
.payroll-payslip-heading > div:first-child { text-align: center; }
.payroll-payslip-heading h1 { margin: 0; color: #111827; font-size: 16px; letter-spacing: .2px; }
.payroll-payslip-heading p { margin: 2px 0 0; color: #243b5a; font-size: 9px; }
.payroll-payslip-logo { height: 46px; margin: 4px; border-left: 1px solid #74849a; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.payroll-payslip-logo img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.payroll-payslip-section-title { margin-top: 0; padding: 4px 7px; border: 1px solid #c4d0dc; border-bottom: 0; background: #dfe7f0; color: #243b5a; font-size: 10px; font-weight: 800; letter-spacing: .05px; }
.payroll-payslip-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.payroll-payslip-table th, .payroll-payslip-table td { padding: 3px 6px; border: 1px solid #cbd6e2; vertical-align: middle; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payroll-payslip-table th { color: #1d3a5b; background: #f0f4f8; font-weight: 700; text-align: left; }
.payroll-payslip-table td { color: #19324f; text-align: right; font-variant-numeric: tabular-nums; }
.payroll-payslip-info-table th { width: 19%; }
.payroll-payslip-info-table td { width: 31%; text-align: left; }
.payroll-payslip-work-table th:nth-child(1), .payroll-payslip-work-table td:nth-child(1) { width: 24%; text-align: left; }
.payroll-payslip-work-table th:nth-child(2), .payroll-payslip-work-table td:nth-child(2) { width: 11%; }
.payroll-payslip-work-table th:nth-child(3), .payroll-payslip-work-table td:nth-child(3) { width: 20%; }
.payroll-payslip-work-table th:nth-child(4), .payroll-payslip-work-table td:nth-child(4) { width: 30%; text-align: left; }
.payroll-payslip-work-table th:nth-child(5), .payroll-payslip-work-table td:nth-child(5) { width: 15%; }
.payroll-payslip-bottom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.payroll-payslip-bottom-grid .payroll-payslip-section-title { margin-top: 0; }
.payroll-payslip-bottom-grid section:first-child { padding-right: 4px; }
.payroll-payslip-bottom-grid section:last-child { padding-left: 4px; }
.payroll-payslip-bottom-grid .payroll-payslip-table th:first-child, .payroll-payslip-bottom-grid .payroll-payslip-table td:first-child { text-align: left; }
.payroll-payslip-net-total { margin-top: 5px; padding: 5px 8px; border: 1px solid #2b8d73; background: #e6fff5; color: #0c513f; text-align: right; font-weight: 800; }
.payroll-payslip-net-total strong { font-size: 11px; }
.payroll-payslip-legal { margin: 6px 0 0; padding: 4px 7px; border: 1px solid #cbd6e2; color: #263b55; font-size: 8.5px; text-align: center; }
.payroll-payslip-signature { min-height: 38px; padding: 5px; border: 1px solid #cbd6e2; border-top: 0; color: #243b5a; text-align: center; }
.payroll-payslip-signature div { height: 18px; border-bottom: 1px solid #6b7b8f; }
@media (max-width: 900px) { .payroll-payslip-backdrop { align-items: flex-start; padding: 8px; } .payroll-payslip-preview { width: calc(100vw - 16px); } .payroll-payslip-paper { margin: 8px auto; } }
@media (max-width: 620px) { .payroll-payslip-actions { align-items: flex-start; flex-direction: column; } .payroll-payslip-action-buttons { width: 100%; } .payroll-payslip-action-buttons .button { flex: 1; } .payroll-payslip-bottom-grid { grid-template-columns: 1fr; } .payroll-payslip-bottom-grid section:first-child, .payroll-payslip-bottom-grid section:last-child { padding: 0; } }
/* İş görmezlik ve iş kazası çalışma ekranı */
.work-accident-page { --wa-blue:#147bb1; --wa-border:#c6d2de; --wa-soft:#e9eff4; max-width: none; }
.work-accident-header { align-items:flex-start; }
.work-accident-firm { min-width:250px; display:grid; gap:6px; color:#4d6275; font-size:.78rem; font-weight:700; }
.work-accident-firm select { min-height:36px; }
.work-accident-tabs { display:flex; flex-wrap:wrap; gap:3px; border-bottom:1px solid var(--wa-border); margin:0 0 10px; }
.work-accident-tabs button { border:1px solid var(--wa-border); border-bottom:0; background:#eef3f7; color:#31516b; border-radius:7px 7px 0 0; padding:10px 14px; cursor:pointer; font-size:.82rem; font-weight:700; }
.work-accident-tabs button.active { background:#fff; color:#116dca; box-shadow:0 -3px 0 #2166ee inset; }
.work-accident-tabs b { background:#d9e4ee; color:#476176; border-radius:10px; padding:1px 6px; margin-left:4px; }
.work-accident-filter-card { padding:12px 14px; }
.work-accident-filter-grid { display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.work-accident-filter-grid label { display:grid; gap:5px; min-width:145px; color:#4d6275; font-size:.76rem; font-weight:700; }
.work-accident-filter-grid select { min-height:34px; }
.work-accident-refresh { margin-left:auto; }
.work-accident-table-card { padding:0; overflow:hidden; }
.work-accident-card-title { display:flex; justify-content:space-between; align-items:center; padding:15px 17px 12px; background:#e8eef3; border-bottom:1px solid var(--wa-border); }
.work-accident-card-title h2 { margin:0; color:#264c67; font-size:1rem; }
.work-accident-card-title p { margin:3px 0 0; color:#607284; font-size:.78rem; }
.work-accident-card-title > span { color:#116dca; font-size:.78rem; font-weight:700; }
.work-accident-action-row { display:flex; flex-wrap:wrap; gap:8px; padding:10px 14px; background:#f6f9fb; border-bottom:1px solid #d7e0e8; }
.table-scroll { overflow:auto; }
.work-accident-table { width:100%; border-collapse:collapse; min-width:950px; font-size:.79rem; }
.work-accident-table th { background:#e9eff4; color:#324f68; font-weight:700; white-space:nowrap; }
.work-accident-table th,.work-accident-table td { border:1px solid #d1dbe4; padding:8px 9px; text-align:left; vertical-align:middle; }
.work-accident-table tbody tr:nth-child(even) { background:#f8fafc; }
.work-accident-table tbody tr:hover { background:#edf6ff; }
.work-accident-empty { text-align:center !important; color:#728394; padding:35px !important; }
.work-accident-badge { display:inline-flex; border-radius:12px; padding:3px 9px; font-size:.72rem; font-weight:700; white-space:nowrap; }
.badge-warning { color:#8a5b00; background:#ffeac5; }.badge-success { color:#14733b; background:#d5f3df; }.badge-danger { color:#a21d2a; background:#ffd9dc; }.badge-info { color:#135c88; background:#dcefff; }
.work-accident-status-icon { color:#168141; font-weight:800; }
.table-action-button { border:0; background:#d9efff; color:#1264a4; border-radius:5px; cursor:pointer; padding:5px 8px; }.table-action-button.danger { background:#ffe0e2; color:#c21e2a; }
.work-accident-context-layer { position:fixed; inset:0; z-index:1300; pointer-events:auto; }
.work-accident-context-menu { position:fixed; min-width:265px; max-width:calc(100vw - 16px); padding:7px; border:1px solid #c8d5e2; border-radius:8px; background:#fff; box-shadow:0 12px 32px #1f293744; }
.work-accident-context-menu strong { display:block; padding:7px 9px 9px; border-bottom:1px solid #e2e8f0; color:#294b63; font-size:.78rem; }
.work-accident-context-menu button { display:block; width:100%; padding:8px 9px; border:0; border-radius:5px; background:transparent; color:#263548; cursor:pointer; font:inherit; font-size:.76rem; text-align:left; }
.work-accident-context-menu button:hover { background:#e8f1ff; color:#1d4ed8; }
.work-accident-modal-layer { position:fixed; inset:0; z-index:1200; background:rgba(10,31,49,.55); display:flex; align-items:center; justify-content:center; padding:18px; overflow:auto; }
.work-accident-modal { width:min(1220px,100%); height:calc(100vh - 36px); max-height:calc(100vh - 36px); overflow:hidden; display:flex; flex-direction:column; background:#edf1f4; border:1px solid #bbc9d4; border-radius:10px; box-shadow:0 18px 50px rgba(0,0,0,.28); }
.work-accident-modal-header { display:flex; flex:0 0 auto; position:sticky; top:0; z-index:5; justify-content:space-between; align-items:center; padding:13px 20px; color:#fff; background:#1782b7; box-shadow:0 2px 7px rgba(17,60,86,.22); }.work-accident-modal-header h2 { margin:3px 0 0; font-size:1.05rem; }.work-accident-modal-header .eyebrow { color:#d8f2ff; }
.work-accident-form-grid { display:grid; flex:1 1 auto; grid-template-columns:minmax(0,.95fr) minmax(0,2fr); gap:16px; min-height:0; overflow:auto; padding:14px; }
.work-accident-form-column { display:grid; align-content:start; gap:12px; }.work-accident-form-card,.work-accident-sgk-card { background:#f9fbfc; border:1px solid #c6d2dc; border-radius:9px; padding:11px 13px; }.work-accident-form-card h3 { margin:0 0 10px; color:#2e506a; font-size:.86rem; text-transform:uppercase; }.work-accident-form-card label,.work-accident-sgk-card label { display:grid; gap:4px; margin-bottom:8px; color:#5b7082; font-size:.75rem; font-weight:700; }.work-accident-form-card input,.work-accident-form-card select,.work-accident-form-card textarea,.work-accident-sgk-card input { box-sizing:border-box; width:100%; border:1px solid #bfccd7; border-radius:5px; background:#fff; padding:7px 8px; font:inherit; color:#233d51; }.work-accident-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 10px; }.work-accident-counter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 10px; }.work-accident-counter-grid label { margin-bottom:6px; }
.work-accident-personnel-lookup { position:relative; z-index:15; margin:-4px 0 8px; }
.work-accident-personnel-input-wrap { position:relative; }
.work-accident-personnel-input { padding-right:34px !important; }
.work-accident-personnel-clear { position:absolute; top:50%; right:5px; width:25px; height:25px; transform:translateY(-50%); border:0; border-radius:5px; color:#667d8e; background:#edf3f7; font-size:17px; line-height:1; cursor:pointer; }.work-accident-personnel-clear.is-hidden { display:none; }
.work-accident-personnel-clear[hidden] { display:none; }
.work-accident-personnel-results { position:absolute; z-index:120; top:calc(100% + 3px); left:0; right:0; max-height:250px; overflow:auto; border:1px solid #b9cbd7; border-radius:7px; background:#fff; box-shadow:0 12px 26px rgba(25,61,82,.25); }
.work-accident-personnel-results button { display:flex; align-items:center; gap:9px; width:100%; min-height:40px; padding:8px 10px; border:0; border-bottom:1px solid #e8eef2; color:#2d4c60; background:#fff; text-align:left; cursor:pointer; }
.work-accident-personnel-results button:hover,.work-accident-personnel-results button.selected { background:#eaf5fb; }
.work-accident-personnel-results button strong { min-width:0; overflow:hidden; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.work-accident-personnel-results button span { margin-left:auto; color:#567286; font-size:.72rem; white-space:nowrap; }
.work-accident-personnel-results button small { color:#8a9aa5; font-size:.68rem; white-space:nowrap; }
.work-accident-personnel-empty { padding:12px; color:#728694; font-size:.75rem; }
.work-accident-witness-add { display:flex; gap:7px; }.work-accident-witness-add input { flex:1; }.work-accident-witness-list { list-style:none; padding:0; margin:8px 0 0; display:grid; gap:4px; }.work-accident-witness-list li { display:flex; justify-content:space-between; background:#eef4f8; border:1px solid #d4e0e8; border-radius:4px; padding:6px 8px; color:#334e63; font-size:.78rem; }.work-accident-witness-list button { border:0; background:transparent; color:#c21e2a; cursor:pointer; font-weight:800; }
.work-accident-sgk-card { background:#eaf5fb; }.work-accident-switch { display:flex !important; grid-template-columns:none !important; align-items:center; gap:8px !important; color:#1e6688 !important; }.work-accident-switch input { width:auto; }
.work-accident-modal-footer { display:flex; flex:0 0 auto; position:sticky; bottom:0; z-index:5; flex-wrap:wrap; justify-content:flex-end; gap:8px; padding:12px 14px; border-top:1px solid #c7d2dc; background:#f7f9fa; box-shadow:0 -2px 7px rgba(46,76,96,.12); }.work-accident-modal-footer .platform-primary-button { min-width:112px; }
.work-accident-print-layer { position:fixed; inset:0; z-index:1400; display:flex; align-items:stretch; justify-content:center; padding:0; overflow:auto; background:rgba(15,29,43,.72); }
.work-accident-print-window { display:flex; flex-direction:column; width:min(1180px,100%); min-height:100%; background:#eef2f5; box-shadow:0 0 45px rgba(0,0,0,.32); }
.work-accident-print-toolbar { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:18px; padding:12px 18px; color:#20384c; background:#fff; border-bottom:1px solid #cbd7e0; box-shadow:0 2px 10px rgba(24,55,78,.15); }
.work-accident-print-toolbar strong { display:block; margin-top:3px; font-size:.92rem; }.work-accident-print-toolbar .eyebrow { color:#1681b4; }.work-accident-print-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.work-accident-print-stage { flex:1 1 auto; overflow:auto; padding:22px; }.work-accident-report-paper { width:210mm; min-height:297mm; box-sizing:border-box; margin:0 auto; padding:10mm; background:#fff; color:#111; box-shadow:0 5px 22px rgba(31,49,67,.2); font-family:Arial,"Noto Sans",sans-serif; font-size:10px; }
.work-accident-report-table { width:100%; border-collapse:collapse; table-layout:fixed; }.work-accident-report-table th,.work-accident-report-table td { border:1px solid #333; padding:5px 6px; vertical-align:top; }.work-accident-report-table th { height:18px; padding:3px 5px; background:#d5d5d5; text-align:center; font-size:10px; font-weight:700; }.work-accident-report-table td { min-height:20px; }.work-accident-report-table .report-col-wide { width:25%; }
.work-accident-report-brand td { height:65px; vertical-align:top; }.work-accident-report-brand td:first-child { font-size:12px; }.work-accident-report-brand td:first-child small { display:block; margin-top:8px; font-size:9px; line-height:1.45; font-weight:400; }.work-accident-report-title { vertical-align:middle !important; text-align:center; font-size:14px; font-weight:700; }.work-accident-report-title small { display:block; margin-top:4px; font-size:9px; font-weight:400; }.work-accident-report-logo { vertical-align:middle !important; text-align:center; color:#5a73a5; font-size:24px; font-style:italic; font-weight:700; }.work-accident-report-logo small { display:block; margin-top:-3px; color:#6687ad; font-size:9px; letter-spacing:3px; font-style:normal; font-weight:400; }.work-accident-report-table .report-multiline { height:72px; line-height:1.45; }.work-accident-report-table .report-multiline strong,.work-accident-report-table .report-contact strong { margin-right:4px; font-size:9px; }.work-accident-report-table .report-tall-short { height:27px; }.work-accident-report-table .report-tall { height:92px; }.work-accident-report-table .report-contact { height:74px; line-height:3.2; }.work-accident-report-table .report-signature-space { height:76px; vertical-align:bottom; text-align:center; }.work-accident-report-table tbody tr { break-inside:avoid; page-break-inside:avoid; }
.work-accident-report-logo img { display:block; max-width:90%; max-height:52px; margin:0 auto; object-fit:contain; }
@media print { .work-accident-print-layer { position:static; display:block; overflow:visible; background:#fff; }.work-accident-print-window { width:auto; min-height:0; box-shadow:none; }.work-accident-print-toolbar { display:none; }.work-accident-print-stage { overflow:visible; padding:0; }.work-accident-report-paper { width:210mm; min-height:297mm; margin:0 auto; padding:10mm; box-shadow:none; } }
@media(max-width:800px){ .work-accident-header{display:block}.work-accident-firm{margin-top:12px}.work-accident-form-grid{grid-template-columns:1fr}.work-accident-refresh{margin-left:0}.work-accident-tabs{overflow:auto; flex-wrap:nowrap}.work-accident-tabs button{white-space:nowrap}.work-accident-two-col{grid-template-columns:1fr} }
.personnel-training-page { max-width: 1500px; }
.personnel-training-header { align-items:flex-start; }.personnel-training-context { display:flex; flex-wrap:wrap; gap:10px; min-width:330px; }.personnel-training-context label { display:grid; gap:4px; color:#60778a; font-size:.74rem; font-weight:700; }.personnel-training-context select { min-width:150px; border:1px solid #bdccd7; border-radius:6px; background:#fff; padding:8px 9px; color:#263f51; font:inherit; }
.personnel-training-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 10px; border-bottom:1px solid #cfdae2; }.personnel-training-tabs button { border:1px solid #cfdae2; border-bottom:0; border-radius:8px 8px 0 0; padding:10px 14px; color:#36556b; background:#edf3f7; cursor:pointer; font:inherit; font-size:.82rem; font-weight:700; }.personnel-training-tabs button.active { color:#126eaa; background:#fff; box-shadow:0 -2px 0 #1591d1 inset; }.personnel-training-tabs b { margin-left:5px; color:#1281ba; }
.personnel-training-card,.personnel-training-participants-card,.personnel-training-definition-card { overflow:hidden; }.personnel-training-card-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border-bottom:1px solid #d8e1e8; background:#f8fafc; }.personnel-training-card-head h2 { margin:0; color:#274b63; font-size:1.05rem; }.personnel-training-card-head p { margin:4px 0 0; color:#6b7d8c; font-size:.78rem; }.personnel-training-actions { display:flex; flex-wrap:wrap; gap:8px; }.personnel-training-table { min-width:1040px; }.personnel-training-table td small { display:block; margin-top:3px; color:#78909f; font-size:.7rem; }.personnel-training-table tr.selected { background:#eef8ff; }.personnel-training-count { border:0; border-radius:14px; padding:4px 9px; color:#12689e; background:#dff1ff; cursor:pointer; font-weight:700; }.table-row-actions { display:flex; gap:4px; }
.personnel-training-definition-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:10px; padding:14px; }.personnel-training-definition-grid article { display:flex; min-height:90px; align-items:flex-start; justify-content:space-between; gap:10px; padding:13px; border:1px solid #d1dce5; border-radius:8px; background:#fbfdff; }.personnel-training-definition-grid article strong { color:#294b62; }.personnel-training-definition-grid article p { margin:6px 0 0; color:#6a7e8d; font-size:.76rem; white-space:pre-line; }.personnel-training-definition-grid article > div:last-child { display:flex; flex-shrink:0; gap:4px; }
.personnel-training-modal-layer { position:fixed; inset:0; z-index:1300; display:flex; align-items:center; justify-content:center; padding:18px; overflow:auto; background:rgba(10,31,49,.57); }.personnel-training-modal,.personnel-training-small-modal { width:min(1050px,100%); max-height:calc(100vh - 36px); display:flex; flex-direction:column; overflow:hidden; border:1px solid #bfced9; border-radius:10px; background:#edf2f5; box-shadow:0 18px 50px rgba(0,0,0,.3); }.personnel-training-small-modal { width:min(560px,100%); }.personnel-training-modal > header,.personnel-training-small-modal > header { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; padding:14px 20px; color:#fff; background:#102238; }.personnel-training-modal > header h2,.personnel-training-small-modal > header h2 { margin:2px 0 0; font-size:1.08rem; }.personnel-training-modal > header p { margin:3px 0 0; color:#b8cad9; font-size:.76rem; }.personnel-training-modal > header .eyebrow { color:#9ed8f3; }.personnel-training-form-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:14px; min-height:0; overflow:auto; padding:14px; }.personnel-training-form-column { min-width:0; }.personnel-training-form-card { padding:13px; border:1px solid #c7d4df; border-radius:9px; background:#f8fafc; }.personnel-training-form-card h3 { margin:0 0 10px; color:#284b64; font-size:.88rem; }.personnel-training-form-card label,.personnel-training-small-form label { display:grid; gap:4px; margin-bottom:9px; color:#5b7082; font-size:.76rem; font-weight:700; }.personnel-training-form-card input,.personnel-training-form-card select,.personnel-training-form-card textarea,.personnel-training-small-form input,.personnel-training-small-form textarea { box-sizing:border-box; width:100%; border:1px solid #bfccd7; border-radius:5px; padding:8px; color:#243e52; background:#fff; font:inherit; }.personnel-training-form-card input[readonly] { background:#edf2f5; }.personnel-training-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 10px; }.personnel-training-picker-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }.personnel-training-picker-head p { margin:4px 0 10px; color:#728493; font-size:.74rem; }.personnel-training-picker-head > strong { color:#1478a8; white-space:nowrap; }.personnel-training-person-list { max-height:520px; margin-top:9px; overflow:auto; border:1px solid #d1dde5; border-radius:6px; background:#fff; }.personnel-training-person-list label { display:flex; align-items:center; gap:9px; margin:0; padding:9px 10px; border-bottom:1px solid #edf1f4; cursor:pointer; }.personnel-training-person-list label:last-child { border-bottom:0; }.personnel-training-person-list label:hover { background:#edf8ff; }.personnel-training-person-list span { display:grid; gap:2px; }.personnel-training-person-list small { color:#7a8b98; font-size:.7rem; font-weight:400; }.personnel-training-note-input { min-width:180px; }
.personnel-training-modal > footer,.personnel-training-small-modal > footer { display:flex; flex:0 0 auto; justify-content:flex-end; gap:8px; padding:12px 14px; border-top:1px solid #cbd7df; background:#f8fafc; }.personnel-training-small-form { overflow:auto; padding:18px; background:#f8fafc; }.personnel-training-small-form label:last-child { margin-bottom:0; }
@media(max-width:850px){ .personnel-training-header{display:block}.personnel-training-context{margin-top:12px;min-width:0}.personnel-training-form-grid{grid-template-columns:1fr}.personnel-training-two-col{grid-template-columns:1fr}.personnel-training-card-head{align-items:flex-start;flex-direction:column}.personnel-training-actions{width:100%} }
.personnel-training-print-layer { position:fixed; inset:0; z-index:1450; display:flex; align-items:stretch; justify-content:center; overflow:auto; background:rgba(13,29,46,.76); }
.personnel-training-print-window { display:flex; flex-direction:column; width:min(1180px,100%); min-height:100%; background:#e9eff3; box-shadow:0 0 46px rgba(0,0,0,.32); }
.personnel-training-print-toolbar { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:18px; padding:13px 20px; color:#20384c; background:#fff; border-bottom:1px solid #cbd7e0; box-shadow:0 2px 10px rgba(24,55,78,.15); }
.personnel-training-print-toolbar strong { display:block; margin-top:3px; font-size:.93rem; }.personnel-training-print-toolbar .eyebrow { color:#1681b4; }.personnel-training-print-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.personnel-training-print-stage { flex:1 1 auto; overflow:auto; padding:24px; }.personnel-training-report-paper { width:210mm; min-height:297mm; box-sizing:border-box; margin:0 auto; padding:14mm; background:#fff; color:#1d3345; box-shadow:0 5px 24px rgba(31,49,67,.22); font-family:"Noto Sans",Segoe UI,Arial,sans-serif; font-size:10.5pt; }
.personnel-training-report-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:15px; border-bottom:3px solid #1989bc; }.personnel-training-report-kicker { display:block; margin-bottom:8px; color:#1783b4; font-size:8pt; font-weight:800; letter-spacing:.12em; }.personnel-training-report-head h1 { margin:0; color:#172c40; font-size:19pt; letter-spacing:.03em; }.personnel-training-report-head p { margin:5px 0 0; color:#6b8090; font-size:9pt; }.personnel-training-report-brand { flex:0 0 150px; align-self:center; min-height:58px; display:flex; align-items:center; justify-content:center; color:#78909e; text-align:center; }.personnel-training-report-brand img { display:block; max-width:150px; max-height:68px; object-fit:contain; }.personnel-training-report-no-logo { max-width:150px; color:#80919d; font-size:8pt; font-weight:700; line-height:1.35; }
.personnel-training-report-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:16px 0; padding:9px 11px; border:1px solid #d5e1e8; border-radius:7px; background:#f2f7fa; }.personnel-training-report-meta span { display:grid; gap:3px; color:#35546a; }.personnel-training-report-meta b { color:#7990a0; font-size:7.3pt; letter-spacing:.08em; text-transform:uppercase; }
.personnel-training-report-section { margin-top:18px; }.personnel-training-report-section > h2,.personnel-training-report-section-title h2 { display:flex; align-items:center; gap:9px; margin:0 0 9px; color:#1e5876; font-size:11pt; }.personnel-training-report-section > h2::before,.personnel-training-report-section-title h2::before { display:inline-block; width:4px; height:17px; border-radius:3px; background:#1594c8; content:""; }.personnel-training-report-grid { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid #d2dfe6; border-bottom:0; }.personnel-training-report-grid > div,.personnel-training-report-wide { display:grid; gap:4px; min-height:43px; padding:9px 11px; border-right:1px solid #d2dfe6; border-bottom:1px solid #d2dfe6; }.personnel-training-report-grid > div:nth-child(2n) { border-right:0; }.personnel-training-report-grid small,.personnel-training-report-wide small { color:#7c909f; font-size:7.4pt; font-weight:800; letter-spacing:.06em; }.personnel-training-report-grid strong,.personnel-training-report-wide strong { color:#213d51; font-size:9.5pt; font-weight:700; }.personnel-training-report-wide { border:1px solid #d2dfe6; border-top:0; }.personnel-training-report-copy { margin:0; padding:12px 13px; border-left:3px solid #7fc5df; border-radius:0 6px 6px 0; background:#f4f8fa; color:#405e70; line-height:1.55; white-space:pre-line; }
.personnel-training-report-section-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }.personnel-training-report-section-title > span { color:#1681b4; font-size:8.5pt; font-weight:800; }.personnel-training-report-table { width:100%; border-collapse:collapse; table-layout:fixed; }.personnel-training-report-table th,.personnel-training-report-table td { padding:8px 9px; border:1px solid #d2dfe6; text-align:left; vertical-align:top; }.personnel-training-report-table th { color:#fff; background:#254e68; font-size:8pt; letter-spacing:.03em; }.personnel-training-report-table td { color:#3a5264; font-size:8.7pt; }.personnel-training-report-table th:first-child,.personnel-training-report-table td:first-child { width:7%; text-align:center; }.personnel-training-report-table th:nth-child(3),.personnel-training-report-table td:nth-child(3) { width:19%; }.personnel-training-report-table th:nth-child(4),.personnel-training-report-table td:nth-child(4) { width:17%; }.personnel-training-report-empty { padding:18px !important; color:#7d8e9a !important; text-align:center !important; }.personnel-training-report-footer { display:flex; justify-content:space-between; gap:18px; margin-top:52px; padding-top:12px; border-top:1px solid #d2dfe6; color:#7d909e; font-size:7.7pt; }.personnel-training-report-footer strong { color:#536c7b; white-space:nowrap; }
.personnel-training-report-table thead { display:table-header-group; }.personnel-training-report-table tfoot { display:table-footer-group; }.personnel-training-report-table tr { break-inside:avoid; page-break-inside:avoid; }.personnel-training-report-footer { break-inside:avoid; page-break-inside:avoid; }
.personnel-training-report-filters { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(230px,1.5fr) repeat(4,minmax(120px,.8fr)); gap:10px; align-items:end; padding:14px 16px; border-bottom:1px solid #d8e1e8; background:#f8fafc; }.personnel-training-report-filters label { display:grid; gap:4px; color:#60778a; font-size:.73rem; font-weight:700; }.personnel-training-report-filters input,.personnel-training-report-filters select { box-sizing:border-box; width:100%; min-height:36px; border:1px solid #bdccd7; border-radius:6px; padding:8px 9px; color:#263f51; background:#fff; font:inherit; }.personnel-training-report-filter-actions { display:flex; gap:7px; align-items:center; }.personnel-training-report-summary { display:flex; flex-wrap:wrap; gap:18px; padding:10px 16px; color:#637b8b; font-size:.77rem; }.personnel-training-report-summary b { color:#1478a8; }.personnel-training-participant-table { min-width:1250px; }.personnel-training-participant-table td small { display:block; margin-top:3px; color:#78909f; font-size:.7rem; }.personnel-training-attended,.personnel-training-pending { display:inline-block; border-radius:12px; padding:4px 9px; font-size:.72rem; font-weight:800; }.personnel-training-attended { color:#176f45; background:#dff5e9; }.personnel-training-pending { color:#916414; background:#fff0cf; }.personnel-training-report-filter-summary { display:flex; flex-wrap:wrap; gap:8px 20px; padding:11px 13px; border:1px solid #d2dfe6; border-radius:6px; background:#f4f8fa; color:#536d7e; font-size:8.7pt; }.personnel-training-report-filter-summary b { color:#213f54; }
@media(max-width:1100px){ .personnel-training-report-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.personnel-training-report-filter-actions{align-self:end} }
@media(max-width:700px){ .personnel-training-report-filters{grid-template-columns:1fr}.personnel-training-report-filter-actions{justify-content:flex-start}.personnel-training-report-summary{display:block}.personnel-training-report-summary span{display:block;margin-bottom:4px} }
@media(max-width:850px){ .personnel-training-print-toolbar{align-items:flex-start;flex-direction:column}.personnel-training-print-actions{width:100%;justify-content:flex-start}.personnel-training-print-stage{padding:12px}.personnel-training-report-paper{width:100%;min-height:0;padding:22px}.personnel-training-report-meta{grid-template-columns:1fr}.personnel-training-report-grid{grid-template-columns:1fr}.personnel-training-report-grid > div,.personnel-training-report-grid > div:nth-child(2n){border-right:0}.personnel-training-report-footer{align-items:flex-start;flex-direction:column}.personnel-training-report-footer strong{white-space:normal} }
