/* Licata in Comune 2.3.0 — raccolta chiara e autogestione segnalazioni */
.collection-tomorrow-feature{
    position:relative;
    display:grid;
    gap:18px;
    margin:0 0 24px;
    padding:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.32);
    border-radius:22px;
    background:linear-gradient(135deg,#073d69 0%,#0868a9 100%);
    box-shadow:0 18px 42px rgba(4,58,101,.19);
    color:#fff
}
.collection-tomorrow-feature::after{
    content:"";
    position:absolute;
    right:-82px;
    top:-106px;
    width:240px;
    height:240px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    pointer-events:none
}
a.collection-tomorrow-feature{
    color:#fff;
    text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease
}
a.collection-tomorrow-feature:hover{
    transform:translateY(-2px);
    box-shadow:0 22px 48px rgba(4,58,101,.24)
}
.collection-tomorrow-heading{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:13px
}
.collection-tomorrow-calendar{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:48px;
    height:48px;
    border-radius:15px;
    background:rgba(255,255,255,.16);
    font-size:1.55rem
}
.collection-tomorrow-label{
    display:block;
    color:#fff;
    font-size:clamp(1.35rem,3.2vw,2rem);
    font-weight:950;
    letter-spacing:.025em;
    line-height:1.08;
    text-transform:uppercase
}
.collection-feature-items{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px
}
.collection-feature-item{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:64px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.42);
    border-radius:16px;
    background:#fff;
    color:#133f60;
    box-shadow:0 10px 22px rgba(0,29,55,.13)
}
.collection-feature-item i{
    display:block;
    flex:0 0 auto;
    width:19px;
    height:19px;
    border:3px solid rgba(255,255,255,.88);
    border-radius:50%;
    box-shadow:0 0 0 2px rgba(4,44,75,.14)
}
.collection-feature-item strong{
    font-size:clamp(.98rem,2vw,1.22rem);
    line-height:1.16
}
.collection-feature-organic i{background:#8a5a44}
.collection-feature-diapers i{background:#e967a6}
.collection-feature-plastic i{background:#ffc21c}
.collection-feature-metals i{background:#e70022}
.collection-feature-paper i{background:#0879bd}
.collection-feature-residual i{background:#73777b}
.collection-feature-glass i{background:#079455}
.collection-feature-clothes i{background:#74529b}
.collection-feature-empty{
    position:relative;
    z-index:1;
    padding:18px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:16px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:1.12rem;
    font-weight:850;
    text-align:center
}
.collection-feature-time{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:0!important;
    color:#ecf7ff;
    font-size:1rem;
    line-height:1.45
}
.collection-feature-time strong{color:#fff}
.collection-tomorrow-feature.is-dashboard{
    grid-template-columns:minmax(210px,.62fr) minmax(320px,1.25fr);
    align-items:center;
    gap:18px 24px;
    padding:20px 22px
}
.collection-tomorrow-feature.is-dashboard .collection-feature-time{
    grid-column:1/-1;
    padding-top:2px
}
.collection-tomorrow-feature.is-dashboard .collection-tomorrow-label{
    font-size:clamp(1.12rem,2.4vw,1.55rem)
}
.collection-tomorrow-feature.is-dashboard .collection-feature-item{
    min-height:54px;
    padding:11px 14px
}

.citizen-status-stack{
    display:grid;
    justify-items:end;
    gap:7px
}
.closure-origin-badge{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:5px 9px;
    background:#e8f3ff;
    color:#075e9d;
    font-size:.7rem;
    font-weight:850
}
.citizen-action-box{
    margin-top:22px;
    padding:18px;
    border:1px solid #d9e7f1;
    border-radius:16px;
    background:#f8fbfd
}
.citizen-action-box h3{margin:.25rem 0 .45rem;color:var(--navy)}
.citizen-action-box p{margin:0;color:var(--muted);line-height:1.48}
.citizen-action-edit{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:#f4f9fd
}
.citizen-action-buttons{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto
}
.citizen-action-buttons form{margin:0}
.btn.danger{
    border-color:#b42318;
    background:#b42318;
    color:#fff
}
.btn.danger:hover{background:#912018;border-color:#912018}
.citizen-self-service-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px
}
.citizen-action-close{
    border-color:#c9eadb;
    background:#f4fbf7
}
.citizen-action-close .eyebrow{color:#08764c}
.citizen-action-close .btn{background:#08764c;border-color:#08764c}
.citizen-action-close .btn:hover{background:#06643f;border-color:#06643f}
.citizen-action-box .stack{margin-top:14px;padding-top:14px}
.citizen-action-box textarea{resize:vertical}
.citizen-edit-warning{
    padding:13px 15px;
    border-radius:12px;
    background:#fff7e6;
    color:#7a4a00;
    font-size:.84rem;
    line-height:1.45
}
.citizen-existing-photos{display:grid;gap:10px}
.citizen-photo-edit-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}
.citizen-photo-edit-item{
    position:relative;
    display:grid;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff
}
.citizen-photo-edit-item img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover
}
.citizen-photo-edit-item span{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 11px;
    color:#8a1f17;
    font-size:.78rem;
    font-weight:800
}
.citizen-photo-edit-item input{width:auto;margin:0}
.citizen-edit-form label small{color:var(--muted);font-weight:500;line-height:1.4}

@media(max-width:900px){
    .collection-tomorrow-feature.is-dashboard{grid-template-columns:1fr}
    .collection-tomorrow-feature.is-dashboard .collection-feature-time{grid-column:auto}
    .citizen-self-service-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
    .collection-tomorrow-feature{gap:14px;padding:19px;border-radius:19px}
    .collection-tomorrow-calendar{width:42px;height:42px;border-radius:13px;font-size:1.3rem}
    .collection-tomorrow-label{font-size:1.28rem}
    .collection-feature-items{grid-template-columns:1fr;gap:9px}
    .collection-feature-item{min-height:56px;padding:12px 14px}
    .collection-feature-time{font-size:.92rem}
    .collection-tomorrow-feature.is-dashboard{padding:18px}
    .citizen-action-edit{align-items:stretch;flex-direction:column}
    .citizen-action-buttons{width:100%}
    .citizen-action-buttons .btn,.citizen-action-buttons form{flex:1}
    .citizen-action-buttons form .btn{width:100%}
    .citizen-photo-edit-grid{grid-template-columns:1fr 1fr}
    .citizen-status-stack{justify-items:start}
}
@media(max-width:430px){
    .citizen-photo-edit-grid{grid-template-columns:1fr}
    .citizen-action-buttons{display:grid;grid-template-columns:1fr}
}
.report-status-cell{display:grid;justify-items:start;gap:5px}
.report-card .citizen-status-stack{display:grid;justify-items:end;gap:6px}
@media(max-width:650px){.report-card .citizen-status-stack{justify-items:start}}
