:root{
  --uik-bg:var(--shv-uik-bg,#f5f7fb);
  --uik-card:var(--shv-uik-card,#fff);
  --uik-text:var(--shv-uik-text,#18212f);
  --uik-muted:var(--shv-uik-muted,#637085);
  --uik-border:var(--shv-uik-border,#dbe2ee);
  --uik-primary:var(--shv-uik-primary,#6ea400);
  --uik-primary-hover:var(--shv-uik-primary-hover,#5f8f00);
  --uik-primary-weak:var(--shv-uik-primary-weak,#eef8d6);
  --uik-danger:var(--shv-uik-danger,#c73845);
  --uik-danger-hover:var(--shv-uik-danger-hover,#ad2c38);
  --uik-danger-weak:var(--shv-uik-danger-weak,#fff1f3);
  --uik-success:var(--shv-uik-success,#1c9a57);
  --uik-success-weak:var(--shv-uik-success-weak,#eefbf4);
  --uik-radius:var(--shv-uik-radius,10px);
  --uik-radius-sm:var(--shv-uik-radius-sm,8px);
  --uik-shadow:var(--shv-uik-shadow,0 10px 30px rgba(14,31,53,.08));
  --uik-card-gap:var(--shv-uik-card-gap,12px);
  --uik-card-padding:var(--shv-uik-card-padding,14px);
  --uik-card-padding-sm:var(--shv-uik-card-padding-sm,12px);
  --uik-btn-bg:var(--shv-uik-btn-bg,#fff);
  --uik-btn-text:var(--shv-uik-btn-text,var(--uik-text));
  --uik-btn-border:var(--shv-uik-btn-border,var(--uik-border));
  --uik-btn-hover-bg:var(--shv-uik-btn-hover-bg,#f6faee);
  --uik-btn-hover-text:var(--shv-uik-btn-hover-text,var(--uik-text));
  --uik-btn-primary-bg:var(--shv-uik-btn-primary-bg,var(--uik-primary));
  --uik-btn-primary-border:var(--shv-uik-btn-primary-border,var(--uik-primary));
  --uik-btn-primary-text:var(--shv-uik-btn-primary-text,#fff);
  --uik-btn-primary-hover-bg:var(--shv-uik-btn-primary-hover-bg,var(--uik-primary-hover));
  --uik-btn-primary-hover-border:var(--shv-uik-btn-primary-hover-border,var(--uik-primary-hover));
  --uik-btn-primary-hover-text:var(--shv-uik-btn-primary-hover-text,#fff);
  --uik-btn-danger-bg:var(--shv-uik-btn-danger-bg,var(--uik-danger));
  --uik-btn-danger-border:var(--shv-uik-btn-danger-border,var(--uik-danger));
  --uik-btn-danger-text:var(--shv-uik-btn-danger-text,#fff);
  --uik-btn-danger-hover-bg:var(--shv-uik-btn-danger-hover-bg,var(--uik-danger-hover));
  --uik-btn-danger-hover-border:var(--shv-uik-btn-danger-hover-border,var(--uik-danger-hover));
  --uik-btn-danger-hover-text:var(--shv-uik-btn-danger-hover-text,#fff);
  --uik-input-bg:var(--shv-uik-input-bg,#fff);
  --uik-input-text:var(--shv-uik-input-text,var(--uik-text));
  --uik-focus-ring:var(--shv-uik-focus-ring,rgba(110,164,0,.18));
  --uik-alert-bg:var(--shv-uik-alert-bg,#fff);
  --uik-badge-bg:var(--shv-uik-badge-bg,#fff);
}
*{box-sizing:border-box}
body{margin:0;background:var(--uik-bg);color:var(--uik-text);font:14px/1.6 system-ui,-apple-system,"Noto Sans JP",sans-serif}
a{color:var(--uik-primary);text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%;display:block}
.uik-card{display:grid;gap:var(--uik-card-gap);padding:var(--uik-card-padding);background:var(--uik-card);border:1px solid var(--uik-border);border-radius:var(--uik-radius);box-shadow:var(--uik-shadow)}
.uik-card > *{min-width:0}
.uik-card--compact{padding:var(--uik-card-padding-sm)}
.uik-btn{appearance:none;border:1px solid var(--uik-btn-border);background:var(--uik-btn-bg);color:var(--uik-btn-text);padding:.7rem 1rem;border-radius:var(--uik-radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.uik-btn:hover,.uik-btn:focus-visible{background:var(--uik-btn-hover-bg);color:var(--uik-btn-hover-text)}
.uik-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--uik-focus-ring)}
.uik-btn--primary{background:var(--uik-btn-primary-bg);border-color:var(--uik-btn-primary-border);color:var(--uik-btn-primary-text);--uik-btn-bg:var(--uik-btn-primary-bg);--uik-btn-text:var(--uik-btn-primary-text);--uik-btn-border:var(--uik-btn-primary-border);--uik-btn-hover-bg:var(--uik-btn-primary-hover-bg);--uik-btn-hover-text:var(--uik-btn-primary-hover-text)}
.uik-btn--primary:hover,.uik-btn--primary:focus-visible{border-color:var(--uik-btn-primary-hover-border)}
.uik-btn--danger{background:var(--uik-btn-danger-bg);border-color:var(--uik-btn-danger-border);color:var(--uik-btn-danger-text);--uik-btn-bg:var(--uik-btn-danger-bg);--uik-btn-text:var(--uik-btn-danger-text);--uik-btn-border:var(--uik-btn-danger-border);--uik-btn-hover-bg:var(--uik-btn-danger-hover-bg);--uik-btn-hover-text:var(--uik-btn-danger-hover-text)}
.uik-btn--danger:hover,.uik-btn--danger:focus-visible{border-color:var(--uik-btn-danger-hover-border)}
.uik-btn--sm{padding:.48rem .75rem;font-size:12px}
.uik-btn--block{width:100%}
.uik-input,.uik-select{width:100%;padding:.72rem .85rem;border:1px solid var(--uik-border);border-radius:var(--uik-radius-sm);background:var(--uik-input-bg);color:var(--uik-input-text)}
.uik-field{display:flex;flex-direction:column;gap:.4rem}
.uik-field label{font-size:12px;color:var(--uik-muted)}
.uik-form-grid{display:grid;gap:14px}
.uik-form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.uik-field--full{grid-column:1/-1}
.uik-stack{display:grid;gap:14px}
.uik-form-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.uik-alert{padding:.85rem 1rem;border-radius:var(--uik-radius-sm);border:1px solid var(--uik-border);background:var(--uik-alert-bg)}
.uik-alert--danger{border-color:#f3ccd1;background:var(--uik-danger-weak);color:#792830}
.uik-alert--success{border-color:#c9ead7;background:var(--uik-success-weak);color:#155f39}
.uik-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.26rem .55rem;border-radius:999px;border:1px solid var(--uik-border);background:var(--uik-badge-bg);color:var(--uik-muted);font-size:12px}
.uik-badge--danger{background:var(--uik-danger-weak);color:#7a2130;border-color:#f1c8d0}
@media (max-width:860px){.uik-form-grid--2{grid-template-columns:1fr}}
