:root{
  --ink:#10233f;
  --ink-2:#1c3d66;
  --paper:#f3f6f8;
  --card:#fff;
  --line:#e3e8ee;
  --muted:#5d6b7c;
  --blue:#1351b4;
  --ok:#0f7a32;
  --err:#c4271b;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--paper);color:#1c2430;
  font-family:"Segoe UI",system-ui,sans-serif}
body{min-height:100%;display:flex;flex-direction:column}
button,input,select,textarea{font:inherit}
button{cursor:pointer}

.ac-top{
  position:sticky;top:0;z-index:5;
  display:flex;align-items:center;gap:1rem;
  padding:.7rem 1.1rem;
  background:#fff;border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(16,35,63,.04);
}
.ac-brand{
  display:flex;align-items:center;gap:.65rem;
  background:none;border:0;padding:0;text-align:left;flex-shrink:0;
}
.ac-mark{
  width:38px;height:38px;border-radius:10px;
  display:grid;place-items:center;
  background:var(--ink);color:#fff;font-weight:800;letter-spacing:.04em;font-size:.82rem;
}
.ac-brand-txt{display:flex;flex-direction:column;line-height:1.15}
.ac-brand b{color:var(--ink);font-size:.98rem}
.ac-brand small{color:var(--muted);font-size:.72rem}
.ac-nav{
  display:flex;align-items:center;gap:.25rem;
  flex:1;min-width:0;overflow-x:auto;
  padding-bottom:2px;
}
.ac-nav button{
  border:0;background:transparent;color:var(--ink-2);
  border-radius:999px;padding:.42rem .75rem;white-space:nowrap;font-weight:650;font-size:.88rem;
}
.ac-nav button:hover{background:#e8eef6}
.ac-nav button.is-on{background:var(--ink);color:#fff}
.ac-signin{
  margin-left:auto;flex-shrink:0;
  background:var(--ink);color:#fff;border:0;border-radius:999px;
  padding:.45rem .95rem;font-weight:700;font-size:.86rem;
}
.ac-signin:hover{background:var(--ink-2)}

.ac-main{flex:1;display:flex;flex-direction:column;width:100%;max-width:1180px;margin:0 auto;padding:1.25rem 1.2rem 1rem}
.ac-home{flex:1;display:flex;flex-direction:column;gap:1rem;min-height:0}
.ac-hero{margin:0}
.ac-kicker{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ac-hero h2{margin:.2rem 0 .35rem;font-size:1.7rem;color:var(--ink);letter-spacing:-.02em}
.ac-hero p{margin:0;color:var(--muted);max-width:38rem}

.ac-grid{
  flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;min-height:220px;
}
.ac-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;
  text-align:left;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:1.15rem 1.05rem 1.2rem;height:100%;
  box-shadow:0 8px 24px rgba(16,35,63,.04);
}
.ac-card em{font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--blue)}
.ac-card strong{color:var(--ink);font-size:1.02rem}
.ac-card span{color:var(--muted);font-size:.84rem;line-height:1.35}
.ac-card:hover{border-color:#b9cbe2;transform:translateY(-1px)}

.ac-box{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:1.1rem 1.15rem 1.25rem;box-shadow:0 8px 24px rgba(16,35,63,.04);
}
.ac-box h2{margin:0 0 .9rem;color:var(--ink);font-size:1.2rem}
.ac-welcome{display:none}

.ac-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}
.ac-form .full{grid-column:1/-1}
.ac-form label{display:flex;flex-direction:column;gap:.28rem;font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.ac-form input,.ac-form select,textarea{
  font-size:.95rem;text-transform:none;letter-spacing:0;font-weight:500;
  border:1px solid #c9d3df;border-radius:10px;padding:.55rem .65rem;color:#1c2430;background:#fff;
}
.ac-form input:focus,.ac-form select:focus,textarea:focus{outline:2px solid rgba(19,81,180,.25);border-color:var(--blue)}
.ac-check{flex-direction:row;align-items:center;gap:.5rem;text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:500;color:#1c2430}
.ac-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}
.br-btn{border-radius:999px;padding:.5rem 1.15rem;font-weight:700;font-size:.9rem}
.br-btn.primary{background:var(--ink);color:#fff;border:0}
.br-btn.primary:hover{background:var(--ink-2)}
.br-btn.secondary{background:#fff;color:var(--ink);border:1px solid #c9d3df}

.ac-msg{margin:.8rem 0;padding:.7rem .85rem;border-radius:10px;font-size:.9rem}
.ac-msg.err{background:#fdeceb;color:#8d1c14}
.ac-msg.ok{background:#e8f6ec;color:#0d5c26}

.ac-table-wrap{overflow:auto}
table.ac-table{width:100%;border-collapse:collapse;font-size:.86rem}
table.ac-table th,table.ac-table td{border-bottom:1px solid var(--line);padding:.6rem .4rem;text-align:left;vertical-align:top}
table.ac-table th{color:var(--muted);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}
.ac-badge{display:inline-block;padding:.16rem .55rem;border-radius:999px;color:#fff;font-size:.72rem;font-weight:800}
.ac-badge.ok{background:var(--ok)}
.ac-badge.no{background:var(--err)}

.ac-login{max-width:440px;margin:1.5rem auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.3rem}
.ac-login h2{margin:0 0 .3rem;color:var(--ink)}
.ac-login p{margin:0 0 1rem;color:var(--muted);font-size:.9rem}

.ac-hint{background:#e8eef6;color:var(--ink);border-radius:10px;padding:.6rem .75rem;font-size:.88rem}
.ac-result{margin-top:1rem;border:1px solid var(--line);border-radius:14px;padding:1rem}
.ac-result.ok{border-color:#b7e0c2;background:#f4fbf6}
.ac-result.no{border-color:#f3c4c0;background:#fff6f5}
.ac-result-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem}
.ac-result p{margin:.2rem 0 .7rem}
.ac-result dl{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .9rem;margin:0}
.ac-result dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.ac-result dd{margin:0;font-weight:650}
.ac-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:0 0 1rem}
.ac-kpis div{background:#f7f9fb;border:1px solid var(--line);border-radius:12px;padding:.75rem .85rem}
.ac-kpis span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.ac-kpis b{font-size:1.35rem;color:var(--ink)}

.ac-footer{
  margin-top:auto;border-top:1px solid var(--line);color:var(--muted);
  padding:.75rem 1.1rem;font-size:.75rem;text-align:center;background:#fff;
}

@media(max-width:980px){
  .ac-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .ac-top{flex-wrap:wrap}
  .ac-nav{order:3;width:100%;flex:none}
  .ac-signin{margin-left:auto}
  .ac-form,.ac-result dl,.ac-kpis,.ac-grid{grid-template-columns:1fr}
  .ac-hero h2{font-size:1.4rem}
}
