
/* Auth card */
.pl-login-card{max-width:960px;margin:40px auto;padding:40px 48px;background:#000;color:#fff;border-radius:10px;display:flex;flex-wrap:wrap;gap:40px;box-sizing:border-box}
.pl-login-col{flex:1 1 260px}
.pl-login-col-text h2{margin:0 0 12px;font-size:28px;line-height:1.2}
.pl-login-col-text p{margin:0;font-size:14px;line-height:1.6}
.pl-label{display:block;font-size:13px;margin-bottom:6px}
.pl-input{width:100%;padding:12px 14px;margin-bottom:16px;border-radius:6px;border:1px solid #333;background:#111;color:#fff;box-sizing:border-box}
.pl-input::placeholder{color:#888}
.pl-login-extra{text-align:right;margin-bottom:18px}
.pl-forgot-link{font-size:12px;color:#fff;text-decoration:underline}
.pl-forgot-link:hover{text-decoration:none}
.pl-btn-primary{width:100%;padding:14px 20px;border-radius:999px;border:none;background:#fff;color:#18a3c8;font-weight:700;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}
.pl-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.35)}
.pl-btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}
.pl-login-message{margin-top:10px;font-size:13px;min-height:18px}
.pl-login-error{color:#ff6b6b}
.pl-hidden{display:none!important}
.pl-required{color:#ff6b6b}

/* Dashboard */
.pl-dashboard{max-width:800px;margin:40px auto;padding:30px 32px;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.06);box-sizing:border-box}
.pl-dashboard h2{margin:0 0 8px}
.pl-dashboard-user{font-size:14px;margin-bottom:18px}
.pl-btn-secondary{padding:10px 18px;border-radius:999px;border:none;background:#222;color:#fff;cursor:pointer;font-size:14px;margin-bottom:20px}
.pl-btn-secondary:hover{opacity:.92}

/* Simple app */
.pl-simple-app{max-width:1100px;margin:40px auto;padding:30px 32px;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.06);box-sizing:border-box}
.pl-simple-app h2{margin-top:0}
.pl-simple-intro{font-size:14px;margin-bottom:20px}
.pl-simple-layout{display:flex;flex-wrap:wrap;gap:30px;margin-bottom:30px}
.pl-simple-form{flex:1 1 380px}
.pl-simple-result{flex:1 1 320px;background:#f7f7f7;padding:18px 16px;border-radius:10px;font-size:14px}
.pl-result-block{margin-bottom:12px}
.pl-result-label{font-size:12px;opacity:.75;margin-bottom:4px}
.pl-result-date{font-size:20px;font-weight:800}
.pl-result-justif{white-space:pre-wrap}
.pl-field{margin-bottom:16px}

/* Dropzone */
.pl-dropzone{border:1px dashed #444;border-radius:10px;background:#0b0b0b;color:#fff;padding:14px;cursor:pointer;position:relative}
.pl-dropzone-hover{border-color:#18a3c8}
.pl-dropzone-title{font-weight:700;margin-bottom:4px}
.pl-dropzone-sub{font-size:12px;opacity:.8}
.pl-file-input{position:absolute;inset:0;opacity:0;cursor:pointer}
.pl-file-chip{margin-top:10px;background:#111;border:1px solid #333;padding:8px 10px;border-radius:999px;font-size:12px;display:inline-block}

/* Loading */
.pl-loading{display:flex;align-items:center;gap:10px;margin-top:12px}
.pl-spinner{width:18px;height:18px;border-radius:50%;border:3px solid rgba(24,163,200,.25);border-top-color:#18a3c8;animation:plspin .8s linear infinite}
@keyframes plspin{to{transform:rotate(360deg)}}
.pl-loading-text{font-size:13px;opacity:.85}

/* History */
.pl-simple-history h3{margin-bottom:10px}
.pl-simple-table{width:100%;border-collapse:collapse;font-size:13px}
.pl-simple-table th,.pl-simple-table td{border:1px solid #e0e0e0;padding:8px 10px;text-align:left;vertical-align:top}
.pl-simple-table th{background:#f4f4f4}
.pl-td-justif{max-width:520px;white-space:pre-wrap}

/* Responsive */
@media (max-width:768px){
  .pl-login-card{padding:30px 20px}
  .pl-simple-layout{flex-direction:column}
}

/* Menu (taggé dynamiquement) */
.pl-menu-calcul-simple{display:none}
