/* SIIFI 2.0 reusable components. Scope page-specific rules separately. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--siifi-text);background:var(--siifi-bg);font-family:var(--siifi-font-sans);font-size:var(--siifi-text-md);line-height:var(--siifi-leading-body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}img{display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--siifi-link);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--siifi-focus-ring);outline-offset:3px}
[hidden]{display:none!important}
.siifi-container{width:min(calc(100% - 3rem),var(--siifi-width-content));margin-inline:auto}.siifi-container--wide{max-width:var(--siifi-width-wide)}.siifi-container--reading{max-width:var(--siifi-width-reading)}
.siifi-card{background:var(--siifi-surface);border:1px solid var(--siifi-border);border-radius:var(--siifi-radius-xl);box-shadow:var(--siifi-shadow-soft)}
.siifi-card__body{padding:var(--siifi-space-6)}.siifi-card--muted{background:var(--siifi-surface-muted)}.siifi-kicker{color:var(--siifi-brand-teal);font-size:var(--siifi-text-xs);font-weight:700;letter-spacing:.13em;text-transform:uppercase}.siifi-heading{font-size:var(--siifi-text-2xl);font-weight:700;letter-spacing:-.035em;line-height:var(--siifi-leading-head);margin:0}.siifi-muted{color:var(--siifi-text-secondary)}.siifi-subtle{color:var(--siifi-subtle)}
.siifi-btn{display:inline-flex;gap:.6rem;align-items:center;justify-content:center;min-height:var(--siifi-control-height);padding:.72rem 1.2rem;border-radius:var(--siifi-radius-md);font-size:var(--siifi-text-sm);font-weight:650;line-height:1.2;border:1px solid transparent;transition:background var(--siifi-duration-fast) var(--siifi-ease),transform var(--siifi-duration-fast) var(--siifi-ease),border-color var(--siifi-duration-fast) var(--siifi-ease),box-shadow var(--siifi-duration-fast) var(--siifi-ease);text-decoration:none;white-space:normal;text-align:center}
.siifi-btn:hover{text-decoration:none;transform:translateY(-1px)}.siifi-btn:active{transform:translateY(0)}.siifi-btn--primary{background:var(--siifi-action);color:#fff}.siifi-btn--primary:hover{background:var(--siifi-action-hover);color:#fff}.siifi-btn--navy{background:var(--siifi-brand-navy);color:#fff}.siifi-btn--navy:hover{background:var(--siifi-navy-light);color:#fff}.siifi-btn--outline{background:var(--siifi-surface);color:var(--siifi-text);border-color:var(--siifi-border-strong)}.siifi-btn--outline:hover{border-color:var(--siifi-brand-teal);color:var(--siifi-brand-teal)}.siifi-btn--ghost{background:transparent;color:var(--siifi-brand-teal)}.siifi-btn--ghost:hover{background:var(--siifi-teal-soft)}.siifi-btn--danger{background:var(--siifi-danger);color:#fff}.siifi-btn--sm{min-height:2.35rem;padding:.52rem .9rem;font-size:.8rem}.siifi-btn:disabled,.siifi-btn[aria-disabled=true]{opacity:.49;cursor:not-allowed;transform:none}
.siifi-badge{display:inline-flex;align-items:center;gap:.4rem;border-radius:var(--siifi-radius-pill);padding:.3rem .65rem;line-height:1.25;font-size:.72rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent}.siifi-badge::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:currentColor;flex:none}.siifi-badge--neutral{color:var(--siifi-muted);background:#EDF2F4;border-color:#DDE6E9}.siifi-badge--success{color:var(--siifi-success);background:var(--siifi-success-bg);border-color:#C3E5D0}.siifi-badge--warning{color:var(--siifi-warning);background:var(--siifi-warning-bg);border-color:#EDD6A6}.siifi-badge--danger{color:var(--siifi-danger);background:var(--siifi-danger-bg);border-color:#ECC7CC}.siifi-badge--info{color:var(--siifi-info);background:var(--siifi-info-bg);border-color:#CDE4EE}
.siifi-field{display:grid;gap:.42rem}.siifi-label{color:var(--siifi-ink);font-size:.84rem;font-weight:650}.siifi-help{color:var(--siifi-muted);font-size:.76rem;line-height:1.45}.siifi-input,.siifi-select,.siifi-textarea{display:block;width:100%;min-height:var(--siifi-control-height);padding:.69rem .85rem;border:1px solid var(--siifi-border-strong);border-radius:var(--siifi-radius-md);background:#fff;color:var(--siifi-ink);transition:border-color var(--siifi-duration-fast),box-shadow var(--siifi-duration-fast)}.siifi-input::placeholder,.siifi-textarea::placeholder{color:#78899A}.siifi-input:focus,.siifi-select:focus,.siifi-textarea:focus{outline:2px solid var(--siifi-focus-ring);outline-offset:1px;border-color:var(--siifi-brand-teal)}.siifi-input[aria-invalid=true]{border-color:var(--siifi-danger)}.siifi-textarea{min-height:7rem;resize:vertical}.siifi-field__error{font-size:.78rem;color:var(--siifi-danger);font-weight:600}
.siifi-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--siifi-border);border-radius:var(--siifi-radius-lg)}.siifi-table{border-collapse:collapse;width:100%;background:var(--siifi-surface);font-size:.875rem;text-align:left}.siifi-table th,.siifi-table td{padding:1rem 1.1rem;border-bottom:1px solid var(--siifi-border);vertical-align:middle}.siifi-table th{background:#F5F8F9;color:var(--siifi-muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.siifi-table tbody tr:last-child td{border-bottom:0}.siifi-table tbody tr:hover{background:#F9FCFB}.siifi-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.siifi-alert{padding:1rem 1.15rem;background:var(--siifi-info-bg);color:var(--siifi-info);border:1px solid #CDE4EE;border-radius:var(--siifi-radius-lg);font-size:.875rem}.siifi-alert--success{background:var(--siifi-success-bg);border-color:#C3E5D0;color:var(--siifi-success)}.siifi-alert--warning{background:var(--siifi-warning-bg);border-color:#EDD6A6;color:var(--siifi-warning)}
.siifi-divider{border:0;border-top:1px solid var(--siifi-border);margin:0}.siifi-logo-lockup{display:inline-flex;align-items:center;gap:.7rem;color:var(--siifi-brand-navy);text-decoration:none}.siifi-logo-lockup:hover{text-decoration:none}.siifi-logo-lockup__symbol{width:38px;height:43px;object-fit:contain;flex:none}.siifi-logo-lockup__wordmark{font-size:1.35rem;font-weight:800;letter-spacing:.055em;line-height:1}.siifi-logo-lockup__tagline{font-size:.57rem;color:var(--siifi-muted);letter-spacing:.035em;line-height:1.35;margin-top:4px;white-space:nowrap}.siifi-icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:middle;flex:none}
@media(max-width:640px){.siifi-container{width:min(calc(100% - 2rem),var(--siifi-width-content))}.siifi-card__body{padding:1.15rem}.siifi-table th,.siifi-table td{padding:.85rem .8rem}.siifi-btn{min-height:var(--siifi-touch-min)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.siifi-btn{transition:none}.siifi-btn:hover{transform:none}}
