*{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}
.container{width:min(1160px,92%);margin:0 auto}.narrow{width:min(760px,92%);margin:auto}
.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 14px 38px rgba(35,28,20,.07)}
h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;margin:.35em 0}h2{margin-top:0}
label{display:block;font-weight:700;margin:14px 0 6px}
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;margin-top:14px;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:35px 0}
.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)}
.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.05em}.muted{color:var(--muted)}
.stack{display:grid;gap:18px}.item-list{display:grid;gap:16px}.shooting-card{display:flex;justify-content:space-between;gap:24px;align-items:center}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1ece4;font-size:.75rem;font-weight:700}
.empty{text-align:center;color:var(--muted)}.shooting-list{display:grid}.shooting-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.shooting-row>div{display:grid}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.row,.page-heading,.shooting-card{align-items:flex-start;flex-direction:column}.shooting-row{flex-direction:column}}


/* ND ShootingPlaner 1.1 – Moodboard */
.upload-dropzone{
    display:grid;
    gap:6px;
    padding:28px;
    border:2px dashed var(--line);
    border-radius:18px;
    background:#fbfaf7;
    cursor:pointer
}
.upload-dropzone input{margin-top:10px}
.upload-dropzone small{color:var(--muted);font-weight:400}
.moodboard-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:24px
}
.moodboard-card{padding:14px;margin:0}
.moodboard-card.is-dragging{opacity:.45}
.moodboard-drag{
    margin-bottom:10px;
    color:var(--muted);
    font-size:.85rem;
    cursor:grab
}
.moodboard-image-button{
    display:block;
    width:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:16px;
    overflow:hidden;
    background:#eee
}
.moodboard-image-button img{
    display:block;
    width:100%;
    height:260px;
    object-fit:cover
}
.moodboard-preview[hidden]{display:none}
.moodboard-preview{
    position:fixed;
    inset:0;
    z-index:100;
    display:grid;
    place-items:center;
    padding:24px
}
.moodboard-preview-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72)
}
.moodboard-preview-dialog{
    position:relative;
    z-index:1;
    width:min(980px,94vw);
    max-height:90vh;
    display:grid;
    gap:12px;
    justify-items:center;
    padding:20px;
    border-radius:20px;
    background:#fff
}
.moodboard-preview-dialog img{
    max-width:100%;
    max-height:76vh;
    object-fit:contain
}
.moodboard-preview-close{
    position:absolute;
    top:10px;
    right:10px;
    width:42px;
    height:42px;
    margin:0;
    padding:0;
    border-radius:50%;
    background:#fff;
    color:#222;
    font-size:1.6rem
}
@media(max-width:950px){.moodboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.moodboard-grid{grid-template-columns:1fr}.moodboard-image-button img{height:220px}}


/* ND ShootingPlaner 1.2 – Moodboard-Feinschliff */
.card-heading-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px
}
.shooting-idea-card textarea{
    min-height:150px;
    font-size:1rem;
    line-height:1.7
}
.moodboard-card{
    position:relative;
    border-top:5px solid var(--line)
}
.moodboard-card.category-pose{border-top-color:#a98261}
.moodboard-card.category-light{border-top-color:#d3ab45}
.moodboard-card.category-outfit{border-top-color:#8f6ca8}
.moodboard-card.category-location{border-top-color:#628c70}
.moodboard-card.category-idea{border-top-color:#557ba2}
.moodboard-card.category-other{border-top-color:#777}
.moodboard-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:10px
}
.moodboard-category{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    background:#f3eee7;
    font-size:.78rem;
    font-weight:700
}
.moodboard-drag{
    margin:0
}
.moodboard-preview-dialog{
    width:min(1120px,96vw)
}
.moodboard-preview-image-wrap{
    width:100%;
    max-height:76vh;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:14px;
    background:#171717
}
.moodboard-preview-image-wrap img{
    max-width:100%;
    max-height:72vh;
    transition:transform .18s ease;
    transform-origin:center center
}
.moodboard-preview-footer{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px
}
.moodboard-preview-actions{
    display:flex;
    align-items:center;
    gap:8px
}
.moodboard-preview-actions button{
    margin:0;
    padding:8px 12px;
    background:#fff;
    color:#222;
    border:1px solid var(--line)
}
@media(max-width:650px){
    .moodboard-preview-footer{
        align-items:stretch;
        flex-direction:column
    }
    .moodboard-preview-actions{
        justify-content:center;
        flex-wrap:wrap
    }
}


/* ND ShootingPlaner 1.3 – Checklisten */
.checklist-summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px
}
.checklist-summary form,
.checklist-summary button{margin:0}
.checklist-progress{
    width:min(420px,70vw);
    height:10px;
    margin-top:10px;
    overflow:hidden;
    border-radius:999px;
    background:#e8e1d7
}
.checklist-progress span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:#4e9368
}
.template-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px
}
.template-button{
    width:100%;
    min-height:110px;
    margin:0;
    display:grid;
    align-content:center;
    gap:4px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fbfaf7;
    color:#222
}
.template-button span{
    color:var(--muted);
    font-weight:400
}
.checklist-add-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:end
}
.checklist-add-form button{margin:0}
.checklist-items{
    display:grid;
    gap:12px;
    margin-top:20px
}
.checklist-item{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;
    padding:16px;
    border-left:6px solid #b54949
}
.checklist-item.is-done{
    border-left-color:#4e9368;
    background:#f5fbf7
}
.checklist-item.is-dragging{opacity:.45}
.checklist-toggle-form{margin:0}
.checklist-checkbox{
    width:44px;
    height:44px;
    margin:0;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:#4e9368;
    border:2px solid currentColor;
    font-size:1.2rem
}
.checklist-item.is-open .checklist-checkbox{color:#b54949}
.checklist-edit-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center
}
.checklist-edit-form input{margin:0}
.checklist-edit-form button{margin:0}
.checklist-item.is-done .checklist-edit-form input{
    text-decoration:line-through;
    color:var(--muted)
}
.checklist-item-actions{
    display:flex;
    align-items:center;
    gap:10px
}
.checklist-item-actions form,
.checklist-item-actions button{margin:0}
.checklist-drag{
    cursor:grab;
    color:var(--muted);
    font-size:1.2rem
}
@media(max-width:950px){
    .template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .checklist-summary{align-items:stretch;flex-direction:column}
    .checklist-add-form{grid-template-columns:1fr}
    .checklist-item{grid-template-columns:auto 1fr}
    .checklist-item-actions{grid-column:1/-1;justify-content:flex-end}
    .checklist-edit-form{grid-template-columns:1fr}
}
@media(max-width:500px){
    .template-grid{grid-template-columns:1fr}
}
@media print{
    body{background:#fff}
    .topbar,.no-print{display:none!important}
    .admin-main{padding:0}
    .container{width:100%}
    .card{box-shadow:none;border:1px solid #bbb}
    .checklist-item{
        break-inside:avoid;
        grid-template-columns:auto 1fr;
        border-left:0;
        border-bottom:1px solid #ddd
    }
    .checklist-edit-form input{
        border:0;
        padding:0;
        background:transparent;
        font-size:14pt
    }
    .checklist-checkbox{
        width:28px;
        height:28px;
        font-size:1rem
    }
}


/* ND ShootingPlaner 1.4 – Sedcard */
.model-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}
.model-card{padding:0;overflow:hidden}
.model-cover{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    background:#eee
}
.model-cover.placeholder{
    display:grid;
    place-items:center;
    color:var(--muted)
}
.model-card-body{padding:20px}
.sedcard-layout{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:24px;
    align-items:start
}
.sedcard-controls{position:sticky;top:20px}
.sedcard-slot-control{
    padding:16px 0;
    border-bottom:1px solid var(--line)
}
.sedcard-slot-control img{
    width:100%;
    height:150px;
    margin:10px 0;
    object-fit:cover;
    border-radius:12px
}
.sedcard-preview-wrap{
    overflow:auto;
    padding-bottom:10px
}
.sedcard-preview{
    display:grid;
    gap:22px;
    min-width:760px
}
.sedcard-front,
.sedcard-back{
    width:760px;
    min-height:520px;
    margin:0 auto;
    background:#fff;
    box-shadow:0 18px 50px rgba(0,0,0,.12)
}
.sedcard-front{
    display:grid;
    grid-template-columns:1fr 230px
}
.sedcard-title-image img,
.sedcard-title-image .sedcard-placeholder{
    width:100%;
    height:520px;
    object-fit:cover
}
.sedcard-front-info{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:34px;
    background:#1f1f1f;
    color:#fff
}
.sedcard-front-info span{
    letter-spacing:.22em;
    color:#d5bf92
}
.sedcard-front-info h2{
    margin:10px 0 4px;
    font-family:Georgia,serif;
    font-size:2.5rem
}
.sedcard-back{
    display:grid;
    grid-template-columns:1fr 280px;
    padding:24px;
    gap:24px
}
.sedcard-back-images{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
}
.sedcard-small-image img,
.sedcard-small-image .sedcard-placeholder{
    width:100%;
    height:228px;
    object-fit:cover
}
.sedcard-placeholder{
    display:grid;
    place-items:center;
    background:#eee9e1;
    color:#8b8176;
    font-weight:700
}
.sedcard-data{
    display:flex;
    flex-direction:column;
    padding:12px
}
.sedcard-data h2{
    font-family:Georgia,serif;
    font-size:2rem
}
.sedcard-data dl{display:grid;gap:6px}
.sedcard-data dl div{
    display:flex;
    justify-content:space-between;
    gap:14px;
    border-bottom:1px solid #eee;
    padding-bottom:5px
}
.sedcard-data dt{font-weight:700}
.sedcard-data dd{margin:0}
.sedcard-contact{
    margin-top:auto;
    color:#666;
    font-size:.88rem
}
.sedcard-contact p{margin:2px 0}
.sedcard-brand{
    margin-top:18px;
    color:#b79a61;
    font-weight:700;
    letter-spacing:.08em
}
@media(max-width:1000px){
    .model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sedcard-layout{grid-template-columns:1fr}
    .sedcard-controls{position:static}
}
@media(max-width:620px){
    .model-grid{grid-template-columns:1fr}
}


/* ND ShootingPlaner 1.5 – Sedcard Professional */
.check-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin:16px 0
}
.check-row input{
    width:auto;
    margin:0
}
.sedcard-control-divider{
    margin:26px 0;
    border:0;
    border-top:1px solid var(--line)
}
.sedcard-preview{
    --sedcard-accent:#b79a61
}
.sedcard-front,
.sedcard-back{
    overflow:hidden;
    transition:all .25s ease
}
.sedcard-front-info span,
.sedcard-brand{
    color:var(--sedcard-accent)
}
.sedcard-role{
    margin-top:10px;
    font-size:.75rem;
    letter-spacing:.18em;
    opacity:.72
}
.sedcard-brand{
    display:flex;
    align-items:center;
    gap:8px
}
.sedcard-brand-mark{
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    border:1px solid currentColor;
    border-radius:50%;
    font-family:Georgia,serif
}

/* Classic */
.template-classic .sedcard-front-info{
    background:#1f1f1f
}
.template-classic .sedcard-back{
    background:#fff
}

/* Fashion */
.template-fashion .sedcard-front{
    position:relative;
    display:block
}
.template-fashion .sedcard-title-image img,
.template-fashion .sedcard-title-image .sedcard-placeholder{
    height:560px
}
.template-fashion .sedcard-front-info{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    min-height:170px;
    justify-content:flex-end;
    background:linear-gradient(transparent,rgba(0,0,0,.82));
    padding:42px
}
.template-fashion .sedcard-front-info h2{
    font-size:3.4rem;
    max-width:80%
}
.template-fashion .sedcard-back{
    grid-template-columns:1fr 240px;
    background:#f5f2ed
}
.template-fashion .sedcard-small-image img,
.template-fashion .sedcard-small-image .sedcard-placeholder{
    height:232px
}
.template-fashion .sedcard-data{
    border-left:5px solid var(--sedcard-accent);
    padding-left:22px
}

/* Premium */
.template-premium .sedcard-front{
    grid-template-columns:310px 1fr;
    padding:26px;
    gap:26px;
    background:#171717
}
.template-premium .sedcard-title-image img,
.template-premium .sedcard-title-image .sedcard-placeholder{
    height:468px;
    border-radius:220px 220px 16px 16px
}
.template-premium .sedcard-front-info{
    justify-content:center;
    background:transparent;
    color:#fff;
    padding:40px
}
.template-premium .sedcard-front-info h2{
    font-size:3.5rem
}
.template-premium .sedcard-back{
    background:#171717;
    color:#fff;
    border:12px solid var(--sedcard-accent)
}
.template-premium .sedcard-small-image img,
.template-premium .sedcard-small-image .sedcard-placeholder{
    border-radius:12px
}
.template-premium .sedcard-data dl div{
    border-bottom-color:rgba(255,255,255,.16)
}
.template-premium .sedcard-contact{
    color:#ddd
}
.template-premium .sedcard-placeholder{
    background:#302f2d;
    color:#bdb5aa
}
@media(max-width:1000px){
    .sedcard-preview{transform-origin:top left}
}


/* ND ShootingPlaner 1.6 – Sedcard Generator */
.sedcard-email-modal[hidden]{display:none}
.sedcard-email-modal{
    position:fixed;
    inset:0;
    z-index:200;
    display:grid;
    place-items:center;
    padding:20px
}
.sedcard-email-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72)
}
.sedcard-email-dialog{
    position:relative;
    z-index:1;
    width:min(650px,96vw);
    max-height:92vh;
    overflow:auto;
    padding:28px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 24px 80px rgba(0,0,0,.34)
}
.sedcard-email-close{
    position:absolute;
    right:12px;
    top:12px;
    width:42px;
    height:42px;
    margin:0;
    padding:0;
    border-radius:50%;
    background:#fff;
    color:#222;
    border:1px solid var(--line);
    font-size:1.6rem
}
.sedcard-email-status{
    min-height:24px;
    margin-top:12px
}
.sedcard-email-status.success{
    padding:10px 12px;
    border-radius:10px;
    background:#e9f7ef;
    color:#286b45
}
.sedcard-email-status.error{
    padding:10px 12px;
    border-radius:10px;
    background:#fbeaea;
    color:#9c2c2c
}
button:disabled{
    opacity:.62;
    cursor:wait
}
@media print{
    @page{
        size:A5 landscape;
        margin:0
    }
    body{
        background:#fff;
        margin:0
    }
    .topbar,
    .page-heading,
    .sedcard-controls,
    .no-print,
    .alert,
    .sedcard-email-modal{
        display:none!important
    }
    .admin-main,
    .container,
    .sedcard-layout,
    .sedcard-preview-wrap,
    .sedcard-preview{
        width:auto!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
        display:block!important;
        overflow:visible!important
    }
    .sedcard-front,
    .sedcard-back{
        width:210mm!important;
        height:148mm!important;
        min-height:148mm!important;
        max-height:148mm!important;
        margin:0!important;
        box-shadow:none!important;
        break-after:page;
        page-break-after:always
    }
    .sedcard-back{
        break-after:auto;
        page-break-after:auto
    }
}


/* ND ShootingPlaner 1.7 – Callsheet */
.callsheet-main{padding:42px 0}
.callsheet-document{
    width:min(920px,100%);
    margin:0 auto;
    background:#fff;
    box-shadow:0 18px 50px rgba(0,0,0,.1)
}
.callsheet-hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    padding:38px;
    background:#1f1f1f;
    color:#fff;
    border-bottom:8px solid var(--gold)
}
.callsheet-hero h1{margin:8px 0 0}
.callsheet-hero p{margin:2px 0 0;color:#ddd}
.callsheet-label{color:var(--gold);font-weight:700;letter-spacing:.12em}
.callsheet-date{text-align:right;display:grid}
.callsheet-date strong{font-size:1.5rem}
.callsheet-date span{color:#ddd}
.callsheet-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    padding:24px 38px 0
}
.callsheet-block,
.callsheet-section{
    border:1px solid var(--line);
    border-radius:16px;
    padding:20px
}
.callsheet-section{margin:24px 38px 0}
.callsheet-block h2,
.callsheet-section h2{font-size:1.12rem;margin-bottom:12px}
.callsheet-block p,
.callsheet-section p{margin:0}
.callsheet-block dl{display:grid;gap:8px;margin:0}
.callsheet-block dl div{display:grid;grid-template-columns:90px 1fr;gap:12px}
.callsheet-block dt{font-weight:700}
.callsheet-block dd{margin:0}
.callsheet-checklist{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 18px
}
.callsheet-checklist>div{display:flex;align-items:center;gap:10px}
.callsheet-checklist .done{color:#548066}
.callsheet-checkbox{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border:2px solid currentColor;
    border-radius:6px;
    flex:0 0 auto
}
.callsheet-models{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.callsheet-models>div{display:grid;padding:12px;border-radius:12px;background:#f7f3ed}
.callsheet-models span{color:var(--muted);font-size:.9rem}
.callsheet-moodboard{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px
}
.callsheet-moodboard figure{margin:0}
.callsheet-moodboard img{
    width:100%;
    height:180px;
    object-fit:cover;
    border-radius:12px
}
.callsheet-moodboard figcaption{display:grid;padding-top:7px}
.callsheet-moodboard figcaption span{color:var(--muted);font-size:.88rem}
.callsheet-footer{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:26px;
    padding:20px 38px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.85rem
}
@media(max-width:720px){
    .callsheet-hero,.callsheet-footer{align-items:flex-start;flex-direction:column}
    .callsheet-date{text-align:left}
    .callsheet-grid{grid-template-columns:1fr}
    .callsheet-checklist,.callsheet-models{grid-template-columns:1fr}
    .callsheet-moodboard{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
    .callsheet-grid{padding-left:16px;padding-right:16px}
    .callsheet-section{margin-left:16px;margin-right:16px}
    .callsheet-hero{padding:26px 20px}
    .callsheet-moodboard{grid-template-columns:1fr}
}
@media print{
    @page{size:A4;margin:12mm}
    .callsheet-page{background:#fff}
    .callsheet-main{padding:0}
    .callsheet-document{width:100%;box-shadow:none}
    .callsheet-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .callsheet-block,.callsheet-section{break-inside:avoid}
    .callsheet-moodboard figure{break-inside:avoid}
}


/* ND ShootingPlaner 1.8 – Timeline */
.timeline-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px
}
.timeline-summary-card{
    display:grid;
    gap:4px;
    padding:20px
}
.timeline-summary-card span{color:var(--muted);font-size:.88rem}
.timeline-summary-card strong{font-size:1.45rem}
.timeline-add-form,
.timeline-edit-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px
}
.timeline-add-form .full,
.timeline-edit-grid .full{grid-column:1/-1}
.timeline-list{
    display:grid;
    gap:14px;
    margin-top:20px
}
.timeline-item{
    display:grid;
    grid-template-columns:auto auto 1fr auto;
    gap:14px;
    align-items:start;
    border-left:6px solid var(--gold)
}
.timeline-item.is-done{
    opacity:.72;
    border-left-color:#4e9368;
    background:#f5fbf7
}
.timeline-item.is-dragging{opacity:.4}
.timeline-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f3eee7;
    font-size:1.15rem
}
.timeline-toggle-form,
.timeline-item-actions form{margin:0}
.timeline-check{
    width:40px;
    height:40px;
    margin:0;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:#4e9368;
    border:2px solid currentColor
}
.timeline-edit-form{display:grid;gap:10px}
.timeline-edit-form button{justify-self:start;margin:0}
.timeline-item.is-done .timeline-edit-form input,
.timeline-item.is-done .timeline-edit-form textarea{
    text-decoration:line-through;
    color:var(--muted)
}
.timeline-item-actions{
    display:flex;
    align-items:center;
    gap:10px
}
.timeline-item-actions button{margin:0}
.timeline-drag{
    cursor:grab;
    color:var(--muted);
    font-size:1.2rem
}
.callsheet-timeline{
    display:grid;
    gap:10px
}
.callsheet-timeline>div{
    display:grid;
    grid-template-columns:55px 32px 1fr auto;
    gap:10px;
    align-items:center;
    padding:10px 0;
    border-bottom:1px solid var(--line)
}
.callsheet-timeline .done{color:#548066}
.callsheet-timeline-time{font-weight:700}
.callsheet-timeline-icon{font-size:1.1rem}
.callsheet-timeline>div>div{display:grid}
.callsheet-timeline>div>div span{color:var(--muted);font-size:.88rem}
.callsheet-timeline small{color:var(--muted)}
@media(max-width:900px){
    .timeline-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .timeline-add-form,.timeline-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .timeline-item{grid-template-columns:auto auto 1fr}
    .timeline-item-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:520px){
    .timeline-summary-grid,
    .timeline-add-form,
    .timeline-edit-grid{grid-template-columns:1fr}
    .timeline-add-form .full,
    .timeline-edit-grid .full{grid-column:auto}
    .callsheet-timeline>div{grid-template-columns:48px 28px 1fr}
    .callsheet-timeline small{grid-column:3}
}


/* ND ShootingPlaner 1.9 – Shooting-Historie */
.history-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px
}
.history-summary-card{
    display:grid;
    gap:4px;
    padding:20px
}
.history-summary-card span{color:var(--muted);font-size:.88rem}
.history-summary-card strong{font-size:1.55rem}
.history-contact-card{margin-bottom:20px}
.history-contact-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px
}
.history-contact-grid>div{display:grid}
.history-contact-grid span{color:var(--muted);font-size:.85rem}
.history-list{
    display:grid;
    gap:14px;
    margin-bottom:20px
}
.history-entry{
    display:grid;
    grid-template-columns:130px 1fr auto;
    gap:20px;
    align-items:center
}
.history-entry.is-current{
    border-left:6px solid var(--gold);
    background:#fffdf9
}
.history-date{display:grid}
.history-date strong{font-size:1.2rem}
.history-date span{color:var(--muted)}
.history-title-row{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap
}
.history-title-row h2{margin:0}
.history-content p{margin:.25rem 0}
.history-model-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}
.history-model-card{
    display:grid;
    gap:2px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfaf7;
    color:inherit;
    text-decoration:none
}
.history-model-card span{color:var(--muted);font-size:.88rem}
@media(max-width:900px){
    .history-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .history-entry{grid-template-columns:110px 1fr}
    .history-entry>.actions{grid-column:1/-1}
    .history-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .history-contact-grid,
    .history-model-grid{grid-template-columns:1fr}
    .history-entry{grid-template-columns:1fr}
    .history-entry>.actions{grid-column:auto}
}
