/* PAMS — application terrain (arabe, RTL). Repris de la simulation validée (.phone / .pscr / .ptop …). */
:root{
  color-scheme:light;
  --paper:#F4F3EF; --white:#FFFFFF; --sunk:#ECEAE3; --ink:#20242B; --soft:#59606A; --faint:#878C95; --line:#DDDAD2;
  --night:#1B2430; --night2:#253142;
  --acc:#2F6F62; --acc-d:#20544A; --acc-s:#E3EEEB;
  --pik:#F2B600; --pik-d:#B38600; --pik-s:#FBF1CF;
  --ok:#1F6340; --ok-s:#E0EFE5; --warn:#8A5A10; --warn-s:#F7EAD2; --bad:#8F2E3E; --bad-s:#F5E1E5; --info:#33507A; --info-s:#E4EAF3;
  --wa:#1A8F49;
  --fa:'IBM Plex Sans Arabic','Segoe UI',Tahoma,system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--fa);font-size:15px;line-height:1.65;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
[hidden]{display:none!important}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ltr{direction:ltr;unicode-bidi:isolate}
.num{font-variant-numeric:tabular-nums}
.noscript{padding:20px;text-align:center}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== Enveloppe ===== */
.app{height:100vh;height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;background:var(--paper);position:relative}
@media (min-width:600px){.app{border-inline:1px solid var(--line)}}
.boot{flex:1;display:grid;place-items:center;align-content:center;gap:12px;color:var(--soft)}
.mark{width:56px;height:56px;border-radius:14px;background:var(--pik);color:var(--night);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:30px;font-family:system-ui,sans-serif}

.ptop{background:var(--night);color:#fff;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));display:flex;justify-content:space-between;gap:8px;align-items:center}
.ptop h1{font-size:17px;margin:0;font-weight:700;line-height:1.35}
.ptop .s{font-size:12.5px;color:#AEB6C2}
.ptop .tools{display:flex;gap:4px;align-items:center;flex-shrink:0}
.ptop .back,.ptop .tb{background:none;border:0;color:#9FD3C6;font-size:14px;padding:6px 8px;min-height:44px;min-width:44px;border-radius:8px;font-weight:600}
.ptop .tb[disabled]{opacity:.55}
.ptop .back:hover,.ptop .tb:hover{background:var(--night2)}
.net{font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
.net.on{background:#24453D;color:#A9E2C9}
.net.off{background:#5A2630;color:#F6C3CB}
.spin{display:inline-block;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(-360deg)}}

.pnotif{margin:8px 10px 0;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.08);padding:8px 10px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:right;width:calc(100% - 20px);min-height:52px}
.pnotif i{width:34px;height:34px;border-radius:9px;background:var(--pik);display:grid;place-items:center;font-style:normal;font-weight:700;color:var(--night);font-family:system-ui,sans-serif}
.pnotif b{display:block;font-size:14px}
.pnotif span{font-size:13px;color:var(--soft);display:block}
.pnotif em{font-style:normal;font-size:12px;background:var(--bad);color:#fff;border-radius:999px;padding:0 7px}
@keyframes drop{from{transform:translateY(-14px);opacity:.3}to{transform:none;opacity:1}}

.pbody{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 11px 18px;display:flex;flex-direction:column;gap:9px}
.ptabs{display:flex;background:var(--white);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.ptabs button{flex:1;border:0;background:none;padding:8px 4px 9px;font-weight:600;color:var(--soft);border-top:3px solid transparent;position:relative;font-size:14px;min-height:54px}
.ptabs button.on{color:var(--acc-d);border-top-color:var(--acc)}
.badge{position:absolute;top:4px;left:calc(50% - 30px);background:var(--bad);color:#fff;font-size:11px;font-weight:700;border-radius:999px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;line-height:1}

/* ===== Cartes ===== */
.pcard{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:4px;text-align:right}
button.pcard{width:100%;font-family:var(--fa);min-height:64px}
button.pcard:hover{border-color:#B9B4A6}
.pcard b{font-size:15.5px}
.pcard .meta,.meta{font-size:13px;color:var(--soft)}
.pcard.center{text-align:center}
.pday{font-size:13px;font-weight:700;color:var(--soft);margin-top:4px}
.pweek{font-size:14.5px;font-weight:700;color:var(--night);margin-top:6px;border-bottom:2px solid var(--pik);padding-bottom:2px}
.pweek.late{border-color:var(--bad);color:var(--bad)}
.pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:600;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.t-gris{background:#EDECE7;color:#555B64}.t-info{background:var(--info-s);color:var(--info)}.t-warn{background:var(--warn-s);color:var(--warn)}
.t-bad{background:var(--bad-s);color:var(--bad)}.t-ok{background:var(--ok-s);color:var(--ok)}.t-pik{background:var(--pik-s);color:#7A5B00}
.pendtag{font-size:12px;color:var(--warn);font-weight:600}

/* ===== Boutons ===== */
.abtn{border:0;border-radius:11px;padding:11px 12px;font-weight:600;background:var(--acc);color:#fff;font-family:var(--fa);min-height:48px;width:100%;display:grid;place-items:center;text-align:center;cursor:pointer;text-decoration:none;font-size:15px}
.abtn:hover{background:var(--acc-d)}
.abtn.g{background:var(--white);color:var(--ink);border:1px solid var(--line)}
.abtn.g:hover{border-color:#B9B4A6}
.abtn.y{background:var(--pik);color:var(--night)}
.abtn.y:hover{background:#E0A800}
.abtn.r{background:var(--white);color:var(--bad);border:1px solid #E3BDC5}
.abtn.wa{background:var(--wa)}
.abtn.wa:hover{background:#157A3D}
.abtn.sm{min-height:44px;padding:6px 10px;font-size:13.5px;width:auto}
.abtn[disabled]{opacity:.5;cursor:not-allowed}
label.abtn:focus-within{outline:3px solid var(--acc);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* ===== Formulaires ===== */
.pfld{display:grid;gap:3px;text-align:right}
.pfld label{font-size:13px;font-weight:600;color:var(--soft)}
.pfld input,.pfld select,.pfld textarea{border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:var(--white);font-family:var(--fa);width:100%;text-align:right;min-height:46px;font-size:16px}
.pfld input.ltr{text-align:left}
.pfld textarea{min-height:70px;resize:vertical}
.hint{font-size:12.5px;color:var(--soft)}
.hint.warn{color:var(--warn);font-weight:600}
.callout{border-radius:9px;padding:9px 12px;font-size:13.5px;text-align:right}
.callout.warn{background:var(--warn-s);color:#6B4A10}
.callout.info{background:var(--info-s);color:#2A4466}
.callout.bad{background:var(--bad-s);color:#6E2230}
.callout.ok{background:var(--ok-s);color:#1A4D33}

/* ===== Photos ===== */
.pphotos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pphotos figure{margin:0;position:relative}
.pphotos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px;display:block;background:var(--sunk)}
.pphotos figcaption{font-size:11.5px;color:var(--soft);text-align:center}
.pphotos .rm{position:absolute;top:2px;left:2px;width:44px;height:44px;border:0;background:none;padding:0;display:grid;place-items:start end}
.pphotos .rm span{width:26px;height:26px;border-radius:50%;background:rgba(15,20,26,.75);color:#fff;display:grid;place-items:center;font-size:15px;line-height:1}

/* ===== Problèmes, envois ===== */
.prob{display:grid;gap:6px}
.prob label{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:var(--white);min-height:46px;cursor:pointer}
.prob input{width:20px;height:20px;accent-color:var(--bad)}
.obx{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center}
.obx + .obx{border-top:1px solid var(--line);padding-top:7px}
.obx .st{font-size:12.5px;font-weight:600;text-align:left}
.st-attente{color:var(--bad)} .st-envoi{color:var(--warn)} .st-ok{color:var(--ok)} .st-lien{color:var(--info)} .st-erreur{color:var(--bad)}
.sup-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

/* ===== Connexion ===== */
.login{flex:1;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px 18px calc(24px + env(safe-area-inset-bottom))}
.login .brand{display:flex;gap:12px;align-items:center;justify-content:center;margin-bottom:6px}
.login .brand h1{margin:0;font-size:22px}
.login .brand p{margin:0;color:var(--soft);font-size:13.5px}
.login form{display:grid;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px}

/* ===== Toast ===== */
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(70px + env(safe-area-inset-bottom));max-width:min(92vw,520px);background:var(--night);color:#fff;border-radius:10px;padding:10px 14px;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;text-align:center}
.toast.show{opacity:1}
.toast.bad{background:var(--bad)}
.toast.ok{background:var(--ok)}
