.rota-memories-shell{
    display:flex;
    flex-direction:column;
}
.rota-memories-top{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:var(--enriched-spacing-6);
    margin-bottom:var(--enriched-spacing-4);
}
.rota-memories-title{
    display:flex;
    flex-direction:column;
    gap:var(--enriched-spacing-xs);
}
.rota-memories-title-k{
    font-size:var(--enriched-font-3xl);
    font-weight:800;
    letter-spacing:var(--enriched-tracking-tight);
    background:var(--enriched-gradient-primary);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    line-height:1.1;
}
.rota-memories-title-s{
    font-size:var(--enriched-font-md);
    color:var(--enriched-text-lighter);
    font-weight:400;
    letter-spacing:var(--enriched-tracking-wide);
    text-transform:uppercase;
}
.rota-memories-nav{
    display:flex;
    gap:var(--enriched-spacing-xs);
    background:var(--enriched-section-bg-muted);
    padding:var(--enriched-spacing-xs);
    border-radius:var(--enriched-border-radius-xxxxl);
    backdrop-filter:blur(var(--enriched-glass-blur));
    -webkit-backdrop-filter:blur(var(--enriched-glass-blur));
    border:var(--enriched-glass-border);
}
.rota-memories-navbtn{
    padding:var(--enriched-spacing-3) var(--enriched-spacing-6);
    border-radius:var(--enriched-border-radius-xxxxl);
    font-weight:600;
    font-size:var(--enriched-font-sm);
    color:var(--enriched-text);
    transition:var(--enriched-transition-fast);
    text-decoration:none;
    background:transparent;
    border:none;
    cursor:pointer;
    letter-spacing:var(--enriched-tracking-normal);
}
.rota-memories-navbtn:hover{
    background:var(--enriched-section-bg-tint-primary);
    color:var(--enriched-primary-dark);
}
.rota-memories-navbtn.is-active{
    background:var(--enriched-gradient-primary);
    color:#fff;
    box-shadow:var(--enriched-shadow-primary);
}
.rota-memories-banner{
    padding:var(--enriched-spacing-6) var(--enriched-spacing-8);
    border-radius:var(--enriched-border-radius-lg);
    background:var(--enriched-surface);
    backdrop-filter:blur(var(--enriched-glass-blur));
    -webkit-backdrop-filter:blur(var(--enriched-glass-blur));
    border:var(--enriched-glass-border);
    display:flex;
    flex-direction:column;
    gap:var(--enriched-spacing-3);
    position:relative;
    isolation:isolate;
}
.rota-memories-banner::before{
    content:'';
    position:absolute;
    inset:0;
    border-radius:inherit;
    padding:1px;
    background:var(--enriched-border-light);
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}
.rota-memories-banner-info{background:var(--enriched-section-bg-tint-blue);border-left:4px solid var(--enriched-info);}
.rota-memories-banner-warn{background:var(--enriched-section-bg-tint-amber);border-left:4px solid var(--enriched-warning);}
.rota-memories-banner-danger{background:var(--enriched-section-bg-tint-red);border-left:4px solid var(--enriched-danger);}
.rota-memories-banner-title{font-weight:700;font-size:var(--enriched-font-lg);color:var(--enriched-text-dark);}
.rota-memories-banner-text{color:var(--enriched-text);font-size:var(--enriched-font-md);line-height:var(--enriched-line-height-normal);}
.rota-memories-banner-actions{margin-top:var(--enriched-spacing-3);display:flex;gap:var(--enriched-spacing-3);}

.rota-memories-bottom{display:flex;flex-direction:column;gap:var(--enriched-spacing-6);}
.rota-memories-bottom-banner{margin-top:0;}

.rota-memories-card{
    background:var(--enriched-section-bg-elevated);
    backdrop-filter:blur(var(--enriched-glass-blur));
    -webkit-backdrop-filter:blur(var(--enriched-glass-blur));
    border-radius:var(--enriched-border-radius-xl);
    padding:var(--enriched-spacing-8);
    border:1px solid var(--enriched-border-light);
    box-shadow:var(--enriched-shadow-sm);
    transition:var(--enriched-transition-normal);
}
.rota-memories-card:hover{
    box-shadow:var(--enriched-shadow-md);
    border-color:var(--enriched-border);
}
.rota-memories-card-h{margin-bottom:var(--enriched-spacing-6);display:flex;gap:var(--enriched-spacing-xs);}
.rota-memories-card-title{font-size:var(--enriched-font-xl);font-weight:700;color:var(--enriched-text-dark);letter-spacing:var(--enriched-tracking-tight);}
.rota-memories-card-sub{font-size:var(--enriched-font-md);color:var(--enriched-text-lighter);line-height:var(--enriched-line-height-normal);}
.rota-memories-card-h-column{flex-direction:column;}
.rota-memories-card-h-split{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.rota-memories-card-h-left{min-width:0;flex:1;}
.rota-memories-card-h-right{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;}
.rota-memories-card-h-left .rota-memories-card-sub{word-break:break-word;}

.rota-memories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--enriched-spacing-6);}
.rota-memories-tile{
    background:var(--enriched-section-bg-soft);
    border-radius:var(--enriched-border-radius-lg);
    padding:var(--enriched-spacing-6);
    border:1px solid var(--enriched-border-light);
    transition:var(--enriched-transition-fast);
    display:flex;
    flex-direction:column;
    gap:var(--enriched-spacing-xs);
}
.rota-memories-tile:hover{background:var(--enriched-section-bg-muted);border-color:var(--enriched-border);}
.rota-memories-k{font-size:var(--enriched-font-xs);text-transform:uppercase;letter-spacing:var(--enriched-tracking-wider);color:var(--enriched-text-lighter);font-weight:600;}
.rota-memories-v{font-size:var(--enriched-font-lg);font-weight:700;color:var(--enriched-text-dark);line-height:1.2;}
.rota-memories-m{font-size:var(--enriched-font-sm);color:var(--enriched-text-light);margin-top:var(--enriched-spacing-1);}

.rota-memories-actions{display:flex;gap:var(--enriched-spacing-3);align-items:center;flex-wrap:wrap;}
.rota-memories-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:var(--enriched-spacing-3) var(--enriched-spacing-6);
    border-radius:var(--enriched-border-radius-xxxxl);
    font-weight:600;
    font-size:var(--enriched-font-sm);
    line-height:1;
    color:var(--enriched-text);
    background:var(--enriched-section-bg-surface);
    border:1px solid var(--enriched-border-light);
    text-decoration:none;
    transition:var(--enriched-transition-fast);
    cursor:pointer;
    gap:var(--enriched-spacing-2);
    letter-spacing:var(--enriched-tracking-normal);
    box-shadow:var(--enriched-shadow-xs);
}
.rota-memories-btn:hover{
    background:var(--enriched-section-bg-muted);
    border-color:var(--enriched-border);
    transform:translateY(-1px);
    box-shadow:var(--enriched-shadow-sm);
}
.rota-memories-btn:active{transform:translateY(0);}
.rota-memories-btn-primary{
    background:var(--enriched-gradient-primary);
    color:#fff;
    border:none;
    box-shadow:var(--enriched-shadow-primary);
}
.rota-memories-btn-primary:hover{
    background:var(--enriched-gradient-primary);
    filter:brightness(1.05);
    box-shadow:0 8px 20px rgba(78,106,230,0.4);
    color:#fff;
}
.rota-memories-btn:disabled{opacity:0.5;pointer-events:none;filter:grayscale(0.6);}

.rota-memories-cards{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:var(--enriched-spacing-6);
    margin-top:var(--enriched-spacing-4);
    align-items:stretch;
}
.rota-memories-mini,.rota-memories-item{
    background:var(--enriched-section-bg-soft);
    border-radius:var(--enriched-border-radius-lg);
    padding:var(--enriched-spacing-6);
    border:1px solid var(--enriched-border-light);
    transition:var(--enriched-transition-fast);
    display:flex;
    flex-direction:column;
    gap:var(--enriched-spacing-3);
    height:100%;
}
.rota-memories-mini:hover,.rota-memories-item:hover{
    background:var(--enriched-section-bg-muted);
    border-color:var(--enriched-border);
    box-shadow:var(--enriched-shadow-md);
    transform:scale(1.02);
}
.rota-memories-mini-top,.rota-memories-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--enriched-spacing-2);}
.rota-memories-mini-title,.rota-memories-item-title{font-weight:700;font-size:var(--enriched-font-lg);color:var(--enriched-text-dark);line-height:1.2;}
.rota-memories-mini-meta{display:flex;flex-wrap:wrap;gap:var(--enriched-spacing-2);font-size:var(--enriched-font-sm);color:var(--enriched-text-light);align-items:center;}
.rota-memories-mini-reason{
    font-size:var(--enriched-font-sm);
    padding:var(--enriched-spacing-2) var(--enriched-spacing-3);
    background:var(--enriched-section-bg-tint-red);
    border-radius:var(--enriched-border-radius-md);
    color:var(--enriched-danger-dark);
    border-left:3px solid var(--enriched-danger);
}
.rota-memories-mini-foot{
    margin-top:auto;
    padding-top:var(--enriched-spacing-3);
    border-top:1px solid var(--enriched-border-light);
}
.rota-memories-empty{
    grid-column:1/-1;
    padding:var(--enriched-spacing-12) var(--enriched-spacing-8);
    text-align:center;
    background:var(--enriched-section-bg-subtle);
    border-radius:var(--enriched-border-radius-lg);
    color:var(--enriched-text-lighter);
    font-size:var(--enriched-font-lg);
    font-weight:500;
    border:2px dashed var(--enriched-border-light);
}

.rota-memories-cardimg{
    width:100%;
    border-radius:var(--enriched-border-radius-lg);
    overflow:hidden;
    border:1px solid var(--enriched-border-light);
    background:var(--enriched-section-bg-surface);
    aspect-ratio:900/1400;
    position:relative;
}
.rota-memories-cardimg img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.rota-memories-mini:hover .rota-memories-cardimg,
.rota-memories-item:hover .rota-memories-cardimg{
    border-color:var(--enriched-border);
    box-shadow:var(--enriched-shadow-sm);
}
.rota-memories-cardbody{
    display:flex;
    flex-direction:column;
    gap:var(--enriched-spacing-3);
    flex:1;
    min-height:0;
}
.rota-memories-imgbadge{
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    padding:var(--enriched-spacing-1) var(--enriched-spacing-3);
    border-radius:var(--enriched-border-radius-o);
    font-size:var(--enriched-font-xs);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:var(--enriched-tracking-wide);
    border:1px solid;
    backdrop-filter:blur(var(--enriched-glass-blur));
    -webkit-backdrop-filter:blur(var(--enriched-glass-blur));
}
.rota-memories-mini-badge{
    padding:var(--enriched-spacing-1) var(--enriched-spacing-3);
    border-radius:var(--enriched-border-radius-o);
    font-size:var(--enriched-font-xs);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:var(--enriched-tracking-wide);
    background:var(--enriched-section-bg-surface);
    border:1px solid;
}
.rota-memories-badge-valid{
    background:var(--enriched-section-bg-tint-green);
    color:var(--enriched-success-dark);
    border-color:var(--enriched-success);
}
.rota-memories-badge-rejected{
    background:var(--enriched-section-bg-tint-red);
    color:var(--enriched-danger-dark);
    border-color:var(--enriched-danger);
}
.rota-memories-imgtoggle{
    position:absolute;
    top:12px;
    right:12px;
    z-index:3;
    border-radius:999px;
    padding:6px 12px;
    font-size:var(--enriched-font-xs);
    font-weight:700;
    background:var(--enriched-section-bg-surface);
    color:var(--enriched-text);
    border:1px solid var(--enriched-border-light);
    box-shadow:var(--enriched-shadow-xs);
    cursor:pointer;
}
.rota-memories-imgtoggle:hover{background:var(--enriched-section-bg-muted);border-color:var(--enriched-border);}
.rota-memories-imgreason{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    padding:16px 14px;
    font-size:var(--enriched-font-sm);
    font-weight:600;
    color:var(--enriched-danger-dark);
    background:var(--enriched-primary-light);
    text-shadow:0 1px 2px rgba(0,0,0,0.2);
    display:-webkit-box;
    -webkit-line-clamp:2;
    line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    border-top:1px solid rgba(255,255,255,0.08);
}

.rota-memories-gallerybar{
    display:flex;
    gap:var(--enriched-spacing-4);
    margin-bottom:var(--enriched-spacing-8);
    flex-wrap:wrap;
    align-items:center;
    background:var(--enriched-section-bg-soft);
    padding:var(--enriched-spacing-4);
    border-radius:var(--enriched-border-radius-xl);
    border:1px solid var(--enriched-border-light);
}
.rota-memories-input{
    padding:var(--enriched-spacing-3) var(--enriched-spacing-4);
    border-radius:var(--enriched-border-radius-xxxxl);
    border:1px solid var(--enriched-border);
    background:var(--enriched-section-bg-surface);
    font-size:var(--enriched-font-md);
    color:var(--enriched-text);
    transition:var(--enriched-transition-fast);
    flex:1 1 200px;
}
.rota-memories-input:focus{
    outline:none;
    border-color:var(--enriched-primary);
    box-shadow:0 0 0 3px var(--enriched-focus-ring);
    background:var(--enriched-section-bg-surface-full);
}
select.rota-memories-input{
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right var(--enriched-spacing-4) center;
    background-size:16px;
    padding-right:var(--enriched-spacing-10);
}
.rota-memories-pager{display:flex;justify-content:center;align-items:center;gap:var(--enriched-spacing-2);margin-top:var(--enriched-spacing-8);flex-wrap:wrap;}
.rota-memories-pager-mid{padding:var(--enriched-spacing-2) var(--enriched-spacing-4);font-weight:600;color:var(--enriched-text);}

.rota-memories-create-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--enriched-spacing-8);align-items:start;}
.rota-memories-form{
    display:flex;
    flex-direction:column;
    gap:var(--enriched-spacing-5);
    background:var(--enriched-section-bg-soft);
    padding:var(--enriched-spacing-6);
    border-radius:var(--enriched-border-radius-lg);
    border:1px solid var(--enriched-border-light);
}
.rota-memories-field{display:flex;flex-direction:column;gap:var(--enriched-spacing-2);}
.rota-memories-label{font-weight:600;font-size:var(--enriched-font-sm);color:var(--enriched-text);letter-spacing:var(--enriched-tracking-wide);text-transform:uppercase;}
.rota-memories-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--enriched-spacing-4);}
.rota-memories-preview{
    display:flex;
    flex-direction:column;
    gap:var(--enriched-spacing-4);
    background:var(--enriched-section-bg-elevated);
    padding:var(--enriched-spacing-6);
    border-radius:var(--enriched-border-radius-lg);
    border:1px solid var(--enriched-border-light);
}
.rota-memories-canvas{
    width:100%;
    height:auto;
    border-radius:var(--enriched-border-radius-md);
    box-shadow:var(--enriched-shadow-lg);
    border:1px solid var(--enriched-border);
    aspect-ratio:900/1400;
    display:block;
    background:var(--enriched-bg);
}
.rota-memories-preview-top{display:flex;justify-content:space-between;align-items:baseline;}
.rota-memories-preview-meta{
    font-size:var(--enriched-font-sm);
    color:var(--enriched-success-dark);
    background:var(--enriched-section-bg-tint-success);
    padding:var(--enriched-spacing-3);
    border-radius:var(--enriched-border-radius-md);
    border-left:3px solid var(--enriched-success);
}

.rota-memories-member{
    background:var(--enriched-section-bg-soft);
    border-radius:var(--enriched-border-radius-lg);
    padding:var(--enriched-spacing-6);
    display:flex;
    flex-direction:column;
    gap:var(--enriched-spacing-4);
    border:1px solid var(--enriched-border-light);
    transition:var(--enriched-transition-fast);
}
.rota-memories-member:hover{background:var(--enriched-section-bg-muted);border-color:var(--enriched-border);}
.rota-memories-member-top{display:flex;flex-direction:column;gap:var(--enriched-spacing-2);}
.rota-memories-member-title{font-weight:700;font-size:var(--enriched-font-lg);color:var(--enriched-text-dark);}
.rota-memories-member-actions{display:flex;gap:var(--enriched-spacing-3);margin-top:var(--enriched-spacing-2);}
.rota-memories-admin-actions{margin-top:var(--enriched-spacing-4);padding-top:var(--enriched-spacing-4);border-top:1px solid var(--enriched-border-light);display:flex;justify-content:flex-end;}
[data-rota-memories-toggle]{font-size:var(--enriched-font-xs);padding:var(--enriched-spacing-1) var(--enriched-spacing-4);}

@keyframes rota-memories-fade-in{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:translateY(0);}}
@keyframes rota-memories-scale-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.02);}}
@keyframes rota-memories-shimmer{0%{background-position:-100% 0;}100%{background-position:200% 0;}}

.rota-memories-card,.rota-memories-mini,.rota-memories-item{animation:rota-memories-fade-in 0.4s var(--enriched-easing);}
.rota-memories-btn-primary{position:relative;overflow:hidden;}
.rota-memories-btn-primary::after{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
    transform:translateX(-100%);
}
.rota-memories-btn-primary:hover::after{animation:rota-memories-shimmer 1.5s infinite;}
.rota-memories-shell>*{animation:rota-memories-fade-in 0.3s var(--enriched-easing);}
.rota-memories-btn[data-rota-memories-download]:not(:disabled),.rota-memories-btn[data-rota-memories-save]:not(:disabled){animation:rota-memories-scale-pulse 2s infinite ease-in-out;}
.rota-memories-btn:focus-visible,.rota-memories-navbtn:focus-visible,.rota-memories-input:focus-visible{outline:2px solid var(--enriched-primary);outline-offset:2px;}
.rota-memories-shell ::selection{background:var(--enriched-primary);color:#fff;text-shadow:none;}

@media (max-width:720px){
    .rota-memories-card-h-split{flex-direction:column;align-items:stretch;}
    .rota-memories-card-h-right{justify-content:flex-start;}
}
@media (max-width:900px){
    .rota-memories-create-grid{grid-template-columns:1fr;}
}
@media (max-width:768px){
    .rota-memories-top{flex-direction:column;align-items:stretch;}
    .rota-memories-nav{align-self:flex-start;}
    .rota-memories-title-k{font-size:var(--enriched-font-2xl);}
    .rota-memories-card{padding:var(--enriched-spacing-6);}
    .rota-memories-grid{grid-template-columns:1fr;}
    .rota-memories-gallerybar{flex-direction:column;align-items:stretch;}
    .rota-memories-pager{gap:var(--enriched-spacing-1);}
    .rota-memories-pager .rota-memories-btn{padding:var(--enriched-spacing-2) var(--enriched-spacing-3);font-size:var(--enriched-font-xs);}
}
@media (max-width:480px){
    .rota-memories-split{grid-template-columns:1fr;}
    .rota-memories-nav{width:100%;justify-content:stretch;}
    .rota-memories-navbtn{flex:1;text-align:center;}
    .rota-memories-actions{flex-direction:column;align-items:stretch;}
    .rota-memories-actions .rota-memories-btn{width:100%;}
    .rota-memories-banner{padding:var(--enriched-spacing-4);}
    .rota-memories-mini-meta{flex-direction:column;align-items:flex-start;gap:var(--enriched-spacing-1);}
}
@media (min-width:1600px){
    .rota-memories-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));}
    .rota-memories-card{padding:var(--enriched-spacing-10);}
    .rota-memories-title-k{font-size:var(--enriched-font-3xl);}
}

[data-theme="dark"] .rota-memories-navbtn.is-active{box-shadow:0 4px 16px rgba(111,135,240,0.5);}
[data-theme="dark"] .rota-memories-btn-primary{box-shadow:0 4px 16px rgba(111,135,240,0.4);}
[data-theme="dark"] .rota-memories-mini,[data-theme="dark"] .rota-memories-item{background:var(--enriched-section-bg-soft);border-color:var(--enriched-border-light);}
[data-theme="dark"] .rota-memories-canvas{border-color:var(--enriched-border);box-shadow:var(--enriched-shadow-lg);}
[data-theme="dark"] .rota-memories-badge-valid{background:rgba(34,197,94,0.2);color:#86efac;}
[data-theme="dark"] .rota-memories-badge-rejected{background:rgba(239,68,68,0.2);color:#fecaca;}
[data-theme="dark"] .rota-memories-imgtoggle{background:rgba(15,23,42,0.6);border-color:var(--enriched-border);}
[data-theme="dark"] .rota-memories-imgreason{color:#fecaca;background:rgba(0,0,0,0.36);text-shadow:0 1px 3px rgba(0,0,0,0.5);border-top-color:rgba(255,255,255,0.06);}
[data-theme="dark"] .rota-memories-shell ::selection{background:var(--enriched-primary-light);color:var(--enriched-bg-inverse);}
