:root{--c-bg: #F8FAFC;--c-bg-soft: #FBFCFD;--c-surface: #ffffff;--c-ink: #0F172A;--c-ink-soft: #1E293B;--c-muted: #475569;--c-border: #F1F5F9;--c-border-soft: #F8FAFC;--c-pill: #EFF6FF;--c-accent: #2464EA;--c-accent-strong: #1D4ED8;--c-accent-soft: rgba(36, 100, 234, .1);--c-accent-2: #07B4D5;--c-accent-2-soft: rgba(7, 180, 213, .12);--gradient-primary: linear-gradient(135deg, #2464EA 0%, #07B4D5 100%);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px -12px rgba(15, 23, 42, .12);--shadow-cta: 0 14px 30px -14px rgba(36, 100, 234, .5);--shadow-cta-hover: 0 20px 40px -14px rgba(36, 100, 234, .55);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--c-bg);color:var(--c-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}a{color:var(--c-accent-strong)}input,select,textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--c-border);background:#fff;color:var(--c-ink);padding:10px 12px;font-size:.92rem;font-family:inherit;transition:border-color .12s,box-shadow .12s;margin:0}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}textarea{resize:vertical;min-height:80px}select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%23475569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}label.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}label.field>span{font-size:.78rem;color:var(--c-muted);font-weight:500;letter-spacing:.02em}button{font-family:inherit;font-size:.9rem;cursor:pointer;border-radius:var(--radius-md);border:1px solid transparent;padding:9px 14px;font-weight:500;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .12s}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--c-ink);color:#fff;border-color:var(--c-ink)}.btn-primary:not(:disabled):hover{background:#1e293b;border-color:#1e293b;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{background:#fff;color:var(--c-ink);border:1px solid var(--c-border)}.btn-ghost:not(:disabled):hover{background:var(--c-bg-soft);border-color:#e2e8f0}.btn-text{background:transparent;color:var(--c-accent-strong);border:0;padding:4px 8px;font-weight:500;font-size:.88rem}.btn-text:not(:disabled):hover{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px}a.btn-primary,a.btn-ghost{text-decoration:none;display:inline-block}.btn-cta{background:var(--gradient-primary);color:#fff;padding:14px 22px;border-radius:12px;font-weight:600;font-size:.98rem;line-height:1.2;border:0;box-shadow:var(--shadow-cta);transition:transform .14s,box-shadow .16s,filter .12s;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-family:inherit;white-space:nowrap}.btn-cta:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-cta-hover);filter:brightness(1.06)}.btn-cta:disabled{opacity:.6;cursor:not-allowed;filter:none;transform:none}a.btn-cta{text-decoration:none}.btn-cta-add svg{flex-shrink:0;transition:transform .2s ease}.btn-cta-add:not(:disabled):hover svg{transform:rotate(90deg)}.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--brand-dot-color, var(--c-accent));box-shadow:0 0 0 4px var(--c-accent-soft);flex:0 0 auto}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.5rem;letter-spacing:-.02em;font-weight:700}.page-header p{margin:4px 0 0;color:var(--c-muted);font-size:.92rem}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;z-index:40;padding:20px;animation:fade .12s ease-out}.modal{background:#fff;border-radius:var(--radius-lg);padding:26px;width:min(440px,100%);box-shadow:0 30px 60px -20px #0000004d;animation:pop .12s ease-out}.modal h2{margin:0 0 14px;font-size:1.1rem;letter-spacing:-.01em}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}::selection{background:var(--c-accent-soft);color:var(--c-accent-strong)}@media(max-width:720px){body{font-size:14px;overflow-x:hidden}button,.btn-primary,.btn-ghost{min-height:42px}.page-header{gap:12px;margin-bottom:18px}.page-header,.page-header>*{width:100%;min-width:0}.page-header h1{font-size:1.32rem;line-height:1.15;overflow-wrap:anywhere}.page-header p{font-size:.88rem}.page-header .btn-primary,.page-header .btn-ghost,.page-header .btn-cta{width:100%;text-align:center}.card{padding:14px;border-radius:12px}.modal-backdrop{align-items:end;padding:12px}.modal{max-height:calc(100svh - 24px);overflow-y:auto;padding:20px;border-radius:14px}.modal-actions{align-items:stretch;flex-direction:column-reverse}.modal-actions button,.modal-actions a{width:100%;text-align:center}.data-table{min-width:640px}.list-card{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print{body{background:#fff}app-sidenav,.page-header,.toasts,.no-print{display:none!important}.card{border:0!important;box-shadow:none!important}}
