/*
Theme Name: Telling Media ERP
Theme URI: https://tellingmedia.dz
Author: Telling Media
Author URI: https://tellingmedia.dz
Description: Plateforme ERP professionnelle pour agence de communication — Telling Media
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: telling-erp
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap');

:root {
  --brand:        #0F1923;
  --brand-mid:    #1E2D3D;
  --accent:       #2563EB;
  --accent-light: #EFF6FF;
  --accent-hover: #1D4ED8;
  --success:      #059669;
  --success-bg:   #ECFDF5;
  --warning:      #D97706;
  --warning-bg:   #FFFBEB;
  --danger:       #DC2626;
  --danger-bg:    #FEF2F2;
  --sidebar-w:    220px;
  --topbar-h:     56px;
  --bg:           #F4F6F9;
  --surface:      #FFFFFF;
  --border:       rgba(0,0,0,.07);
  --border-md:    rgba(0,0,0,.12);
  --text-primary: #0F1923;
  --text-secondary: #4B5563;
  --text-muted:   #9CA3AF;
  --radius-sm:    6px;
  --radius-md:    10px;
  --radius-lg:    14px;
  --font:         'DM Sans', sans-serif;
  --mono:         'DM Mono', monospace;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 14px; }

body.erp-body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text-primary);
  display: flex;
  min-height: 100vh;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
button { font-family: var(--font); cursor: pointer; }
input, select, textarea { font-family: var(--font); }

/* ERP v3 additions */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.stat-card{background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:18px;padding:16px;box-shadow:0 8px 25px rgba(15,23,42,.05)}.stat-card span{display:block;color:var(--text-muted,#64748b);font-size:12px;margin-bottom:8px}.stat-card strong{font-size:20px;font-weight:800;color:var(--text,#111827)}.company-auto-box{background:linear-gradient(135deg,#111827,#334155);color:#fff;border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.company-auto-box span{display:block;opacity:.85;font-size:12px;margin-top:4px}.company-mini{font-size:12px;opacity:.9;text-align:right}.items-card{border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:12px;margin:14px 0;background:#fff}.items-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.invoice-items-table{width:100%;border-collapse:collapse}.invoice-items-table th,.invoice-items-table td{border-bottom:1px solid #eef2f7;padding:8px;font-size:12px}.invoice-items-table input{width:100%;border:1px solid #e5e7eb;border-radius:10px;padding:8px}.totals-box{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px;margin:12px 0}.totals-box div{display:flex;justify-content:space-between;align-items:center;gap:10px}.totals-box .grand{background:#111827;color:#fff;border-radius:12px;padding:10px}.mini-tax{max-width:80px}.mini-icon-btn{border:0;background:#fee2e2;color:#b91c1c;border-radius:8px;padding:6px;cursor:pointer}.invoice-party-box,.quote-print-box{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:12px}.invoice-preview-grid,.quote-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.quote-print{font-family:Arial,sans-serif;color:#111827;padding:28px}.quote-print-header{display:flex;justify-content:space-between;border-bottom:3px solid #111827;padding-bottom:16px;margin-bottom:20px}.quote-print-brand{font-size:24px;font-weight:800}.quote-print-title{font-size:34px;font-weight:900;text-align:right}.quote-print-table,.quote-print-totals{width:100%;border-collapse:collapse}.quote-print-table th{background:#111827;color:#fff}.quote-print-table th,.quote-print-table td,.quote-print-totals td{border:1px solid #d1d5db;padding:9px}.quote-print-totals{width:360px;margin:18px 0 0 auto}.quote-print-totals .grand{background:#111827;color:#fff;font-weight:800}.num{text-align:right}.signatures{display:flex;gap:20px;margin-top:40px}.signature-box{flex:1;border:1px dashed #94a3b8;border-radius:12px;height:90px;padding:12px;color:#64748b}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-green{background:#dcfce7;color:#15803d}.badge-warning{background:#fef3c7;color:#b45309}.badge-danger{background:#fee2e2;color:#b91c1c}.badge-gray{background:#f1f5f9;color:#475569}@media print{.erp-sidebar,.erp-topbar,.form-actions,.data-search,.btn,.row-actions{display:none!important}.erp-main{margin:0!important}.erp-content{padding:0!important}.card,.data-panel{box-shadow:none!important;border:0!important}.stats-grid{break-inside:avoid}}

/* Auth pages */
.auth-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 16px;
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 45%,#f8fafc 45%,#f8fafc 100%);
}
.auth-card{
  width:min(460px,100%);
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:28px;
  box-shadow:0 24px 80px rgba(15,23,42,.24);
  padding:28px;
}
.auth-card-wide{width:min(720px,100%)}
.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.auth-logo{
  width:56px;height:56px;border-radius:18px;background:#0f172a;color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.04em;
}
.auth-brand h1{margin:0;font-size:24px;color:#0f172a}
.auth-brand p{margin:4px 0 0;color:#64748b;font-size:14px}
.auth-form{display:grid;gap:12px}
.auth-form label{font-size:13px;font-weight:700;color:#334155}
.auth-form input{
  width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:13px 14px;font-size:14px;
  outline:none;background:#fff;color:#0f172a;
}
.auth-form input:focus{border-color:#0f172a;box-shadow:0 0 0 4px rgba(15,23,42,.08)}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-check{display:flex!important;align-items:center;gap:8px;font-weight:500!important;color:#64748b!important}
.auth-check input{width:auto!important}
.auth-submit{
  border:0;border-radius:16px;padding:14px 18px;background:#0f172a;color:white;font-weight:800;cursor:pointer;
  box-shadow:0 12px 24px rgba(15,23,42,.2);margin-top:6px;
}
.auth-submit:hover{filter:brightness(1.08)}
.auth-alert{border-radius:14px;padding:12px 14px;margin-bottom:16px;font-size:14px}
.auth-alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.auth-alert.success{background:#ecfdf5;color:#065f46;border:1px solid #bbf7d0}
.auth-links{margin-top:18px;text-align:center;color:#94a3b8;display:flex;gap:10px;justify-content:center;font-size:14px}
.auth-links a{color:#0f172a;font-weight:700;text-decoration:none}
.btn-danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.btn-sm{padding:7px 10px!important;font-size:12px!important}
.role-select{min-width:190px;padding:8px!important;font-size:12px!important}
@media(max-width:720px){.auth-grid{grid-template-columns:1fr}.auth-page{align-items:flex-start;background:#f8fafc}.auth-card{padding:22px;border-radius:22px}}
