.aa-tools{
  --bg: #f6f7fc; --surface: #ffffff; --fg: #1d1a45; --muted: #5b5f78; --line: #dfe2ee;
  --navy: #26225A; --red: #D52229; --chip: #eef1fb; --chip-on: #26225A; --chip-on-fg: #ffffff;
  --pass: #1f7a4d; --pass-bg: #e3f4ea; --warn: #8a5200; --warn-bg: #fff2d9; --fail: #b3161c; --fail-bg: #fde6e7; --info-bg: #eef1fb;
  --display: "Poppins", "Segoe UI", system-ui, sans-serif;
  --body: "Poppins", "Segoe UI", system-ui, sans-serif;
}
.aa-tools,.aa-tools *{ box-sizing: border-box; }
.aa-tools{ color: var(--fg); font: 16px/1.6 var(--body); max-width: 1160px; margin: 0 auto; padding: 32px 20px 48px; }
.aa-tools h1{ font: 800 clamp(28px, 4.6vw, 44px)/1.1 var(--display); text-transform: none; color: var(--navy); margin: 14px 0 10px; text-wrap: balance; }
.aa-tools h2{ font: 700 22px/1.3 var(--display); color: var(--navy); margin: 0 0 6px; text-wrap: balance; }
.aa-tools h3{ font: 600 17px/1.35 var(--display); color: var(--navy); margin: 0 0 6px; }
.aa-tools .lead{ max-width: 70ch; color: var(--muted); margin: 0; }
.aa-tools a{ color: var(--navy); }
.aa-tools .group{ margin-top: 36px; }
.aa-tools .group > h2{ display: flex; gap: 10px; align-items: baseline; }
.aa-tools .group > h2 small{ font: 500 14px/1 var(--body); color: var(--muted); }
.aa-tools .cards{ display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 14px; margin-top: 14px; }
.aa-tools .card-link{ display: flex; flex-direction: column; gap: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 18px; text-decoration: none; color: var(--fg); min-height: 150px; }
.aa-tools .card-link:hover,.aa-tools .card-link:focus-visible{ border-color: var(--navy); outline: none; box-shadow: 0 0 0 2px var(--navy) inset; }
.aa-tools .card-link .ico{ width: 40px; height: 40px; border-radius: 10px; background: var(--chip); display: grid; place-items: center; color: var(--navy); }
.aa-tools .card-link p{ margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.aa-tools .card-link .go{ margin-top: auto; font: 600 13.5px/1 var(--display); color: var(--red); }
.aa-tools .tag{ display: inline-block; font: 600 11px/1 var(--display); letter-spacing: .05em; text-transform: none; padding: 4px 7px; border-radius: 4px; background: var(--pass-bg); color: var(--pass); align-self: flex-start; }
.aa-tools .tag.soon{ background: var(--warn-bg); color: var(--warn); }
.aa-tools .tool-head p{ max-width: 72ch; color: var(--muted); margin: 0; }
.aa-tools .grid2{ display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; margin-top: 24px; align-items: start; }
.aa-tools .side{ position: sticky; top: calc(env(safe-area-inset-top, 0px) + 16px); }
@media (max-width: 900px) {.aa-tools .grid2{ grid-template-columns: minmax(0, 1fr); }.aa-tools .side{ position: static; } }
.aa-tools .panel{ background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 20px; min-width: 0; }
.aa-tools .q{ padding: 18px 0; border-bottom: 1px solid var(--line); }
.aa-tools .q:first-child{ padding-top: 0; }
.aa-tools .q > .label{ font: 700 17px/1.35 var(--display); color: var(--navy); margin: 0 0 4px; display: block; }
.aa-tools .hint{ color: var(--muted); font-size: 14.5px; margin: 0 0 10px; }
.aa-tools .opts{ display: flex; flex-wrap: wrap; gap: 8px; }
.aa-tools .opts.stack{ flex-direction: column; }
.aa-tools .opts input{ position: absolute; opacity: 0; pointer-events: none; }
.aa-tools .opts label{ display: flex; gap: 10px; align-items: center; background: var(--chip); border: 1.5px solid transparent; border-radius: 8px; padding: 10px 14px; cursor: pointer; font-size: 15px; line-height: 1.35; min-height: 44px; }
.aa-tools .opts.stack label{ width: 100%; }
.aa-tools .opts input:checked + label{ background: var(--chip-on); color: var(--chip-on-fg); }
.aa-tools .opts input:focus-visible + label{ outline: 3px solid var(--red); outline-offset: 2px; }
.aa-tools .opts label:hover{ border-color: var(--navy); }
.aa-tools input[type=number],.aa-tools input[type=date],.aa-tools input[type=text],.aa-tools input[type=search],.aa-tools select{
  font: 16px/1.3 var(--body); color: var(--fg); background: var(--surface); border: 1.5px solid var(--line); border-radius: 8px; padding: 10px 12px; min-height: 44px; width: 100%; }
.aa-tools input:focus-visible,.aa-tools select:focus-visible,.aa-tools button:focus-visible{ outline: 3px solid var(--red); outline-offset: 2px; }
.aa-tools .field{ display: grid; gap: 6px; }
.aa-tools .field > span{ font: 600 14px/1.3 var(--display); color: var(--navy); }
.aa-tools .fields{ display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 14px; }
.aa-tools .btn{ font: 600 14px/1 var(--display); border-radius: 8px; padding: 12px 16px; cursor: pointer; border: 1.5px solid var(--navy); background: transparent; color: var(--navy); }
.aa-tools .btn.primary{ background: var(--navy); color: var(--surface); }
.aa-tools .result{ border-radius: 10px; padding: 14px 16px; margin: 0 0 12px; font-size: 15px; }
.aa-tools .result strong{ display: block; font: 700 16px/1.35 var(--display); margin-bottom: 4px; }
.aa-tools .result.pass{ background: var(--pass-bg); color: var(--pass); }
.aa-tools .result.warn{ background: var(--warn-bg); color: var(--warn); }
.aa-tools .result.fail{ background: var(--fail-bg); color: var(--fail); }
.aa-tools .result.info{ background: var(--info-bg); color: var(--fg); }
.aa-tools .result ul{ margin: 6px 0 0; padding-left: 20px; }
.aa-tools .big{ font: 800 52px/1 var(--display); color: var(--navy); font-variant-numeric: tabular-nums; }
.aa-tools .bigsub{ color: var(--muted); font-size: 14.5px; }
.aa-tools table.kv{ width: 100%; border-collapse: collapse; font-size: 14.5px; margin-top: 14px; }
.aa-tools table.kv td{ padding: 7px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.aa-tools table.kv td:last-child{ text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; padding-left: 12px; }
.aa-tools .note{ margin-top: 24px; font-size: 13.5px; color: var(--muted); max-width: 85ch; line-height: 1.6; }
.aa-tools .cta{ margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 14.5px; }
.aa-tools .cta b{ font-family: var(--display); color: var(--navy); }
.aa-tools .days{ display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.aa-tools .day{ display: grid; gap: 4px; text-align: center; }
.aa-tools .day span{ font: 600 12px/1.2 var(--display); color: var(--muted); }
.aa-tools .day span b{ display: block; color: var(--fg); font-size: 13px; }
.aa-tools .day input{ text-align: center; padding: 8px 4px; }
.aa-tools .day.blocked input{ background: var(--fail-bg); }
.aa-tools .weekhead{ font: 600 13px/1 var(--display); color: var(--muted); margin: 12px 0 6px; }
.aa-tools .meter{ height: 12px; background: var(--chip); border-radius: 6px; overflow: hidden; margin: 14px 0 6px; position: relative; }
.aa-tools .meter i{ position: absolute; inset: 0 auto 0 0; background: var(--navy); border-radius: 6px; transition: width .2s; }
.aa-tools .meter i.over{ background: var(--red); }
@media (max-width: 520px) {.aa-tools .day span b{ font-size: 12px; }.aa-tools .day input{ font-size: 15px; } }
@media (prefers-reduced-motion: reduce) {.aa-tools .meter i{ transition: none; } }
.aa-tools .tool-head h1{display:none}.aa-tools .tool-head p{font-size:17px}.aa-tools table.kv,.aa-tools table.kv tr,.aa-tools table.kv td{border:0;background:transparent!important}.aa-tools table.kv td{border-bottom:1px solid var(--line)}
.aa-tools .btn.primary{color:#fff}.aa-tools a.btn{text-decoration:none}
.aa-tools a:not(.btn){color:var(--navy);text-decoration:underline;text-underline-offset:2px}.aa-tools .cta a{font-weight:600}
