
/* --- Managed, clean light UI --- */
:root {
  --ic-bg: #f7fafc;
  --ic-surface: #ffffff;
  --ic-text: #0f172a;
  --ic-muted: #64748b;
  --ic-border: #e5e7eb;
  --ic-primary: #2563eb;
  --ic-primary-2: #06b6d4;
  --ic-success: #10b981;
  --ic-shadow: 0 8px 24px rgba(16,24,40,0.06);
}

.m365-ic { background: #e5e6e5; padding: 32px 16px; }
.m365-ic__container { max-width: 1000px; margin: 2 auto; }

/* Header */
.m365-ic__header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom: 16px; }
.m365-ic__heading { display:flex; flex-direction:column; gap:4px; }
.m365-ic__title { margin:0; font-size: 24px; font-weight: 800; color: var(--ic-text); }
.m365-ic__subtitle { margin:0; color: var(--ic-muted); font-size: 14px; }
.m365-ic__steps { display:flex; gap:8px; }
.m365-ic__step { background: #eef2ff; color:#334155; border:1px solid #e2e8f0; padding:6px 10px; border-radius:999px; font-size:12px; }
.m365-ic__step b { display:inline-block; width:18px; height:18px; line-height:18px; text-align:center; margin-right:6px; background:#3b82f6; color:#fff; border-radius:50%; font-weight:700; }
.m365-ic__step--active { border-color:#bfdbfe; background:#eff6ff; }

/* Panels */
.m365-ic__panel { background: var(--ic-surface); border:1px solid var(--ic-border); border-radius: 14px; box-shadow: var(--ic-shadow); padding: 16px; }
.m365-ic__panel-title { margin: 0 0 12px; font-size: 16px; font-weight:700; color: var(--ic-text); }
.m365-ic__grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; margin-bottom: 16px; }
@media (max-width: 900px) { .m365-ic__grid { grid-template-columns: 1fr; } }

/* Uploader */
.m365-ic__uploader { display:flex; flex-direction:column; gap:12px; }
.m365-ic__file { display:none; }
#m365-ic-choose { align-self:flex-start; }
.m365-ic__drop { border:2px dashed var(--ic-border); border-radius: 12px; padding: 18px; text-align:center; color: var(--ic-muted); background:#fbfdff; outline:none; }
.m365-ic__drop--hover { background:#f1f7ff; }
.m365-ic__hint { margin:0; font-size:12px; color: var(--ic-muted); }

/* Form */
.m365-ic__form { display:flex; flex-direction:column; gap:14px; }
.m365-ic__field { display:flex; flex-direction:column; gap:8px; }
.m365-ic__label { font-weight:600; color: var(--ic-text); }
.m365-ic__input { width: 100%; background:#fff; color: var(--ic-text); border:1px solid var(--ic-border); border-radius:10px; padding:10px 12px; outline:none; }
.m365-ic__range { display:flex; align-items:center; gap:10px; }
.m365-ic__badge { background:#eef2ff; color:#1e293b; border:1px solid #e2e8f0; padding:4px 8px; border-radius:999px; font-size:12px; min-width:42px; text-align:center; }
.m365-ic__row { display:flex; gap:8px; }
.m365-ic__help { margin:0; font-size:12px; color: var(--ic-muted); }

/* Buttons */
.m365-ic__actions { display:flex; gap: 10px; }
.m365-ic__btn { display:inline-flex; align-items:center; gap:8px; border-radius:10px; border:1px solid var(--ic-border); background:#fff; color: var(--ic-text); padding:10px 14px; cursor:pointer; font-weight:700; }
.m365-ic__btn--primary { background: linear-gradient(135deg, var(--ic-primary), var(--ic-primary-2)); color:#fff; border:none; }
.m365-ic__btn--ghost { background:#fff; }

/* List */
.m365-ic__panel--list { margin-top: 16px; }
.m365-ic__list { display:grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.m365-ic__item { background:#fff; border:1px solid var(--ic-border); border-radius: 12px; overflow:hidden; display:flex; flex-direction:column; box-shadow: var(--ic-shadow); }
.m365-ic__thumb { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #f8fafc; }
.m365-ic__meta { padding: 10px; display:flex; flex-direction:column; gap: 6px; }
.m365-ic__name { font-weight:600; font-size:13px; color: var(--ic-text); }
.m365-ic__small { color: var(--ic-muted); font-size: 12px; }
.m365-ic__progress { height: 6px; background: #f4f6f8; border:1px solid var(--ic-border); border-radius: 999px; overflow:hidden; }
.m365-ic__bar { height:100%; width:0%; background: linear-gradient(90deg, var(--ic-primary), var(--ic-primary-2)); transition: width .2s ease; }
.m365-ic__item-actions { display:flex; gap: 8px; margin-top: 8px; }
.m365-ic__item-btn { flex:1; background:#fff; color: var(--ic-text); border:1px solid var(--ic-border); border-radius:8px; padding:8px; cursor:pointer; font-size: 13px; }
.m365-ic__warning { color: #b45309; }

/* Footer */
.m365-ic__footer { text-align:center; margin-top: 18px; color: var(--ic-muted); font-size: 12px; }
