
.pl-hidden{display:none!important}
.pl-required{color:#ff6b6b}
.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-message{margin-top:10px;font-size:13px;min-height:18px}
.pl-login-error{color:#ff6b6b}

.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,.15)}
.pl-btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}

/* 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-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:normal}
.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-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:560px;white-space:pre-wrap}

@media (max-width:768px){
  .pl-simple-layout{flex-direction:column}
}


/* Typo: titres plus visibles, texte plus compact */
.pl-simple-app h2{font-size:34px;line-height:1.15;margin:0 0 10px}
.pl-simple-app h3{font-size:22px;line-height:1.2;margin:0 0 10px}
.pl-simple-intro{font-size:14px;color:#555}
.pl-simple-form .pl-label{font-size:14px}
.pl-input{font-size:14px}
.pl-simple-result{font-size:13px}
.pl-result-label{font-size:13px;font-weight:700;opacity:.7}
.pl-result-date{font-size:26px;font-weight:900}

/* Markdown rendu */
.pl-md-p{margin:0 0 8px}
.pl-md-ul{margin:0 0 10px 18px;padding:0}
.pl-md-ul li{margin:0 0 6px}
.pl-md-spacer{height:6px}

/* Clamp 3 lignes + Voir plus */
.pl-clamp-wrap{position:relative}
.pl-clamp-content{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  white-space:normal;
}
.pl-clamp-wrap.pl-expanded .pl-clamp-content{
  -webkit-line-clamp:unset;
  display:block;
  overflow:visible;
}
.pl-see-more{display:none;
  margin-top:6px;
  padding:0;
  border:none;
  background:none;
  color:#18a3c8;
  font-weight:700;
  cursor:pointer;
  font-size:13px;
}
.pl-see-more:hover{text-decoration:underline}
