
:root {
  --igso:#273f20; --igso-light:#3a5c30; --igso-dark:#1a3020;
  --origin:#10b981; --origin-deep:#059669; --page:#f4f7f3;
  --surface:#ffffff; --surface-soft:#fbfcfb; --text:#101828;
  --secondary:#6a7282; --muted:#9ca3af; --border:#d1d5db;
  --ok:#17803d; --warn:#a15c00; --bad:#c62828; --link:#2563eb;
  --shadow:0 12px 32px rgba(26,48,32,.12);
  font-family:Arimo,"Noto Sans SC","PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
}
* { box-sizing:border-box }
html { background:var(--page); color:var(--text) }
body { margin:0; min-height:100vh; background:var(--page); color:var(--text);
       font:14px/1.55 Arimo,"Noto Sans SC","PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif }
button, input, select { font:inherit }
button, select, a { -webkit-tap-highlight-color:transparent }
button { min-height:44px; border:1px solid var(--border); border-radius:10px;
         padding:9px 14px; background:var(--surface); color:var(--text); cursor:pointer;
         transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s }
button:hover { border-color:var(--igso-light); background:#f3f7f1 }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible {
  outline:3px solid rgba(16,185,129,.35); outline-offset:2px
}
button.primary { border-color:var(--origin-deep); background:linear-gradient(90deg,var(--origin),var(--origin-deep)); color:#fff; font-weight:650 }
button.primary:hover { background:linear-gradient(90deg,#0ea975,#047c5b) }
button.danger { border-color:#ef9a9a; background:#fff5f5; color:var(--bad) }
button:disabled { opacity:.5; cursor:not-allowed }
a { color:var(--igso); text-underline-offset:3px }
a:hover { color:var(--igso-light); text-decoration:underline }
input, select { min-height:44px; border:1px solid var(--border); border-radius:10px;
                padding:10px 12px; background:#fff; color:var(--text) }
input::placeholder { color:var(--muted) }
code { color:#0b6b4f; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
       font-size:12px; overflow-wrap:anywhere; word-break:break-word }
.igso-header { min-height:64px; padding:10px 20px; display:flex; align-items:center;
               gap:12px; flex-wrap:wrap; background:var(--igso); color:#fff;
               border-bottom:1px solid var(--igso-dark) }
.igso-header a { color:#fff }
.igso-header button, .igso-header select { border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.1); color:#fff }
.igso-header button:hover, .igso-header select:hover { background:rgba(255,255,255,.18) }
.igso-header option { color:var(--text); background:#fff }
.igso-brand { display:flex; align-items:center; gap:10px; min-width:0 }
.igso-brand img { width:40px; height:40px; object-fit:contain; flex:none }
.igso-brand-text { min-width:0 }
.igso-brand-title { font-size:16px; font-weight:700; line-height:1.15 }
.igso-brand-subtitle { color:rgba(255,255,255,.72); font-size:11px; white-space:nowrap }
.header-spacer { flex:1 }
.muted { color:var(--secondary); font-size:12px }
.igso-header .muted { color:rgba(255,255,255,.72) }
.locale-switcher { display:flex; align-items:center; gap:4px; padding:3px; border-radius:12px;
                   background:rgba(255,255,255,.1) }
.locale-button { min-height:36px; padding:6px 9px; border:0; background:transparent; color:inherit; font-size:12px }
.locale-button[aria-pressed="true"] { background:#fff; color:var(--igso); box-shadow:0 1px 4px rgba(0,0,0,.15) }
.page-main { width:min(100%,1180px); padding:24px; display:grid; gap:16px }
.panel { background:var(--surface); border:1px solid var(--border); border-radius:12px;
         padding:16px 18px; box-shadow:0 1px 2px rgba(16,24,40,.04) }
.panel h2 { margin:0 0 12px; font-size:12px; text-transform:uppercase;
            letter-spacing:.07em; color:var(--secondary); font-weight:700 }
.hint { color:var(--secondary); font-size:13px; margin:0 0 12px }
.empty { color:var(--secondary); font-style:italic }
.ok { color:var(--ok) } .warn { color:var(--warn) } .bad { color:var(--bad) }
.message { margin:16px 24px 0; padding:11px 14px; border-radius:10px; display:none }
.message.ok { display:block; border:1px solid #86d39f; color:var(--ok); background:#effaf2 }
.message.bad { display:block; border:1px solid #ef9a9a; color:var(--bad); background:#fff5f5 }
.mobile-nav { display:none }
@media (max-width:700px) {
  body { font-size:16px }
  .igso-header { padding:10px 12px; gap:8px }
  .igso-brand { width:100% }
  .igso-brand-subtitle { white-space:normal }
  .header-spacer { display:none }
  .page-main { padding:14px }
  .panel { padding:14px }
  .desktop-label { display:none }
  .locale-switcher { order:5 }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important }
}
