.s8pc-calculator{--b:#e5e8ee;--muted:#6b7280;--dark:#172033;--bg:#f7f8fa;--accent:#2563eb;max-width:880px;margin:24px auto;border:1px solid var(--b);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(23,32,51,.08);overflow:hidden;color:var(--dark);font-family:inherit}.s8pc-head{padding:30px 32px 24px;background:linear-gradient(135deg,#f7f9ff,#fff)}.s8pc-eyebrow{display:inline-block;margin-bottom:7px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.s8pc-head h3{margin:0 0 8px;font-size:28px;line-height:1.2;color:var(--dark)}.s8pc-head p{margin:0;color:var(--muted)}.s8pc-section{padding:25px 32px;border-top:1px solid var(--b)}.s8pc-section-title{margin-bottom:4px;font-weight:750}.s8pc-section-help{margin:3px 0 0;color:var(--muted);font-size:13px}.s8pc-section-heading,.s8pc-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.s8pc-entry-card{padding:18px;border:1px solid var(--b);border-radius:16px;background:var(--bg);transition:border-color .2s,box-shadow .2s}.s8pc-entry-card.is-editing{border-color:#93b2ff;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.s8pc-entry-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:12px}.s8pc-field{display:flex;flex-direction:column;gap:6px}.s8pc-field>span,.s8pc-entry-addons-title{font-size:12px;font-weight:700;color:#4b5563}.s8pc-field select,.s8pc-entry-amount{width:100%!important;min-height:46px!important;border:1px solid var(--b)!important;border-radius:10px!important;background:#fff!important;color:var(--dark)!important;padding:0 12px!important;font:inherit!important;box-shadow:none!important}.s8pc-input-wrap{display:flex;align-items:center;border:1px solid var(--b);border-radius:10px;background:#fff;overflow:hidden}.s8pc-input-wrap .s8pc-entry-amount{border:0!important;border-radius:0!important;font-weight:700!important}.s8pc-entry-unit-label{padding:0 12px;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}.s8pc-entry-addons{margin-top:14px;padding-top:14px;border-top:1px solid #e2e5ea}.s8pc-entry-addons-title{margin-bottom:9px}.s8pc-entry-addons-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.s8pc-entry-addon-option{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--b);border-radius:10px;background:#fff;cursor:pointer}.s8pc-entry-addon-option input{width:17px;height:17px;flex:0 0 auto}.s8pc-entry-addon-option>span{display:flex;min-width:0;flex-direction:column}.s8pc-entry-addon-option strong{font-size:13px}.s8pc-entry-addon-option small{margin-top:1px;color:var(--muted);font-size:11px}.s8pc-entry-preview{display:flex;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff;color:var(--muted);font-size:13px}.s8pc-entry-preview strong{color:var(--dark)}.s8pc-entry-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.s8pc-add-roll,.s8pc-cancel-edit,.s8pc-card-actions button{border-radius:10px!important;font:inherit!important;font-weight:700!important;cursor:pointer!important;box-shadow:none!important}.s8pc-add-roll{border:1px solid var(--accent)!important;background:var(--accent)!important;color:#fff!important;padding:10px 16px!important}.s8pc-cancel-edit{border:1px solid var(--b)!important;background:#fff!important;color:#4b5563!important;padding:10px 16px!important}.s8pc-entry-error{min-height:18px;margin-top:7px;color:#b42318;font-size:12px;text-align:right}.s8pc-workspace-section{background:#fcfcfd}.s8pc-workspace-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.s8pc-workspace-stats>*{padding:6px 9px;border:1px solid var(--b);border-radius:999px;background:#fff;font-size:11px;white-space:nowrap}.s8pc-workspace-stats strong{color:var(--accent)}.s8pc-empty-state{display:flex;min-height:145px;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #cdd3dd;border-radius:15px;color:var(--muted);text-align:center;padding:20px}.s8pc-empty-state[hidden],.s8pc-dashboard[hidden]{display:none!important}.s8pc-empty-icon{display:grid;width:38px;height:38px;place-items:center;margin-bottom:8px;border-radius:50%;background:#eef3ff;color:var(--accent)}.s8pc-empty-state strong{color:#4b5563}.s8pc-empty-state small{margin-top:4px}.s8pc-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.s8pc-film-card{border:1px solid var(--b);border-radius:13px;background:#fff;overflow:hidden;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.s8pc-film-card:hover,.s8pc-film-card:focus{border-color:#b9c8ef;box-shadow:0 5px 18px rgba(23,32,51,.06);outline:none}.s8pc-film-card.s8pc-just-added{animation:s8pcPulse .65s ease}.s8pc-film-card-main{display:grid;grid-template-columns:30px 1fr auto 16px;align-items:center;gap:9px;padding:11px 12px}.s8pc-film-number{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#eef3ff;color:var(--accent);font-size:11px;font-weight:800}.s8pc-film-copy{display:flex;min-width:0;flex-direction:column}.s8pc-film-copy strong{font-size:13px}.s8pc-film-copy span{margin-top:1px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s8pc-film-price{font-size:12px;white-space:nowrap}.s8pc-chevron{color:#9ca3af;transition:transform .18s}.s8pc-film-card.is-open .s8pc-chevron{transform:rotate(180deg)}.s8pc-film-details{display:none;padding:0 12px 12px;border-top:1px solid #edf0f4}.s8pc-film-card.is-open .s8pc-film-details{display:block}.s8pc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:11px}.s8pc-detail-grid>div{display:flex;flex-direction:column;padding:8px;border-radius:8px;background:var(--bg)}.s8pc-detail-grid span,.s8pc-addon-list span{color:var(--muted);font-size:10px}.s8pc-detail-grid strong,.s8pc-addon-list strong{font-size:11px}.s8pc-addon-list{padding:10px 2px 7px}.s8pc-card-actions{display:flex;gap:7px;justify-content:flex-end}.s8pc-card-actions button{padding:6px 10px!important;background:#fff!important;font-size:11px!important}.s8pc-edit-roll{border:1px solid var(--b)!important;color:#374151!important}.s8pc-delete-roll{border:1px solid #f1c3c0!important;color:#b42318!important}.s8pc-result{margin:0 32px 32px;padding:24px;border-radius:16px;background:var(--dark);color:#fff}.s8pc-result-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.16)}.s8pc-result-top span{color:rgba(255,255,255,.7);font-size:14px}.s8pc-total{font-size:30px;line-height:1}.s8pc-result-details{padding-top:14px;display:grid;gap:8px}.s8pc-result-details>div{display:flex;justify-content:space-between;gap:20px;font-size:14px}.s8pc-result-details span{color:rgba(255,255,255,.7)}.s8pc-disclaimer{margin:15px 0 0;color:rgba(255,255,255,.55);font-size:12px}.s8pc-flying-roll{position:fixed;z-index:999999;width:110px;padding:10px 12px;border-radius:10px;background:var(--s8pc-fly-bg,#2563eb);box-shadow:0 10px 30px rgba(37,99,235,.28);color:#fff;text-align:center;font:700 12px/1.2 sans-serif;pointer-events:none;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .42s ease;transform-origin:center}@keyframes s8pcPulse{0%{box-shadow:0 0 0 0 rgba(37,99,235,.35);transform:scale(.985)}55%{box-shadow:0 0 0 7px rgba(37,99,235,0);transform:scale(1.01)}100%{box-shadow:none;transform:scale(1)}}@media(max-width:700px){.s8pc-entry-grid{grid-template-columns:1fr 1fr}.s8pc-entry-grid .s8pc-field:last-child{grid-column:1/-1}.s8pc-workspace-head{flex-direction:column}.s8pc-workspace-stats{justify-content:flex-start}}@media(max-width:600px){.s8pc-head,.s8pc-section{padding-left:20px;padding-right:20px}.s8pc-result{margin:0 20px 20px}.s8pc-head h3{font-size:24px}.s8pc-entry-grid,.s8pc-entry-addons-grid,.s8pc-dashboard{grid-template-columns:1fr}.s8pc-entry-grid .s8pc-field:last-child{grid-column:auto}.s8pc-entry-actions{flex-direction:column-reverse}.s8pc-entry-actions button{width:100%}.s8pc-result-top{align-items:flex-start;flex-direction:column;gap:8px}.s8pc-total{font-size:27px}}@media(prefers-reduced-motion:reduce){.s8pc-film-card,.s8pc-chevron{transition:none}.s8pc-film-card.s8pc-just-added{animation:none}}

/* v1.3.1 mobile/Safari hardening */
.s8pc-calculator,.s8pc-calculator *{box-sizing:border-box}.s8pc-add-roll,.s8pc-cancel-edit,.s8pc-card-actions button,.s8pc-film-card,.s8pc-entry-addon-option{touch-action:manipulation;-webkit-tap-highlight-color:rgba(37,99,235,.08)}
@media(max-width:600px){.s8pc-calculator{width:100%;max-width:100%;margin:12px auto;border-radius:16px}.s8pc-field select,.s8pc-entry-amount{font-size:16px!important}.s8pc-entry-preview{flex-wrap:wrap}.s8pc-film-card-main{grid-template-columns:30px minmax(0,1fr) auto 16px}.s8pc-film-copy span{white-space:normal}.s8pc-workspace-stats{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.s8pc-workspace-stats>*{flex:0 0 auto}.s8pc-card-actions button{min-height:42px}.s8pc-add-roll,.s8pc-cancel-edit{min-height:48px}.s8pc-flying-roll{display:none!important}}
.s8pc-unit-field[hidden],.s8pc-entry-addons[hidden],.s8pc-preview-time-wrap[hidden]{display:none!important}.s8pc-film-select-wrap{display:flex;align-items:center;gap:9px}.s8pc-film-select-wrap select{flex:1;min-width:0}.s8pc-selected-icon,.s8pc-film-thumb{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;overflow:hidden;background:#eef1f5;border:1px solid #dfe3e9;font-size:18px}.s8pc-selected-icon img,.s8pc-film-thumb img{width:100%;height:100%;object-fit:cover}.s8pc-tier-hint{margin-top:12px;padding:10px 12px;border-radius:10px;background:#edf6ff;border:1px solid #d5e8ff;color:#31536e;font-size:12px}.s8pc-tier-hint[hidden]{display:none!important}.s8pc-film-card-main{grid-template-columns:42px 30px 1fr auto 16px}.s8pc-film-thumb{width:38px;height:38px;font-size:15px}.s8pc-unit-field[hidden],.s8pc-entry-addons[hidden],.s8pc-preview-time-wrap[hidden]{display:none!important}@media(max-width:600px){.s8pc-film-card-main{grid-template-columns:38px 28px minmax(0,1fr) auto 16px}.s8pc-film-thumb{width:34px;height:34px}.s8pc-selected-icon{width:40px;height:40px}}

.s8pc-result-video{white-space:normal}

.s8pc-print-actions{margin-top:18px;text-align:right}.s8pc-print-summary{border:0;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer;background:#1d2327;color:#fff}.s8pc-print-summary:hover{opacity:.9}@media(max-width:600px){.s8pc-print-actions{text-align:stretch}.s8pc-print-summary{width:100%}}

.s8pc-entry-addon-option[hidden],
.s8pc-entry-addon-option.s8pc-addon-hidden{
    display:none!important;
}

.s8pc-addon-qty-wrap{display:flex;align-items:center;gap:7px;margin-left:auto}.s8pc-addon-qty-wrap[hidden]{display:none!important}.s8pc-entry-addon-qty{width:68px!important;min-width:68px!important;text-align:center}@media(max-width:600px){.s8pc-entry-addon-option{flex-wrap:wrap}.s8pc-addon-qty-wrap{width:100%;margin-left:28px;margin-top:7px}.s8pc-entry-addon-qty{font-size:16px!important}}

.s8pc-media-option-field[hidden]{display:none!important}

.s8pc-usb-note{
    margin-top:8px;
    text-align:right;
    font-size:13px;
    font-weight:700;
    color:#666;
}
.s8pc-usb-note[hidden]{display:none!important}

.s8pc-storage-heading{font-weight:700;margin:16px 0 8px;padding-top:12px;border-top:1px solid #e5e7eb}

.s8pc-storage-group{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #e5e7eb;
}
.s8pc-storage-group[hidden]{display:none!important}
.s8pc-storage-option{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:10px;
}

/* 2.0.4 – mobile controls fix */
.s8pc-calculator select,
.s8pc-calculator input[type="number"],
.s8pc-calculator input[type="text"]{
    color:#1d2327!important;
    background:#fff!important;
    -webkit-text-fill-color:#1d2327!important;
    opacity:1!important;
    visibility:visible!important;
}
.s8pc-calculator select option{
    color:#1d2327!important;
    background:#fff!important;
}
.s8pc-entry-addon-option{
    position:relative;
    z-index:1;
    pointer-events:auto!important;
}
.s8pc-entry-addon-option input[type="checkbox"]{
    -webkit-appearance:checkbox!important;
    appearance:auto!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    position:static!important;
}
.s8pc-entry-addon-qty{
    color:#1d2327!important;
    background:#fff!important;
    -webkit-text-fill-color:#1d2327!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    caret-color:#1d2327!important;
}
.s8pc-media-option-field select{
    display:block!important;
    width:100%!important;
    min-height:44px!important;
    color:#1d2327!important;
    background:#fff!important;
    -webkit-text-fill-color:#1d2327!important;
}
.s8pc-media-option-field[hidden]{display:none!important}
.s8pc-storage-option{pointer-events:auto!important}

@media(max-width:700px){
    .s8pc-entry-addon-option{
        display:flex;
        align-items:flex-start;
        gap:10px;
        width:100%;
        min-height:48px;
        cursor:pointer;
    }
    .s8pc-entry-addon-option > input[type="checkbox"]{
        flex:0 0 auto;
        margin-top:3px!important;
        width:18px!important;
        height:18px!important;
    }
    .s8pc-entry-addon-option > span:not(.s8pc-addon-qty-wrap){
        flex:1 1 auto;
        min-width:0;
    }
    .s8pc-addon-qty-wrap{
        display:flex;
        align-items:center;
        gap:8px;
        width:100%;
        margin:8px 0 0 28px!important;
        padding:0!important;
        pointer-events:auto!important;
    }
    .s8pc-addon-qty-wrap[hidden]{display:none!important}
    .s8pc-entry-addon-qty{
        display:block!important;
        width:82px!important;
        min-width:82px!important;
        height:44px!important;
        padding:8px 10px!important;
        font-size:16px!important;
        line-height:1.2!important;
        border:1px solid #8c8f94!important;
        border-radius:6px!important;
        box-sizing:border-box!important;
    }
    .s8pc-entry-film,
    .s8pc-entry-unit,
    .s8pc-entry-media-option{
        font-size:16px!important;
        min-height:44px!important;
    }
}

/* 2.0.5 – force visible addon quantity values on mobile */
.s8pc-calculator .s8pc-entry-addon-qty{
    color:#111!important;
    background-color:#fff!important;
    -webkit-text-fill-color:#111!important;
    caret-color:#111!important;
    opacity:1!important;
    visibility:visible!important;
    text-shadow:none!important;
    font-weight:600!important;
}

@media(max-width:700px){
    .s8pc-calculator input.s8pc-entry-addon-qty[type="number"]{
        -webkit-appearance:none!important;
        appearance:textfield!important;
        color:#111!important;
        background:#fff!important;
        -webkit-text-fill-color:#111!important;
        caret-color:#111!important;
        opacity:1!important;
        visibility:visible!important;
        font-size:16px!important;
        font-weight:600!important;
        line-height:44px!important;
        height:44px!important;
        min-height:44px!important;
        padding:0 12px!important;
        border:1px solid #6b7280!important;
        border-radius:8px!important;
        box-shadow:none!important;
    }

    .s8pc-calculator input.s8pc-entry-addon-qty[type="number"]::-webkit-inner-spin-button,
    .s8pc-calculator input.s8pc-entry-addon-qty[type="number"]::-webkit-outer-spin-button{
        -webkit-appearance:none!important;
        margin:0!important;
    }

    .s8pc-calculator .s8pc-addon-qty-wrap{
        background:#fff;
        padding:8px 10px!important;
        border-radius:8px;
    }
}

/* 2.1.0 – added-film confirmation toast */
.s8pc-calculator{
    position:relative;
}
.s8pc-toast{
    position:fixed;
    left:50%;
    bottom:24px;
    z-index:99999;
    transform:translate(-50%,18px);
    display:flex;
    align-items:center;
    gap:12px;
    width:min(420px,calc(100vw - 28px));
    padding:14px 16px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
    background:#fff;
    color:#1d2327;
    box-shadow:0 12px 34px rgba(0,0,0,.16);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease,transform .22s ease;
}
.s8pc-toast[hidden]{
    display:none!important;
}
.s8pc-toast.is-visible{
    opacity:1;
    transform:translate(-50%,0);
}
.s8pc-toast.is-leaving{
    opacity:0;
    transform:translate(-50%,10px);
}
.s8pc-toast-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#edf7ee;
    font-size:20px;
    font-weight:800;
}
.s8pc-toast-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}
.s8pc-toast-copy strong{
    font-size:14px;
    line-height:1.25;
}
.s8pc-toast-copy span{
    font-size:13px;
    line-height:1.35;
    color:#646970;
}
@media(max-width:700px){
    .s8pc-toast{
        bottom:16px;
        width:calc(100vw - 24px);
        padding:13px 14px;
        border-radius:12px;
    }
}

.s8pc-roll-qty-field[hidden]{display:none!important}
.s8pc-clear-all{
    border:1px solid #d0d5dd;
    background:#fff;
    color:#555;
    border-radius:8px;
    padding:7px 11px;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    white-space:nowrap;
}
.s8pc-clear-all:hover{
    border-color:#b42318;
    color:#b42318;
}
.s8pc-clear-all[hidden]{display:none!important}
@media(max-width:700px){
    .s8pc-clear-all{
        order:3;
        width:100%;
        margin-top:8px;
    }
}

/* 2.2.1 – align Super 8/Dubbel 8 quantity with VHS quantity */
.s8pc-roll-qty-field{
    min-width:0;
}
.s8pc-roll-qty-field .s8pc-input-wrap{
    width:100%;
}
.s8pc-roll-qty-field .s8pc-entry-roll-qty{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:inherit!important;
    -webkit-text-fill-color:currentColor!important;
    font:inherit!important;
    font-weight:inherit!important;
    line-height:inherit!important;
    text-align:left!important;
    appearance:textfield!important;
    -webkit-appearance:none!important;
}
.s8pc-roll-qty-field .s8pc-entry-roll-qty::-webkit-inner-spin-button,
.s8pc-roll-qty-field .s8pc-entry-roll-qty::-webkit-outer-spin-button{
    -webkit-appearance:none;
    margin:0;
}
@media(max-width:700px){
    .s8pc-roll-qty-field .s8pc-entry-roll-qty{
        font-size:16px!important;
    }
}

/* 2.2.2 – Super 8 quantity matches video tape quantity */
.s8pc-entry-grid .s8pc-roll-qty-field{
    width:auto!important;
    min-width:0!important;
}
.s8pc-entry-grid .s8pc-roll-qty-field .s8pc-input-wrap{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:46px!important;
    padding:0 12px!important;
    border:1px solid #d9dee7!important;
    border-radius:11px!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
.s8pc-entry-grid .s8pc-roll-qty-field input.s8pc-entry-roll-qty{
    display:block!important;
    flex:1 1 auto!important;
    width:1%!important;
    min-width:0!important;
    height:44px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#1d2327!important;
    -webkit-text-fill-color:#1d2327!important;
    font:inherit!important;
    font-weight:600!important;
    line-height:44px!important;
}
.s8pc-entry-grid .s8pc-roll-qty-field .s8pc-input-wrap > span{
    flex:0 0 auto!important;
    margin-left:8px!important;
    font-size:12px!important;
    font-weight:600!important;
    color:#59636f!important;
}
@media(min-width:701px){
    .s8pc-entry-grid{
        grid-template-columns:minmax(260px,1.2fr) minmax(150px,.8fr) minmax(180px,.9fr)!important;
    }
    .s8pc-entry-grid .s8pc-roll-qty-field{
        grid-column:2!important;
        grid-row:1!important;
    }
    .s8pc-entry-grid .s8pc-unit-field{
        grid-column:3!important;
        grid-row:1!important;
    }
    .s8pc-entry-grid .s8pc-amount-field{
        grid-column:1!important;
        grid-row:2!important;
    }
}
@media(max-width:700px){
    .s8pc-entry-grid .s8pc-roll-qty-field{
        width:100%!important;
    }
}
