/* Logistic Calendar — Public Styles */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

.lc-portale {
    font-family: 'Inter', sans-serif;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px 16px 60px;
    color: #111827;
}

.lc-portale-header {
    text-align: center;
    margin-bottom: 36px;
    padding: 32px 24px;
    background: linear-gradient(135deg, #1e3a8a 0%, #1a56db 100%);
    border-radius: 16px;
    color: #fff;
}
.lc-portale-logo { font-size: 13px; font-weight: 600; opacity: .7; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 8px; }
.lc-portale-header h1 { font-size: 26px; font-weight: 700; margin: 0 0 10px; }
.lc-portale-dest { font-size: 15px; opacity: .9; }

.lc-portale-empty { text-align: center; padding: 60px 20px; color: #6b7280; }
.lc-portale-empty-icon { font-size: 48px; margin-bottom: 12px; }

.lc-portale-grid { display: flex; flex-direction: column; gap: 16px; }

/* Ritiro cards */
.lc-ritiro-pub {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    transition: transform .15s, box-shadow .15s;
}
.lc-ritiro-pub:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.lc-ritiro-pub.lc-stato-confermato { border-color: #86efac; }
.lc-ritiro-pub.lc-stato-annullato  { border-color: #fca5a5; opacity: .8; }

.lc-ritiro-pub-head {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    gap: 0;
    align-items: stretch;
}

.lc-ritiro-pub-date {
    background: #1a56db;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 12px;
    text-align: center;
}
.lc-stato-confermato .lc-ritiro-pub-date { background: #059669; }
.lc-stato-annullato  .lc-ritiro-pub-date { background: #dc2626; }

.lc-day   { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; opacity: .85; }
.lc-date-num { font-size: 32px; font-weight: 700; line-height: 1; margin: 2px 0; }
.lc-month { font-size: 10px; opacity: .85; }

.lc-ritiro-pub-info {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.lc-info-row { font-size: 13.5px; color: #374151; }
.lc-info-row em { color: #6b7280; font-style: normal; }
.lc-note { font-style: italic; color: #6b7280; }

.lc-ritiro-pub-stato {
    padding: 16px 16px 16px 0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}

/* Badge public */
.lc-badge { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.lc-badge-pianificato { background: #dbeafe; color: #1e40af; }
.lc-badge-confermato  { background: #d1fae5; color: #065f46; }
.lc-badge-annullato   { background: #fee2e2; color: #991b1b; }

/* Conferma form area */
.lc-conferma-form,
.lc-ritiro-pub-confirmed,
.lc-ritiro-pub-cancelled,
.lc-ritiro-pub-warning {
    border-top: 1px solid #f3f4f6;
    padding: 20px 24px;
    background: #f9fafb;
}
.lc-ritiro-pub-confirmed { background: #f0fdf4; }
.lc-ritiro-pub-cancelled { background: #fef2f2; }
.lc-ritiro-pub-warning   { background: #fffbeb; }

.lc-conferma-info { font-size: 13px; color: #92400e; background: #fef3c7; border-radius: 6px; padding: 8px 12px; margin-bottom: 14px; }

.lc-form-row { margin-bottom: 12px; }
.lc-form-row label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 4px; color: #374151; }
.lc-input {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    box-sizing: border-box;
    font-family: inherit;
}
.lc-input:focus { outline: none; border-color: #1a56db; box-shadow: 0 0 0 3px rgba(26,86,219,.1); }

.lc-btn { display: inline-block; padding: 10px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; border: none; transition: all .15s; font-family: inherit; }
.lc-btn-confirm { background: #059669; color: #fff; width: 100%; text-align: center; font-size: 15px; padding: 13px; }
.lc-btn-confirm:hover { background: #047857; }
.lc-btn-confirm:disabled { background: #9ca3af; cursor: not-allowed; }

.lc-msg { padding: 10px 14px; border-radius: 8px; font-size: 14px; }
.lc-msg.lc-ok  { background: #d1fae5; color: #065f46; }
.lc-msg.lc-err { background: #fee2e2; color: #991b1b; }

.lc-targa { text-transform: uppercase; letter-spacing: 2px; font-weight: 600; font-size: 16px; }

.lc-pub-error {
    background: #fee2e2;
    color: #991b1b;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
}

@media (max-width: 600px) {
    .lc-ritiro-pub-head { grid-template-columns: 80px 1fr; }
    .lc-ritiro-pub-stato { grid-column: 1 / -1; padding: 0 16px 12px; }
    .lc-ritiro-pub-date { padding: 12px 8px; }
    .lc-date-num { font-size: 24px; }
}

/* ── Stampa portale intermediari ──── */
@media print {
    .lc-portale-header { background: #1e3a8a !important; -webkit-print-color-adjust: exact; }
    .lc-btn-confirm, .lc-conferma-form input, .lc-conferma-form textarea { display: none !important; }
    .lc-portale { max-width: 100%; }
}
