*{box-sizing:border-box}
:root{
    --bg:#f6f2ec;
    --surface:#fff;
    --text:#242424;
    --muted:#706b64;
    --gold:#b79a61;
    --line:#e7dfd4
}
body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.6
}
a{color:inherit}
.container{width:min(1120px,92%);margin:0 auto}
.narrow{width:min(760px,92%);margin:auto}
.card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:22px;
    padding:28px;
    box-shadow:0 14px 38px rgba(35,28,20,.07)
}
h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;margin:.35em 0}
h2{margin-top:0}
label{display:block;font-weight:700}
input,textarea,select{
    width:100%;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    font:inherit
}
button,.button{
    display:inline-block;
    border:0;
    border-radius:999px;
    padding:12px 20px;
    background:#222;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    cursor:pointer
}
.button.secondary{background:#fff;color:#222;border:1px solid var(--line)}
button.danger{background:#9f2f2f}
.installer-body{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:40px 0 85px
}
.brand-row,.admin-brand{display:flex;align-items:center;gap:12px}
.brand-row>div{display:grid}
.brand-row span{font-size:.86rem;color:var(--muted)}
.logo-mark{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:50%;
    border:1px solid var(--gold);
    color:var(--gold);
    font-family:Georgia,serif
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
.full{grid-column:1/-1}
.alert{padding:13px 15px;border-radius:12px;margin:16px 0}
.alert.error{background:#fbeaea;color:#9c2c2c}
.alert.success{background:#e9f7ef;color:#286b45}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:14px 0}
.row{display:flex;justify-content:space-between;align-items:center;gap:20px}
.admin-brand{color:#222;text-decoration:none;font-weight:700}
.admin-links{display:flex;gap:16px}
.admin-links a{color:#222;text-decoration:none}
.admin-main{padding:48px 0}
.page-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:24px
}
.page-heading p{color:var(--muted);margin:0}
.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.05em}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.actions form{margin:0}
.muted{color:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:26px}
.pill{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    background:#f3eee3;
    color:#7c6844;
    font-size:.75rem;
    font-weight:700
}
.summary-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    margin-bottom:18px
}
.summary-card{display:grid}
.summary-card span{color:var(--muted)}
.summary-card strong{font-size:2rem}
.section-title-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px
}
.customer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px
}
.customer-tile{
    display:grid;
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7;
    text-decoration:none
}
.customer-tile span{color:var(--muted)}
.search-card{margin-bottom:18px}
.search-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px
}
.customer-list{display:grid;gap:16px}
.customer-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px
}
.customer-card h2{margin-bottom:8px}
.customer-card p{margin:4px 0}
.record-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:18px
}
.record-data{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:10px 16px
}
.record-data dt{font-weight:700}
.record-data dd{margin:0}
.notes-box{white-space:normal}
.shooting-list{display:grid;gap:12px}
.shooting-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.shooting-item>div{display:grid}
.shooting-item span{color:var(--muted)}
.shooting-item p{margin:.4rem 0 0}
.nd-footer{
    padding:20px;
    border-top:1px solid var(--line);
    background:#fff;
    color:var(--muted);
    text-align:center;
    font-size:.88rem
}
@media(max-width:850px){
    .customer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
    .form-grid,.summary-grid,.record-grid{grid-template-columns:1fr}
    .full{grid-column:auto}
    .row,.page-heading,.customer-card,.shooting-item{
        align-items:flex-start;
        flex-direction:column
    }
    .search-form{grid-template-columns:1fr}
}
@media(max-width:500px){
    .customer-grid{grid-template-columns:1fr}
    .record-data{grid-template-columns:1fr}
}


/* ND Kundenverwaltung 1.1 */
.check{
    display:flex;
    align-items:center;
    gap:10px
}
.check input{
    width:auto
}
.customer-photo-preview{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.customer-photo-preview img{
    width:90px;
    height:90px;
    object-fit:cover;
    border-radius:50%
}
.customer-headline{
    display:flex;
    align-items:center;
    gap:18px
}
.customer-avatar{
    width:96px;
    height:96px;
    object-fit:cover;
    border-radius:50%;
    border:3px solid #fff;
    box-shadow:0 8px 24px rgba(0,0,0,.15)
}
.vip-badge{
    display:inline-flex;
    margin-left:10px;
    padding:4px 8px;
    border-radius:999px;
    background:#f3eee3;
    color:#7c6844;
    font-size:.72rem;
    vertical-align:middle
}
.customer-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px
}
.customer-stats>div{
    display:grid;
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.customer-stats span{
    color:var(--muted);
    font-size:.85rem
}
.customer-stats strong{
    font-size:1.05rem
}
@media(max-width:700px){
    .customer-headline{
        align-items:flex-start;
        flex-direction:column
    }
    .customer-stats{
        grid-template-columns:1fr
    }
}


/* ND Kundenverwaltung 1.2 */
.customer-type-panel{
    margin-top:22px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fbfaf7
}
.customer-type-panel[hidden]{
    display:none!important
}
.customer-type-panel h2{
    margin-bottom:18px
}

.customer-filter-form{display:grid;grid-template-columns:220px minmax(260px,1fr) auto auto;align-items:end;gap:14px}
.customer-filter-form label{margin:0}.customer-filter-form .button,.customer-filter-form button{margin:0}
.customer-subtitle{margin:.15rem 0 .55rem!important;color:var(--muted)}
.company-pill{background:#ebe7f4;color:#5f4b82}.private-pill{background:#edf4ea;color:#4e7047}
.summary-grid-four{grid-template-columns:repeat(4,1fr)}.summary-link{color:inherit;text-decoration:none}
@media(max-width:950px){.customer-filter-form{grid-template-columns:1fr 1fr}.summary-grid-four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.customer-filter-form,.summary-grid-four{grid-template-columns:1fr}}


/* ND Kundenverwaltung 1.4 */
.contact-action-form{
    margin-bottom:18px
}
.customer-stats{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))
}
.document-upload-form{
    margin-bottom:22px
}
.document-list,
.history-list{
    display:grid;
    gap:12px
}
.document-item,
.history-entry{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.document-item>div,
.history-entry>div{
    display:grid
}
.document-item span,
.document-item small,
.history-entry span,
.history-entry small{
    color:var(--muted)
}
@media(max-width:700px){
    .document-item,
    .history-entry{
        align-items:flex-start;
        flex-direction:column
    }
}


/* ND Kundenverwaltung 1.6 */
.gallery-link-list{
    display:grid;
    gap:12px
}
.gallery-link-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.gallery-link-item>div{
    display:grid
}
.gallery-link-item span,
.gallery-link-item small{
    color:var(--muted)
}
@media(max-width:700px){
    .gallery-link-item{
        align-items:flex-start;
        flex-direction:column
    }
}


/* ND Kundenverwaltung 1.7 */
.communication-card{
    margin-bottom:18px
}
.communication-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:22px
}
.inline-contact-form{
    margin:0
}
.inline-contact-form .button{
    margin:0
}
.email-contact-form{
    padding-top:18px;
    border-top:1px solid var(--line)
}
.dashboard-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:18px
}
.dashboard-list{
    display:grid;
    gap:10px
}
.dashboard-list-item{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fbfaf7;
    color:inherit;
    text-decoration:none
}
.dashboard-list-item span{
    color:var(--muted)
}
@media(max-width:760px){
    .dashboard-grid{
        grid-template-columns:1fr
    }
    .dashboard-list-item{
        align-items:flex-start;
        flex-direction:column
    }
}


/* ND Kundenverwaltung 1.8 */
.reminder-form{
    margin-bottom:22px
}
.reminder-list{
    display:grid;
    gap:12px
}
.reminder-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.reminder-item>div:first-child{
    display:grid
}
.reminder-item span,
.reminder-item small{
    color:var(--muted)
}
.reminder-item p{
    margin:.4rem 0
}
.reminder-item.is-completed{
    opacity:.58
}
.reminder-item.is-completed strong{
    text-decoration:line-through
}
.dashboard-reminders{
    margin-bottom:18px
}
.reminder-dashboard-item>div{
    display:grid
}
.reminder-dashboard-item.is-overdue{
    border-color:#d9a0a0;
    background:#fff2f2
}
.reminder-dashboard-item.is-overdue>span{
    color:#9c2c2c;
    font-weight:700
}
@media(max-width:700px){
    .reminder-item{
        flex-direction:column
    }
}


/* ND Kundenverwaltung 2.0 */
.duplicate-list{
    display:grid;
    gap:18px
}
.duplicate-card{
    display:grid;
    gap:20px
}
.duplicate-reason{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line)
}
.duplicate-reason span{
    color:var(--muted)
}
.duplicate-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}
.duplicate-columns section{
    padding:18px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.duplicate-columns h2{
    margin-bottom:8px
}
.duplicate-columns p{
    margin:4px 0
}
.merge-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px
}
.merge-actions form{
    margin:0
}
@media(max-width:760px){
    .duplicate-reason{
        align-items:flex-start;
        flex-direction:column
    }
    .duplicate-columns{
        grid-template-columns:1fr
    }
}


/* ND Kundenverwaltung 2.1 */
.timeline-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:18px
}
.timeline-toolbar{
    margin-bottom:18px
}
.timeline-filter-form{
    display:grid;
    grid-template-columns:220px minmax(260px,1fr) auto auto;
    align-items:end;
    gap:14px
}
.customer-timeline{
    position:relative;
    display:grid;
    gap:16px
}
.customer-timeline:before{
    content:"";
    position:absolute;
    left:35px;
    top:0;
    bottom:0;
    width:2px;
    background:var(--line)
}
.timeline-item{
    position:relative;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:18px;
    padding:20px
}
.timeline-icon{
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:50%;
    background:#fff;
    border:2px solid var(--gold);
    font-size:1.25rem
}
.timeline-content{
    min-width:0
}
.timeline-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px
}
.timeline-head>div{
    display:grid
}
.timeline-head span,
.timeline-head small{
    color:var(--muted)
}
.timeline-content p{
    margin:.55rem 0 0
}
.timeline-type-shootings{border-left:4px solid #7c6844}
.timeline-type-documents{border-left:4px solid #6e7f97}
.timeline-type-communication{border-left:4px solid #56836b}
.timeline-type-galleries{border-left:4px solid #8a6b9d}
.timeline-type-reminders{border-left:4px solid #bb7b54}
.timeline-type-notes{border-left:4px solid #8a8a8a}
@media(max-width:1000px){
    .timeline-stats{
        grid-template-columns:repeat(2,1fr)
    }
    .timeline-filter-form{
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:650px){
    .timeline-stats,
    .timeline-filter-form{
        grid-template-columns:1fr
    }
    .customer-timeline:before{
        left:28px
    }
    .timeline-item{
        grid-template-columns:42px 1fr;
        gap:12px
    }
    .timeline-icon{
        width:36px;
        height:36px
    }
    .timeline-head{
        flex-direction:column;
        gap:4px
    }
}


/* ND Kundenverwaltung 2.2 */
.settings-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
}
.settings-tile{
    display:flex;
    align-items:flex-start;
    gap:18px;
    color:inherit;
    text-decoration:none;
    transition:transform .15s ease,box-shadow .15s ease
}
.settings-tile:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 44px rgba(35,28,20,.11)
}
.settings-tile h2{
    margin:0 0 6px
}
.settings-tile p{
    margin:0;
    color:var(--muted)
}
.settings-icon{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:52px;
    height:52px;
    border-radius:16px;
    background:#f3eee3;
    font-size:1.45rem
}
@media(max-width:720px){
    .settings-grid{
        grid-template-columns:1fr
    }
}


/* ND Kundenverwaltung 2.3 */
.user-list{
    display:grid;
    gap:12px
}
.user-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.user-item>div:first-child{
    display:grid
}
.user-item span,
.user-item small{
    color:var(--muted)
}
@media(max-width:700px){
    .user-item{
        align-items:flex-start;
        flex-direction:column
    }
}


/* ND Kundenverwaltung 2.6 */
.security-log-list{
    display:grid;
    gap:12px
}
.security-log-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.security-log-item>div{
    display:grid
}
.security-log-item span,
.security-log-item small{
    color:var(--muted)
}
@media(max-width:700px){
    .security-log-item{
        flex-direction:column
    }
}


/* ND Kundenverwaltung 2.7 */
.backup-list{
    display:grid;
    gap:12px
}
.backup-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.backup-item>div:first-child{
    display:grid
}
.backup-item span,
.backup-item small{
    color:var(--muted)
}
@media(max-width:760px){
    .backup-item{
        align-items:flex-start;
        flex-direction:column
    }
}


/* ND Kundenverwaltung 2.8 */
.trash-list{
    display:grid;
    gap:16px
}
.trash-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px
}
.trash-item h2{
    margin-bottom:8px
}
.trash-item p{
    margin:4px 0
}
.trash-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px
}
@media(max-width:760px){
    .trash-item{
        align-items:flex-start;
        flex-direction:column
    }
}


/* ND Kundenverwaltung 2.9 */
.task-filter-card{
    margin-bottom:18px
}
.task-filter-form{
    display:grid;
    grid-template-columns:180px 180px 220px minmax(220px,1fr) auto auto;
    align-items:end;
    gap:12px
}
.task-list{
    display:grid;
    gap:16px
}
.task-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px;
    border-left:5px solid var(--line)
}
.task-item.priority-high{border-left-color:#b84b4b}
.task-item.priority-medium{border-left-color:#c7963f}
.task-item.priority-low{border-left-color:#5f8b62}
.task-item.is-overdue{
    background:#fff3f3
}
.task-main{
    flex:1;
    min-width:0
}
.task-title-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px
}
.task-title-row h2{
    margin-bottom:8px
}
.task-badges{
    display:flex;
    flex-wrap:wrap;
    gap:6px
}
.overdue-pill{
    background:#f8dddd!important;
    color:#9c2c2c!important
}
.task-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end
}
.task-actions form{
    margin:0
}
.dashboard-tasks{
    margin-bottom:18px
}
.task-dashboard-item{
    border-left:4px solid var(--line)
}
.task-dashboard-item.priority-high{border-left-color:#b84b4b}
.task-dashboard-item.priority-medium{border-left-color:#c7963f}
.task-dashboard-item.priority-low{border-left-color:#5f8b62}
.task-customer-list{
    display:grid;
    gap:10px
}
.task-customer-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:14px;
    border:1px solid var(--line);
    border-left:4px solid var(--line);
    border-radius:12px;
    background:#fbfaf7
}
.task-customer-item.priority-high{border-left-color:#b84b4b}
.task-customer-item.priority-medium{border-left-color:#c7963f}
.task-customer-item.priority-low{border-left-color:#5f8b62}
.task-customer-item>div{
    display:grid
}
.task-customer-item span,
.task-customer-item small{
    color:var(--muted)
}
@media(max-width:1100px){
    .task-filter-form{
        grid-template-columns:repeat(2,1fr)
    }
}
@media(max-width:760px){
    .task-filter-form{
        grid-template-columns:1fr
    }
    .task-item,
    .task-title-row,
    .task-customer-item{
        align-items:flex-start;
        flex-direction:column
    }
    .task-actions{
        justify-content:flex-start
    }
}


/* ND Kundenverwaltung 3.0 */
.placeholder-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:10px
}
.placeholder-grid code{
    display:block;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fbfaf7
}
.template-filter-card{
    margin-bottom:18px
}
.template-filter-form{
    display:grid;
    grid-template-columns:220px 180px minmax(240px,1fr) auto auto;
    align-items:end;
    gap:12px
}
.template-list{
    display:grid;
    gap:16px
}
.template-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px
}
.template-item.is-archived{
    opacity:.65
}
.template-title-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px
}
.template-title-row h2{
    margin-bottom:8px
}
@media(max-width:950px){
    .template-filter-form{
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:760px){
    .template-filter-form{
        grid-template-columns:1fr
    }
    .template-item,
    .template-title-row{
        flex-direction:column
    }
}


/* ND Kundenverwaltung 3.1 */
.report-filter-card{
    margin-bottom:18px
}
.report-filter-form{
    display:grid;
    grid-template-columns:180px 220px auto;
    align-items:end;
    gap:12px
}
.report-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px
}
.report-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:18px
}
.report-table-wrap{
    overflow-x:auto
}
.report-table{
    width:100%;
    border-collapse:collapse
}
.report-table th,
.report-table td{
    padding:11px 10px;
    border-bottom:1px solid var(--line);
    text-align:left
}
.report-table tbody tr.is-selected{
    background:#f3eee3
}
.report-table tfoot th{
    border-top:2px solid var(--line)
}
.report-list{
    display:grid;
    gap:10px
}
.report-list-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:13px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fbfaf7
}
.report-list-item>div{
    display:grid
}
.report-list-item span{
    color:var(--muted)
}
.report-customer-link{
    color:inherit;
    text-decoration:none
}
.report-customer-link:hover{
    transform:translateY(-1px)
}
@media(max-width:980px){
    .report-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .report-grid{
        grid-template-columns:1fr
    }
}
@media(max-width:650px){
    .report-filter-form,
    .report-summary-grid{
        grid-template-columns:1fr
    }
}


/* ND Kundenverwaltung 3.2 */
.invoice-filter-form{
    display:grid;
    grid-template-columns:180px 180px minmax(240px,1fr) auto auto;
    align-items:end;
    gap:12px
}
.invoice-list{
    display:grid;
    gap:16px
}
.invoice-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px;
    border-left:5px solid var(--line)
}
.invoice-item.status-paid{border-left-color:#5f8b62}
.invoice-item.status-partial{border-left-color:#c7963f}
.invoice-item.status-overdue{border-left-color:#b84b4b;background:#fff3f3}
.invoice-item.status-cancelled{opacity:.65}
.invoice-title-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px
}
.invoice-item-form{
    margin-bottom:20px
}
.payment-list{
    display:grid;
    gap:10px;
    margin-top:20px
}
.payment-item{
    padding:14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fbfaf7
}
.payment-item>div{
    display:grid
}
.payment-item span,
.payment-item small{
    color:var(--muted)
}
@media(max-width:950px){
    .invoice-filter-form{
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:760px){
    .invoice-filter-form{
        grid-template-columns:1fr
    }
    .invoice-item,
    .invoice-title-row{
        flex-direction:column
    }
}


/* ND Kundenverwaltung 3.4 */
.email-log-list{
    display:grid;
    gap:12px
}
.email-log-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7
}
.email-log-item>div{
    display:grid
}
.email-log-item span,
.email-log-item small{
    color:var(--muted)
}
@media(max-width:700px){
    .email-log-item{
        flex-direction:column
    }
}


/* ND Kundenverwaltung 3.5 */
.service-filter-card{
    margin-bottom:18px
}
.service-filter-form{
    display:grid;
    grid-template-columns:220px 180px minmax(240px,1fr) auto auto;
    align-items:end;
    gap:12px
}
.service-list{
    display:grid;
    gap:16px
}
.service-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px
}
.service-item.is-inactive{
    opacity:.62
}
.service-title-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px
}
.service-title-row h2{
    margin-bottom:8px
}
@media(max-width:950px){
    .service-filter-form{
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:760px){
    .service-filter-form{
        grid-template-columns:1fr
    }
    .service-item,
    .service-title-row{
        flex-direction:column
    }
}


/* ND Kundenverwaltung 3.6 */
.voucher-filter-form{
    display:grid;
    grid-template-columns:190px 190px minmax(240px,1fr) auto auto;
    align-items:end;
    gap:12px
}
.voucher-list{
    display:grid;
    gap:16px
}
.voucher-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px;
    border-left:5px solid var(--line)
}
.voucher-item.status-open{border-left-color:#5f8b62}
.voucher-item.status-redeemed{border-left-color:#6e7f97}
.voucher-item.status-expired{border-left-color:#c7963f;opacity:.78}
.voucher-item.status-cancelled{border-left-color:#b84b4b;opacity:.65}
.voucher-title-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px
}
@media(max-width:950px){
    .voucher-filter-form{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .voucher-filter-form{grid-template-columns:1fr}
    .voucher-item,.voucher-title-row{flex-direction:column}
}


/* ND Kundenverwaltung 3.7 */
.product-filter-form{
    display:grid;
    grid-template-columns:190px 160px 160px minmax(240px,1fr) auto;
    align-items:end;
    gap:12px
}
.product-list,.supplier-list{
    display:grid;
    gap:16px
}
.product-item,.supplier-item{
    display:flex;
    align-items:flex-start;
    gap:20px
}
.product-item.is-low-stock{
    background:#fff3f3;
    border-left:5px solid #b84b4b
}
.product-item.is-inactive,.supplier-item.is-inactive{
    opacity:.62
}
.product-image-wrap{
    width:120px;
    height:120px;
    flex:0 0 120px;
    border-radius:14px;
    overflow:hidden;
    background:#f2efe8;
    display:grid;
    place-items:center;
    color:var(--muted)
}
.product-image-wrap img{
    width:100%;
    height:100%;
    object-fit:cover
}
.product-main{
    flex:1;
    min-width:0
}
.product-title-row{
    display:flex;
    justify-content:space-between;
    gap:16px
}
.stock-form{
    display:grid;
    grid-template-columns:120px 150px minmax(180px,1fr) auto;
    gap:8px;
    margin-top:14px
}
@media(max-width:1000px){
    .product-filter-form{grid-template-columns:1fr 1fr}
    .stock-form{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .product-filter-form,.stock-form{grid-template-columns:1fr}
    .product-item,.supplier-item,.product-title-row{flex-direction:column}
    .product-image-wrap{width:100%;height:220px}
}


/* ND Kundenverwaltung 3.8 */
.order-filter-form{
    display:grid;
    grid-template-columns:190px 220px minmax(240px,1fr) auto auto;
    align-items:end;
    gap:12px
}
.order-list,.lab-list{
    display:grid;
    gap:16px
}
.order-item,.lab-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px
}
.order-item{
    border-left:5px solid var(--line)
}
.order-item.status-ordered{border-left-color:#6e7f97}
.order-item.status-in_production{border-left-color:#c7963f}
.order-item.status-shipped{border-left-color:#8a6b9d}
.order-item.status-ready{border-left-color:#5f8b62;background:#f4faf4}
.order-item.status-collected{border-left-color:#8a8a8a}
.order-item.status-cancelled,.lab-item.is-inactive{opacity:.62}
.order-title-row{
    display:flex;
    justify-content:space-between;
    gap:16px
}
@media(max-width:950px){
    .order-filter-form{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .order-filter-form{grid-template-columns:1fr}
    .order-item,.lab-item,.order-title-row{flex-direction:column}
}


/* ND Kundenverwaltung 4.0 */
.pickup-filter-form{
    display:grid;
    grid-template-columns:190px 180px minmax(240px,1fr) auto auto;
    align-items:end;
    gap:12px
}
.pickup-list{
    display:grid;
    gap:16px
}
.pickup-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px;
    border-left:5px solid var(--line)
}
.pickup-item.status-confirmed{border-left-color:#5f8b62}
.pickup-item.status-completed{border-left-color:#6e7f97}
.pickup-item.status-cancelled,.pickup-item.status-no_show{opacity:.65}
.pickup-item.is-overdue{background:#fff3f3;border-left-color:#b84b4b}
.pickup-title-row{
    display:flex;
    justify-content:space-between;
    gap:16px
}
@media(max-width:950px){
    .pickup-filter-form{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .pickup-filter-form{grid-template-columns:1fr}
    .pickup-item,.pickup-title-row{flex-direction:column}
}


/* ND Kundenverwaltung 4.1 */
.calendar-heading{
    align-items:center
}
.calendar-controls{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:18px
}
.calendar-navigation,
.calendar-filters{
    display:flex;
    flex-wrap:wrap;
    gap:8px
}
.calendar-filters a{
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:999px;
    color:inherit;
    text-decoration:none;
    background:#fff
}
.calendar-filters a.active{
    background:#2f2d29;
    color:#fff;
    border-color:#2f2d29
}
.calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:8px
}
.calendar-weekday{
    padding:10px;
    text-align:center;
    font-weight:700
}
.calendar-day{
    min-height:145px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff
}
.calendar-day.outside-month{
    opacity:.45
}
.calendar-day.is-today{
    outline:3px solid #b89a63
}
.calendar-day-number{
    font-weight:700;
    margin-bottom:8px
}
.calendar-events{
    display:grid;
    gap:6px
}
.calendar-event{
    display:grid;
    gap:2px;
    padding:7px 8px;
    border-radius:9px;
    text-decoration:none;
    color:inherit;
    font-size:.82rem;
    line-height:1.25
}
.calendar-event span{
    font-size:.75rem;
    opacity:.75
}
.event-shooting{background:#e7f0f7}
.event-reminder{background:#fff0cf}
.event-pickup{background:#e7f5e9}
.event-task{background:#efe8f6}
.section-title-row h2 a,
.section-title-row>a.muted{
    color:inherit;
    text-decoration:none
}
@media(max-width:900px){
    .calendar-controls{
        align-items:flex-start;
        flex-direction:column
    }
    .calendar-grid{
        grid-template-columns:1fr
    }
    .calendar-weekday{
        display:none
    }
    .calendar-day{
        min-height:auto
    }
    .calendar-day.outside-month{
        display:none
    }
}


/* ND Kundenverwaltung 4.2 */
.topbar .container.row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px 20px
}
.admin-brand{
    flex:0 0 auto
}
.admin-links{
    display:flex;
    flex:1 1 620px;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    gap:8px 14px;
    min-width:0
}
.admin-links a{
    white-space:nowrap;
    line-height:1.35
}
@media(max-width:900px){
    .topbar .container.row{
        align-items:flex-start;
        flex-direction:column
    }
    .admin-links{
        width:100%;
        flex-basis:auto;
        justify-content:flex-start
    }
}


/* StudioSuiteManagement Kundenmanager 4.4.0 */
.studiosuite-demo-banner{
    position:relative;
    z-index:1000;
    padding:9px 16px;
    background:#7d5b2c;
    color:#fff;
    text-align:center;
    font-weight:800;
    letter-spacing:.02em
}
input[type="color"]{
    min-height:48px;
    padding:5px
}

/* Kundenportal-Verwaltung 4.5.1 */
.portal-management-card{margin-bottom:24px}.portal-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.portal-card-heading h2{margin:.25rem 0}.portal-status{display:inline-flex;align-items:center;border-radius:999px;padding:8px 13px;font-weight:700;white-space:nowrap}.portal-status.active{background:#e8f4e6;color:#2f6d39}.portal-status.inactive{background:#f1eee7;color:#756a55}.portal-check{padding:14px 16px;border:1px solid #e5ddd1;border-radius:14px;background:#faf8f4}.portal-check input{width:auto;margin-right:8px}.portal-sync-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.portal-error{margin-top:16px}.portal-sync-form button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.portal-card-heading{display:block}.portal-status{margin-top:10px}}

/* Kundenportal-Verwaltung 4.5.1 */
.portal-management-card{margin-bottom:24px}.portal-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.portal-card-heading h2{margin:.25rem 0}.portal-status{display:inline-flex;align-items:center;border-radius:999px;padding:8px 13px;font-weight:700;white-space:nowrap}.portal-status.active{background:#e8f4e6;color:#2f6d39}.portal-status.inactive{background:#f1eee7;color:#756a55}.portal-check{padding:14px 16px;border:1px solid #e5ddd1;border-radius:14px;background:#faf8f4}.portal-check input{width:auto;margin-right:8px}.portal-sync-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.portal-error{margin-top:16px}.portal-sync-form button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.portal-card-heading{display:block}.portal-status{margin-top:10px}}
.portal-action-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.portal-action-grid form{margin:0}.portal-access-box{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#faf8f4}.portal-access-box h3{margin-top:0}.portal-access-box button:disabled,.portal-action-grid button:disabled{opacity:.45;cursor:not-allowed}

/* Kundenportal Ablauf 4.5.4 */
.portal-setup-notice{background:#f7f3eb;border:1px solid #e4d8c3;color:#5f5648;margin:1rem 0;padding:1rem 1.1rem;border-radius:16px}
.portal-action-grid button[disabled],.portal-access-box button[disabled],.portal-access-box input[disabled]{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}
.portal-action-grid{align-items:center}

.portal-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:12px;margin:16px 0 22px}.portal-summary-grid>div{border:1px solid #e8dfd1;border-radius:16px;padding:14px;background:#faf8f4}.portal-summary-grid strong{display:block;font-size:.82rem;color:#756b5c;margin-bottom:5px}.portal-summary-grid span{font-size:1.12rem;font-weight:800}@media(max-width:900px){.portal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
