/* Hérite du style Game-Boy; ajouts pour tabs & badges + calendrier */
.ao-header { display:flex; align-items:center; justify-content:space-between; margin:1rem 0; }
.ao-actions .btn { margin-left:.5rem; }
.ao-panel { display:flex; gap:1rem; align-items:center; margin-bottom:1rem; }
.ao-calendar { border:1px solid var(--gb-border,#333); min-height:220px; padding:.5rem; }
.card { border:1px solid var(--gb-border,#333); padding:1rem; margin:1rem 0; background:#f8f8f8; }
.btn { cursor:pointer; }
.steps { display:flex; gap:1rem; list-style:none; padding:0; }
.ao-modal { position:fixed; inset:0; background:rgba(0,0,0,.35); }
.ao-modal .box { background:#fff; padding:1rem; max-width:90vw; margin:6vh auto; }
.grid-2 { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:.75rem; }
label { display:flex; flex-direction:column; font-size:14px; gap:.25rem; }
input, select, textarea { padding:.45rem .6rem; border:1px solid #333; background:#fff; }
code { background:#eee; padding:.1rem .3rem; }
.tabs { display:flex; gap:.5rem; margin:.5rem 0; }
.tab { padding:.4rem .7rem; border:1px solid #333; background:#eee; cursor:pointer; }
.tab.active { background:#fff; }
.tab-panel { display:none; }
.tab-panel.active { display:block; }
.subtabs { display:flex; gap:.5rem; margin:.5rem 0; }
.subtab { padding:.3rem .6rem; border:1px dashed #333; background:#f0f0f0; cursor:pointer; }
.subtab.active { background:#fff; }
.badge { display:inline-block; padding:.2rem .5rem; border:1px solid #333; background:#fff8c4; margin-bottom:.5rem; }
.qa-list { list-style:none; padding-left:0; }
.qa-thread { margin-bottom:.5rem; }
.qa-thread .q { font-weight:bold; }
.journal { list-style:none; padding-left:0; font-family:monospace; }

/* Calendar */
.cal-header { text-align:center; font-weight:bold; margin-bottom:.5rem; }
.cal-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:.25rem; }
.cal-cell { border:1px solid #333; min-height:80px; background:#fff; padding:.25rem; display:flex; flex-direction:column; }
.cal-empty { background:#f0f0f0; }
.cal-day { font-size:12px; opacity:.7; align-self:flex-end; }
.cal-item { display:block; font-size:12px; text-decoration:underline; margin:.2rem 0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.cal-more { font-size:12px; opacity:.7; }


/* Danger button */
.btn-danger { border:1px solid #c00; background:#ffecec; color:#900; }
.btn-danger:hover { background:#ffdada; }

#ao-steps li { cursor: pointer; }
#ao-steps li.active { font-weight: 600; text-decoration: underline; }