:root{--color-primary: #1f3a5f;--color-primary-hover: #172d4a;--color-primary-soft: #eaf0f6;--color-primary-border: #b9c7d8;--color-accent: #c2410c;--color-accent-hover: #9a3412;--color-accent-soft: #fdf0e9;--color-ink: #1f2933;--color-text-muted: #5b6675;--color-text-subtle: #8a94a3;--color-border: #dde2e8;--color-border-strong: #b8c0ca;--color-surface: #f4f6f8;--color-white: #ffffff;--color-success: #2f7d4f;--color-success-soft: #e8f3ec;--color-danger: #b42318;--color-danger-soft: #fdecea;--color-warning: #8a5a00;--color-warning-soft: #fff6e0;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 2px 8px rgba(16, 24, 40, .08);--shadow-lg: 0 8px 24px rgba(16, 24, 40, .12);--focus-ring: 0 0 0 3px rgba(31, 58, 95, .35)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.55;color:var(--color-ink);background:var(--color-surface);overflow-x:hidden}img,svg{max-width:100%}h1,h2,h3,h4,h5,h6{font-weight:650;line-height:1.25;letter-spacing:-.01em;margin-bottom:1rem}h1{font-size:2rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none;transition:color .15s}a:hover{color:var(--color-primary-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.spinner-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;width:100%}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-data{text-align:center;padding:3rem 2rem;color:var(--color-text-muted);font-size:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--color-text-muted)}.empty-state svg{margin-bottom:1.5rem;color:var(--color-border-strong)}.empty-state h2{color:var(--color-ink);margin-bottom:.5rem}.empty-state p{font-size:1rem;margin-bottom:2rem}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}button{font-family:inherit;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}button:disabled{opacity:.55;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.625rem 1.25rem;border:1px solid transparent;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-white)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-white);color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-soft)}.btn-success{background:var(--color-success);color:var(--color-white)}.btn-success:hover:not(:disabled){filter:brightness(.92)}.btn-danger{background:var(--color-white);color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],textarea,select{width:100%;min-height:44px;padding:.625rem .875rem;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-white);color:var(--color-ink);font-size:1rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=password]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,textarea::placeholder,select::placeholder{color:var(--color-text-subtle)}input[type=text]:disabled,input[type=email]:disabled,input[type=tel]:disabled,input[type=password]:disabled,input[type=number]:disabled,input[type=search]:disabled,textarea:disabled,select:disabled{background:var(--color-surface);color:var(--color-text-subtle);cursor:not-allowed}input[type=text].ng-invalid.ng-touched,input[type=email].ng-invalid.ng-touched,input[type=tel].ng-invalid.ng-touched,input[type=password].ng-invalid.ng-touched,input[type=number].ng-invalid.ng-touched,input[type=search].ng-invalid.ng-touched,textarea.ng-invalid.ng-touched,select.ng-invalid.ng-touched{border-color:var(--color-danger)}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary);width:1.05rem;height:1.05rem}textarea{resize:vertical;min-height:100px}label{display:block;margin-bottom:.375rem;font-weight:600;font-size:.9375rem;color:var(--color-ink)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-info,.badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.alert{padding:.875rem 1.25rem;border-radius:var(--radius);border:1px solid transparent;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.alert svg{flex-shrink:0}.alert-success{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success)}.alert-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning)}.alert-danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger)}.alert-info{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary-border)}.divider{height:1px;background:var(--color-border);margin:1.5rem 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn .2s ease-out}.slide-up{animation:slideUp .2s ease-out}.slide-down{animation:slideDown .2s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width: 768px){.container{padding:0 1rem}h1{font-size:1.625rem}h2{font-size:1.375rem}h3{font-size:1.25rem}}@media print{body{background:#fff}.no-print{display:none!important}}
