.public-layout{min-height:100vh;display:flex;flex-direction:column;background:#fff}.public-header{background:var(--color-navy-900);color:var(--color-text-inverse);position:sticky;inset-block-start:0;z-index:100}.public-header__inner{max-width:var(--container-max);margin-inline:auto;padding-inline:24px;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:24px}.public-header__logo{display:flex;align-items:center;gap:12px;color:var(--color-text-inverse);text-decoration:none;flex-shrink:0}.public-header__logo-img{height:38px;width:auto;display:block;object-fit:contain;border-radius:var(--radius-sm)}.public-header__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.lang-switcher{position:relative}.lang-switcher__trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);background:transparent;color:#fffc;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.lang-switcher__trigger:hover{background:#ffffff1a;border-color:#fff6;color:#fff}.lang-switcher__menu{position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px;z-index:200;min-width:120px}.lang-switcher__option{display:block;width:100%;padding:8px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:13px;font-weight:500;cursor:pointer;text-align:start;font-family:inherit;transition:background var(--transition-fast)}.lang-switcher__option:hover{background:var(--color-bg)}.lang-switcher__option--active{color:var(--color-blue);background:var(--color-blue-bg)}.public-main{flex:1;width:100%}.public-footer{background:var(--color-navy-900);color:#ffffff73;padding-block:40px;padding-inline:24px;font-size:13px}.public-footer .container{text-align:center}.section{width:100%;padding-block:var(--section-py);padding-inline:24px}.section--white{background:var(--color-surface)}.section--gray{background:var(--color-bg)}.section--navy{background:var(--color-navy-900);color:var(--color-text-inverse)}.section .container{max-width:var(--container-max);margin-inline:auto}.section__heading{text-align:center;margin-block-end:48px}.section__heading h2{font-size:28px;font-weight:700;margin-block-end:14px}.section__heading:after{content:"";display:block;width:48px;height:3px;background:var(--color-blue);margin-inline:auto;border-radius:2px}.section__heading p{font-size:15px;color:var(--color-text-secondary);max-width:560px;margin-inline:auto;line-height:1.65}@media(max-width:768px){.public-header__inner{height:auto;padding-block:12px;flex-wrap:wrap}.section{padding-block:48px;padding-inline:16px}}.role-switcher{position:relative;margin-block-end:4px}.role-switcher__trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:#ffffff0f;color:var(--color-navy-200);font-size:13px;cursor:pointer;transition:all var(--transition-fast);text-align:start}.role-switcher__trigger:hover{background:#ffffff1a;border-color:#fff3}.role-switcher__label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-slate-400);display:none}.role-switcher__value{flex:1;font-weight:500;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-switcher__chevron{flex-shrink:0;color:var(--color-slate-400);transition:transform var(--transition-fast)}.role-switcher__chevron--open{transform:rotate(180deg)}.role-switcher__menu{position:absolute;inset-inline-start:0;inset-inline-end:0;bottom:calc(100% + 4px);list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px;z-index:200;max-height:240px;overflow-y:auto}.role-switcher__option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast)}.role-switcher__option:hover{background:var(--color-bg)}.role-switcher__option--active{color:var(--color-blue);background:var(--color-blue-bg)}.role-switcher__option--active:hover{background:var(--color-blue-bg)}.notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius);background:transparent;color:var(--color-navy-200);cursor:pointer;transition:all var(--transition-fast)}.notification-bell:hover{background:#ffffff1a;color:#fff}.notification-bell__badge{position:absolute;top:2px;inset-inline-end:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;pointer-events:none;box-shadow:0 0 0 2px var(--color-navy-900)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);max-width:288px;background:var(--color-navy-900);color:var(--color-navy-200);display:flex;flex-direction:column;position:fixed;inset-block-start:0;inset-inline-start:0;inset-block-end:0;z-index:100;overflow:hidden}.sidebar__header{height:var(--header-height);min-height:var(--header-height);padding-inline:24px;border-block-end:1px solid rgba(255,255,255,.1);display:flex;align-items:center}.sidebar__logo-box{padding:8px;background:#fff;border-radius:var(--radius-sm);display:inline-flex;align-items:center;cursor:pointer;transition:opacity var(--transition-fast)}.sidebar__logo-box:hover{opacity:.9}.sidebar__logo-img{height:32px;width:auto;display:block;object-fit:contain;border-radius:var(--radius-sm);flex-shrink:0}.sidebar__nav{flex:1;padding:16px;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.sidebar__nav::-webkit-scrollbar{width:4px}.sidebar__nav::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.sidebar__group{display:flex;flex-direction:column;gap:2px;margin-block-end:24px}.sidebar__group:last-child{margin-block-end:0}.sidebar__group-label{display:block;padding-inline:12px;padding-block-end:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-slate-400)}.sidebar__link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--color-navy-200);font-size:14px;font-weight:500;transition:all var(--transition-fast);text-decoration:none;border:none;background:none;width:100%;cursor:pointer;text-align:start;line-height:1.4}.sidebar__link:hover{background:#ffffff14;color:#fff}.sidebar__link--active{background:var(--color-navy-800);color:#fff}.sidebar__link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__footer{padding:12px 16px;border-block-start:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}.sidebar__user{padding:8px 12px}.sidebar__user-name{display:block;font-size:13px;font-weight:600;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__user-email{display:block;font-size:12px;color:#ffffff73;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__logout{color:#ffffff80}.sidebar__logout:hover{color:var(--color-danger);background:#dc26261a}.sidebar .badge{background:var(--color-danger);color:#fff;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600;margin-inline-start:auto}.app-main{margin-inline-start:var(--sidebar-width);flex:1;padding:0 32px 32px;min-height:100vh;background:#fff}.app-main__inner{max-width:var(--container-max);margin-inline:auto}.app-main .page-header{position:sticky;inset-block-start:0;z-index:50;height:var(--header-height);min-height:var(--header-height);align-items:center;background:#fff;margin-inline:-32px;margin-block-end:24px;padding-inline:32px;border-block-end:1px solid var(--color-border)}.app-main__inner .page-header{margin-inline:0;padding-inline:0}@media(max-width:1024px){.sidebar{width:240px}.app-main{margin-inline-start:240px;padding-inline:24px}.app-main .page-header{margin-inline:-24px;padding-inline:24px}}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .25s ease}[dir=rtl] .sidebar{transform:translate(100%)}.sidebar.sidebar--open{transform:translate(0)}.app-main{margin-inline-start:0;padding-inline:16px}.app-main .page-header{margin-inline:-16px;padding-inline:16px}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem}.loading-spinner__ring{border:3px solid #e2e6ea;border-block-start-color:#1a56db;border-radius:50%;animation:spinner-rotate .7s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading-spinner__text{font-size:.8125rem;color:#6b7a8d}:root{--color-primary: #213657;--color-primary-light: #4A8BE8;--color-primary-dark: #1B2D4A;--color-blue: #4A8BE8;--color-blue-hover: #3F7FE0;--color-blue-bg: #EAEFF5;--color-bg: #F4F6F9;--color-surface: #ffffff;--color-border: #E2E8F0;--color-text: #1A202C;--color-text-secondary: #6B7280;--color-text-inverse: #ffffff;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-green: #16a34a;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-info: #4A8BE8;--color-info-bg: #eff6ff;--font-family: "Inter", system-ui, -apple-system, sans-serif;--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .1);--shadow-card: 0 2px 16px rgba(0, 0, 0, .06);--sidebar-width: 288px;--color-navy-900: #0f172a;--color-navy-800: #1e3a8a;--color-navy-600: #4338ca;--color-navy-200: #e2e8f0;--color-navy-300: #cbd5e1;--color-navy-100: #e0e9ff;--color-slate-400: #94a3b8;--header-height: 72px;--toolbar-h: 36px;--section-py: 72px;--container-max: 1200px;--segment-track-bg: var(--color-blue-bg);--segment-track-radius: var(--radius);--segment-track-padding: 4px;--segment-height: var(--toolbar-h);--segment-text: var(--color-text-secondary);--segment-text-hover: var(--color-text);--segment-active-bg: var(--color-surface);--segment-active-text: var(--color-text);--segment-active-shadow: var(--shadow-sm);--segment-button-radius: 6px;--segment-px: 16px;--segment-py: 8px;--segment-font-size: 13px;--segment-font-weight: 500;--transition-fast: .15s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-blue);text-decoration:none}button{cursor:pointer;font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;border:none;transition:all var(--transition-fast);text-decoration:none;cursor:pointer;line-height:1.4}.btn--primary{background:var(--color-blue);color:#fff}.btn--primary:hover{background:var(--color-blue-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-bg)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover{opacity:.9}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover{background:var(--color-bg);color:var(--color-text)}.btn--outline{background:transparent;color:var(--color-text-inverse);border:1px solid rgba(255,255,255,.35)}.btn--outline:hover{background:#ffffff1a;border-color:#fff9}.btn--sm{padding:4px 10px;font-size:13px}.btn--lg{padding:12px 24px;font-size:16px}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-block-end:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-block-end:4px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px #4a8be81a}.form-textarea{min-height:80px;resize:vertical}.form-error{color:var(--color-danger);font-size:12px;margin-block-start:4px}.form-hint{color:var(--color-text-secondary);font-size:12px;margin-block-start:4px}.form-checkbox{display:flex;align-items:center;gap:8px}.form-checkbox input{width:16px;height:16px}.form-row{display:flex;gap:16px}.form-row>*{flex:1}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.5}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge--info{background:var(--color-info-bg);color:var(--color-info)}.badge--neutral{background:var(--color-bg);color:var(--color-text-secondary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card__header{padding:16px 20px;border-block-end:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card__title{font-size:15px;font-weight:600;color:var(--color-text)}.card__body{padding:20px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-height);min-height:var(--header-height)}.page-header__title{font-size:20px;font-weight:700;color:var(--color-text)}.page-header__actions{display:flex;align-items:center;gap:8px}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
