:root{
  /* Theme clair unique (choix de l utilisateur, 01/10/2026) : plus de
     variante sombre pilotee par l OS. */
  color-scheme:light;
  --bg:#f4f6f8; --panel:#ffffff; --ink:#1a1f26; --ink-soft:#5b6672;
  --border:#d8dde4; --accent:#1f6feb; --accent-soft:#e7effd; --accent-text:#fff;
  --ok:#1c7a42; --ok-soft:#e2f4e9; --warn:#8a5a00; --warn-soft:#fdf0d9;
  --bad:#b02a26; --info:#1b4a91; --info-soft:#e6eefb;
  --radius:14px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(16,20,26,.04), 0 8px 24px -16px rgba(16,20,26,.12);
}
*{box-sizing:border-box;}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55;
  -webkit-tap-highlight-color:transparent;}
a{color:var(--accent);text-decoration:none;}
.loading{padding:64px;text-align:center;color:var(--ink-soft);}

/* --- login --- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.login-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;
  padding:32px;max-width:380px;width:100%;box-shadow:0 10px 40px -20px rgba(0,0,0,.3);}
.login-card h1{margin:0 0 4px;font-size:1.4rem;}
.login-card p.sub{margin:0 0 22px;color:var(--ink-soft);font-size:.9rem;}

/* --- shell --- */
.pt-header{background:var(--panel);border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:10;padding-top:env(safe-area-inset-top,0px);}
.pt-header__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px;}
.pt-header__brand-block{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.3;}
.pt-header__brand{font-weight:800;font-size:1.05rem;letter-spacing:-.01em;}
.pt-header__brand span{color:var(--accent);}
.pt-header__client{color:var(--ink-soft);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.pt-header__user{position:relative;flex-shrink:0;}
.pt-avatar{width:38px;height:38px;border-radius:50%;border:none;background:var(--accent);color:var(--accent-text);
  font:inherit;font-weight:700;font-size:.82rem;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.pt-avatar:active{transform:scale(.95);}
.pt-usermenu{position:absolute;right:0;top:calc(100% + 10px);min-width:200px;background:var(--panel);
  border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:6px;z-index:30;}
.pt-usermenu__name{margin:6px 10px 8px;font-weight:700;font-size:.9rem;}
.pt-usermenu__item{display:block;width:100%;text-align:left;padding:10px 10px;border-radius:9px;
  border:none;background:none;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer;}
.pt-usermenu__item:hover{background:var(--bg);}
.pt-usermenu__item--danger{color:var(--bad);}

.pt-nav{display:flex;gap:6px;padding:0 12px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.pt-nav::-webkit-scrollbar{display:none;}
.pt-nav a{flex-shrink:0;padding:8px 14px;font-size:.86rem;font-weight:600;color:var(--ink-soft);
  border-radius:999px;background:var(--bg);white-space:nowrap;transition:background .12s,color .12s;}
.pt-nav a.is-active{color:var(--accent-text);background:var(--accent);}
.pt-main{max-width:820px;margin:0 auto;padding:22px 16px 80px;}
.pt-main h2{margin:0 0 14px;font-size:1.3rem;letter-spacing:-.01em;}

/* --- shared --- */
.field{display:block;margin-bottom:14px;}
.field__label{display:block;font-size:.82rem;color:var(--ink-soft);margin-bottom:5px;font-weight:600;}
.input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);
  background:var(--panel);color:var(--ink);font:inherit;}
.input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent);}
textarea.input{min-height:110px;resize:vertical;}
.btn{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);
  padding:10px 18px;border-radius:var(--radius-sm);font:inherit;font-weight:600;cursor:pointer;
  box-shadow:0 4px 14px -6px color-mix(in srgb, var(--accent) 60%, transparent);transition:transform .08s,box-shadow .12s;}
.btn:active{transform:scale(.97);box-shadow:none;}
.btn--ghost{background:transparent;color:var(--accent);box-shadow:none;}
.btn--block{width:100%;}
.btn[disabled]{opacity:.55;cursor:default;box-shadow:none;}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px;}

.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px;box-shadow:var(--shadow);}
.muted{color:var(--ink-soft);}
.alert{padding:10px 12px;border-radius:8px;font-size:.9rem;margin-bottom:12px;}
.alert--bad{background:var(--bad);color:#fff;}
.alert--info{background:var(--info-soft);color:var(--info);}

.list{list-style:none;margin:0;padding:0;}
.list__item{display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding:13px 4px;border-bottom:1px solid var(--border);}
.list__item:last-child{border-bottom:none;}
.list__item a{font-weight:600;}
.list__meta{color:var(--ink-soft);font-size:.85rem;}

.quote-table{width:100%;border-collapse:collapse;font-size:.92rem;}
.quote-table th,.quote-table td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--border);}
.quote-table th{color:var(--ink-soft);font-weight:600;font-size:.82rem;}
.quote-table tfoot td{border-bottom:none;border-top:2px solid var(--border);}

.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.badge--recue{background:var(--info-soft);color:var(--info);}
.badge--charge{background:var(--warn-soft);color:var(--warn);}
.badge--planifiee{background:var(--accent-soft);color:var(--accent);}
.badge--cours{background:var(--warn-soft);color:var(--warn);}
.badge--resolue{background:var(--ok-soft);color:var(--ok);}
.badge--cloturee{background:var(--border);color:var(--ink-soft);}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px;}
.tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);}
.tile__n{font-size:1.7rem;font-weight:700;letter-spacing:-.02em;}
.tile__l{color:var(--ink-soft);font-size:.85rem;}

.msg{border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;margin-bottom:10px;}
.msg--client{background:var(--accent-soft);}
.msg__head{font-size:.78rem;color:var(--ink-soft);margin-bottom:4px;}
.msg__body{white-space:pre-wrap;}

.detail-row{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:.92rem;}
.detail-row:last-child{border-bottom:none;}
.detail-row__k{color:var(--ink-soft);min-width:130px;flex:none;}
.quote-table__section td{background:var(--accent-soft,#eef3ff);font-weight:700;}
