:root{--brand: #0d6e78;--brand-dark: #0a565e;--brand-tint: #e8f3f4;--bg: #eef1f3;--card: #ffffff;--border: #e4e8ea;--border-strong: #ccd4d7;--text: #17242a;--muted: #6b7a82;--danger: #d64545;--danger-tint: #fdecec;--success: #2f9e54;--warning: #b5730d;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(16, 32, 39, .06), 0 1px 3px rgba(16, 32, 39, .05);--shadow: 0 4px 16px rgba(16, 32, 39, .08);--shadow-lg: 0 12px 32px rgba(16, 32, 39, .16);--ring: 0 0 0 3px rgba(13, 110, 120, .22)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15.5px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}::selection{background:var(--brand-tint);color:var(--brand-dark)}h1,h2,h3{margin:0 0 .75rem;line-height:1.25;font-weight:700;letter-spacing:-.01em}h2{font-size:1.35rem}h3{font-size:1.05rem}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.card.prod,.card.tappable,.card[role=button]{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.card.prod:hover,.card.tappable:hover,.card[role=button]:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-1px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:var(--radius-sm);padding:.72rem 1.05rem;font-weight:600;font-size:.95rem;line-height:1.1;background:var(--brand);color:#fff;box-shadow:var(--shadow-sm);transition:background .14s ease,box-shadow .14s ease,transform .06s ease,opacity .14s ease}.btn:hover{background:var(--brand-dark)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.block{width:100%}.btn.small{padding:.45rem .75rem;font-size:.85rem;border-radius:8px}.btn.secondary{background:#eef1f2;color:var(--text);border-color:var(--border);box-shadow:none}.btn.secondary:hover{background:#e2e7e9}.btn.ghost{background:transparent;color:var(--brand);border-color:transparent;box-shadow:none}.btn.ghost:hover{background:var(--brand-tint)}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#b83a3a}.field{display:block;margin-bottom:.9rem}.field>span{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.35rem;letter-spacing:.01em}.field input,.field select,.field textarea{width:100%;padding:.72rem .8rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;color:var(--text);background:#fff;transition:border-color .14s ease,box-shadow .14s ease;appearance:none}.field input::placeholder,.field textarea::placeholder{color:#9aa7ad}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7a82' d='M6 8.5 1.5 4h9z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.field input[type=checkbox],.field input[type=radio],input[type=checkbox],input[type=radio]{appearance:auto;-webkit-appearance:auto;width:1.1rem;height:1.1rem;padding:0;margin:0;flex:none;accent-color:var(--brand);cursor:pointer;background:initial;box-shadow:none}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}.field input.ng-invalid.ng-touched,.field select.ng-invalid.ng-touched,.field textarea.ng-invalid.ng-touched,input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:var(--danger);background:var(--danger-tint)}.field input.ng-invalid.ng-touched:focus,.field select.ng-invalid.ng-touched:focus,.field textarea.ng-invalid.ng-touched:focus{box-shadow:0 0 0 3px #d6454533}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.row>.field{min-width:150px}.muted{color:var(--muted)}.small{font-size:.82rem}.right{text-align:right}.error{color:var(--danger);font-size:.85rem;margin:.35rem 0 0}.list-empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;background:var(--brand-tint);color:var(--brand-dark);white-space:nowrap}.banner{border-radius:var(--radius-sm);padding:.8rem 1rem;margin-bottom:1rem;font-size:.9rem;line-height:1.45}.banner strong{font-weight:700}.banner.warn{background:#fff4e5;color:#8a5a00;border:1px solid #ffd8a8}.banner.info{background:#e7f5ff;color:#0b6b9b;border:1px solid #a5d8ff}.banner.success{background:#e7f6ec;color:#1c7a3f;border:1px solid #a9e0bd}.banner.danger{background:var(--danger-tint);color:#a12d2d;border:1px solid #f3b9b9}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--border)}.table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.table tbody tr:last-child td{border-bottom:none}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media (prefers-reduced-motion: no-preference){.content router-outlet+*{animation:route-fade .18s ease-out}}@keyframes route-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
