/* galichon.eu CRM — Editorial Authority back-office */
:root{
  --ivory:#f4efe6; --ivory-alt:#ece4d5; --ink:#1a1a1a; --muted:#4a4438; --faint:#7a6f5f;
  --bordeaux:#9c1d2e; --bordeaux-dark:#7d1725; --navy:#0d1b2a; --card:#ffffff; --line:#e3dccd;
  --green:#2e7d32; --red:#9c1d2e;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Helvetica Neue',system-ui,sans-serif;
  --radius:4px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--ivory);color:var(--ink);font-size:14px;line-height:1.6}
a{color:var(--bordeaux);text-decoration:none} a:hover{text-decoration:underline}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}

/* layout */
.crm-shell{display:flex;min-height:100vh}
.crm-sidebar{width:216px;background:var(--navy);color:#cbd3dd;flex-shrink:0;display:flex;flex-direction:column}
.crm-main{flex:1;padding:32px 40px;overflow-y:auto}
.crm-page{max-width:1080px}
.crm-page h1{font-family:var(--serif);font-weight:400;font-size:28px;margin-bottom:22px;color:var(--ink)}
.crm-page h2{font-family:var(--serif);font-weight:400;font-size:18px;color:var(--muted);margin-bottom:12px}

/* sidebar */
.sidebar-brand{padding:22px 20px 18px;font-family:var(--serif);font-size:19px;color:var(--ivory);border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar-brand span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;color:#8a94a3;margin-top:4px;text-transform:uppercase}
.sidebar-nav{padding:12px 0;flex:1}
.sidebar-nav a{display:block;padding:10px 20px;color:#cbd3dd;font-size:13px}
.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.06);color:#fff;border-left:3px solid var(--bordeaux);padding-left:17px;text-decoration:none}
.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);font-size:12px}
.sidebar-footer a{color:#8a94a3;display:block;padding:4px 0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--sans)}
.btn:hover{text-decoration:none;opacity:.9}
.btn-primary{background:var(--bordeaux);color:#fff}
.btn-secondary{background:var(--card);color:var(--ink);border-color:var(--line)}
.btn-danger{background:transparent;color:var(--red);border-color:var(--line)}
.btn-sm{padding:4px 10px;font-size:12px}
.btn-full{width:100%;justify-content:center}

/* forms */
label{display:block;margin-bottom:4px;font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select,textarea,input[type=file]{
  width:100%;padding:9px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  color:var(--ink);font-size:14px;font-family:var(--sans);margin-bottom:16px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--bordeaux)}
textarea{min-height:100px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-actions{display:flex;gap:10px;margin-top:8px}

/* tables */
.crm-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line)}
.crm-table th{background:var(--ivory-alt);padding:11px 14px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}
.crm-table td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:13px}
.crm-table tr:last-child td{border-bottom:none}
.crm-table tr:hover td{background:var(--ivory)}

/* badges */
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid var(--line)}
.badge-tag{background:var(--ivory-alt);color:var(--muted)}
.badge-new{background:var(--ivory-alt);color:var(--muted)}
.badge-qualified{background:#eef3ee;color:var(--green)}
.badge-proposal{background:#f6ece0;color:#8a5a1a}
.badge-won{background:#eef3ee;color:var(--green)}
.badge-lost{background:#f6e7e9;color:var(--red)}

/* stat cards */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}
.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.stat-card .stat-label{font-size:11px;text-transform:uppercase;color:var(--faint);letter-spacing:.06em;margin-bottom:8px}
.stat-card .stat-value{font-size:30px;font-family:var(--serif);color:var(--bordeaux)}

/* alerts */
.alert{padding:10px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:13px;border:1px solid}
.alert-success{background:#eef3ee;border-color:#cfe0cf;color:var(--green)}
.alert-error{background:#f6e7e9;border-color:#e6c9ce;color:var(--red)}

/* toolbar */
.crm-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap}
.crm-toolbar input[type=text]{width:260px;margin-bottom:0}

/* login */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--navy)}
.login-card{background:var(--ivory);border-radius:6px;padding:40px;width:360px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.login-logo{font-family:var(--serif);font-size:24px;margin-bottom:6px;text-align:center;color:var(--ink)}
.login-sub{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);text-align:center;margin-bottom:26px}

/* pipeline */
.pipeline-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px}
.pipeline-col{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:240px;flex-shrink:0}
.pipeline-col-header{padding:12px 14px;border-bottom:1px solid var(--line);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pipeline-col-header .col-count{float:right;background:var(--ivory-alt);border-radius:10px;padding:0 7px;font-size:11px}
.deal-card{margin:10px;padding:12px;background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius)}
.deal-card .deal-title{font-weight:600;font-size:13px;margin-bottom:4px}
.deal-card .deal-meta{font-size:11px;color:var(--faint)}
.deal-card .deal-value{margin-top:4px;color:var(--bordeaux);font-weight:600;font-size:12px}

/* timeline */
.timeline{list-style:none}
.timeline li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.timeline-icon{width:30px;height:30px;border-radius:50%;background:var(--ivory-alt);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.timeline-body .meta{font-size:11px;color:var(--faint);margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em}
.card-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:20px}
