:root{--color-primary: #8b7cd9;--color-primary-strong: #6e5bc7;--color-secondary: #ff7a6b;--color-secondary-strong: #e85d4e;--color-accent: #ffcb61;--color-bg: #faf8ff;--color-surface: #ffffff;--color-text: #2e2a3d;--color-text-muted: #6b6577;--color-border: #e9e3f5;--color-success: #4caf7d;--color-warning: #f4a261;--color-danger: #e5484d;--color-danger-strong: #c8383d;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-soft: 0 2px 8px rgba(46, 42, 61, .06), 0 1px 2px rgba(46, 42, 61, .08);--shadow-card: 0 4px 16px rgba(139, 124, 217, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;background-color:var(--color-bg);background-image:radial-gradient(circle at 12% -5%,rgba(139,124,217,.14),transparent 42%),radial-gradient(circle at 100% 15%,rgba(255,203,97,.16),transparent 40%),radial-gradient(circle at 92% 100%,rgba(255,122,107,.12),transparent 45%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%238b7cd9' fill-opacity='0.035'%3E%3Cellipse cx='30' cy='24' rx='4.5' ry='6'/%3E%3Cellipse cx='42' cy='18' rx='4' ry='5.5'/%3E%3Cellipse cx='54' cy='24' rx='4.5' ry='6'/%3E%3Cellipse cx='42' cy='34' rx='9' ry='7.5'/%3E%3C/g%3E%3C/svg%3E");background-attachment:fixed,fixed,fixed,fixed}a{color:var(--color-primary-strong)}a,button,.btn,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus,button:focus,.btn:focus,.card-clickable-overlay:focus{outline:none}a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary-strong);outline-offset:2px}h1,h2,h3{margin-top:0;color:var(--color-text)}.page{max-width:640px;margin:0 auto;padding:32px 20px 64px}.page-narrow{max-width:400px}.breadcrumb{color:var(--color-text-muted);font-size:14px;text-decoration:none;display:inline-block;margin-bottom:16px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px;transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #8b7cd92e}.card+.card{margin-top:12px}.card-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card-list--compact{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card-list--wide{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.compare-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:16px}.compare-col{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.compare-col h2{margin-top:0;font-size:1.1rem}.card-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-clickable{position:relative}.card-clickable-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.card-action{position:relative;z-index:2}.section{margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}.field{display:block;margin-bottom:16px;font-weight:600;font-size:14px;color:var(--color-text)}.field-label-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.unit-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:999px;overflow:hidden;font-weight:600}.unit-toggle-btn{padding:3px 12px;font-size:12px;font-weight:700;font-family:inherit;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer}.unit-toggle-btn.active{background:var(--color-primary-strong);color:#fff}.input,.textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;font-size:15px;font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.input:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b7cd940}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;font-size:15px;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:transform .12s ease,opacity .15s ease,box-shadow .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--color-primary-strong);color:#fff;box-shadow:0 3px 10px #6e5bc759}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #6e5bc766}.btn-secondary{background:var(--color-secondary-strong);color:#fff;box-shadow:0 3px 10px #e85d4e59}.btn-secondary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #e85d4e66}.btn-outline{background:transparent;color:var(--color-primary-strong);border:1px solid var(--color-primary)}.btn-danger{background:transparent;color:var(--color-danger-strong);border:1px solid var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-sm{padding:6px 12px;font-size:13px;gap:4px;white-space:nowrap;flex-shrink:0}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.badge-active{background:#4caf7d26;color:#2f7a56}.badge-expired{background:#6b657726;color:var(--color-text-muted)}.badge-revoked{background:#e5484d1f;color:var(--color-danger-strong)}.badge-macho{background:#5b8fd926;color:#2f5f9e}.badge-femea{background:#ff7aa826;color:#b23570}.alert{padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;margin-top:12px;border:1px solid transparent}.alert-error{background:#e5484d14;border-color:#e5484d4d;color:var(--color-danger-strong)}.alert-info{background:#ffcb612e;border-color:#ffcb6180;color:#7a5b12;font-weight:600}.btn-link-inline{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:700;color:inherit;text-decoration:underline;cursor:pointer}.alert-success{background:#4caf7d1a;border-color:#4caf7d59;color:#2f7a56;word-break:break-all}.trend-up{color:var(--color-success);font-weight:700}.trend-down{color:var(--color-warning);font-weight:700}.trend-down-weight{color:var(--color-danger-strong);font-weight:700;background:#e5484d1a;padding:1px 6px;border-radius:999px}.trend-flat{color:var(--color-text-muted);font-weight:700}.text-muted{color:var(--color-text-muted);font-size:14px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:12px 16px;background:#8b7cd914;color:var(--color-text);font-size:13px;text-transform:uppercase;letter-spacing:.02em;border-bottom:2px solid var(--color-border)}.table td{padding:12px 16px;border-bottom:1px solid var(--color-border)}.table tr:last-child td{border-bottom:none}@media (min-width: 1024px){.page{max-width:1040px}.btn{padding:12px 22px;font-size:16px}.btn-sm{padding:8px 14px;font-size:14px}.input,.textarea{padding:12px 14px;font-size:16px}h1{font-size:2.25rem}h2{font-size:1.5rem}}.confirm-dialog{border:none;border-radius:var(--radius-lg);padding:0;box-shadow:var(--shadow-card);max-width:360px;width:calc(100% - 40px)}.confirm-dialog::backdrop{background:#2e2a3d73}.confirm-dialog-card{padding:20px}.confirm-dialog-title{margin:0 0 8px;font-size:18px}.confirm-dialog-message{margin:0;color:var(--color-text)}.confirm-dialog-warning{margin:8px 0 0;font-size:13px;color:var(--color-danger-strong);font-weight:600}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.chart-section{margin-bottom:16px}.chart-title{font-size:13px;font-weight:600;color:var(--color-text-muted);margin:0 0 4px}.chart-canvas{width:100%}.chart-legend{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px}.chart-legend-item{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:13px;font-family:inherit;cursor:pointer}.chart-legend-item:hover{border-color:var(--color-primary)}.chart-legend-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chart-legend-item[aria-pressed=false]{color:var(--color-text-muted);background:transparent;text-decoration:line-through}.chart-legend-item[aria-pressed=false] .chart-legend-key{opacity:.4}.chart-legend-key{display:inline-flex;align-items:center;flex:0 0 auto}.chart-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:8px 10px;font-size:13px}.chart-tooltip-date{margin:0 0 4px;font-size:12px;color:var(--color-text-muted)}.chart-tooltip-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.chart-tooltip-list li{display:flex;align-items:center;gap:6px}.chart-tooltip-list strong{font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.table caption{padding:12px 16px 0}.table tbody th{background:transparent;text-transform:none;letter-spacing:normal;font-size:inherit;font-weight:600;border-bottom:1px solid var(--color-border);white-space:nowrap}.table tbody th>*+*{margin-left:6px}.table tbody tr:last-child th{border-bottom:none}.table tbody td{font-variant-numeric:tabular-nums;white-space:nowrap}.chart-unit{margin:0 0 2px;font-size:11px;color:var(--color-text-muted)}
