.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;flex-shrink:0}.avatar--xs{width:24px;height:24px;font-size:.625rem}.avatar--sm{width:32px;height:32px;font-size:.75rem}.avatar--md{width:40px;height:40px;font-size:1rem}.avatar--lg{width:56px;height:56px;font-size:1.25rem}.avatar--xl{width:80px;height:80px;font-size:1.75rem}.avatar--light{background:linear-gradient(135deg,#fff,#e2e8f0);color:#3b82f6}.badge{display:inline-flex;align-items:center;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:6px;white-space:nowrap;border:1px solid transparent;line-height:1}.badge--sm{padding:.16rem .45rem;font-size:.6rem}.badge--md{padding:.2rem .55rem;font-size:.675rem}.badge--lg{padding:.28rem .7rem;font-size:.78rem}.badge--default{background:var(--rgc-light-grey);border-color:var(--rgc-powdered-grey);color:var(--rgc-grey-fog)}.badge--primary{background:#406cb41f;border-color:#406cb447;color:var(--rgc-blue)}.badge--admin{background:#18324e24;border-color:#18324e4d;color:var(--rgc-navy)}.badge--user{background:#406cb41a;border-color:#406cb438;color:var(--rgc-blue)}.badge--hr_team{background:#406cb424;border-color:#406cb447;color:var(--rgc-blue)}.badge--success{background:#5da04c1f;border-color:#5da04c4d;color:var(--rgc-green)}.badge--warning{background:#406cb41a;border-color:#406cb440;color:var(--rgc-blue)}.badge--error{background:#881d2d1f;border-color:#881d2d4d;color:var(--rgc-maroon)}.badge--pending{background:#18324e14;border-color:#18324e38;color:var(--rgc-navy)}.badge--approved{background:#5da04c1f;border-color:#5da04c4d;color:var(--rgc-green)}.badge--rejected{background:#881d2d1f;border-color:#881d2d4d;color:var(--rgc-maroon)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--sm{padding:.5rem 1rem;font-size:.875rem}.btn--md{padding:.75rem 1.5rem;font-size:.95rem}.btn--lg{padding:1rem 2rem;font-size:1.05rem}.btn--full-width{width:100%}.btn--primary{background:var(--rgc-blue);color:#fff;box-shadow:0 6px 14px #406cb42e}.btn--primary:hover:not(:disabled){background:#365fa1;box-shadow:0 10px 20px #406cb438;transform:translateY(-1px)}.btn--secondary{background:#fff;color:var(--rgc-navy);border-color:var(--color-border);box-shadow:0 2px 10px #0000000a}.btn--secondary:hover:not(:disabled){background:var(--rgc-light-grey);border-color:var(--rgc-grey-mist)}.btn--ghost{background:transparent;color:var(--rgc-navy);border-color:transparent}.btn--ghost:hover:not(:disabled){background:#18324e0f}.btn--danger{background:var(--rgc-maroon);color:#fff;box-shadow:0 6px 14px #881d2d29}.btn--danger:hover:not(:disabled){background:#741826;box-shadow:0 10px 20px #881d2d38;transform:translateY(-1px)}.btn--success{background:var(--rgc-green);color:#fff;box-shadow:0 6px 14px #5da04c29}.btn--success:hover:not(:disabled){background:#4f8e40;box-shadow:0 10px 20px #5da04c38;transform:translateY(-1px)}.btn--outline{background:transparent;color:var(--rgc-blue);border-color:var(--rgc-blue)}.btn--outline:hover:not(:disabled){background:var(--rgc-blue);color:#fff}.btn--icon{padding:.5rem;min-width:auto}.btn__icon{display:flex;align-items:center;justify-content:center}.btn__icon svg{width:1.125em;height:1.125em}.btn--loading{pointer-events:none}.spinner{border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.spinner--xs{width:12px;height:12px;border-width:2px}.spinner--sm{width:16px;height:16px;border-width:2px}.spinner--md{width:24px;height:24px;border-width:3px}.spinner--lg{width:36px;height:36px;border-width:3px}.spinner--xl{width:48px;height:48px;border-width:4px}.spinner--primary{border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6}.spinner--white{border:3px solid rgba(255,255,255,.2);border-top-color:#fff}.spinner--inherit{border:2px solid currentColor;border-top-color:transparent;opacity:.8}.spinner--gray{border:3px solid rgba(100,116,139,.2);border-top-color:#64748b}.spinner--xs.spinner--primary,.spinner--xs.spinner--white,.spinner--xs.spinner--gray,.spinner--sm.spinner--primary,.spinner--sm.spinner--white,.spinner--sm.spinner--gray{border-width:2px}.spinner--lg.spinner--primary,.spinner--lg.spinner--white,.spinner--lg.spinner--gray{border-width:3px}.spinner--xl.spinner--primary,.spinner--xl.spinner--white,.spinner--xl.spinner--gray{border-width:4px}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon svg{width:100%;height:100%}.icon--xs{width:12px;height:12px}.icon--sm{width:16px;height:16px}.icon--md{width:20px;height:20px}.icon--lg{width:24px;height:24px}.icon--xl{width:32px;height:32px}.icon--2xl{width:48px;height:48px}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:2rem 0;flex-wrap:wrap}.pagination__btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .2s ease}.pagination__btn:hover:not(:disabled){background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b);border-color:var(--border-hover, #cbd5e1)}.pagination__btn:disabled{opacity:.5;cursor:not-allowed}.pagination__pages{display:flex;align-items:center;gap:.25rem}.pagination__page{min-width:2.5rem;height:2.5rem;padding:0 .75rem;font-size:.9rem;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pagination__page:hover:not(.pagination__page--active){background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b);border-color:var(--border-hover, #cbd5e1)}.pagination__page--active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#2563eb;box-shadow:0 2px 8px #3b82f64d;font-weight:600}.pagination__ellipsis{padding:0 .5rem;color:var(--text-tertiary, #94a3b8);font-weight:500;user-select:none}@media(max-width:768px){.pagination{gap:.25rem}.pagination__btn{padding:.5rem .75rem;font-size:.85rem}.pagination__btn span{display:none}.pagination__page{min-width:2.25rem;height:2.25rem;padding:0 .5rem;font-size:.85rem}}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:8px;font-size:.875rem;line-height:1.5}.alert__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.alert__icon svg{width:1.25rem;height:1.25rem}.alert__message{flex:1;min-width:0}.alert__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;cursor:pointer;opacity:.6;transition:opacity .2s}.alert__close:hover{opacity:1}.alert__close svg{width:1rem;height:1rem}.alert--success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#059669}.alert--error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626}.alert--warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#d97706}.alert--info{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#2563eb}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.empty-state__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:1.5rem;color:#94a3b8}.empty-state__icon svg{width:100%;height:100%}.empty-state__title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#334155}.empty-state__description{margin:0 0 1.5rem;font-size:.9rem;color:#64748b;max-width:320px}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg, #f8fafc);padding:2rem}.error-boundary__content{max-width:480px;text-align:center;background:#fff;padding:3rem 2rem;border-radius:var(--radius-lg, 12px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.error-boundary__icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--color-error, #ef4444)}.error-boundary__icon svg{width:100%;height:100%}.error-boundary__title{font-size:1.5rem;font-weight:600;color:var(--color-text, #1e293b);margin:0 0 .75rem}.error-boundary__message{color:var(--color-text-muted, #64748b);margin:0 0 1.5rem;line-height:1.5}.error-boundary__details{text-align:left;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md, 8px);padding:1rem;margin-bottom:1.5rem}.error-boundary__details summary{cursor:pointer;color:var(--color-error, #ef4444);font-weight:500;margin-bottom:.5rem}.error-boundary__details pre{font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:.5rem 0 0;color:#7f1d1d}.error-boundary__actions{display:flex;gap:.75rem;justify-content:center}.error-boundary__btn{padding:.625rem 1.25rem;border-radius:var(--radius-md, 8px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.error-boundary__btn--primary{background:var(--color-primary, #3b82f6);color:#fff}.error-boundary__btn--primary:hover{background:var(--color-primary-hover, #2563eb)}.error-boundary__btn--secondary{background:var(--color-bg, #f8fafc);color:var(--color-text, #1e293b);border:1px solid var(--color-border, #e2e8f0)}.error-boundary__btn--secondary:hover{background:#e2e8f0}.modal-overlay{position:fixed;inset:0;background:#0f172a99;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal--sm{width:100%;max-width:400px}.modal--md{width:100%;max-width:500px}.modal--lg{width:100%;max-width:700px}.modal--xl{width:100%;max-width:900px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.modal__title{margin:0;font-size:1.125rem;font-weight:600;color:#1e293b}.modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s}.modal__close:hover{background:#f1f5f9;color:#1e293b}.modal__close svg{width:20px;height:20px}.modal__body{padding:1.5rem;overflow-y:auto}.form-input{display:flex;flex-direction:column;gap:.5rem}.form-input__label{font-size:.875rem;font-weight:500;color:#334155}.form-input__required{color:#ef4444;margin-left:.25rem}.form-input__wrapper{position:relative;display:flex;align-items:center}.form-input__icon{position:absolute;left:1rem;display:flex;align-items:center;justify-content:center;color:#94a3b8;pointer-events:none;font-size:1rem}.form-input__icon svg{width:1.25rem;height:1.25rem}.form-input__field{width:100%;padding:.875rem 1rem;font-size:.9rem;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.form-input__field--with-icon{padding-left:2.75rem}.form-input__field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.form-input__field:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.form-input__field::placeholder{color:#94a3b8}.form-input--error .form-input__field{border-color:#ef4444}.form-input--error .form-input__field:focus{box-shadow:0 0 0 3px #ef444426}.form-input__error{font-size:.8rem;color:#ef4444}.form-input__textarea{min-height:100px;resize:vertical}.search-input{position:relative;display:flex;align-items:center}.search-input__icon{position:absolute;left:1rem;width:1.25rem;height:1.25rem;color:#94a3b8;pointer-events:none}.search-input__field{width:100%;padding:.75rem 2.5rem .75rem 2.75rem;font-size:.9rem;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.search-input__field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.search-input__field::placeholder{color:#94a3b8}.search-input__clear{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;transition:all .2s}.search-input__clear:hover{background:#f1f5f9;color:#64748b}.search-input__clear svg{width:14px;height:14px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-header__content{flex:1}.page-header__title{margin:0;font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1.2}.page-header__subtitle{margin:.5rem 0 0;font-size:.95rem;color:#64748b;line-height:1.5}.page-header__actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}@media(max-width:640px){.page-header{flex-direction:column;align-items:stretch}.page-header__actions{margin-top:1rem}}.sidebar{width:300px;height:100vh;background:#18324e;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;padding:1.5rem 0;position:fixed;left:0;top:0;z-index:100;box-sizing:border-box}.sidebar__header{display:flex;align-items:center;justify-content:center;padding:3.25rem 1.5rem 2.25rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:1.5rem}.sidebar__logo{height:96px;width:auto;padding:0}.sidebar__nav{flex:1;display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;overflow-y:auto}.sidebar__nav-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:none;background:transparent;color:#f8f7f2bf;cursor:pointer;border-radius:10px;transition:background .18s ease,color .18s ease,box-shadow .18s ease;text-align:left;font-size:18px;text-decoration:none}.sidebar__nav-item:hover{background:#f8f7f214;color:#f8f7f2f2}.sidebar__nav-item--active{background:#406cb473;color:#f8f7f2;box-shadow:inset 0 0 0 1px #f8f7f233}.sidebar__nav-item--active .sidebar__nav-icon{color:#f8f7f2}.sidebar__nav-icon{font-size:1.1rem;width:1.5rem;text-align:center}.sidebar__footer{padding:1.25rem 1rem;border-top:1px solid rgba(255,255,255,.12);text-align:center;flex-shrink:0}.sidebar__footer p{color:#f8f7f2bf;font-size:.7rem;margin:.3rem 0;line-height:1.4}.sidebar__close,.sidebar-overlay{display:none}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .3s ease;width:280px;z-index:1001}.sidebar--open{transform:translate(0)}.sidebar__close{display:flex;align-items:center;justify-content:center;position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:#f8f7f21a;border:1px solid rgba(248,247,242,.18);border-radius:8px;color:#f8f7f2;cursor:pointer;z-index:10;transition:background .2s ease}.sidebar__close:hover{background:#f8f7f22e}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:1000;backdrop-filter:blur(2px)}.sidebar__header{padding:3rem 1.5rem 2rem}.sidebar__logo{height:80px}.sidebar__nav-item{justify-content:flex-start;padding:.875rem 1rem}.sidebar__nav-label{display:inline}.sidebar__footer{padding:1rem}.sidebar__footer p{font-size:.65rem}}.sidebar-user{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin:0 .75rem .5rem;background:#f8f7f214;border-radius:12px;border:1px solid rgba(248,247,242,.14)}.sidebar-user__avatar{background:#f8f7f2!important;color:#406cb4!important;border:1px solid rgba(248,247,242,.35)}.sidebar-user__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.sidebar-user__name{color:#f8f7f2f2;font-size:.875rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user__info .badge{align-self:flex-start}.sidebar-user__logout{width:36px;height:36px;min-width:36px;background:#f8f7f214;border:1px solid rgba(248,247,242,.14);border-radius:8px;color:#f8f7f2d9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,color .2s ease;padding:0}.sidebar-user__logout:hover{background:#881d2de6;border-color:#881d2de6;color:#f8f7f2}.sidebar-user__logout svg{width:16px;height:16px}@media(max-width:768px){.sidebar--open .sidebar-user{padding:.875rem 1rem;margin:0 .75rem .5rem;justify-content:flex-start}.sidebar--open .sidebar-user__info,.sidebar--open .sidebar-user__logout{display:flex}}.sidebar .badge,.sidebar-user .badge{background:#ffffffeb;color:#18324e;border:1px solid rgba(255,255,255,.65);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;transition:all .2s ease}.card--clickable{cursor:pointer}.card--clickable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card--padding-none .card__body{padding:0}.card--padding-sm .card__body{padding:1rem}.card--padding-md .card__body{padding:1.5rem}.card--padding-lg .card__body{padding:2rem}.card--elevated{box-shadow:0 4px 12px #00000014}.card--outlined{box-shadow:none;border:2px solid #e2e8f0}.card--gradient{background:linear-gradient(135deg,#f8fafc,#fff)}.card__header{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.card__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;color:#fff;font-size:1.5rem;flex-shrink:0}.card__header-content{flex:1;min-width:0}.card__title{margin:0;font-size:1rem;font-weight:600;color:#1e293b}.card__subtitle{margin:.25rem 0 0;font-size:.85rem;color:#64748b}.card__body{padding:1.5rem}.card__header+.card__body{padding-top:1.25rem}.extracted-data{display:flex;flex-direction:column;gap:.75rem}.extracted-data--editable{background:#fff;padding:1.25rem;border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #e2e8f0)}.extracted-data__empty{color:var(--color-text-muted, #64748b);font-style:italic;padding:1rem;text-align:center;background:var(--color-bg, #f8fafc);border-radius:var(--radius-md, 8px)}.extracted-data__field{display:flex;flex-direction:column;gap:.4rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.extracted-data__field:last-child{border-bottom:none;padding-bottom:0}.extracted-data__label,.extracted-data__value{margin:0}.extracted-data__label{font-weight:600;color:var(--color-text, #1e293b);font-size:16px}.extracted-data__value{font-size:16px;color:var(--color-text, #1e293b);line-height:1.5;word-break:break-word;margin-bottom:.4rem}.extracted-data__field:last-child .extracted-data__value{margin-bottom:0}.extracted-data__null{color:#94a3b8;font-style:italic}.extracted-data__object-fields{display:flex;flex-direction:column;gap:.6rem;padding:.75rem 1rem;background:#f8fafc;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border, #e2e8f0)}.extracted-data__object-fields--readonly{background:transparent;border:none;padding:0;gap:.5rem}.extracted-data__nested-field{display:flex;flex-direction:column;gap:.2rem}.extracted-data__nested-label,.extracted-data__nested-value{margin:0}.extracted-data__nested-label{font-weight:600;font-size:16px;color:var(--color-text, #1e293b)}.extracted-data__nested-value{font-size:16px;line-height:1.5;margin-bottom:.5rem}.extracted-data__nested-field:last-child .extracted-data__nested-value{margin-bottom:0}.extracted-data__object-array{display:flex;flex-direction:column;gap:.75rem}.extracted-data__object-card{background:#f8fafc;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);padding:1rem}.extracted-data__card-title{font-weight:600;font-size:16px;margin-bottom:.75rem}.extracted-data__input,.extracted-data__textarea{width:100%;padding:.625rem .875rem;font-size:16px;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-sm, 6px);background:#fff;color:var(--color-text, #1e293b);font-family:inherit;line-height:1.5}.extracted-data__textarea{resize:vertical;min-height:80px}.extracted-data__input:focus,.extracted-data__textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #406cb426}@media(max-width:640px){.extracted-data--editable{padding:1rem}.extracted-data__object-card,.extracted-data__object-fields{padding:.75rem}}.feature-card{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.feature-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.feature-card__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-radius:12px;font-size:1.5rem;color:#3b82f6;flex-shrink:0}.feature-card__content{flex:1;min-width:0}.feature-card__title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1e293b}.feature-card__description{margin:0;font-size:.875rem;color:#64748b;line-height:1.5}.feature-card--compact{padding:1rem;gap:.875rem}.feature-card--compact .feature-card__icon{width:40px;height:40px;font-size:1.25rem}.feature-card--compact .feature-card__title{font-size:.9rem;margin-bottom:.25rem}.feature-card--compact .feature-card__description{font-size:.8rem}.feature-card--glass{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px)}.feature-card--glass .feature-card__icon{background:#fff3;color:#fff}.feature-card--glass .feature-card__title{color:#fff}.feature-card--glass .feature-card__description{color:#fffc}.feature-card--gradient{background:linear-gradient(135deg,#f8fafc,#fff)}.file-dropzone{border:2px dashed #cbd5e1;border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#f8fafc,#fff)}.file-dropzone:hover{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#fff)}.file-dropzone--active{border-color:#3b82f6;border-style:solid;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.file-dropzone--has-files{padding:2rem 1.5rem}.file-dropzone__content{display:flex;flex-direction:column;align-items:center;gap:1rem}.file-dropzone__icon{width:64px;height:64px;color:#3b82f6}.file-dropzone__icon svg{width:100%;height:100%}.file-dropzone--active .file-dropzone__icon{animation:bounce .5s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.file-dropzone__text{display:flex;flex-direction:column;gap:.25rem}.file-dropzone__title{font-size:1.125rem;font-weight:600;color:#1e293b}.file-dropzone__subtitle{font-size:.9rem;color:#64748b}.file-dropzone__browse{color:#3b82f6;font-weight:500;text-decoration:underline}.file-dropzone__formats{display:flex;gap:.5rem;margin-top:.5rem}.file-dropzone__format-badge{padding:.25rem .75rem;font-size:.75rem;font-weight:600;color:#3b82f6;background:#3b82f61a;border-radius:20px}.file-dropzone__limits{font-size:.8rem;color:#94a3b8}.file-list{margin-top:1.5rem}.file-list__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.file-list__title{margin:0;font-size:1rem;font-weight:600;color:#1e293b}.file-list__count{font-size:.8rem;color:#64748b;padding:.25rem .75rem;background:#f1f5f9;border-radius:20px}.file-list__count--limit{color:#dc2626;background:#ef44441a}.file-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.file-list__item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:all .2s}.file-list__item:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000a}.file-list__item-icon{font-size:1.25rem;flex-shrink:0}.file-list__item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.file-list__item-name{font-size:.9rem;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list__item-size{font-size:.75rem;color:#94a3b8}.file-list__item-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;transition:all .2s;flex-shrink:0}.file-list__item-remove:hover:not(:disabled){background:#ef44441a;color:#ef4444}.file-list__item-remove:disabled{opacity:.5;cursor:not-allowed}.file-list__item-remove svg{width:16px;height:16px}:root{--rgc-navy: #18324E;--rgc-blue: #406CB4;--rgc-green: #5DA04C;--rgc-lime: #B6C93E;--rgc-maroon: #881D2D;--rgc-offwhite: #F8F7F2;--rgc-charcoal: #1C1C1C;--rgc-grey-fog: #777C86;--rgc-grey-mist: #CCCED2;--rgc-powdered-grey: #DDDFE0;--rgc-light-grey: #EEEEF0;--color-bg-primary: var(--color-bg-white);--color-bg-secondary: var(--rgc-light-grey);--color-bg-tertiary: var(--rgc-powdered-grey);--color-text-primary: var(--color-text);--color-text-secondary: var(--color-text-muted);--color-border-light: var(--color-border);--color-primary: var(--rgc-blue);--color-primary-hover: #365FA1;--color-primary-light: #E6EDF8;--color-primary-dark: #2E5490;--color-secondary: var(--rgc-navy);--color-secondary-hover: #12263C;--color-secondary-light: var(--rgc-light-grey);--color-success: var(--rgc-green);--color-success-hover: #4F8E40;--color-success-light: #EAF4E7;--color-error: var(--rgc-maroon);--color-error-hover: #741826;--color-error-light: #F6E6E9;--color-warning: var(--rgc-lime);--color-warning-hover: #A7B93A;--color-warning-light: #F4F7DE;--color-info: var(--rgc-blue);--color-info-hover: #365FA1;--color-info-light: #E6EDF8;--color-text: var(--rgc-charcoal);--color-text-muted: var(--rgc-grey-fog);--color-text-light: #9AA0AA;--color-text-inverse: #ffffff;--color-bg: var(--rgc-offwhite);--color-bg-white: #ffffff;--color-bg-dark: var(--rgc-navy);--color-bg-darker: #0E2135;--color-border: var(--rgc-powdered-grey);--color-border-hover: var(--rgc-grey-mist);--color-border-focus: var(--rgc-blue);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 6px 14px rgba(0, 0, 0, .08);--shadow-lg: 0 14px 28px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 35px rgba(0, 0, 0, .12);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: "Century Gothic", CenturyGothic, AppleGothic, "Futura", "Trebuchet MS", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--sidebar-width: 300px;--header-height: 60px;--content-max-width: 1200px;font-family:var(--font-family);line-height:var(--line-height-normal);font-weight:500;color-scheme:light;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg);color:var(--color-text)}#root{width:100%}a{font-weight:600;color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{margin:0;line-height:var(--line-height-tight);color:var(--rgc-navy);font-weight:700}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin:0}button{border-radius:var(--radius-md);border:1px solid var(--color-border);padding:.6em 1.2em;font-size:var(--font-size-md);font-weight:600;font-family:inherit;background-color:var(--color-bg-white);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}button:hover{border-color:var(--color-border-hover);background-color:var(--color-secondary-light)}button:focus,button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:var(--font-size-md)}.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}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}::selection{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--rgc-navy) 0%,#214364 50%,var(--rgc-navy) 100%)}.page-loader{display:flex;align-items:center;justify-content:center;min-height:400px;width:100%}.app-layout{display:flex;min-height:100vh;width:100vw}.main-content{margin-left:300px;flex:1;min-height:100vh;background:var(--rgc-offwhite);display:flex;flex-direction:column}.main-content__body{flex:1}.mobile-header{display:none}.main-footer{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;background:var(--rgc-light-grey);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.8rem}.main-footer__divider{color:var(--rgc-grey-mist)}@media(max-width:768px){.main-content{margin-left:0}.mobile-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:linear-gradient(to right,var(--rgc-navy),var(--rgc-blue),var(--rgc-green));position:sticky;top:0;z-index:100}.mobile-header__menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease}.mobile-header__menu-btn:hover{background:#ffffff2e;border-color:#ffffff47}.mobile-header__logo{height:36px;width:auto}.main-footer{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;font-size:.7rem}}
