@import 'main.css';
@import 'component.css';
@import 'igm.css';

:root {
	--popover-secondary-menu-icon-color: var(--accent-fill-rest);

	/* AirFrame */
	--af-surface: #ffffff;
	--af-surface-subtle: #f7f7f7;
	--af-surface-muted: #f5f5f5;
	--af-bg-toolbar: #ebebe9;
	--af-bg-nav: #f0f1f3;
	--af-text: #323130;
	--af-text-muted: #605e5c;
	--af-border: #dededc;
	--af-border-subtle: #e1e5e9;
	--af-border-control: #b1b1b1;
	--af-border-grid: #d3d6de;
	--af-border-row: #e8e8e8;
	--af-primary: var(--accent-fill-rest);
	--af-primary-hov: #106ebe;
	--af-accent: #0b95fb;
	--af-nav-active: #0b57d0;
	--af-nav-hover: #566781;
	--af-label: #008ed5;
	--af-process-dark: #2c3e50;
	--af-error-bg: #feb3b3;
	--af-error-border: #bd5a66;
	--af-required: #800000;
	--af-warning: #ffa500;
}
/*
	--fill-header-background:#000;
       	--fill-color:#efefef;
	--dialog-padding: calc(var(--design-unit) * 3 * 1px);
	--dialog-background: #fff;
	--accent-base-color: red;
	--accent-base-color-msg: #feb3b3;
	--neutral-fill-stealth-rest: #EFEFEF;
	--neutral-stroke-control-rest:#000;
	--neutral-stroke-hover: #F7F7F7;
	--neutral-fill-rest:#f0f1f3;

	--neutral-fill-shadow: #333333;
	--neutral-fill-section: #afafaf;	
	--neutral-fill-hover: #bdbdbd;
	--accent-fill-rest:#0B57D0;
	--accent-fill-hover:#EFEFEF;
	--accent-fill-active:#0B57D0;
	--accent-fill-focus:#d1cfe9;

	--accent-foreground-rest: #0B57D0;
	--accent-foreground-hover: #e2dff2;
	--accent-foreground-active: #a2dcf2;
	--accent-foreground-focus: #d1cfe9;


*/
html:root {
	--density: 2;
	--body-font:  "Segoe UI", "Segoe UI Variable", sans-serif;
	--popover-secondary-menu-icon-color: var(--accent-fill-rest);
	--dialog-background: #fff;

	--btn-none-background:#EfEFEF;
	--btn-none-bottom-color:blue;
	--btn-main-background:#EfEFEF;
	--btn-main-bottom-color:green;

	--btn-close-background:#EfEFEF;
	--btn-close-bottom-color:red;
	--btn-hover-bottom-color: #000;

	--btn-lookup-ico-fill: var(--accent-fill-active);
	--btn-lookup-text-none:#7c7c7c;

	--base-height-multiplier: 8;
	--density: 0;
	--fill-header-background:#ffffff;
	--riskcolor-brightness:90%;
	--tab-filter-btm-color:#D6D6D6;
	--tab-filter-btm-color-active: #000;

	--dlg-container-bckg: #FFF;
	--dlg-container-hdr: #ebebe9;
	--dlg-container-title: #323130;
	--dlg-content: #323130;
	--dlg-padding: calc(var(--design-unit) * 1px);

	--navmenu-fill-stealth-rest:#EFEFEF;
	--navmenu-fill-hover:#bdbdbd;
        --form-section-line1:#afafaf;
	--msg-bg-color:#ed8585;
	--msg-text-color: #484848;}

/* 

	--accent-base-color-msg: #754242;
	--neutral-fill-stealth-rest: #272727;
	--neutral-stroke-control-rest:#fff;
	--neutral-stroke-hover: #383838;
	--neutral-stroke-input-rest: linear-gradient(#595959 calc(100% - 1px), #929292 calc(100% - 1px), #fff);
	--neutral-fill-rest:#333333;
	--neutral-fill-shadow: #333333;
	--neutral-fill-section:#9e9e9e;

	--neutral-fill-hover: #373737;
	--accent-base-color: #ff1616;
	--accent-fill-rest:#d1cfe9;
	--accent-fill-hover:#e2dff2;
	--accent-fill-active:#C9605F;
	--accent-fill-focus:#d1cfe9;
	--accent-foreground-rest: #484848;
	--accent-foreground-hover: #e2dff2;
	--accent-foreground-active: #a2dcf2;
	--accent-foreground-focus: #d1cfe9;
    color: var(--neutral-foreground-rest);
    background-color: var(--neutral-fill-layer-rest);

*/

body[data-theme="dark"], body[data-theme="system-dark"] {
	--foreground-on-accent-rest:#FFF;
	--msg-bg-color:#754242;
	--msg-text-color: #484848;
	--fill-header-background:#1a1a2e;
	--popover-secondary-menu-icon-color: #8ab4f8;
	--dialog-padding: calc(var(--design-unit) * 3 * 1px);
	--dialog-background: #333333;
	--btn-none-background:#333333;
	--btn-save-background:#333333;
	--btn-main-background:#333333;
	--btn-close-background:#333333;
	--btn-none-bottom-color:#0a49bb;
	--btn-main-bottom-color: green;
	--btn-close-bottom-color:#9b210e;
	--btn-hover-bottom-color: #fff;
	--btn-lookup-ico-fill: #7c7c7c;
	--btn-lookup-text-none:#7c7c7c;

	--fill-color:#efefef;


	--riskcolor-brightness:50%;
	--tab-filter-btm-color:#272727;
	--tab-filter-btm-color-active: #FFF;

	--dlg-container-bckg: #333333;
	--dlg-container-hdr: #33333;
	--dlg-container-title: #FFF;
	--dlg-content: #FFF;
	--dlg-padding: calc(var(--design-unit) * 1px);
	--navmenu-fill-rest: #333333;
	--navmenu-fill-stealth-rest: #272727;
	--navmenu-fill-hover: #373737;
	--accent-foreground-active: #a2dcf2;

	--neutral-foreground-rest: #FFF;
	--neutral-fill-stealth-rest :#272727;
        --form-section-line:#9e9e9e;
    font-family: var(--body-font);
    font-size: var(--type-ramp-base-font-size);
    line-height: var(--type-ramp-base-line-height);
    font-weight: var(--font-weight);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Dark theme: header & sidebar overrides */
body[data-theme="dark"] #appHeader,
body[data-theme="system-dark"] #appHeader {
	border-bottom-color: #333;
}

body[data-theme="dark"] #appHeader a,
body[data-theme="system-dark"] #appHeader a {
	color: #8ab4f8;
}

body[data-theme="dark"] #appHeader a:hover,
body[data-theme="system-dark"] #appHeader a:hover {
	color: #aecbfa;
}

body[data-theme="dark"] #appTitle,
body[data-theme="system-dark"] #appTitle {
	color: #8ab4f8;
}

body[data-theme="dark"] #appDesc,
body[data-theme="system-dark"] #appDesc {
	color: #9aa0a6;
}

body[data-theme="dark"] .lang-link,
body[data-theme="dark"] .link-top,
body[data-theme="system-dark"] .lang-link,
body[data-theme="system-dark"] .link-top {
	color: #8ab4f8 !important;
}

body[data-theme="dark"] .lang-link:hover,
body[data-theme="dark"] .link-top:hover,
body[data-theme="system-dark"] .lang-link:hover,
body[data-theme="system-dark"] .link-top:hover {
	color: #aecbfa !important;
}

body[data-theme="dark"] .lang-active,
body[data-theme="system-dark"] .lang-active {
	color: #fff !important;
	border-bottom-color: #fff;
}

/* Dark theme: sidebar container */
body[data-theme="dark"] .nav-menu-roles,
body[data-theme="system-dark"] .nav-menu-roles {
	background-color: #1e1e2e !important;
	color: rgba(255,255,255,0.85) !important;
	border-right-color: #333;
}
body[data-theme="dark"] .nav-menu-roles .fluent-nav-text,
body[data-theme="system-dark"] .nav-menu-roles .fluent-nav-text {
	color: rgba(255,255,255,0.85);
}
body[data-theme="dark"] .nav-menu-roles .fluent-nav-group .fluent-nav-text,
body[data-theme="system-dark"] .nav-menu-roles .fluent-nav-group .fluent-nav-text {
	color: rgba(255,255,255,0.45);
}
body[data-theme="dark"] .nav-menu-roles .fluent-nav-icon,
body[data-theme="system-dark"] .nav-menu-roles .fluent-nav-icon {
	fill: rgba(255,255,255,0.6) !important;
}
body[data-theme="dark"] .nav-menu-roles .fluent-nav-link > .positioning-region:hover,
body[data-theme="system-dark"] .nav-menu-roles .fluent-nav-link > .positioning-region:hover {
	background-color: rgba(255,255,255,0.08) !important;
}
body[data-theme="dark"] .nav-menu-roles .fluent-nav-link.active .fluent-nav-icon,
body[data-theme="system-dark"] .nav-menu-roles .fluent-nav-link.active .fluent-nav-icon {
	fill: #fff !important;
}
/* Section nav menus (ANY plain FluentNavMenu, not the main .nav-menu-roles): the active item's
   text/icon default to FluentUI dark (#272727), invisible on dark. Fix GLOBALLY so every section
   nav (Registers, Reports, System Mgmt, Settings, Dosare, Archive, Dictionaries, ...) is readable.
   The .nav-menu-roles re-assertion below keeps the main work/role menu's white active item. */
body[data-theme="dark"] .fluent-nav-link.active .fluent-nav-text,
body[data-theme="system-dark"] .fluent-nav-link.active .fluent-nav-text {
	color: #8ab4f8 !important;
}
body[data-theme="dark"] .fluent-nav-link.active .fluent-nav-icon,
body[data-theme="system-dark"] .fluent-nav-link.active .fluent-nav-icon {
	fill: #8ab4f8 !important;
}
/* Main work/role menu (MyTasks .nav-menu-roles) keeps white active text/icon
   (higher specificity than the global rule above, so it wins). */
body[data-theme="dark"] .nav-menu-roles .fluent-nav-link.active .fluent-nav-text,
body[data-theme="system-dark"] .nav-menu-roles .fluent-nav-link.active .fluent-nav-text {
	color: #fff !important;
}
body[data-theme="dark"] .nav-menu-roles .fluent-nav-link.active .fluent-nav-icon,
body[data-theme="system-dark"] .nav-menu-roles .fluent-nav-link.active .fluent-nav-icon {
	fill: #fff !important;
}
/* Some navs (Registers/Reports) render group titles on the active path dark; keep them readable. */
body[data-theme="dark"] .register-nav .fluent-nav-group .fluent-nav-text,
body[data-theme="system-dark"] .register-nav .fluent-nav-group .fluent-nav-text,
body[data-theme="dark"] .reports-nav .fluent-nav-group .fluent-nav-text,
body[data-theme="system-dark"] .reports-nav .fluent-nav-group .fluent-nav-text {
	color: rgba(255, 255, 255, 0.85) !important;
}
/* Native form controls (e.g. report filter <select>) default to a light scheme;
   make them render dark-aware so they don't appear as light islands on dark. */
body[data-theme="dark"] select,
body[data-theme="system-dark"] select {
	color-scheme: dark;
}

/* Dark theme: AirFrame grid pagination arrows (.grid-page) have black text + light (#efefef)
   border, invisible on dark. (.grid-button bg uses --af-surface which is already dark.) */
body[data-theme="dark"] .grid-button.grid-page:not([disabled]),
body[data-theme="system-dark"] .grid-button.grid-page:not([disabled]) {
	color: rgba(255, 255, 255, 0.9) !important;
}
body[data-theme="dark"] .grid-button.grid-page[disabled],
body[data-theme="system-dark"] .grid-button.grid-page[disabled] {
	color: rgba(255, 255, 255, 0.3) !important;
}
body[data-theme="dark"] .grid-button.grid-page,
body[data-theme="system-dark"] .grid-button.grid-page {
	border-color: var(--color-border-base-default) !important;
}

/* Dark theme: sidebar nav positioning-region (FluentNavLink light bg fix) */
body[data-theme="dark"] .navmenu .positioning-region,
body[data-theme="system-dark"] .navmenu .positioning-region {
	background-color: transparent !important;
}
body[data-theme="dark"] .navmenu .positioning-region:hover,
body[data-theme="system-dark"] .navmenu .positioning-region:hover {
	background-color: rgba(255,255,255,0.08) !important;
}

/* Dark theme: sidebar user header */
body[data-theme="dark"] .user-header-light,
body[data-theme="system-dark"] .user-header-light {
	background-color: #2a2a3e;
	border-bottom-color: #3a3a4e;
}

body[data-theme="dark"] .user-avatar-light,
body[data-theme="system-dark"] .user-avatar-light {
	background-color: #3a3a5e;
}

body[data-theme="dark"] .user-name-light,
body[data-theme="system-dark"] .user-name-light {
	color: #e8eaed;
}

body[data-theme="dark"] .user-role-light,
body[data-theme="system-dark"] .user-role-light {
	color: #9aa0a6;
}

body[data-theme="dark"] .refresh-btn-light,
body[data-theme="system-dark"] .refresh-btn-light {
	border-color: #4a4a5e;
}

body[data-theme="dark"] .refresh-btn-light:hover,
body[data-theme="system-dark"] .refresh-btn-light:hover {
	background-color: #3a3a5e;
	border-color: #8ab4f8;
}

/* Dark theme: role filter buttons */
body[data-theme="dark"] .role-filter-buttons,
body[data-theme="system-dark"] .role-filter-buttons {
	border-bottom-color: #3a3a4e;
}

body[data-theme="dark"] .role-filter-btn span,
body[data-theme="system-dark"] .role-filter-btn span {
	color: #9aa0a6;
}

body[data-theme="dark"] .role-filter-btn:hover,
body[data-theme="system-dark"] .role-filter-btn:hover {
	background-color: #3a3a5e;
	border-color: #4a4a5e;
}

body[data-theme="dark"] .role-filter-btn.active,
body[data-theme="system-dark"] .role-filter-btn.active {
	background-color: #1a2a4a;
	border-color: #8ab4f8;
}

body[data-theme="dark"] .role-filter-btn.active span,
body[data-theme="system-dark"] .role-filter-btn.active span {
	color: #8ab4f8;
}

body[data-theme="dark"] .role-filter-page-btn,
body[data-theme="system-dark"] .role-filter-page-btn {
	border-color: #4a4a5e;
	color: #9aa0a6;
}

body[data-theme="dark"] .role-filter-page-btn:hover,
body[data-theme="system-dark"] .role-filter-page-btn:hover {
	background-color: #1a2a4a;
	border-color: #8ab4f8;
	color: #8ab4f8;
}

/* Dark theme: nav badge */
body[data-theme="dark"] .nav-badge,
body[data-theme="system-dark"] .nav-badge {
	background-color: #1a2a4a !important;
	color: #8ab4f8 !important;
}

/* Dark theme: main content area */
body[data-theme="dark"] .content,
body[data-theme="system-dark"] .content {
	background-color: #1a1a2e;
}

body[data-theme="dark"] .fluent-data-grid,
body[data-theme="system-dark"] .fluent-data-grid {
	background-color: #1e1e2e !important;
	border-color: #333 !important;
}

body[data-theme="dark"] .fluent-data-grid-row,
body[data-theme="system-dark"] .fluent-data-grid-row {
	border-color: #333 !important;
}

body[data-theme="dark"] .fluent-data-grid-row:hover,
body[data-theme="system-dark"] .fluent-data-grid-row:hover {
	background-color: rgba(255,255,255,0.04) !important;
}

body[data-theme="dark"] .fluent-data-grid-cell,
body[data-theme="system-dark"] .fluent-data-grid-cell {
	border-color: #333 !important;
}

body[data-theme="dark"] .grid-paginator,
body[data-theme="system-dark"] .grid-paginator {
	color: rgba(255,255,255,0.7);
}

body[data-theme="dark"] .status-badge.status-neutral,
body[data-theme="system-dark"] .status-badge.status-neutral {
	background-color: #2a2a3e !important;
	color: #9aa0a6 !important;
}

/* Dark theme: dialog & form components (AirFrame) */
body[data-theme="dark"] .dialog-container,
body[data-theme="system-dark"] .dialog-container {
	background-color: #2a2a3e !important;
	border-color: #444 !important;
	color: #e8eaed;
}

body[data-theme="dark"] .dialog-header,
body[data-theme="system-dark"] .dialog-header {
	background-color: #1e1e2e !important;
	border-bottom-color: #444 !important;
}

body[data-theme="dark"] .dialog-title,
body[data-theme="system-dark"] .dialog-title {
	color: #e8eaed !important;
}

body[data-theme="dark"] .dialog-content,
body[data-theme="system-dark"] .dialog-content {
	color: #e8eaed !important;
}

body[data-theme="dark"] .dialog-close-button,
body[data-theme="system-dark"] .dialog-close-button {
	color: #9aa0a6 !important;
}

body[data-theme="dark"] .dialog-close-button:hover,
body[data-theme="system-dark"] .dialog-close-button:hover {
	color: #fff !important;
}

body[data-theme="dark"] .process-content,
body[data-theme="system-dark"] .process-content {
	background-color: #1e1e2e !important;
}

body[data-theme="dark"] .form-body,
body[data-theme="system-dark"] .form-body {
	background-color: #2a2a3e !important;
	border-color: #444 !important;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.3) !important;
	--fill-color: #2a2a3e;
	--neutral-fill-input-rest: #1e1e2e;
	--neutral-fill-input-hover: #252538;
	--neutral-fill-input-active: #1a1a2e;
	--neutral-fill-input-focus: #1a1a2e;
	--neutral-foreground-rest: #e8eaed;
	--neutral-stroke-rest: #555;
	--neutral-stroke-hover: #777;
}

/* FluentUI dialog wrapper (fluent-dialog-main) */
body[data-theme="dark"] .fluent-dialog-main,
body[data-theme="system-dark"] .fluent-dialog-main {
	--fill-color: #2a2a3e;
	--neutral-fill-input-rest: #1e1e2e;
	--neutral-fill-input-hover: #252538;
	--neutral-fill-input-active: #1a1a2e;
	--neutral-fill-input-focus: #1a1a2e;
	--neutral-foreground-rest: #e8eaed;
	--neutral-stroke-rest: #555;
}

body[data-theme="dark"] .fluent-dialog-main,
body[data-theme="system-dark"] .fluent-dialog-main {
	background-color: #2a2a3e !important;
	color: #e8eaed !important;
}

body[data-theme="dark"] .fluent-dialog-header,
body[data-theme="system-dark"] .fluent-dialog-header {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-bottom: 1px solid #444 !important;
}

body[data-theme="dark"] .fluent-dialog-body,
body[data-theme="system-dark"] .fluent-dialog-body {
	background-color: #2a2a3e !important;
	color: #e8eaed !important;
}

body[data-theme="dark"] .fluent-dialog-footer,
body[data-theme="system-dark"] .fluent-dialog-footer {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-top: 1px solid #444 !important;
}

/* FluentUI form input controls inside dialogs and forms - dark mode */
body[data-theme="dark"] .dialog-container fluent-text-field,
body[data-theme="system-dark"] .dialog-container fluent-text-field,
body[data-theme="dark"] .form-body fluent-text-field,
body[data-theme="system-dark"] .form-body fluent-text-field {
	--fill-color: #1e1e2e;
	--neutral-fill-input-rest: #1e1e2e;
	--neutral-fill-input-hover: #252538;
	--neutral-foreground-rest: #e8eaed;
	--neutral-stroke-rest: #555;
	color: #e8eaed !important;
}

body[data-theme="dark"] .dialog-container fluent-text-area,
body[data-theme="system-dark"] .dialog-container fluent-text-area,
body[data-theme="dark"] .form-body fluent-text-area,
body[data-theme="system-dark"] .form-body fluent-text-area {
	--fill-color: #1e1e2e;
	--neutral-fill-input-rest: #1e1e2e;
	--neutral-fill-input-hover: #252538;
	--neutral-foreground-rest: #e8eaed;
	--neutral-stroke-rest: #555;
	color: #e8eaed !important;
}

body[data-theme="dark"] .dialog-container fluent-select,
body[data-theme="system-dark"] .dialog-container fluent-select,
body[data-theme="dark"] .form-body fluent-select,
body[data-theme="system-dark"] .form-body fluent-select {
	--fill-color: #1e1e2e;
	--neutral-fill-input-rest: #1e1e2e;
	--neutral-fill-rest: #1e1e2e;
	--neutral-foreground-rest: #e8eaed;
	--neutral-stroke-rest: #555;
	color: #e8eaed !important;
}

body[data-theme="dark"] .dialog-container fluent-combobox,
body[data-theme="system-dark"] .dialog-container fluent-combobox,
body[data-theme="dark"] .form-body fluent-combobox,
body[data-theme="system-dark"] .form-body fluent-combobox {
	--fill-color: #1e1e2e;
	--neutral-fill-input-rest: #1e1e2e;
	--neutral-fill-rest: #1e1e2e;
	--neutral-foreground-rest: #e8eaed;
	--neutral-stroke-rest: #555;
	color: #e8eaed !important;
}

body[data-theme="dark"] .dialog-container fluent-number-field,
body[data-theme="system-dark"] .dialog-container fluent-number-field,
body[data-theme="dark"] .form-body fluent-number-field,
body[data-theme="system-dark"] .form-body fluent-number-field {
	--fill-color: #1e1e2e;
	--neutral-fill-input-rest: #1e1e2e;
	--neutral-fill-input-hover: #252538;
	--neutral-foreground-rest: #e8eaed;
	--neutral-stroke-rest: #555;
	color: #e8eaed !important;
}

/* Picklist (native select wrapper) dark mode */
body[data-theme="dark"] .form-field.form-lookup,
body[data-theme="system-dark"] .form-field.form-lookup {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-color: #555 !important;
}

body[data-theme="dark"] .form-field.form-lookup select,
body[data-theme="system-dark"] .form-field.form-lookup select {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-color: #555 !important;
}

body[data-theme="dark"] .picklist-container select,
body[data-theme="system-dark"] .picklist-container select {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-color: #555 !important;
}

/* Form data grid (empty state message) */
body[data-theme="dark"] .form-body .grid-container,
body[data-theme="system-dark"] .form-body .grid-container {
	background-color: #1a1a2e !important;
	color: #9aa0a6 !important;
}


/* ===== FluentUI Shadow DOM overrides via ::part() - Dark Mode ===== */
/* fluent-text-field */
body[data-theme="dark"] fluent-text-field::part(control),
body[data-theme="system-dark"] fluent-text-field::part(control),
body[data-theme="dark"] fluent-text-field::part(field),
body[data-theme="system-dark"] fluent-text-field::part(field) {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-color: #555 !important;
}

body[data-theme="dark"] fluent-text-field:hover::part(control):not(:disabled),
body[data-theme="system-dark"] fluent-text-field:hover::part(control):not(:disabled),
body[data-theme="dark"] fluent-text-field:hover::part(field):not(:disabled),
body[data-theme="system-dark"] fluent-text-field:hover::part(field):not(:disabled) {
	background-color: #252538 !important;
	border-color: #777 !important;
	box-shadow: 0 0 0 0.5px #666 !important;
}

body[data-theme="dark"] fluent-text-field:focus-within::part(control):not(:disabled),
body[data-theme="system-dark"] fluent-text-field:focus-within::part(control):not(:disabled),
body[data-theme="dark"] fluent-text-field:focus-within::part(field):not(:disabled),
body[data-theme="system-dark"] fluent-text-field:focus-within::part(field):not(:disabled) {
	background-color: #1a1a2e !important;
	border-color: #5b9bd5 !important;
	box-shadow: 0 0 0 2px rgba(91, 155, 213, 0.3) !important;
}

body[data-theme="dark"] fluent-text-field::part(control)::placeholder,
body[data-theme="system-dark"] fluent-text-field::part(control)::placeholder {
	color: var(--color-text-base-secondary) !important;
}

body[data-theme="dark"] fluent-text-field::part(control):read-only,
body[data-theme="system-dark"] fluent-text-field::part(control):read-only,
body[data-theme="dark"] fluent-text-field[readonly]::part(control),
body[data-theme="system-dark"] fluent-text-field[readonly]::part(control) {
	background-color: #252538 !important;
	border-color: #444 !important;
	color: #9aa0a6 !important;
}

body[data-theme="dark"] fluent-text-field.required::part(control),
body[data-theme="system-dark"] fluent-text-field.required::part(control) {
	background-color: #1e1e2e !important;
}

/* fluent-text-area */
body[data-theme="dark"] fluent-text-area::part(control),
body[data-theme="system-dark"] fluent-text-area::part(control),
body[data-theme="dark"] fluent-text-area::part(field),
body[data-theme="system-dark"] fluent-text-area::part(field) {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-color: #555 !important;
}

body[data-theme="dark"] fluent-text-area:hover::part(control):not(:disabled),
body[data-theme="system-dark"] fluent-text-area:hover::part(control):not(:disabled) {
	background-color: #252538 !important;
	border-color: #777 !important;
	box-shadow: 0 0 0 0.5px #666 !important;
}

body[data-theme="dark"] fluent-text-area:focus-within::part(control):not(:disabled),
body[data-theme="system-dark"] fluent-text-area:focus-within::part(control):not(:disabled) {
	background-color: #1a1a2e !important;
	border-color: #5b9bd5 !important;
	box-shadow: 0 0 0 2px rgba(91, 155, 213, 0.3) !important;
}

body[data-theme="dark"] fluent-text-area::part(control)::placeholder,
body[data-theme="system-dark"] fluent-text-area::part(control)::placeholder {
	color: var(--color-text-base-secondary) !important;
}

/* fluent-select / fluent-combobox / fluent-number-field */
body[data-theme="dark"] fluent-select::part(control),
body[data-theme="system-dark"] fluent-select::part(control),
body[data-theme="dark"] fluent-select::part(listbox),
body[data-theme="system-dark"] fluent-select::part(listbox),
body[data-theme="dark"] fluent-combobox::part(control),
body[data-theme="system-dark"] fluent-combobox::part(control),
body[data-theme="dark"] fluent-combobox::part(listbox),
body[data-theme="system-dark"] fluent-combobox::part(listbox),
body[data-theme="dark"] fluent-number-field::part(control),
body[data-theme="system-dark"] fluent-number-field::part(control) {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-color: #555 !important;
}

/* Native select in form-field */
body[data-theme="dark"] .form-field select,
body[data-theme="system-dark"] .form-field select {
	background-color: #1e1e2e !important;
	color: #e8eaed !important;
	border-color: #555 !important;
}

body[data-theme="dark"] .form-toolbar,
body[data-theme="system-dark"] .form-toolbar {
	background-color: #1e1e2e !important;
}

body[data-theme="dark"] .form-label,
body[data-theme="dark"] .form-label-top,
body[data-theme="system-dark"] .form-label,
body[data-theme="system-dark"] .form-label-top {
	color: #8ab4f8 !important;
}

body[data-theme="dark"] .form-cell-msg,
body[data-theme="system-dark"] .form-cell-msg {
	background-color: #4a2020 !important;
	border-color: #7a3030 !important;
	color: #f8b4b4 !important;
}

body[data-theme="dark"] .form-field,
body[data-theme="system-dark"] .form-field {
	background-color: #333 !important;
	color: #e8eaed !important;
}

body[data-theme="dark"] .form-button,
body[data-theme="system-dark"] .form-button {
	background-color: var(--color-background-base-tertiary) !important;
	color: var(--color-text-base-default) !important;
	border-color: #555 !important;
	box-shadow: none !important;
}

/* AirFrame literal-hardcode gaps (not themed by the --af-* bridge) */
body[data-theme="dark"] .form-field-dis,
body[data-theme="system-dark"] .form-field-dis {
	background-color: var(--color-background-base-secondary) !important;
	color: var(--neutral-foreground-hint) !important;
}
body[data-theme="dark"] .btn-secondary,
body[data-theme="system-dark"] .btn-secondary {
	background-color: var(--color-background-base-tertiary) !important;
	color: var(--color-text-base-default) !important;
}
body[data-theme="dark"] .btn-secondary:hover,
body[data-theme="system-dark"] .btn-secondary:hover {
	background-color: color-mix(in srgb, var(--accent-fill-rest) 16%, var(--color-background-base-tertiary)) !important;
}
body[data-theme="dark"] .form-tab-on,
body[data-theme="system-dark"] .form-tab-on {
	color: var(--accent-fill-rest) !important;
}
body[data-theme="dark"] .form-lookup-item.link,
body[data-theme="system-dark"] .form-lookup-item.link {
	color: #8ab4f8 !important;
	border-bottom-color: #8ab4f8 !important;
}
/* Danger-red text/links need a lighter tint on dark surfaces (#d13438 too dark) */
body[data-theme="dark"] .pv-link-danger,
body[data-theme="system-dark"] .pv-link-danger,
body[data-theme="dark"] .pv-req,
body[data-theme="system-dark"] .pv-req {
	color: #f87171 !important;
}
/* Dark-theme scrollbars. scrollbar-color is an inherited property, so declaring it on
   the themed body cascades to every scrollable descendant (dialogs, grids, lists).
   Light theme keeps the default OS scrollbar. */
body[data-theme="dark"],
body[data-theme="system-dark"] {
	scrollbar-color: #5a5a5a transparent;
}
/* FluentMessageBar (intent-info) has a light bg that does not flip in dark theme */
body[data-theme="dark"] .fluent-messagebar.intent-info,
body[data-theme="system-dark"] .fluent-messagebar.intent-info {
	background-color: var(--color-background-base-secondary) !important;
	color: var(--color-text-base-default) !important;
}

/* Workspace_Azil (.wsb) defines its whole palette via local vars - remap them for dark */
body[data-theme="dark"] .wsb,
body[data-theme="system-dark"] .wsb {
	--bg: var(--neutral-layer-2);
	--surface: var(--neutral-layer-1);
	--surface-2: var(--color-background-base-secondary);
	--surface-3: var(--color-background-base-tertiary);
	--border: var(--color-border-base-default);
	--border-strong: var(--color-border-base-default);
	--text: var(--color-text-base-default);
	--text-2: var(--color-text-base-secondary);
	--text-3: var(--neutral-foreground-hint);
	--text-4: var(--neutral-foreground-hint);
	--brand: var(--accent-fill-rest);
	--brand-hover: var(--accent-fill-hover);
	--brand-bg: color-mix(in srgb, var(--accent-fill-rest) 18%, transparent);
	--brand-fg: var(--accent-fill-rest);
	--signed-bg: color-mix(in srgb, #16a34a 22%, transparent);
	--signed-fg: #4ade80;
	--warn: #e0a93f;
	--warn-bg: color-mix(in srgb, #b7791f 24%, transparent);
}

/* AzilHistoryBoard (.azb) - same local-var palette, remap for dark */
body[data-theme="dark"] .azb,
body[data-theme="system-dark"] .azb {
	--azb-bg: var(--neutral-layer-2);
	--azb-panel: var(--neutral-layer-1);
	--azb-ink: var(--color-text-base-default);
	--azb-soft: var(--color-text-base-secondary);
	--azb-faint: var(--neutral-foreground-hint);
	--azb-line: var(--color-border-base-default);
	--azb-line2: var(--color-border-base-default);
	--azb-blue: var(--accent-fill-rest);
	--azb-blue-d: var(--accent-fill-hover);
	--azb-blue-bg: color-mix(in srgb, var(--accent-fill-rest) 18%, transparent);
	--azb-green: #4ade80;
	--azb-green-bg: color-mix(in srgb, #16a34a 22%, transparent);
	--azb-red: #f87171;
	--azb-red-bg: color-mix(in srgb, #d32f2f 24%, transparent);
	--azb-gray-bg: var(--color-background-base-tertiary);
}

/* .chk-app - shared CaseDashboard checklist palette (Apatridie/Azil/CPTS/Contestatie/Cazare/Combaterea/DrepDeSedere) */
body[data-theme="dark"] .chk-app,
body[data-theme="system-dark"] .chk-app {
	--bg: var(--neutral-layer-2);
	--surface: var(--neutral-layer-1);
	--surface-2: var(--color-background-base-secondary);
	--surface-3: var(--color-background-base-tertiary);
	--border: var(--color-border-base-default);
	--border-strong: var(--color-border-base-default);
	--text: var(--color-text-base-default);
	--text-2: var(--color-text-base-secondary);
	--text-3: var(--neutral-foreground-hint);
	--text-4: var(--neutral-foreground-hint);
	--brand: var(--accent-fill-rest);
	--brand-hover: var(--accent-fill-hover);
	--brand-bg: color-mix(in srgb, var(--accent-fill-rest) 18%, transparent);
	--brand-fg: var(--accent-fill-rest);
	--st-signed: #4ade80;
	--st-signed-bg: color-mix(in srgb, #16a34a 22%, transparent);
	--st-signed-fg: #4ade80;
	--st-signed-ring: color-mix(in srgb, #16a34a 40%, transparent);
	--st-uploaded: #93c5fd;
	--st-uploaded-bg: color-mix(in srgb, var(--accent-fill-rest) 20%, transparent);
	--st-uploaded-fg: #93c5fd;
	--st-uploaded-ring: color-mix(in srgb, var(--accent-fill-rest) 40%, transparent);
	--st-req: #f87171;
	--st-req-bg: color-mix(in srgb, #dc2626 24%, transparent);
	--st-req-fg: #f87171;
	--st-req-ring: color-mix(in srgb, #dc2626 40%, transparent);
	--st-opt: #9aa3b2;
	--st-opt-bg: var(--color-background-base-tertiary);
	--st-opt-fg: var(--neutral-foreground-hint);
	--st-opt-ring: var(--color-border-base-default);
}

body {
	/*
	--body-font: "Segoe UI Variable", "Segoe UI", sans-serif !important;
	--accent-fill-rest: #000;
	--neutral-fill-stealth-rest: #e8e8e8;
	--fill-color: #efefef;
	font-family: "Segoe UI Variable", "Segoe UI", sans-serif;
	font-size: 14px;
	line-height: 20px;
	margin: 0;
	*/
	margin: 0;
	padding: 0;
	height: 100vh;
	font-family: var(--body-font);
	font-size: var(--type-ramp-base-font-size);
	line-height: var(--type-ramp-base-line-height);
	font-weight: var(--font-weight);
	color: var(--neutral-foreground-rest);
	background: var(--neutral-fill-layer-rest);
}

.content {
	align-self: stretch !important;
	width: 100%;
}

.col-justify-center .col-title {
}
/*
.col-justify-start .col-sort-button::part(control) {
    background-color: #333333 !important;

	background-color: var(--btn-main-background) !important;
	border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest)!important; ;
	border-radius: calc(var(--control-corner-radius) * 1px) ;
	color: var(--neutral-foreground-rest);
}
*/
th {
  background-color: var(--color-background-base-tertiary) !important;
}
.col-sort-button::part(control) {
  background-color: var(--color-background-base-tertiary);
	border-radius:0;
}
.col-sort-button::part(control):hover {
	border-bottom: solid 2px var(--accent-fill-rest);
	border-radius:0;
	color:var(--accent-fill-rest);
}

.fluent-data-grid-row > td {
	padding:3px 3px 3px 5px!important;
}
.column-header {
	min-height: 34px!important;
	padding:0!important;
}
.stealth { 
}

fluent-dialog[modal]::part(control) 
{
  background-color: var(--dialog-background);
  border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest)!important;
  border-radius: calc(var(--control-corner-radius) * 1px)!important;;
}

.fluent-dialog-header {
  padding: 0 !important;
}

.main-layout {
  height: 100vh;
  overflow: hidden;
}

.main-layout > .layout {
	display: flex;
	flex-direction: column;
	height: 100vh;
	overflow: hidden;
}

.navmenu {
	display: inline-block;
}

.sitenav {
	overflow-y: auto;
	height: 100%;
}

.navmenu-icon {
	display: none;
}

#appHeader {
	background-color: var(--fill-header-background) !important;
	cursor: default;
	border-bottom: 1px solid var(--color-border-base-default);
	min-height: 56px;
}

#appHeader .stack-horizontal {
	align-items: center !important;
	flex-wrap: nowrap;
	overflow: clip;
	overflow-clip-margin: 14px;
}

	#appHeader a {
		color: var(--accent-fill-rest);
		text-decoration: none;
		font-weight: 500;
	}

		#appHeader a:hover {
			color: #1a3a6b;
		}

#appMenu > .app-link {
	margin: 0 0.5rem;
}

#appBrand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: 1em;
	min-width: 0;
	flex-shrink: 1;
}

#appLogo {
	height: 36px;
	width: auto;
	flex-shrink: 0;
}

#appBrandText {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
	min-width: 0;
}

#appTitle, #appDesc {
	overflow: hidden;
	text-overflow: ellipsis;
}

#appTitle {
	color: var(--accent-fill-rest);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

#appDesc {
	color: var(--color-text-base-secondary);
	font-weight: 400;
	font-size: 0.72rem;
	white-space: nowrap;
}


.popover-secondary-menu a {
	color: var(--neutral-foreground-rest)!important;
}

	.popover-secondary-menu a:hover {
		color: #ff8000 !important;
	}

.page-header {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
	max-width: 1000px;
	margin-top: 1em;
	margin-bottom: 1.5em;
	font-size: 28px;
	font-weight: bold;
}

.page-center {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
	max-width: 1000px;
	margin-top: 30px;
}

.empty-content-cell {
	border: 0 !important;
}

.error {
	color: red;
}

.main {
	flex: 1;
	min-height: 0;
	color: var(--neutral-foreground-rest);
	align-items: stretch !important;
	overflow: hidden;
}

.body-content {
	align-self: stretch;
	flex: 1;
	min-height: 0;
	display: flex;
	overflow-y: scroll!important;
}

.body-content > .content {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}


.manage {
	width: 100dvw;
}

/* Footer styles moved to Layout/MainFooter.razor.css */

.role-selector-table table {
  border: 1px solid black;
}
.role-selector-table th {
  border: 1px solid black;
  padding: 5px 10px;
}
.role-selector-table td {
  border: 1px solid black;
  padding: 5px 10px;
  text-align: center;
}

.disabled-black {
  --disabled-opacity: 1;
}

.disabled-black .form-disabled {
  color: black;
  border-color: var(--color-border-base-default);
}

#blazor-error-ui {
	background: lightyellow;
	bottom: 0;
	box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
	display: none;
	left: 0;
	padding: 0.6rem 1.25rem 0.7rem 1.25rem;
	position: fixed;
	width: 100%;
	z-index: 1000;
	margin: 20px 0;
}

	#blazor-error-ui .dismiss {
		cursor: pointer;
		position: absolute;
		right: 0.75rem;
		top: 0.5rem;
	}

.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::before {
		content: "An error has occurred. "
	}

.loading-progress {
	position: relative;
	display: block;
	width: 8rem;
	height: 8rem;
	margin: 20vh auto 1rem auto;
}

	.loading-progress circle {
		fill: none;
		stroke: #e0e0e0;
		stroke-width: 0.6rem;
		transform-origin: 50% 50%;
		transform: rotate(-90deg);
	}

		.loading-progress circle:last-child {
			stroke: #1b6ec2;
			stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
			transition: stroke-dasharray 0.05s ease-in-out;
		}

.loading-progress-text {
	position: absolute;
	text-align: center;
	font-weight: bold;
	inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

	.loading-progress-text:after {
		content: var(--blazor-load-percentage-text, "Loading");
	}

code {
	color: #c02d76;
}



.lang-list {
	display: inline-block;
	min-width: 120px;
}

.lang-link, .link-top {
	text-decoration: none !important;
	font-size: 0.8rem;
	color: var(--accent-fill-rest);
	cursor: pointer;
	text-transform: uppercase;
	margin-left: 8px !important;
	margin-right: 8px !important;
	font-weight: bold;
}

.lang-link:hover, .link-top:hover {
	color: #1a3a6b !important;
}

.lang-active {
	color: var(--accent-fill-rest) !important;
	text-decoration: none !important;
	font-size: 0.8rem;
	cursor: default;
	font-weight: bold;
	border-bottom: solid 2px var(--accent-fill-rest);
	text-transform: uppercase;
	margin-left: 8px !important;
	margin-right: 8px !important;
}

.mpass-button {
  border: 2px solid #099cc1;
  background-color: #1aa2c2;
  border-radius: 5px;
  cursor: pointer;
  padding: 0.8em 1.2em 0.8em 1em;
  transition: all ease-in-out 0.2s;
  color: #fff;
  font-weight: 600;
	font-size: 16px;
	margin-top:1em;
	width:320px;
}

.mpass-button:hover {
  background-color: #027590;
	border-color: #027590;
}

.mpass-logo {
	background-image: url(images/mpass-logo64.png);
	height: 64px;
	width: 208px;
	display: inline-block;
	margin-bottom:10px
}

.ico {
	display: inline-block;
	position: relative;
	width: 1.25rem;
	height: 1.25rem;
	margin-right: 0.75rem;
	background-size: cover;
}

.ico-person {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.ico-Status-1 {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2300FF00' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm1.5 11.5H6.5v-1h3v1Zm0-2.5H6.5V4h3v5Z'/%3E%3C/svg%3E");
}

.fluent-toast-provider {
  z-index: 9000 !important;
}

.btn-save {
	display: none !important;
}


.verificare-badges {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.badge {
	padding: 4px 12px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 600;
}

.badge-tip {
	background: #e8eaf6;
	color: #283593;
}

.badge-scop {
	background: #f3e5f5;
	color: #6a1b9a;
}

.badge-subtip {
	background: #e0f2f1;
	color: #00695c;
}

.badge-ap {
	background: #fce4ec;
	color: #c62828;
}

.radio-group-horizontal {
	display: flex;
	gap: 20px;
	align-items: center;
}

.radio-label-horizontal {
	display: flex;
	gap: 6px;
	align-items: center;
	cursor: pointer;
	font-weight: 500;
}

.address-subsection {
	padding: 10px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.address-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 10px;
}

.address-field label, .address-field-small label {
	font-size: 11px;
	color: var(--color-text-base-secondary);
	display: block;
	margin-bottom: 2px;
}

.address-field-small {
	max-width: 100px;
}

.travel-documents-container {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.travel-documents-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 15px;
}

.travel-doc-item {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 12px;
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 6px;
}

.travel-doc-actions {
	display: flex;
	gap: 5px;
}

.doc-type-badge {
	display: inline-block;
	padding: 2px 8px;
	background: #6a1b9a;
	color: white;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
	margin-bottom: 5px;
}

.doc-details-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 4px;
	font-size: 12px;
}

.doc-field-label {
	color: var(--color-text-base-secondary);
}

.doc-field-value {
	font-weight: 500;
}

.doc-file-badge {
	display: inline-block;
	margin-top: 5px;
	padding: 2px 8px;
	background: #f3e5f5;
	border-radius: 4px;
	font-size: 11px;
}

.no-documents-message {
	text-align: center;
	padding: 20px;
	color: var(--color-text-base-tertiary);
}

.add-document-button {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.collapsible-section {
	border: 1px solid var(--color-border-base-default);
	border-radius: 6px;
	margin-bottom: 10px;
}

.collapsible-header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 15px;
	background: var(--color-background-base-secondary);
	cursor: pointer;
	border-radius: 6px;
}

	.collapsible-header:hover {
		background: #ebebeb;
	}

.toggle-icon {
	font-size: 11px;
	color: var(--color-text-base-secondary);
}

.collapsible-content {
	padding: 10px;
}

.previous-item {
	padding: 8px 12px;
	margin: 4px 0;
	background: var(--color-background-base-secondary);
	border: 1px solid var(--color-border-base-default);
	border-radius: 4px;
	cursor: pointer;
	font-size: 12px;
}

	.previous-item:hover {
		background: #e8eaf6;
		border-color: #6a1b9a;
	}

.item-badge {
	display: inline-block;
	padding: 2px 8px;
	background: #6a1b9a;
	color: white;
	border-radius: 4px;
	font-size: 10px;
	font-weight: 600;
	margin-right: 8px;
}

.languages-container {
	padding: 10px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.languages-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.language-chip {
	padding: 6px 14px;
	border: 1px solid #ccc;
	border-radius: 20px;
	cursor: pointer;
	font-size: 12px;
	transition: all 0.2s;
}

	.language-chip:hover {
		background: #f3e5f5;
		border-color: #9c27b0;
	}

	.language-chip.selected {
		background: #6a1b9a;
		color: white;
		border-color: #6a1b9a;
	}

.declarations-container {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.declaration-item {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 12px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.declaration-text {
	flex: 1;
	font-size: 13px;
	line-height: 1.5;
}

.declaration-en {
	color: var(--color-text-base-secondary);
	font-style: italic;
	font-size: 11px;
	margin-top: 4px;
}

.documents-checklist {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.document-checklist-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 15px;
	background: var(--color-background-base-secondary);
	border: 1px solid var(--color-border-base-default);
	border-radius: 6px;
}

	.document-checklist-item.uploaded {
		background: #e8f5e9;
		border-color: #4caf50;
	}

.doc-info {
	display: flex;
	gap: 8px;
	align-items: center;
	flex: 1;
}

.doc-code {
	font-weight: 600;
	font-size: 12px;
	color: #6a1b9a;
	min-width: 40px;
}

.doc-name {
	font-size: 13px;
}

.doc-note {
	font-size: 11px;
	color: var(--color-text-base-secondary);
}

.doc-actions {
	display: flex;
	gap: 8px;
	align-items: center;
}

.doc-uploaded-badge {
	font-size: 12px;
	color: #2e7d32;
	font-weight: 500;
}

.button-group {
	display: flex;
	gap: 15px;
	margin-top: 30px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 20px;
	border-top: 2px solid var(--color-border-base-default);
}

/* Previous visas section */
.previous-visas-section {
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	background: var(--neutral-layer-1);
}

	.previous-visas-section .collapsible-header {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 16px;
		background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
		cursor: pointer;
		transition: background 0.2s;
		border-bottom: 1px solid var(--color-border-base-default);
	}

		.previous-visas-section .collapsible-header:hover {
			background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
		}

	.previous-visas-section .toggle-icon {
		font-size: 12px;
		color: var(--color-text-base-secondary);
		transition: transform 0.2s;
	}

.previous-visas-content {
	padding: 16px;
	background: #fafbfc;
}

.visas-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.visa-card {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, border-color 0.2s;
}

	.visa-card:hover {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		border-color: #cbd5e1;
	}

.visa-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);
	color: white;
}

.visa-type-badge {
	padding: 4px 10px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
}

.visa-number {
	flex: 1;
	font-family: monospace;
	font-size: 14px;
	font-weight: 600;
}

.visa-select-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	color: #1e3a5f;
	cursor: pointer;
	transition: background 0.2s;
}

	.visa-select-btn:hover {
		background: var(--neutral-layer-1);
	}

.visa-card-body {
	padding: 12px 16px;
}

.visa-info-row {
	display: flex;
	padding: 6px 0;
	border-bottom: 1px solid #f1f5f9;
}

	.visa-info-row:last-child {
		border-bottom: none;
	}

.visa-label {
	width: 140px;
	font-size: 12px;
	color: var(--color-text-base-secondary);
	flex-shrink: 0;
}

.visa-value {
	font-size: 13px;
	color: #1e293b;
	font-weight: 500;
}

/* Previous permits section */
.previous-permits-section {
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	background: var(--neutral-layer-1);
}

	.previous-permits-section .collapsible-header {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 16px;
		background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
		cursor: pointer;
		transition: background 0.2s;
		border-bottom: 1px solid var(--color-border-base-default);
	}

		.previous-permits-section .collapsible-header:hover {
			background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
		}

.previous-permits-content {
	padding: 16px;
	background: #fafbfc;
}

.permits-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.permit-card {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, border-color 0.2s;
}

	.permit-card:hover {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		border-color: #cbd5e1;
	}

.permit-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: linear-gradient(135deg, #065f46 0%, #047857 100%);
	color: white;
}

.permit-type-badge {
	padding: 4px 10px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	text-transform: capitalize;
}

.permit-number {
	flex: 1;
	font-family: monospace;
	font-size: 14px;
	font-weight: 600;
}

.permit-select-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	color: #065f46;
	cursor: pointer;
	transition: background 0.2s;
}

	.permit-select-btn:hover {
		background: var(--neutral-layer-1);
	}

.permit-card-body {
	padding: 12px 16px;
}

.permit-info-row {
	display: flex;
	padding: 6px 0;
	border-bottom: 1px solid #f1f5f9;
}

	.permit-info-row:last-child {
		border-bottom: none;
	}

.permit-label {
	width: 140px;
	font-size: 12px;
	color: var(--color-text-base-secondary);
	flex-shrink: 0;
}

.permit-value {
	font-size: 13px;
	color: #1e293b;
	font-weight: 500;
}


	.radio-group label {
		display: flex;
		align-items: center;
		cursor: pointer;
	}

	.radio-group input[type="radio"] {
		margin-right: 6px;
		accent-color: #1e3c72;
	}

.radio-group-horizontal {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	gap: 30px;
	align-items: center;
}

	.radio-group-horizontal .radio-label-horizontal {
		display: flex;
		align-items: center;
		gap: 8px;
		cursor: pointer;
		white-space: nowrap;
	}

	.radio-group-horizontal input[type="radio"] {
		margin: 0;
		accent-color: #1e3c72;
	}

.radio-group-vertical {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.radio-item {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 8px;
	border-radius: 4px;
	transition: background-color 0.2s;
}

	.radio-item:hover {
		background-color: var(--color-background-base-secondary);
	}

	.radio-item input[type="radio"] {
		margin-right: 10px;
		accent-color: #1e3c72;
	}

/* Address */
.address-subsection {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.address-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
}

.address-field {
	display: flex;
	flex-direction: column;
}

	.address-field label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
	}

.address-field-small {
	display: flex;
	flex-direction: column;
	max-width: 100px;
}

	.address-field-small label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
	}

/* Declarations */
.declarations-container {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.declaration-item {
	padding: 10px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

	.declaration-item label {
		display: flex;
		align-items: flex-start;
		cursor: pointer;
		gap: 10px;
	}

		.declaration-item label span {
			flex: 1;
			line-height: 1.5;
		}

/* Button group */
.button-group {
	display: flex;
	gap: 15px;
	margin-top: 30px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 20px;
	border-top: 2px solid var(--color-border-base-default);
}

/* Spouse Section */
.spouse-section {
	padding: 15px;
	background: #fff8e1;
	border: 1px solid #ffe082;
	border-radius: 8px;
}

.form-grid-spouse {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
}

/* Children Section */
.children-section {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.children-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 15px;
}

.child-entry {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	padding: 15px;
}

.child-entry-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--color-border-base-default);
}

.child-number {
	font-weight: 600;
	color: #1e3c72;
	font-size: 1.1em;
}

.child-fields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
}

.child-field {
	display: flex;
	flex-direction: column;
}

	.child-field label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
		font-weight: 500;
	}

.no-children-message {
	text-align: center;
	color: var(--color-text-base-secondary);
	padding: 20px;
}

.add-child-button {
	margin-top: 15px;
}

/* Languages Multi-select */
.multiselect-wrapper {
	border: 1px solid var(--color-border-base-default);
	border-radius: 4px;
	background: var(--neutral-layer-1);
	max-height: 150px;
	overflow-y: auto;
}

.language-list-container {
	display: flex;
	flex-direction: column;
}

.language-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	cursor: pointer;
	transition: background-color 0.2s;
	font-size: 0.95em;
	border-bottom: 1px solid var(--color-border-base-default);
}

	.language-item:last-child {
		border-bottom: none;
	}

	.language-item:hover {
		background-color: var(--color-background-base-secondary);
	}

	.language-item input[type="checkbox"] {
		cursor: pointer;
		accent-color: var(--accent-fill-rest);
		width: 16px;
		height: 16px;
	}

/* Travel Documents Section */
.travel-documents-header {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.travel-documents-container {
	padding: 15px;
	background: var(--neutral-layer-1);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.travel-documents-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 20px;
}

.travel-doc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
	transition: all 0.2s;
}

	.travel-doc-item:hover {
		border-color: #1e3c72;
		box-shadow: 0 2px 8px rgba(30, 60, 114, 0.15);
	}

.travel-doc-info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.doc-type-badge {
	display: inline-block;
	background: #1e3c72;
	color: white;
	padding: 4px 12px;
	border-radius: 12px;
	font-size: 0.85em;
	font-weight: 600;
	width: fit-content;
}

.doc-details {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	color: var(--color-text-base-default);
}

.doc-details-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 20px;
	margin-top: 8px;
	padding: 10px;
	background: var(--neutral-layer-1);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.doc-field {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.doc-field-label {
	font-size: 0.8em;
	color: var(--color-text-base-secondary);
	font-weight: 500;
}

.doc-field-value {
	font-size: 0.95em;
	color: #1e3c72;
	font-weight: 600;
}

.doc-number {
	font-weight: 600;
	color: #1e3c72;
}

.doc-dates {
	color: var(--color-text-base-secondary);
	font-size: 0.9em;
}

.doc-issuer {
	color: var(--color-text-base-secondary);
	font-size: 0.9em;
	font-style: italic;
}

.doc-file-badge {
	display: inline-block;
	background: #e8f5e9;
	color: #2e7d32;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.8em;
	width: fit-content;
}

.travel-doc-actions {
	display: flex;
	gap: 8px;
}

.no-documents-message {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	color: var(--color-text-base-secondary);
	font-style: italic;
	margin-bottom: 15px;
}

.add-document-button {
	display: flex;
	gap: 15px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 15px;
	border-top: 1px dashed var(--color-border-base-default);
}

/* Document Upload List */
.document-upload-list {
	margin-top: 20px;
}

.doc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 15px;
	background: var(--neutral-layer-1);
	margin-bottom: 8px;
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
	transition: all 0.2s;
}

	.doc-item:hover {
		border-color: #1e3c72;
		box-shadow: 0 2px 8px rgba(30, 60, 114, 0.15);
	}

	.doc-item.uploaded {
		background: #e8f5e9;
		border-color: #4caf50;
	}

.doc-info {
	flex: 1;
}

.doc-code {
	display: inline-block;
	background: #1e3c72;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.8em;
	font-weight: bold;
	margin-right: 10px;
}

.doc-name {
	font-weight: 500;
	color: var(--color-text-base-default);
}

.doc-note {
	font-size: 0.85em;
	color: var(--color-text-base-secondary);
	margin-top: 4px;
	font-style: italic;
}

.doc-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

	.doc-actions.uploaded {
		color: #2e7d32;
	}

.upload-status {
	font-weight: 600;
	color: #2e7d32;
	font-size: 0.9em;
}

.documents-info {
	padding: 20px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
}

.documents-header {
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
}

.documents-status {
	padding: 12px;
	border-radius: 6px;
	font-weight: 500;
	margin-bottom: 15px;
}

	.documents-status.success {
		background: #d4edda;
		color: #155724;
		border: 1px solid #c3e6cb;
	}

	.documents-status.warning {
		background: #fff3cd;
		color: #856404;
		border: 1px solid #ffeaa7;
	}

.documents-missing {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px;
	background: #fff3cd;
	border-radius: 8px;
	border: 1px solid #ffeaa7;
	color: #856404;
}

.warning-icon {
	font-size: 1.5em;
}

.badge {
	display: inline-block;
	padding: 4px 12px;
	background: #1e3c72;
	color: white;
	border-radius: 12px;
	font-size: 0.85em;
	font-weight: 600;
}

.btn-save {
	display: none !important;
}


/* Type selector */
.type-selector {
	background: #fff3e0;
	border: 2px solid #ff9800;
	border-radius: 8px;
	padding: 20px;
	margin-bottom: 25px;
}

	.type-selector h3 {
		color: #e65100;
		margin-bottom: 15px;
		font-size: 1em;
	}

.type-options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.type-option {
	background: var(--neutral-layer-1);
	border: 2px solid var(--color-border-base-default);
	border-radius: 8px;
	padding: 15px;
	cursor: pointer;
	transition: all 0.2s;
}

	.type-option:hover {
		border-color: #ff9800;
	}

	.type-option.selected {
		border-color: #2e7d32;
		background: #e8f5e9;
	}

	.type-option input {
		margin-right: 10px;
	}

	.type-option label {
		cursor: pointer;
		font-weight: 500;
	}

	.type-option .desc {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-top: 5px;
		margin-left: 24px;
	}

	.radio-group label {
		display: flex;
		align-items: center;
		cursor: pointer;
	}

	.radio-group input[type="radio"] {
		margin-right: 6px;
		accent-color: #2e7d32;
	}

.address-subsection {
	background: var(--color-background-base-secondary);
	border: 1px solid var(--color-border-base-default);
	border-radius: 6px;
	padding: 15px;
	margin-top: 5px;
}

.address-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}

.address-grid .address-field {
	grid-column: span 2;
}

.address-grid .address-field-small {
	grid-column: span 1;
}

.declarations-container {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.declaration-item {
	background: var(--color-background-base-secondary);
	border: 1px solid var(--color-border-base-default);
	border-radius: 6px;
	padding: 15px;
}

.declaration-item label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}

.button-group {
	display: flex;
	gap: 15px;
	margin-top: 30px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 20px;
	border-top: 2px solid var(--color-border-base-default);
}

.sectiontitle {
	padding: 20px 30px;
	margin-bottom: 10px;
}

	.sectiontitle h3 {
		margin: 0 0 5px 0;
		font-size: 1.3em;
	}

	.sectiontitle p {
		margin: 0;
		opacity: 0.9;
	}

.bg-blue-600 {
	background: linear-gradient(135deg, #1565c0 0%, #1e88e5 100%);
}

/* Type Selector */
.type-selector {
	background: #e3f2fd;
	border: 2px solid #1e88e5;
	border-radius: 8px;
	padding: 20px;
}

.type-options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.type-option {
	background: var(--neutral-layer-1);
	border: 2px solid var(--color-border-base-default);
	border-radius: 8px;
	padding: 15px;
	cursor: pointer;
	transition: all 0.2s;
}

	.type-option:hover {
		border-color: #1e88e5;
	}

	.type-option.selected {
		border-color: #1565c0;
		background: #e3f2fd;
	}

	.type-option input[type="radio"] {
		margin-right: 10px;
		accent-color: #1565c0;
	}

	.type-option label {
		cursor: pointer;
	}

	.type-option .desc {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-top: 5px;
		margin-left: 24px;
	}

	.radio-group label {
		display: flex;
		align-items: center;
		cursor: pointer;
	}

	.radio-group input[type="radio"] {
		margin-right: 6px;
		accent-color: #1565c0;
	}

/* Checkbox Group */
.checkbox-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

	.checkbox-group label {
		display: flex;
		align-items: center;
		cursor: pointer;
		gap: 8px;
	}

/* Declarations */
.declarations-container {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.declaration-item {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

	.declaration-item label {
		display: flex;
		align-items: flex-start;
		cursor: pointer;
		gap: 10px;
	}

		.declaration-item label span {
			flex: 1;
			line-height: 1.6;
		}

/* Button Group */
.button-group {
	display: flex;
	gap: 15px;
	margin-top: 30px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 20px;
	border-top: 2px solid var(--color-border-base-default);
}

/* Family Info */
.family-info {
	padding: 15px;
	background: #fff8e1;
	border: 1px solid #ffe082;
	border-radius: 6px;
}

/* Previous visas section */
.previous-visas-section {
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	background: var(--neutral-layer-1);
}

	.previous-visas-section .collapsible-header {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 16px;
		background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
		cursor: pointer;
		transition: background 0.2s;
		border-bottom: 1px solid var(--color-border-base-default);
	}

		.previous-visas-section .collapsible-header:hover {
			background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
		}

	.previous-visas-section .toggle-icon {
		font-size: 12px;
		color: var(--color-text-base-secondary);
		transition: transform 0.2s;
	}

.previous-visas-content {
	padding: 16px;
	background: #fafbfc;
}

.visas-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.visa-card {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, border-color 0.2s;
}

	.visa-card:hover {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		border-color: #cbd5e1;
	}

.visa-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);
	color: white;
}

.visa-type-badge {
	padding: 4px 10px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
}

.visa-number {
	flex: 1;
	font-family: monospace;
	font-size: 14px;
	font-weight: 600;
}

.visa-select-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	color: #1e3a5f;
	cursor: pointer;
	transition: background 0.2s;
}

	.visa-select-btn:hover {
		background: var(--neutral-layer-1);
	}

.visa-card-body {
	padding: 12px 16px;
}

.visa-info-row {
	display: flex;
	padding: 6px 0;
	border-bottom: 1px solid #f1f5f9;
}

	.visa-info-row:last-child {
		border-bottom: none;
	}

.visa-label {
	width: 140px;
	font-size: 12px;
	color: var(--color-text-base-secondary);
	flex-shrink: 0;
}

.visa-value {
	font-size: 13px;
	color: #1e293b;
	font-weight: 500;
}

/* Previous permits section */
.previous-permits-section {
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	background: var(--neutral-layer-1);
}

	.previous-permits-section .collapsible-header {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 16px;
		background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
		cursor: pointer;
		transition: background 0.2s;
		border-bottom: 1px solid var(--color-border-base-default);
	}

		.previous-permits-section .collapsible-header:hover {
			background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
		}

.previous-permits-content {
	padding: 16px;
	background: #fafbfc;
}

.permits-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.permit-card {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, border-color 0.2s;
}

	.permit-card:hover {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		border-color: #cbd5e1;
	}

.permit-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: linear-gradient(135deg, #065f46 0%, #047857 100%);
	color: white;
}

.permit-type-badge {
	padding: 4px 10px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	text-transform: capitalize;
}

.permit-number {
	flex: 1;
	font-family: monospace;
	font-size: 14px;
	font-weight: 600;
}

.permit-select-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	color: #065f46;
	cursor: pointer;
	transition: background 0.2s;
}

	.permit-select-btn:hover {
		background: var(--neutral-layer-1);
	}

.permit-card-body {
	padding: 12px 16px;
}

.permit-info-row {
	display: flex;
	padding: 6px 0;
	border-bottom: 1px solid #f1f5f9;
}

	.permit-info-row:last-child {
		border-bottom: none;
	}

.permit-label {
	width: 140px;
	font-size: 12px;
	color: var(--color-text-base-secondary);
	flex-shrink: 0;
}

.permit-value {
	font-size: 13px;
	color: #1e293b;
	font-weight: 500;
}

.toggle-icon {
	font-size: 12px;
	color: var(--color-text-base-secondary);
	transition: transform 0.2s;
}

/* Children Section */
.children-section {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.children-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 15px;
}

.child-entry {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	padding: 15px;
}

.child-entry-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--color-border-base-default);
}

.child-number {
	font-weight: 600;
	color: #1e3c72;
	font-size: 1.1em;
}

.child-fields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
}

.child-field {
	display: flex;
	flex-direction: column;
}

	.child-field label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
		font-weight: 500;
	}

.no-children-message {
	text-align: center;
	color: var(--color-text-base-secondary);
	padding: 20px;
}

.add-child-button {
	margin-top: 15px;
}

/* Travel Documents */
.travel-documents-header {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.radio-group-horizontal {
	display: flex;
	gap: 20px;
}

.radio-label-horizontal {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}

.travel-documents-container {
	padding: 15px;
	background: var(--neutral-layer-1);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.travel-documents-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 20px;
}

.travel-doc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
	transition: all 0.2s;
}

	.travel-doc-item:hover {
		border-color: #1e3c72;
		box-shadow: 0 2px 8px rgba(30, 60, 114, 0.15);
	}

.travel-doc-info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.doc-type-badge {
	display: inline-block;
	background: #1e3c72;
	color: white;
	padding: 4px 12px;
	border-radius: 12px;
	font-size: 0.85em;
	font-weight: 600;
	width: fit-content;
}

.doc-details-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 20px;
	margin-top: 8px;
	padding: 10px;
	background: var(--neutral-layer-1);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.doc-field {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.doc-field-label {
	font-size: 0.8em;
	color: var(--color-text-base-secondary);
	font-weight: 500;
}

.doc-field-value {
	font-size: 0.95em;
	color: #1e3c72;
	font-weight: 600;
}

.doc-file-badge {
	display: inline-block;
	background: #e8f5e9;
	color: #2e7d32;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.8em;
	width: fit-content;
}

.travel-doc-actions {
	display: flex;
	gap: 8px;
}

.no-documents-message {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	color: var(--color-text-base-secondary);
	font-style: italic;
	margin-bottom: 15px;
}

.add-document-button {
	display: flex;
	gap: 15px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 15px;
	border-top: 1px dashed var(--color-border-base-default);
}

/* Languages Multi-select */
.multiselect-wrapper {
	border: 1px solid var(--color-border-base-default);
	border-radius: 4px;
	background: var(--neutral-layer-1);
	max-height: 150px;
	overflow-y: auto;
}

.language-list-container {
	display: flex;
	flex-direction: column;
}

.language-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	cursor: pointer;
	transition: background-color 0.2s;
	font-size: 0.95em;
	border-bottom: 1px solid var(--color-border-base-default);
}

	.language-item:last-child {
		border-bottom: none;
	}

	.language-item:hover {
		background-color: var(--color-background-base-secondary);
	}

	.language-item input[type="checkbox"] {
		cursor: pointer;
		accent-color: var(--accent-fill-rest);
		width: 16px;
		height: 16px;
	}

/* ==========================================
       DOCUMENTE NECESARE - Styles
       ========================================== */
.document-upload-list {
	margin-top: 20px;
}

.doc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 15px;
	background: var(--neutral-layer-1);
	margin-bottom: 8px;
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
	transition: all 0.2s;
}

	.doc-item:hover {
		border-color: #1e3c72;
		box-shadow: 0 2px 8px rgba(30, 60, 114, 0.15);
	}

	.doc-item.uploaded {
		background: #e8f5e9;
		border-color: #4caf50;
	}

	.doc-item.mandatory {
		border-left: 4px solid #dc3545;
	}

	.doc-item.optional {
		opacity: 0.85;
	}

.doc-info {
	flex: 1;
}

.doc-code {
	display: inline-block;
	background: #1e3c72;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.8em;
	font-weight: bold;
	margin-right: 10px;
}

.doc-name {
	font-weight: 500;
	color: var(--color-text-base-default);
}

.doc-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

	.doc-actions.uploaded {
		color: #2e7d32;
	}

.upload-status {
	font-weight: 600;
	color: #2e7d32;
	font-size: 0.9em;
}

.documents-info {
	padding: 20px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
}

.documents-header {
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
}

.documents-status {
	padding: 12px;
	border-radius: 6px;
	font-weight: 500;
	margin-bottom: 15px;
}

	.documents-status.success {
		background: #d4edda;
		color: #155724;
		border: 1px solid #c3e6cb;
	}

.documents-missing {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px;
	background: #fff3cd;
	border-radius: 8px;
	border: 1px solid #ffeaa7;
	color: #856404;
}

.warning-icon {
	font-size: 1.5em;
}

.badge {
	display: inline-block;
	padding: 4px 12px;
	background: #1e3c72;
	color: white;
	border-radius: 12px;
	font-size: 0.85em;
	font-weight: 600;
}

.doc-category-header {
	padding: 12px 18px;
	border-radius: 6px;
	margin: 20px 0 10px 0;
	font-weight: 600;
	font-size: 1em;
}

.obligatoriu-header {
	background: #d9534f;
	color: white;
}

.optional-header {
	background: #5cb85c;
	color: white;
}

.doc-badge-mandatory {
	display: inline-block;
	background: #dc3545;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.75em;
	font-weight: 600;
	margin-left: 8px;
}

.doc-badge-optional {
	display: inline-block;
	background: #5cb85c;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.75em;
	font-weight: 600;
	margin-left: 8px;
}

/* Declaratie acord section */
.declaratie-section {
	border: 2px solid var(--accent-fill-rest);
	border-radius: 10px;
	padding: 20px;
	background: linear-gradient(135deg, #f0f7ff 0%, #fff 100%);
	margin-bottom: 10px;
}

.declaratie-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid #d0e3f7;
}

	.declaratie-header h4 {
		color: #1e3c72;
		font-size: 1em;
	}

.declaratie-text {
	font-size: 0.92em;
	color: var(--color-text-base-default);
	line-height: 1.6;
	margin-bottom: 16px;
	padding: 10px 14px;
	background-color: var(--neutral-layer-1);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.declaratie-controls {
	margin-bottom: 16px;
}

.declaratie-scan {
	padding: 12px;
	background-color: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px dashed #ccc;
}

/* CORM inline search hover */
.corm-inline-result:hover {
	background-color: #f8fafc !important;
}

/* Previous visas section */
.previous-visas-section {
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	background: var(--neutral-layer-1);
}

	.previous-visas-section .collapsible-header {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 16px;
		cursor: pointer;
		transition: background 0.2s;
		background-color: #e8f4fd;
		border-radius: 6px;
		border: 1px solid #b3d9f2;
	}

		.previous-visas-section .collapsible-header:hover {
			background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
		}

	.previous-visas-section .toggle-icon {
		font-size: 12px;
		color: var(--color-text-base-secondary);
		transition: transform 0.2s;
	}

.previous-visas-content {
	padding: 16px;
	background: #fafbfc;
}

.visas-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.visa-card {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, border-color 0.2s;
}

	.visa-card:hover {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		border-color: #cbd5e1;
	}

.visa-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);
	color: white;
}

.visa-type-badge {
	padding: 4px 10px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
}

.visa-number {
	flex: 1;
	font-family: monospace;
	font-size: 14px;
	font-weight: 600;
}

.visa-select-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	color: #1e3a5f;
	cursor: pointer;
	transition: background 0.2s;
}

	.visa-select-btn:hover {
		background: var(--neutral-layer-1);
	}

.visa-card-body {
	padding: 12px 16px;
}

.visa-info-row {
	display: flex;
	padding: 6px 0;
	border-bottom: 1px solid #f1f5f9;
}

	.visa-info-row:last-child {
		border-bottom: none;
	}

.visa-label {
	width: 140px;
	font-size: 12px;
	color: var(--color-text-base-secondary);
	flex-shrink: 0;
}

.visa-value {
	font-size: 13px;
	color: #1e293b;
	font-weight: 500;
}

/* Previous permits section */
.previous-permits-section {
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	background: var(--neutral-layer-1);
}

	.previous-permits-section .collapsible-header {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 16px;
		cursor: pointer;
		transition: background 0.2s;
		background-color: #e8f4fd;
		border-radius: 6px;
		border: 1px solid #b3d9f2;
	}

		.previous-permits-section .collapsible-header:hover {
			background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
		}

.previous-permits-content {
	padding: 16px;
	background: #fafbfc;
}

.permits-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.permit-card {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, border-color 0.2s;
}

	.permit-card:hover {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		border-color: #cbd5e1;
	}

.permit-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: linear-gradient(135deg, #065f46 0%, #047857 100%);
	color: white;
}

.permit-type-badge {
	padding: 4px 10px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	text-transform: capitalize;
}

.permit-number {
	flex: 1;
	font-family: monospace;
	font-size: 14px;
	font-weight: 600;
}

.permit-select-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	color: #065f46;
	cursor: pointer;
	transition: background 0.2s;
}

	.permit-select-btn:hover {
		background: var(--neutral-layer-1);
	}

.permit-card-body {
	padding: 12px 16px;
}

.permit-info-row {
	display: flex;
	padding: 6px 0;
	border-bottom: 1px solid #f1f5f9;
}

	.permit-info-row:last-child {
		border-bottom: none;
	}

.permit-label {
	width: 140px;
	font-size: 12px;
	color: var(--color-text-base-secondary);
	flex-shrink: 0;
}

.permit-value {
	font-size: 13px;
	color: #1e293b;
	font-weight: 500;
}

	.radio-group label {
		display: flex;
		align-items: center;
		cursor: pointer;
	}

	.radio-group input[type="radio"] {
		margin-right: 6px;
		accent-color: #1e3c72;
	}

/* Radio group collapsed - selected item display */
.radio-group-collapsed {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 15px;
	background-color: #e8f4fd;
	border-radius: 6px;
	border: 1px solid #b3d9f2;
}

.radio-selected-item {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
}

.radio-selected-indicator {
	color: #1e3c72;
	font-size: 14px;
}

.radio-selected-text {
	font-size: 0.9rem;
	color: #1e3c72;
	font-weight: 600;
}

/* Horizontal radio group - forced horizontal layout */
.radio-group-horizontal {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	gap: 30px;
	align-items: center;
}

	.radio-group-horizontal .radio-label-horizontal {
		display: flex;
		align-items: center;
		gap: 8px;
		cursor: pointer;
		white-space: nowrap;
	}

	.radio-group-horizontal input[type="radio"] {
		margin: 0;
		accent-color: #1e3c72;
	}

/* Radio Group (визуально как checkbox grid) */
.radio-group-vertical {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 10px;
	padding: 15px;
	background-color: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.radio-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px;
	border-radius: 4px;
	transition: background-color 0.2s;
	cursor: pointer;
}

	.radio-item:hover {
		background-color: #f0f0f0;
	}

	.radio-item input[type="radio"] {
		margin-top: 3px;
		width: 18px;
		height: 18px;
		cursor: pointer;
	}

	.radio-item label {
		cursor: pointer;
		font-size: 0.9rem;
		line-height: 1.4;
		color: var(--color-text-base-default);
	}

.address-subsection {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.address-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
}

.address-field {
	display: flex;
	flex-direction: column;
}

	.address-field label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
	}

.address-field-small {
	display: flex;
	flex-direction: column;
	max-width: 100px;
}

	.address-field-small label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
	}

.declarations-container {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.declaration-item {
	padding: 10px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

	.declaration-item label {
		display: flex;
		align-items: flex-start;
		cursor: pointer;
		gap: 10px;
	}

		.declaration-item label span {
			flex: 1;
			line-height: 1.5;
		}

.button-group {
	display: flex;
	gap: 15px;
	margin-top: 30px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 20px;
	border-top: 2px solid var(--color-border-base-default);
}

/* Spouse Section */
.spouse-section {
	padding: 15px;
	background: #fff8e1;
	border: 1px solid #ffe082;
	border-radius: 8px;
}

.form-grid-spouse {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
}

/* Children Section */
.children-section {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.children-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 15px;
}

.child-entry {
	background: var(--neutral-layer-1);
	border: 1px solid var(--color-border-base-default);
	border-radius: 8px;
	padding: 15px;
}

.child-entry-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--color-border-base-default);
}

.child-number {
	font-weight: 600;
	color: #1e3c72;
	font-size: 1.1em;
}

.child-fields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
}

.child-field {
	display: flex;
	flex-direction: column;
}

	.child-field label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
		font-weight: 500;
	}

.no-children-message {
	text-align: center;
	color: var(--color-text-base-secondary);
	padding: 20px;
}

.add-child-button {
	margin-top: 15px;
}

/* Languages Multi-select (same as ApatridieForm) */
.multiselect-wrapper {
	border: 1px solid var(--color-border-base-default);
	border-radius: 4px;
	background: var(--neutral-layer-1);
	max-height: 150px;
	overflow-y: auto;
}

.language-list-container {
	display: flex;
	flex-direction: column;
}

.language-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	cursor: pointer;
	transition: background-color 0.2s;
	font-size: 0.95em;
	border-bottom: 1px solid var(--color-border-base-default);
}

	.language-item:last-child {
		border-bottom: none;
	}

	.language-item:hover {
		background-color: var(--color-background-base-secondary);
	}

	.language-item input[type="checkbox"] {
		cursor: pointer;
		accent-color: var(--accent-fill-rest);
		width: 16px;
		height: 16px;
	}

/* Travel Documents Section */
.travel-documents-header {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.travel-documents-container {
	padding: 15px;
	background: var(--neutral-layer-1);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
}

.travel-documents-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 20px;
}

.travel-doc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	border: 1px solid var(--color-border-base-default);
	transition: all 0.2s;
}

	.travel-doc-item:hover {
		border-color: #1e3c72;
		box-shadow: 0 2px 8px rgba(30, 60, 114, 0.15);
	}

.travel-doc-info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.doc-type-badge {
	display: inline-block;
	background: #1e3c72;
	color: white;
	padding: 4px 12px;
	border-radius: 12px;
	font-size: 0.85em;
	font-weight: 600;
	width: fit-content;
}

.doc-details-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 20px;
	margin-top: 8px;
	padding: 10px;
	background: var(--neutral-layer-1);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.doc-field {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.doc-field-label {
	font-size: 0.8em;
	color: var(--color-text-base-secondary);
	font-weight: 500;
}

.doc-field-value {
	font-size: 0.95em;
	color: #1e3c72;
	font-weight: 600;
}

.doc-file-badge {
	display: inline-block;
	background: #e8f5e9;
	color: #2e7d32;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.8em;
	width: fit-content;
}

.travel-doc-actions {
	display: flex;
	gap: 8px;
}

.no-documents-message {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
	color: var(--color-text-base-secondary);
	font-style: italic;
	margin-bottom: 15px;
}

.add-document-button {
	display: flex;
	gap: 15px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 15px;
	border-top: 1px dashed var(--color-border-base-default);
}

/* Document Upload List */
.document-upload-list {
	margin-top: 20px;
}

.doc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 15px;
	background: var(--neutral-layer-1);
	margin-bottom: 8px;
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
	transition: all 0.2s;
}

	.doc-item:hover {
		border-color: #1e3c72;
		box-shadow: 0 2px 8px rgba(30, 60, 114, 0.15);
	}

	.doc-item.uploaded {
		background: #e8f5e9;
		border-color: #4caf50;
	}

.doc-info {
	flex: 1;
}

.doc-code {
	display: inline-block;
	background: #1e3c72;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.8em;
	font-weight: bold;
	margin-right: 10px;
}

.doc-name {
	font-weight: 500;
	color: var(--color-text-base-default);
}

.doc-note {
	font-size: 0.85em;
	color: var(--color-text-base-secondary);
	margin-top: 4px;
	font-style: italic;
}

.doc-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

	.doc-actions.uploaded {
		color: #2e7d32;
	}

.upload-status {
	font-weight: 600;
	color: #2e7d32;
	font-size: 0.9em;
}

.documents-info {
	padding: 20px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
}

.documents-header {
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
}

.documents-status {
	padding: 12px;
	border-radius: 6px;
	font-weight: 500;
	margin-bottom: 15px;
}

	.documents-status.success {
		background: #d4edda;
		color: #155724;
		border: 1px solid #c3e6cb;
	}

.documents-missing {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px;
	background: #fff3cd;
	border-radius: 8px;
	border: 1px solid #ffeaa7;
	color: #856404;
}

.warning-icon {
	font-size: 1.5em;
}

.badge {
	display: inline-block;
	padding: 4px 12px;
	background: #1e3c72;
	color: white;
	border-radius: 12px;
	font-size: 0.85em;
	font-weight: 600;
}

/* Document category headers (mandatory/optional) */
.doc-category-header {
	padding: 12px 18px;
	border-radius: 6px;
	margin: 20px 0 10px 0;
	font-weight: 600;
	font-size: 1em;
}

/* ConfirmDialog */
.confirm-dialog {
    width: 480px;
    max-width: 90vw;
    background-color: var(--color-background-base-default);
    color: var(--color-text-base-default);
}

.confirm-dialog-header {
	background-color: #1e3c72;
	color: white;
	padding: 5px;
}

.confirm-dialog-body {
	background-color: var(--color-background-base-default);
	color: var(--color-text-base-default);
	padding: 16px 0;
	white-space: pre-line;
	height: max-content !important;
	min-height: 0 !important;
}

.confirm-dialog-footer {
	gap: 8px;
	justify-content: end !important;
}

.obligatoriu-header {
	background: #d9534f;
	color: white;
}

.optional-header {
	background: #5cb85c;
	color: white;
}

/* Mandatory/optional doc item borders */
.doc-item.mandatory {
	border-left: 4px solid #dc3545;
}

.doc-item.optional {
	opacity: 0.85;
}

/* Document badges */
.doc-badge-mandatory {
	display: inline-block;
	background: #dc3545;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.75em;
	font-weight: 600;
	margin-left: 8px;
}

.doc-badge-optional {
	display: inline-block;
	background: #5cb85c;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.75em;
	font-weight: 600;
	margin-left: 8px;
}

.loading-content {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
	background-color: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.row-striped {
	background-color: var(--color-background-base-secondary);
}

	.row-striped.fluent-selected,
	.fluent-selected {
		background-color: var(--af-accent) !important;
		color: var(--af-surface) !important;
	}

.search-filters {
	display: flex;
	gap: 12px;
	padding: 12px 8px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	margin-bottom: 8px;
	flex-wrap: wrap;
	align-items: flex-end;
}

	.search-filters .filter-item {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}

		.search-filters .filter-item label {
			font-size: 12px;
			font-weight: 500;
			color: var(--color-text-base-secondary);
		}

	.search-filters .filter-buttons {
		display: flex;
		flex-direction: row;
		gap: 8px;
		align-items: center;
		align-self: flex-end;
	}

.refresh-btn-grid {
	background: transparent;
	border: 1px solid var(--color-border-base-default);
	border-radius: 6px;
	cursor: pointer;
	padding: 5px;
	height: 32px;
	width: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

	.refresh-btn-grid:hover {
		background-color: #dde6f0;
		border-color: var(--accent-fill-rest);
	}

.btn-save {
	display: none !important;
}

/* Form Header */
.form-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px 8px 20px;
    /*background: linear-gradient(135deg, #1e3c72, #2a5298);*/
    color: white;
    
    background: linear-gradient(135deg, var(--accent-fill-active) 0%, var(--accent-fill-rest) 100%);
    border-bottom: 3px solid var(--accent-fill-active);
    min-height: 30px;
    box-shadow: 0 2px 6px rgba(30, 58, 110, 0.25);
}

/* Reusable modifier: pins the header banner to the top while the form body scrolls.
   Add alongside .form-header (e.g. class="form-header form-header-sticky"). */
.form-header-sticky {
    position: sticky;
    top: 0;
    border-radius: 0px !important;
    margin: 0px 0 10px 0 !important;
    z-index: 100;
}

.header-content h1 {
    margin: 0;
    font-size: 1.2em;
}


.header-content h1 {
	font-size: 1.3em;
	margin-bottom: 5px;
}

.model-badge {
	background: rgba(255,255,255,0.2);
	padding: 8px 16px;
	border-radius: 20px;
	font-weight: bold;
}

.radio-group {
	display: flex;
}

	.radio-group label {
		display: flex;
		align-items: center;
		cursor: pointer;
	}

	.radio-group input[type="radio"] {
		margin-right: 6px;
		accent-color: #1e3c72;
	}

.radio-group-vertical {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.radio-item {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 8px;
	border-radius: 4px;
	transition: background-color 0.2s;
}

	.radio-item:hover {
		background-color: var(--color-background-base-secondary);
	}

	.radio-item input[type="radio"] {
		margin-right: 10px;
		accent-color: #1e3c72;
	}

.address-subsection {
	padding: 15px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

.address-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
}

.address-field {
	display: flex;
	flex-direction: column;
}

	.address-field label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
	}

.address-field-small {
	display: flex;
	flex-direction: column;
	max-width: 100px;
}

	.address-field-small label {
		font-size: 0.85em;
		color: var(--color-text-base-secondary);
		margin-bottom: 4px;
	}

.declarations-container {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.declaration-item {
	padding: 10px;
	background: var(--color-background-base-secondary);
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
}

	.declaration-item label {
		display: flex;
		align-items: flex-start;
		cursor: pointer;
		gap: 10px;
	}

		.declaration-item label span {
			flex: 1;
			line-height: 1.5;
		}

.button-group {
	display: flex;
	gap: 15px;
	margin-top: 30px;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 20px;
	border-top: 2px solid var(--color-border-base-default);
}

/* Document Upload List */
.document-upload-list {
	margin-top: 20px;
}

.doc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 15px;
	background: var(--neutral-layer-1);
	margin-bottom: 8px;
	border-radius: 6px;
	border: 1px solid var(--color-border-base-default);
	transition: all 0.2s;
}

	.doc-item:hover {
		border-color: #1e3c72;
		box-shadow: 0 2px 8px rgba(30, 60, 114, 0.15);
	}

	.doc-item.uploaded {
		background: #e8f5e9;
		border-color: #4caf50;
	}

.doc-info {
	flex: 1;
}

.doc-code {
	display: inline-block;
	background: #1e3c72;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.8em;
	font-weight: bold;
	margin-right: 10px;
}

.doc-name {
	font-weight: 500;
	color: var(--color-text-base-default);
}

.doc-note {
	font-size: 0.85em;
	color: var(--color-text-base-secondary);
	margin-top: 4px;
	font-style: italic;
}

.doc-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

	.doc-actions.uploaded {
		color: #2e7d32;
	}

.upload-status {
	font-weight: 600;
	color: #2e7d32;
	font-size: 0.9em;
}

.documents-info {
	padding: 20px;
	background: var(--color-background-base-secondary);
	border-radius: 8px;
}

.documents-header {
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
}

.documents-status {
	padding: 12px;
	border-radius: 6px;
	font-weight: 500;
	margin-bottom: 15px;
}

	.documents-status.success {
		background: #d4edda;
		color: #155724;
		border: 1px solid #c3e6cb;
	}

	.documents-status.warning {
		background: #fff3cd;
		color: #856404;
		border: 1px solid #ffeaa7;
	}

.documents-missing {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px;
	background: #fff3cd;
	border-radius: 8px;
	border: 1px solid #ffeaa7;
	color: #856404;
}

.warning-icon {
	font-size: 1.5em;
}

.badge {
	display: inline-block;
	padding: 4px 12px;
	background: #1e3c72;
	color: white;
	border-radius: 12px;
	font-size: 0.85em;
	font-weight: 600;
}

.filter-row {
	display: flex;
	gap: 8px;
	padding: 10px 10px 10px 10px;
	align-items: flex-end;
	flex-wrap: wrap;
	border-bottom: 0px solid var(--color-border-base-default);
	margin-bottom: 4px;
}

.row-striped {
	background-color: var(--color-background-base-secondary);
}

.row-striped.fluent-selected,
.fluent-selected {
	background-color: var(--af-accent) !important;
	color: var(--af-surface) !important;
}

.doc-badge-mandatory {
  font-size: 10px;
  font-weight: 700;
  color: #dc2626;
  background: #fef2f2;
  padding: 2px 8px;
  border-radius: 10px;
  border: 1px solid #fecaca;
}

.doc-badge-optional {
  font-size: 10px;
  font-weight: 600;
  color: #d97706;
  background: #fffbeb;
  padding: 2px 8px;
  border-radius: 10px;
  border: 1px solid #fde68a;
}

.doc-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.upload-status {
  color: #16a34a;
  font-weight: 600;
  font-size: 13px;
}

.visa-location-combo {
  display: flex;
  align-items: center;
  gap: 4px;
}

.profile-section-wrap .fluent-data-grid td {
  overflow: auto;
  text-overflow:unset;
  scrollbar-width: thin;
}

.error-dialog {
  z-index: 1100 !important;
}

.btn-save {
  display: none !important;
}

.button-group {
  display: flex;
  gap: 15px;
  margin-top: 30px;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 20px;
  border-top: 2px solid var(--color-border-base-default);
}

.children-section {
  padding: 10px 0;
}

.children-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.child-entry {
  background: var(--color-background-base-secondary);
  border: 1px solid var(--color-border-base-default);
  border-radius: 8px;
  padding: 15px;
}

.child-entry-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.child-number {
  font-weight: 600;
  color: #1e3c72;
  font-size: 14px;
}

.child-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}

.child-field label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-base-secondary);
  margin-bottom: 4px;
}

.no-children-message {
  text-align: center;
  padding: 20px;
  color: var(--color-text-base-tertiary);
  font-style: italic;
}

.add-child-button {
  margin-top: 15px;
}

/* Declarations */
.declarations-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.declaration-item {
  background: var(--color-background-base-secondary);
  border-left: 4px solid #667eea;
  padding: 15px;
  border-radius: 4px;
}

  .declaration-item label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    cursor: pointer;
  }

  .declaration-item span {
    line-height: 1.5;
  }

/* Documents checklist */
.documents-checklist {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.doc-category-header {
  font-weight: 700;
  font-size: 14px;
  padding: 10px 15px;
  border-radius: 6px;
  margin-top: 10px;
}

.obligatoriu-header {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
}

.optional-header {
  background: #fffbeb;
  color: #d97706;
  border: 1px solid #fde68a;
}

.doc-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  border: 1px solid var(--color-border-base-default);
  border-radius: 8px;
  background: var(--neutral-layer-1);
  transition: all 0.2s;
}

  .doc-item.mandatory {
    border-left: 4px solid #dc2626;
  }

  .doc-item.optional {
    border-left: 4px solid #d97706;
  }

  .doc-item.uploaded {
    background: #f0fdf4;
    border-color: #86efac;
  }

.doc-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.doc-code {
  background: #667eea;
  color: white;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  min-width: 40px;
  text-align: center;
}

.doc-name {
  font-weight: 500;
  color: var(--color-text-base-default);
  font-size: 13px;
}

.doc-badge-mandatory {
  font-size: 10px;
  font-weight: 700;
  color: #dc2626;
  background: #fef2f2;
  padding: 2px 8px;
  border-radius: 10px;
  border: 1px solid #fecaca;
}

.doc-badge-optional {
  font-size: 10px;
  font-weight: 600;
  color: #d97706;
  background: #fffbeb;
  padding: 2px 8px;
  border-radius: 10px;
  border: 1px solid #fde68a;
}

.doc-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.upload-status {
  color: #16a34a;
  font-weight: 600;
  font-size: 13px;
}

.masked-date-input.required, .form-field-req {
  border: 1px solid red !important;
}

.section-block {
  padding: 12px;
  background: var(--neutral-layer-1);
}

.section-title {
  margin: 0 0 10px 0;
  font-size: 16px;
  color: #1e3c72;
  border-bottom: 2px solid #1e3c72;
  padding-bottom: 6px;
}

.children-toolbar {
  padding: 6px 0 12px;
}

.children-empty {
  padding: 20px;
  font-style: italic;
  color: var(--color-text-base-tertiary);
  text-align: center;
}

.children-table {
  width: 100%;
  border-collapse: collapse;
}

  .children-table th {
    text-align: left;
    background: var(--color-background-base-secondary);
    padding: 6px;
    border-bottom: 2px solid #1e3c72;
    font-size: 12px;
  }

  .children-table td {
    padding: 6px;
    border-bottom: 1px solid #e4e4e4;
  }

  fluent-number-field[required] {
    border: 1px solid red;
    border-radius: 8px;
  }

fluent-number-field[required]::part(root) {
  background: none;
}







/* ===== Responsive Header ===== */

/* Medium screens: tighten spacing */
@media (max-width: 1200px) {
	#appBrand {
		gap: 8px;
		margin-left: 0.5em;
	}
	#appLogo {
		height: 32px;
	}
	.lang-list {
		min-width: 90px;
	}
	.lang-link, .link-top, .lang-active {
		font-size: 0.72rem;
		margin-left: 5px !important;
		margin-right: 5px !important;
	}
	#appMenu > .app-link {
		margin: 0 0.3rem;
		font-size: 0.8rem;
	}
}

/* Smaller screens: hide subtitle, shrink further */
@media (max-width: 1024px) {
	#appDesc {
		display: none;
	}
	#appTitle {
		font-size: 0.8rem;
	}
	#appLogo {
		height: 28px;
	}
	#appBrand {
		gap: 6px;
		margin-left: 0.3em;
	}
	.link-top {
		font-size: 0.68rem;
		max-width: 140px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.nav-menu-roles {
		width: 240px;
	}
}

/* Compact screens: minimal header */
@media (max-width: 850px) {
	#appTitle {
		font-size: 0.72rem;
	}
	#appLogo {
		height: 24px;
	}
	#appBrand {
		gap: 4px;
		margin-left: 0.2em;
	}
	.lang-list {
		min-width: 70px;
	}
	.lang-link, .link-top, .lang-active {
		font-size: 0.65rem;
		margin-left: 3px !important;
		margin-right: 3px !important;
	}
	.link-top {
		max-width: 100px;
	}
	#appMenu > .app-link {
		margin: 0 0.2rem;
		font-size: 0.72rem;
	}
	#appHeader {
		min-height: 46px;
	}
	.nav-menu-roles {
		width: 210px;
	}
}

@media (max-width: 600px) {
	.header-gutters {
		margin: 0.5rem 3rem 0.5rem 1.5rem !important;
	}

	[dir="rtl"] .header-gutters {
		margin: 0.5rem 1.5rem 0.5rem 3rem !important;
	}

	.main {
		flex-direction: column !important;
		row-gap: 0 !important;
	}

	nav.sitenav {
		width: 100%;
		height: 100%;
	}

	#main-menu {
		width: 100% !important;
	}

		#main-menu > div:first-child:is(.expander) {
			display: none;
		}

	.navmenu {
		width: 100%;
	}

	#navmenu-toggle {
		appearance: none;
	}

		#navmenu-toggle ~ nav {
			display: none;
		}

		#navmenu-toggle:checked ~ nav {
			display: block;
		}

	.navmenu-icon {
		cursor: pointer;
		z-index: 10;
		display: block;
		position: absolute;
		top: 15px;
		left: unset;
		right: 20px;
		width: 20px;
		height: 20px;
		border: none;
	}

	[dir="rtl"] .navmenu-icon {
		left: 20px;
		right: unset;
	}
}

.status-badge {
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 12px;
            font-weight: 600;
        }

        /* Status pills in the document grids carry an inline `padding-top:0px`
           (asymmetric vs the base vertical padding) which shoves the label to the
           top of the pill. Inline styles need !important to override. inline-flex +
           symmetric zeroed vertical padding centers the label vertically; pill
           height comes from the (density) min-height / content. */
        .status-badge {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
        }

        .status-1 {background: #dcfce7;color: #166534; }
        
        .status-5 {background: #fee2e2; color: #991b1b; }
        
        .status-2 { background: #fef3c7; color: #92400e;  }

        .status-Risk1 {background: green;color: #fff; filter: brightness(var(--riskcolor-brightness)) }
        .status-Risk2 {background: #fde93d; color: #92400e;  filter: brightness(var(--riskcolor-brightness)) }
        .status-Risk3 {background: #b51818; color: #fff; filter: brightness(var(--riskcolor-brightness)) }

/* : - (Pills) */
.filter-pills {
            display: flex;
            gap: 8px;
            margin-bottom: 24px;
            flex-wrap: wrap;
        }
        
.pill {
            padding: 8px 16px;
            border: 1px solid #e1dfdd;
            border-radius: 20px;
            background: var(--neutral-layer-1);
            cursor: pointer;
            font-size: 14px;
            transition: all 0.2s;
            color: #323130;
        }
        
.pill:hover {   background: #f3f2f1;    }
.pill.active {background: var(--accent-fill-rest);  color: white;   border-color: var(--accent-fill-rest);    }
.pill .count {
            margin-left: 6px;
            opacity: 0.8;
            font-weight: 600;
        }
/* : Tabs */
.filter-tabs {
            display: flex;
            gap: 0;
            margin-bottom: 4px;
            border-bottom: 2px solid var(--neutral-stroke-rest, #d6d6d6);
        }
.filter-tabs-compact {     }

.tab {
            padding: 12px 24px;
            border: none;
            background: none;
            cursor: pointer;
            font-size: 14px;
            color: var(--color-text-base-secondary);
            border-bottom: 3px solid transparent;
            margin-bottom: -2px;
            transition: all 0.2s;
        }
        
.tab:hover { color: #ff8000;  }
.tab.active { color: var(--accent-foreground-color);  border-bottom-color: var(--accent-foreground-active);  font-weight: 600;    }
.tab.active::before {
    content: "";
    display: none;
    position: absolute;
    right: unset;
    width: 3px;
    height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) / 2) * 1px);
    background: var(--accent-foreground-active)!important;
    border-radius: calc(var(--control-corner-radius) * 1px) !important;
	margin: 2px 1px 1px -10px;
    z-index: 5;
}
.fluent-nav-icon {
     fill: var(--accent-foreground-rest,#000 ) !important;
}
.notactive{ font-weight:700 !important; }

/*
#Incidents-SetInProgressButton { font-weight:700;
border: solid 1px black;

}

#Incidents-SetInProgressButton::before {
  content: '\25';          
  font-size: 14px;       
padding-top:6px;
  margin-right: 3px;     
  line-height: 1;
  display: inline-block;
}
*/

/* Toast notifications above all dialogs */
fluent-toast-provider {
    z-index: 999999 !important;
}
/* Required field red asterisk */
.form-label.req::after,
.form-label-top.req::after {
    content: " *";
    color: red;
}

/* Workflow form tabs */
.tabs-container {
    display: flex;
    gap: 4px;
    margin-bottom: 0;
}

.tab {
    padding: 12px 24px;
    background: var(--color-background-base-secondary);
    border: 1px solid var(--color-border-base-default);
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    cursor: pointer;
    font-weight: 500;
    color: var(--color-text-base-secondary);
    transition: all 0.2s;
}

    .tab:hover {
        background: #eeeeee;
    }

    .tab.active {
        background: var(--neutral-layer-1);
        color: #ff6f00;
        border-color: #ff6f00;
        border-bottom: 1px solid white;
    }

/* Workflow comments section */
.add-comment-section {
    background: var(--color-background-base-secondary);
    border: 1px solid var(--color-border-base-default);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
}

    .add-comment-section h4 {
        margin: 0 0 12px 0;
        color: var(--color-text-base-default);
    }

.comment-input-row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.comments-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.comment-card {
    background: var(--neutral-layer-1);
    border: 1px solid var(--color-border-base-default);
    border-radius: 8px;
    padding: 16px;
}

.comment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--color-border-base-default);
}

.comment-author {
    display: flex;
    align-items: center;
    gap: 8px;
}

.author-icon {
    color: #2196f3;
}

.author-name {
    font-weight: 600;
}

.author-role {
    color: var(--color-text-base-secondary);
    font-size: 0.85em;
}

.comment-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.85em;
    color: var(--color-text-base-secondary);
}

.comment-type {
    background: #e3f2fd;
    padding: 2px 8px;
    border-radius: 12px;
}

.edited-badge {
    font-style: italic;
    color: var(--color-text-base-tertiary);
}

.comment-body {
    line-height: 1.6;
    white-space: pre-wrap;
}

.comment-actions {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--color-border-base-default);
    display: flex;
    gap: 8px;
}

.no-comments {
    text-align: center;
    padding: 40px;
    color: var(--color-text-base-secondary);
}

.no-comments-icon {
    font-size: 3em;
    display: block;
    margin-bottom: 10px;
}

/* Workflow action status informer */
.action-status-informer {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 16px 20px;
    border-radius: 8px;
    margin-bottom: 15px;
    border: 2px solid;
}

    .action-status-informer.status-refuz {
        background-color: #fdecea;
        border-color: #dc3545;
        color: #721c24;
    }

    .action-status-informer.status-corectare {
        background-color: #fff8e1;
        border-color: #ffc107;
        color: #856404;
    }

    .action-status-informer.status-transfer {
        background-color: #d4edda;
        border-color: #28a745;
        color: #155724;
    }

.informer-icon {
    font-size: 2em;
    line-height: 1;
}

.informer-content {
    flex: 1;
}

.informer-title {
    font-size: 1.1em;
    font-weight: 600;
    margin-bottom: 5px;
}

.informer-description {
    font-size: 0.9em;
    line-height: 1.5;
}

/* Workflow action buttons container */
.action-buttons-container {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
    padding: 20px;
    margin-top: 20px;
    border-top: 2px solid var(--color-border-base-default);
    background: var(--color-background-base-secondary);
    border-radius: 8px;
}

    .action-buttons-container fluent-button {
        min-width: 180px;
    }

    .action-buttons-container fluent-button[disabled] {
        opacity: 0.5;
        cursor: not-allowed;
    }


/* Tabs */
.tabs-container {
  display: flex;
  gap: 4px;
  margin-bottom: 0;
}

.tab {
  padding: 12px 24px;
  background: var(--color-background-base-secondary);
  border: 1px solid var(--color-border-base-default);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  cursor: pointer;
  font-weight: 500;
  color: var(--color-text-base-secondary);
  transition: all 0.2s;
}

  .tab:hover {
    background: #eeeeee;
  }

  .tab.active {
    background: var(--neutral-layer-1);
    color: #ff6f00;
    border-color: #ff6f00;
    border-bottom: 1px solid white;
  }

/* Comments Section */
.add-comment-section {
  background: var(--color-background-base-secondary);
  border: 1px solid var(--color-border-base-default);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
}

  .add-comment-section h4 {
    margin: 0 0 12px 0;
    color: var(--color-text-base-default);
  }

.comment-input-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.comments-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.comment-card {
  background: var(--neutral-layer-1);
  border: 1px solid var(--color-border-base-default);
  border-radius: 8px;
  padding: 16px;
}

.comment-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border-base-default);
}

.comment-author {
  display: flex;
  align-items: center;
  gap: 8px;
}

.author-icon {
  color: #2196f3;
}

.author-name {
  font-weight: 600;
}

.author-role {
  color: var(--color-text-base-secondary);
  font-size: 0.85em;
}

.comment-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.85em;
  color: var(--color-text-base-secondary);
}

.comment-type {
  background: #e3f2fd;
  padding: 2px 8px;
  border-radius: 12px;
}

.edited-badge {
  font-style: italic;
  color: var(--color-text-base-tertiary);
}

.comment-body {
  line-height: 1.6;
  white-space: pre-wrap;
}

.comment-actions {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--color-border-base-default);
  display: flex;
  gap: 8px;
}

.no-comments {
  text-align: center;
  padding: 40px;
  color: var(--color-text-base-secondary);
}

.no-comments-icon {
  font-size: 3em;
  display: block;
  margin-bottom: 10px;
}

/* Action Status Informer */
.action-status-informer {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 16px 20px;
  border-radius: 8px;
  margin-bottom: 15px;
  border: 2px solid;
}

  .action-status-informer.status-refuz {
    background-color: #fdecea;
    border-color: #dc3545;
    color: #721c24;
  }

  .action-status-informer.status-corectare {
    background-color: #fff8e1;
    border-color: #ffc107;
    color: #856404;
  }

  .action-status-informer.status-transfer {
    background-color: #d4edda;
    border-color: #28a745;
    color: #155724;
  }

  .action-status-informer.status-trimite-inainte {
    background-color: #cfe2ff;
    border-color: #0d6efd;
    color: #084298;
  }

.informer-icon {
  font-size: 2em;
  line-height: 1;
}

.informer-content {
  flex: 1;
}

.informer-title {
  font-size: 1.1em;
  font-weight: 600;
  margin-bottom: 5px;
}

.informer-description {
  font-size: 0.9em;
  line-height: 1.5;
}

/* Action Buttons */
.action-buttons-container {
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
  padding: 20px;
  margin-top: 20px;
  border-top: 2px solid var(--color-border-base-default);
  background: var(--color-background-base-secondary);
  border-radius: 8px;
}

.action-buttons-container fluent-button {
  min-width: 180px;
}

.action-buttons-container fluent-button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
.info-item {
	min-width:170px;
}


.row_warning {
	background-color: #fff8df;
}
.row_danger {
	background-color: #ffcaca;
}