*{
    box-sizing:border-box;
}

img{
    max-width:100%;
    display:block;
}

.upload-box,
.helper-box,
.code-box{
    content-visibility:auto;
}

body{
    margin:0;
    font-family:var(--font);
    background:var(--bg);
    color:var(--text-primary);
}

html{
    scroll-padding-top:var(--pk-scroll-padding, 150px);
}

.app{
    width:100%;
    max-width:1400px;
    min-height:100vh;
    background:#fff;
    margin:auto;
    overflow-x:clip;
}

@media(min-width:992px){

    body{
        padding:20px;
    }

    .app{
        border-radius:36px;
        box-shadow:0 0 40px rgba(0,0,0,.08);
        min-height:calc(100vh - 40px);
    }
}

.header{
    position:sticky;
    top:0;
    z-index:1000;
    padding:8px 10px 6px;
    background:linear-gradient(135deg,var(--navy),var(--navy-secondary));
    color:#fff;
    border-bottom-left-radius:22px;
    border-bottom-right-radius:22px;
}

.logo{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.logo-icon{
    width:88px;
    height:88px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
    padding:0;
    background:transparent;
    border:none;
    box-shadow:none;
    flex:0 0 88px;
}

.logo-main{
    display:flex;
    align-items:center;
    gap:14px;
}

 .logo-text h3{
    margin:0;
    font-family:'Space Grotesk',sans-serif;
    font-weight:800;
    font-size:32px;
    letter-spacing:-1.8px;
    line-height:.95;
    text-transform:none;
}

.logo-text span{
    display:block;
    margin-top:6px;
    font-size:13px;
    color:rgba(255,255,255,.72);
    font-weight:500;
    letter-spacing:.2px;
}

.brand-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:10px;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    font-size:11px;
    font-weight:700;
    color:#fff;
    width:max-content;
    backdrop-filter:blur(8px);
}

.brand-badge i{
    color:#34d399;
}

@media(max-width:768px){

    .logo-text h3{
        font-size:28px;
        letter-spacing:-1.6px;
    }

    .logo-text span{
        font-size:12px;
    }

    .logo-icon{
        width:78px;
        height:78px;
        flex:0 0 78px;
    }

    .brand-badge{
        font-size:10px;
        padding:5px 10px;
    }
}

.logo h3{
    margin:0;
    font-weight:900;
}

.logo span{
    font-size:13px;
    opacity:.75;
}

/* SWITCH */

.mode-card{
    position:fixed;
    left:50%;
    transform:translateX(-50%);
    bottom:16px;
    width:calc(100% - 24px);
    max-width:460px;
    background:#ffffff;
    backdrop-filter:blur(14px);
    border-radius:24px;
    padding:6px;
    display:flex;
    z-index:9999;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.16), 0 2px 10px rgba(0,0,0,.08);
}

.mode-card.role-toggle-top{
    position:relative;
    left:auto;
    transform:none;
    bottom:auto;
    max-width:none;
    margin:0 14px 12px;
    width:calc(100% - 28px);
    z-index:10;
    border-radius:20px;
    box-shadow:0 4px 20px rgba(15,23,42,.08);
    padding:5px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}

.mode-card.mode-switch-clear::before{
    border-radius:16px;
    top:5px;
    left:5px;
    width:calc(50% - 5px);
    height:calc(100% - 10px);
    box-shadow:0 4px 14px rgba(13,168,103,.28);
}

.mode-card.mode-switch-clear.print-active::before{
    left:calc(50%);
}

.mode-card.role-toggle-top button{
    padding:10px 6px 9px;
    font-size:13px;
    gap:5px;
    line-height:1.2;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:62px;
    border-radius:16px;
    transition:color .15s ease, transform .12s ease;
}

.mode-card.role-toggle-top button:active{
    transform:scale(.98);
}

.mode-card.role-toggle-top button .tab-icon-wrap{
    width:30px;
    height:30px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:14px;
    transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}

.mode-card.role-toggle-top #shareBtn .tab-icon-wrap{
    background:#dbeafe;
    color:#1d4ed8;
}

.mode-card.role-toggle-top #printBtn .tab-icon-wrap{
    background:#ede9fe;
    color:#6d28d9;
}

.mode-card.role-toggle-top button.active .tab-icon-wrap{
    background:rgba(255,255,255,.22);
    color:#fff;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

.mode-card.role-toggle-top .tab-copy{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    text-align:center;
    min-width:0;
    width:100%;
}

.mode-card.role-toggle-top .tab-title{
    font-weight:800;
    font-size:11.5px;
    line-height:1.2;
    letter-spacing:-.01em;
    color:#0f172a;
}

.mode-card.role-toggle-top .tab-hint{
    font-weight:600;
    font-size:9.5px;
    line-height:1.2;
    color:#64748b;
    white-space:nowrap;
}

.mode-card.role-toggle-top button.active .tab-title,
.mode-card.role-toggle-top button.active .tab-hint{
    color:#fff;
}

.mode-card.role-toggle-top button.active .tab-hint{
    opacity:.92;
}

@media (min-width:520px){
    .mode-card.role-toggle-top button{
        flex-direction:row;
        align-items:center;
        justify-content:flex-start;
        font-size:14px;
        padding:12px 14px;
        gap:10px;
        min-height:0;
    }

    .mode-card.role-toggle-top button .tab-icon-wrap{
        width:34px;
        height:34px;
        font-size:15px;
        border-radius:11px;
    }

    .mode-card.role-toggle-top .tab-copy{
        flex-direction:column;
        align-items:flex-start;
        justify-content:center;
        gap:2px;
        text-align:left;
        width:auto;
    }

    .mode-card.role-toggle-top .tab-title{
        font-size:14px;
    }

    .mode-card.role-toggle-top .tab-hint{
        font-size:11px;
    }
}

.mode-card::before{
    content:'';
    position:absolute;
    top:6px;
    left:6px;
    width:calc(50% - 6px);
    height:calc(100% - 12px);
    border-radius:18px;
    background:linear-gradient(135deg,#18c37e,#0da867);
    z-index:1;
    transition:.18s ease;
}

.mode-card.print-active::before{
    left:calc(50% + 0px);
}

.mode-card button{
    flex:1;
    border:0;
    background:transparent;
    padding:15px 10px;
    border-radius:18px;
    font-weight:800;
    position:relative;
    z-index:2;
    color:#111827;
    font-size:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    transition:.15s ease;
}

.mode-card button.active{
    color:#fff !important;
}

.mode-card button i{
    font-size:16px;
}

.screen{
    display:none;
    padding:4px 14px 24px;
    opacity:0;
    transform:translateY(10px);
    transition:opacity .22s ease, transform .22s ease;
}

.screen.active{
    display:block;
    opacity:1;
    transform:translateY(0);
}

.upload-box{
    border:2px dashed #d8e2ee;
    border-radius:24px;
    padding:24px 16px;
    text-align:center;
    background:linear-gradient(180deg,#f8fbff,#f8fafc);
    box-shadow:0 10px 30px rgba(15,23,42,.04);
}

.upload-box i{
    width:60px;
    height:60px;
    border-radius:18px;
    background:linear-gradient(135deg,#18c37e,#0da867);
    display:inline-grid;
    place-items:center;
    color:#fff;
    font-size:20px;
}

.btn-main{
    border:0;
    width:100%;
    padding:15px;
    border-radius:18px;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
    font-weight:800;
    position:relative;
    overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease;
    box-shadow:0 10px 24px rgba(22,199,132,.22);
}

.btn-main:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(24,195,126,.28);
}

.btn-main:active{
    transform:scale(.98);
}

.btn-main i,
.btn-main .apply-all-icon{
    color:#fff;
}

#applyAllBtn .apply-all-icon{
    margin-right:8px;
}

 

 

 

.btn-dark-main{
    background:linear-gradient(135deg,var(--navy),var(--navy-secondary));
}

.file-card{
    background:#fff;
    border:1px solid #eef2f7;
    border-radius:16px;
    padding:10px;
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
    box-shadow:0 8px 22px rgba(15,23,42,.05);
    animation:fileAppear .28s ease;
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.file-card > .flex-grow-1{
    flex:1;
    min-width:0;
}

.file-card > .file-icon{
    flex-shrink:0;
    margin-top:1px;
}

.file-card > .remove-file-btn{
    align-self:flex-start;
    margin-top:1px;
}

.file-card:hover{
    box-shadow:0 10px 20px rgba(15,23,42,.06);
}

@keyframes fileAppear{

    from{
        opacity:0;
        transform:translateY(12px) scale(.98);
    }

    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

.file-card.file-queue-row{
    padding:8px 10px;
    align-items:center;
    gap:10px;
}

.file-card.file-queue-row .file-icon{
    width:36px;
    height:36px;
    border-radius:12px;
}

.file-card.file-queue-row .file-name{
    font-size:12px;
    line-height:1.35;
}

.file-card.file-queue-row .file-queue-meta{
    margin-top:2px;
    color:#64748b;
    font-size:11px;
}

.file-card.file-queue-row .progress{
    height:5px;
    margin-top:6px !important;
}

.file-card.file-queue-row .file-upload-status{
    margin-top:4px !important;
    font-size:11px;
    color:#64748b;
}

.file-card.file-queue-row .remove-file-btn{
    margin-top:0;
}

.file-card.file-queue-row .file-card-preview-btn{
    flex-shrink:0;
    align-self:center;
    width:34px;
    height:34px;
    min-width:34px;
    padding:0;
}

.file-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    background:#eef8f3;
    color:var(--green);
    display:grid;
    place-items:center;
}

.file-name{
    margin:0;
    font-size:13px;
    font-weight:700;
    line-height:1.45;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.small-text{
    color:#64748b;
    font-size:12px;
}

.progress{
    height:7px;
    border-radius:999px;
}

/* COMPACT LEDGER */

.hp-field{
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
}

.print-code-section{
    margin:10px 0 14px;
    scroll-margin-top:72px;
    scroll-margin-bottom:16px;
}

.print-code-section-highlight{
    animation:stepFocusPulse 2.4s ease;
    border-radius:var(--radius-lg);
}

.active-codes-strip{
    margin:0;
    padding:0;
    scroll-margin-top:80px;
}

.share-codes-chrome.codes-view-mode .active-codes-float-bar{
    display:none;
}

.share-codes-chrome.details-focus-mode .active-codes-float-bar{
    cursor:pointer;
}

.active-codes-float-bar-hit{
    display:block;
    cursor:pointer;
}

.active-codes-details{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.active-codes-details .code-box{
    margin-top:0;
    content-visibility:visible;
}

.share-codes-chrome.codes-view-mode .code-box{
    animation:codeBoxReveal .28s ease;
}

@keyframes codeBoxReveal{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

html.pk-has-live-code #shareScreen.active #shareStaticIntro{
    display:none !important;
}

/* ===== CREATE PRINT CODE — STICKY ACTIVE CODE BAR ===== */

.share-codes-chrome{
    margin:0 0 8px;
    padding:0 14px;
}

@media(max-width:767px){
    .share-codes-chrome{
        margin-left:-14px;
        margin-right:-14px;
        padding:0 8px;
        width:calc(100% + 28px);
    }

    .share-codes-chrome.codes-view-mode .code-box{
        padding:12px 10px;
        border-radius:16px;
    }

    .share-codes-chrome.codes-view-mode .code{
        font-size:22px;
        letter-spacing:4px;
    }
}

.active-codes-float-bar{
    position:sticky;
    top:0;
    z-index:500;
    background:linear-gradient(135deg,#0f2744 0%,#0a1633 100%);
    border-radius:10px;
    padding:4px 8px;
    color:#fff;
    box-shadow:0 3px 12px rgba(10,22,51,.2);
    border:1px solid rgba(255,255,255,.1);
    animation:activeCodeBarIn .45s ease;
}

.active-codes-float-bar.is-expanded{
    border-radius:10px 10px 0 0;
    margin-bottom:0;
}

@keyframes activeCodeBarIn{
    from{
        opacity:0;
        transform:translateY(-8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes activeCodePulse{
    0%,100%{
        opacity:1;
        box-shadow:0 0 0 0 rgba(134,239,172,.5);
    }
    50%{
        opacity:.75;
        box-shadow:0 0 0 4px rgba(134,239,172,0);
    }
}

.active-codes-float-inner{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
    min-height:28px;
    overflow:hidden;
}

.active-codes-float-inner--head{
    min-height:24px;
    margin-bottom:3px;
}

.active-codes-float-codes{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:1px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}

.active-codes-float-codes::-webkit-scrollbar{
    display:none;
}

.active-codes-float-chip{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:2px 7px;
    border-radius:8px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.1);
}

.active-codes-float-chip .active-codes-float-code{
    font-size:13px;
    letter-spacing:.1em;
}

.active-codes-float-chip .active-codes-float-timer{
    flex:0 0 auto;
    font-size:10px;
    font-weight:800;
    color:#fde68a;
    font-variant-numeric:tabular-nums;
    min-width:3.2em;
    text-align:center;
}

.active-codes-float-pulse{
    flex:0 0 6px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#86efac;
    animation:activeCodePulse 1.6s ease infinite;
}

.active-codes-float-label{
    flex:0 1 auto;
    font-size:9px;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#86efac;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:7.5rem;
    animation:activeCodeLabelGlow 2.4s ease infinite;
}

@keyframes activeCodeLabelGlow{
    0%,100%{
        opacity:.88;
    }
    50%{
        opacity:1;
    }
}

.active-codes-float-code{
    flex:0 0 auto;
    font-size:15px;
    font-weight:900;
    letter-spacing:.12em;
    font-variant-numeric:tabular-nums;
    line-height:1;
    white-space:nowrap;
}

.active-codes-float-more{
    flex:0 0 auto;
    font-size:9px;
    font-weight:800;
    color:#bfdbfe;
    padding:1px 5px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    line-height:1.3;
}

.active-codes-float-timer{
    flex:0 0 auto;
    font-size:10px;
    font-weight:800;
    color:#fde68a;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
    min-width:3.2em;
    text-align:center;
}

.active-codes-float-btn{
    flex:0 0 auto;
    border:0;
    border-radius:7px;
    padding:3px 7px;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
    background:rgba(255,255,255,.14);
    color:#fff;
    border:1px solid rgba(255,255,255,.16);
    white-space:nowrap;
    line-height:1.3;
    transition:background .15s ease;
}

.active-codes-float-btn:hover,
.active-codes-float-btn:focus-visible{
    background:rgba(255,255,255,.22);
}

.btn-generate-new-code{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    animation:readyPulse 2s ease infinite;
}

.share-codes-bottom-action{
    display:none;
    position:fixed;
    left:50%;
    transform:translateX(-50%);
    bottom:calc(76px + env(safe-area-inset-bottom, 0px));
    width:calc(100% - 28px);
    max-width:612px;
    z-index:1040;
    padding:0;
    pointer-events:none;
}

.share-codes-chrome.codes-view-mode .share-codes-bottom-action,
.share-codes-chrome.details-focus-mode .share-codes-bottom-action{
    display:block;
    pointer-events:auto;
}

.share-codes-chrome.codes-view-mode,
.share-codes-chrome.details-focus-mode{
    padding-bottom:calc(92px + env(safe-area-inset-bottom, 0px));
}

#shareScreen:has(.share-codes-chrome.codes-view-mode) .fab-help,
#shareScreen:has(.share-codes-chrome.details-focus-mode) .fab-help{
    bottom:calc(140px + env(safe-area-inset-bottom, 0px));
}

@media(min-width:768px){
    .share-codes-bottom-action{
        bottom:calc(84px + env(safe-area-inset-bottom, 0px));
        width:calc(100% - 40px);
        max-width:640px;
    }

    .share-codes-chrome.codes-view-mode,
    .share-codes-chrome.details-focus-mode{
        padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px));
    }

    #shareScreen:has(.share-codes-chrome.codes-view-mode) .fab-help,
    #shareScreen:has(.share-codes-chrome.details-focus-mode) .fab-help{
        bottom:calc(148px + env(safe-area-inset-bottom, 0px));
    }
}

/* ===== ACTIVE PRINT CODES DETAILS ===== */

.active-codes-strip-highlight{
    animation:stepFocusPulse 2.4s ease;
}

.workspace-share,
.workspace-print{
    max-width:640px;
    margin:0 auto;
}

.brand-tagline-compact{
    margin-bottom:8px;
}

.brand-tagline-compact .brand-tagline-main{
    font-size:14px;
    margin:0;
    line-height:1.45;
}

.select-docs-cta-workspace{
    margin-top:4px;
    border-width:2px;
    border-style:dashed;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.select-docs-cta-workspace:hover,
.select-docs-cta-workspace:focus-visible{
    border-color:var(--primary);
    box-shadow:0 8px 24px rgba(22,199,132,.12);
}

.bulk-settings-collapsed{
    background:#f8fafc;
    border-color:#e2e8f0;
}

.print-mode-intro{
    text-align:center;
    margin-bottom:8px;
}

.print-bottom-brand{
    margin-top:16px;
}

.print-code-entry{
    text-align:center;
    padding:12px 0 8px;
}

.print-code-entry-label{
    margin:0 0 14px;
    font-size:15px;
    font-weight:800;
    color:var(--text-primary);
    letter-spacing:-.01em;
}

.print-input-hero{
    font-size:clamp(28px, 7vw, 36px) !important;
    letter-spacing:.35em !important;
    text-align:center;
    padding:18px 12px !important;
    border-radius:20px !important;
    border:2px solid #dbeafe !important;
    background:linear-gradient(180deg,#fff,#f8fbff);
    box-shadow:0 8px 28px rgba(15,23,42,.06);
    max-width:360px;
    margin:0 auto;
    display:block;
}

.print-code-progress-hero{
    justify-content:center;
    margin-top:14px;
}

.print-code-progress-hero .print-code-dot{
    width:12px;
    height:12px;
}

/* ===== DASHBOARD-LESS WORKSPACE ===== */

@keyframes printCodeSectionIn{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.share-add-more-hint{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 10px;
    padding:10px 12px;
    border-radius:12px;
    background:#f8fafc;
    border:1px dashed #cbd5e1;
    color:#475569;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
}

.share-add-more-hint i{
    color:var(--primary);
}

.code-expiry-note{
    font-size:11px;
    font-weight:700;
    color:#f59e0b;
    margin:6px 0 0;
}

.print-code-section-head{
    margin-bottom:10px;
}

.print-code-section-title{
    margin:0 0 4px;
    font-size:18px;
    font-weight:800;
    color:var(--text-primary);
    letter-spacing:-.02em;
}

.print-code-section-desc{
    margin:0;
    font-size:13px;
    font-weight:600;
    color:var(--text-secondary);
    line-height:1.45;
}

.print-docs-section{
    margin-top:8px;
    scroll-margin-top:72px;
    scroll-margin-bottom:16px;
}

.print-docs-section-head{
    margin-bottom:10px;
}

.print-docs-section-title{
    margin:0 0 4px;
    font-size:18px;
    font-weight:800;
    color:var(--text-primary);
    letter-spacing:-.02em;
}

.print-docs-section-desc{
    margin:0;
    font-size:13px;
    font-weight:600;
    color:var(--text-secondary);
    line-height:1.45;
}

.print-docs-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.code-box{
    background:linear-gradient(135deg,var(--navy),var(--navy-secondary));
    color:#fff;
    border-radius:18px;
    padding:13px;
    margin-top:10px;
    box-shadow:0 10px 26px rgba(10,22,51,.14);
}

.code{
    font-size:24px;
    font-weight:900;
    letter-spacing:5px;
    text-align:center;
    line-height:1;
}

.timer-box{
    margin-top:10px;
    background:rgba(255,255,255,.08);
    border-radius:12px;
    padding:8px;
    text-align:center;
    font-size:12px;
}

.code-actions{
    display:flex;
    gap:6px;
    margin-top:8px;
}

.code-actions button{
    flex:1;
    border-radius:12px !important;
    font-weight:700;
    padding:10px;
    font-size:13px;
}

.code-detail-wrap{
    margin-bottom:14px;
}

.code-back-home-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:0 0 8px 2px;
    padding:0;
    border:none;
    background:transparent;
    color:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:600;
    line-height:1.3;
    cursor:pointer;
    transition:color .15s ease, opacity .15s ease;
}

.code-back-home-link:hover,
.code-back-home-link:focus-visible{
    color:#fff;
    opacity:.95;
}

.code-back-home-link i{
    font-size:11px;
}

.ledger-doc{
    padding:8px;
    border-radius:14px;
    background:rgba(255,255,255,.05);
    margin-top:8px;
    display:flex;
    align-items:center;
    gap:10px;
}

.print-settings{
    display:flex;
    gap:6px;
    margin-top:6px;
    flex-wrap:wrap;
    align-items:stretch;
}

.print-settings-grid{
    display:grid;
    grid-template-columns:minmax(88px,1fr) minmax(64px,0.9fr) minmax(84px,1.3fr);
    gap:5px;
    margin-top:6px;
    align-items:end;
}

.copies-stepper{
    display:flex;
    align-items:stretch;
    width:100%;
    min-width:0;
    overflow:hidden;
    border-radius:6px;
    box-shadow:0 2px 6px rgba(15,23,42,.06);
}

.copies-stepper-btn{
    flex:0 0 30px;
    width:30px;
    min-height:30px;
    border:0;
    background:var(--primary);
    color:#fff;
    font-size:18px;
    font-weight:700;
    line-height:1;
    padding:0;
    cursor:pointer;
    display:grid;
    place-items:center;
    transition:background .15s ease;
}

.copies-stepper-btn:hover{
    background:var(--primary-dark);
}

.copies-stepper-btn:active{
    background:#0da867;
}

.copies-stepper .copies-input{
    flex:1;
    min-width:0;
    width:auto;
    border:1px solid #dbe3ef;
    border-left:0;
    border-right:0;
    border-radius:0;
    text-align:center;
    padding:6px 2px;
    font-size:13px;
    font-weight:700;
    color:#334155;
    box-shadow:none;
    -moz-appearance:textfield;
    appearance:textfield;
}

.copies-stepper .copies-input:focus{
    outline:none;
    border-color:#dbe3ef;
    box-shadow:none;
}

.copies-stepper .copies-input::-webkit-outer-spin-button,
.copies-stepper .copies-input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

.print-setting-field-copies{
    min-width:88px;
}

.print-setting-field{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
    margin:0;
}

.print-setting-label{
    font-size:9px;
    font-weight:800;
    color:#64748b;
    text-transform:uppercase;
    letter-spacing:.04em;
    line-height:1.1;
    white-space:nowrap;
}

.print-settings select,
.print-settings input,
.print-setting-field select,
.print-setting-field input{
    border:1px solid #dbe3ef;
    border-radius:10px;
    padding:6px 6px;
    font-size:10px;
    width:100%;
    min-width:0;
    font-weight:700;
    background:#fff;
    box-shadow:0 2px 6px rgba(15,23,42,.04);
    transition:.18s ease;
}

.print-settings select:focus,
.print-settings input:focus,
.print-setting-field select:focus,
.print-setting-field input:focus{
    outline:none;
    border-color:#18c37e;
    box-shadow:0 0 0 4px rgba(24,195,126,.12);
}

body.pk-static-page .app{
    background:var(--bg);
}

.static-page{
    padding:12px 14px 24px;
    background:var(--bg);
}

.static-page-shell{
    max-width:720px;
    margin:0 auto;
}

.static-page-back{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
    color:var(--primary);
    font-weight:800;
    font-size:13px;
    text-decoration:none;
}

.static-page-back:hover,
.static-page-back:focus{
    color:var(--primary-dark);
    text-decoration:none;
}

.page-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:20px 18px 22px;
    box-shadow:var(--shadow-card);
}

.page-card h1{
    font-size:24px;
    line-height:1.25;
    color:var(--text-primary);
    margin-bottom:12px;
}

.page-card h2{
    font-size:18px;
    line-height:1.35;
    color:var(--text-primary);
}

.page-card h3,
.page-card h4{
    color:var(--text-primary);
}

.page-card p,
.page-card li{
    color:var(--text-secondary);
    line-height:1.65;
    font-size:14px;
}

.page-card ul{
    padding-left:20px;
    margin-bottom:12px;
}

.page-card .text-secondary{
    color:var(--text-secondary) !important;
}

.page-card .text-muted{
    color:#94a3b8 !important;
}

body.pk-static-page .footer-links{
    padding-bottom:40px;
}

.file-settings-summary{
    margin-top:8px;
    padding:10px 12px;
    background:linear-gradient(180deg,#ecfdf5 0%,#f0fdf4 100%);
    border:2px solid #86efac;
    border-radius:14px;
    cursor:pointer;
    transition:border-color .15s ease, box-shadow .15s ease, transform .12s ease;
    -webkit-tap-highlight-color:transparent;
}

.file-settings-summary:hover,
.file-settings-summary:focus{
    border-color:#22c55e;
    box-shadow:0 6px 16px rgba(22,199,132,.16);
}

.file-settings-summary:active{
    transform:scale(.99);
}

.file-card.file-settings-expanded .file-settings-summary{
    border-color:#16c784;
    box-shadow:0 0 0 3px rgba(22,199,132,.14);
}

.file-settings-summary-top{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:6px;
}

.file-settings-summary-label{
    font-size:12px;
    font-weight:800;
    color:#166534;
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.file-settings-summary-label i{
    color:#16c784;
}

.file-settings-summary-values{
    font-size:11px;
    font-weight:800;
    color:#166534;
    line-height:1.4;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.file-upload-status{
    font-weight:700;
    color:#64748b;
    line-height:1.45;
}

.file-card.border-success .file-upload-status{
    color:#166534;
}

.file-card.border-success .file-upload-status strong{
    color:#15803d;
}

.print-badge{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    font-size:11px;
    margin-top:6px;
    margin-right:4px;
}

.print-input{
    width:100%;
    padding:18px;
    border-radius:18px;
    border:1px solid #dbe3ef;
    font-size:24px;
    letter-spacing:8px;
    text-align:center;
    font-weight:800;
}

.doc-action{
    margin-left:auto;
    display:flex;
    gap:6px;
}

.circle-btn{
    width:40px;
    height:40px;
    border:0;
    border-radius:50%;
    display:grid;
    place-items:center;
}

.circle-btn.small{
    width:32px;
    height:32px;
    font-size:12px;
}

.ledger-doc .file-icon{
    width:34px;
    height:34px;
    border-radius:12px;
    flex:0 0 34px;
}

.ledger-empty{
    padding:10px;
    border-radius:12px;
    background:rgba(255,255,255,.06);
    font-size:12px;
    color:rgba(255,255,255,.8);
}

.modal-content{
    border-radius:24px;
    overflow:hidden;
}

.preview-frame{
    width:100%;
    height:72vh;
    border:0;
}

.tip-popup{
    position:fixed;
    top:18px;
    left:50%;
    transform:translateX(-50%) translateY(-20px);
    background:linear-gradient(135deg,#111827,#243557);
    color:#fff;
    padding:14px 18px;
    border-radius:18px;
    z-index:999999;
    width:calc(100% - 28px);
    max-width:420px;
    box-shadow:0 14px 30px rgba(0,0,0,.22);
    opacity:0;
    pointer-events:none;
    transition:.28s ease;
}

.tip-popup.show{
    opacity:1;
    transform:translateX(-50%) translateY(0);
    pointer-events:auto;
    cursor:pointer;
}

.tip-popup-content{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.tip-popup-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    background:rgba(255,255,255,.12);
    display:grid;
    place-items:center;
    flex:0 0 42px;
    font-size:18px;
}

.tip-popup h6{
    margin:0 0 4px;
    font-weight:800;
    font-size:14px;
}

.tip-popup p{
    margin:0;
    font-size:12px;
    line-height:1.5;
    opacity:.92;
}
.helper-box{
    background:#f8fafc;
    border:1px solid #dbe3ef;
    border-radius:16px;
    padding:10px 12px;
    margin-top:10px;
    font-size:13px;
    color:#334155;
    font-weight:600;
    line-height:1.6;
}

.helper-box i{
    color:#18c37e;
    margin-right:6px;
}

.remove-file-btn{
    width:34px;
    height:34px;
    border:none;
    border-radius:50%;
    background:#ef4444;
    color:#fff;
    display:grid;
    place-items:center;
    margin-left:10px;
    flex:0 0 34px;
}

.footer-note{
    text-align:center;
    color:#64748b;
    font-size:12px;
    padding:8px 0 18px;
}

/* ACTION LOADER */

.pk-action-loader-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.04);
    z-index:10000000;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease, visibility .2s ease;
}

.pk-action-loader-backdrop.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.pk-action-loader{
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:0;
    max-width:min(240px, calc(100vw - 32px));
    padding:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    z-index:10000001;
    font-weight:600;
    color:#64748b;
    font-size:12px;
    line-height:1.35;
    text-align:center;
    pointer-events:none;
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease, visibility .2s ease;
}

.pk-action-loader.is-visible{
    opacity:1;
    visibility:visible;
}

.pk-action-loader--compact #loaderText{
    display:none;
}

.pk-action-loader-icon{
    color:var(--primary);
    font-size:28px;
    flex:0 0 auto;
}

.app.pk-ui-transitioning{
    opacity:.88;
    transition:opacity .22s ease;
    pointer-events:none;
}

@media (prefers-reduced-motion: reduce){
    .app.pk-ui-transitioning,
    .pk-action-loader,
    .pk-action-loader-backdrop{
        transition:none;
    }
}

/* MODERN BOTTOM TOAST */

.swal2-container{
    z-index:10000000 !important;
}

.modern-bottom-toast{

    border-radius:18px !important;

    padding:12px 40px 12px 16px !important;

    box-shadow:0 10px 28px rgba(0,0,0,.16) !important;

    backdrop-filter:blur(12px);

    margin-bottom:90px !important;

    touch-action:pan-y;

    will-change:transform, opacity;
}

.swal2-popup.swal2-modal{
    touch-action:pan-y;
    will-change:transform, opacity;
}

.modern-bottom-toast .swal2-close{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    margin-top:0;
    margin-right:2px;
    font-size:22px;
    line-height:1;
    color:#64748b;
    opacity:1;
    pointer-events:auto;
    position:relative;
    z-index:2;
}

.modern-bottom-toast .swal2-close:hover,
.modern-bottom-toast .swal2-close:focus{
    color:#0f172a;
    opacity:1;
}

.pk-delete-modal .swal2-close,
.pk-invalid-code-modal .swal2-close,
.swal2-popup.swal2-modal .swal2-close{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    margin-top:0;
    margin-right:0;
    font-size:24px;
    line-height:1;
    color:#64748b;
    opacity:1;
    pointer-events:auto;
    z-index:2;
}

.pk-delete-modal .swal2-close:hover,
.pk-delete-modal .swal2-close:focus,
.pk-invalid-code-modal .swal2-close:hover,
.pk-invalid-code-modal .swal2-close:focus,
.swal2-popup.swal2-modal .swal2-close:hover,
.swal2-popup.swal2-modal .swal2-close:focus{
    color:#0f172a;
    opacity:1;
}

/* DELETE CONFIRM MODAL */

.pk-delete-modal.swal2-popup{
    border-radius:20px;
    padding:1.35rem 1.2rem 1.15rem;
    max-width:360px;
    box-shadow:0 20px 50px rgba(15,23,42,.22);
}

.pk-delete-modal .swal2-icon{
    margin:.4rem auto .65rem;
    width:3rem;
    height:3rem;
    border-width:3px;
}

.pk-delete-modal-title{
    font-size:1.12rem;
    font-weight:700;
    color:#0f172a;
    padding:0;
}

.pk-delete-modal-text{
    font-size:.9rem;
    color:#64748b;
    line-height:1.5;
    margin-top:.3rem;
}

.pk-delete-modal-actions{
    gap:.5rem;
    margin-top:1.15rem;
    width:100%;
}

.pk-delete-btn-cancel,
.pk-delete-btn-confirm{
    flex:1;
    border-radius:12px;
    padding:.62rem 1rem;
    font-weight:600;
    font-size:.9rem;
    border:none;
    cursor:pointer;
    transition:transform .12s ease, opacity .12s ease;
}

.pk-delete-btn-cancel{
    background:#f1f5f9;
    color:#475569;
}

.pk-delete-btn-cancel:hover{
    background:#e2e8f0;
}

.pk-delete-btn-confirm{
    background:linear-gradient(135deg,#dc2626,#b91c1c);
    color:#fff;
}

.pk-delete-btn-confirm:hover{
    opacity:.92;
    transform:translateY(-1px);
}

.pk-quick-toast{
    padding:10px 16px !important;
}

.pk-invalid-code-modal.swal2-popup{
    border-radius:20px;
    padding:1.35rem 1.2rem 1.15rem;
    max-width:360px;
    box-shadow:0 20px 50px rgba(15,23,42,.22);
}

.pk-invalid-code-modal .swal2-icon{
    margin:.4rem auto .65rem;
    width:3.4rem;
    height:3.4rem;
    border:none;
    background:#fff7ed;
    color:#ea580c;
    font-size:1.35rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    box-shadow:inset 0 0 0 2px #fed7aa;
}

.pk-invalid-code-modal .swal2-icon .fa-key{
    font-size:1.2rem;
    line-height:1;
}

.pk-invalid-code-modal-title{
    font-size:1.12rem;
    font-weight:700;
    color:#0f172a;
    padding:0;
}

.pk-invalid-code-modal-text{
    font-size:.9rem;
    color:#64748b;
    line-height:1.5;
    margin-top:.3rem;
}

.pk-invalid-code-modal-actions{
    margin-top:1.15rem;
    width:100%;
}

.pk-invalid-code-btn{
    width:100%;
    border-radius:12px;
    padding:.7rem 1rem;
    font-weight:700;
    font-size:.9rem;
    border:none;
    cursor:pointer;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
    box-shadow:0 8px 20px rgba(22,199,132,.24);
    transition:transform .12s ease, opacity .12s ease;
}

.pk-invalid-code-btn:hover{
    opacity:.94;
    transform:translateY(-1px);
}

@keyframes pk-swal-in{
    from{
        opacity:0;
        transform:scale(.96) translateY(-6px);
    }
    to{
        opacity:1;
        transform:scale(1) translateY(0);
    }
}

@keyframes pk-swal-out{
    from{
        opacity:1;
        transform:scale(1);
    }
    to{
        opacity:0;
        transform:scale(.98);
    }
}

.pk-swal-animate-in{
    animation:pk-swal-in .18s ease-out forwards !important;
}

.pk-swal-animate-out{
    animation:pk-swal-out .12s ease-in forwards !important;
}

    .install-btn{
    position:fixed;
    right:16px;
    bottom:92px;
    z-index:9999;
    border:0;
    border-radius:18px;
    padding:14px 18px;
    background:linear-gradient(135deg,#111827,#243557);
    color:#fff;
    font-weight:800;
    box-shadow:0 2px 8px rgba(0,0,0,.10);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    cursor:pointer;
    opacity:1;
    pointer-events:auto;
    -webkit-tap-highlight-color:transparent;
}

 

.install-btn i{
    font-size:15px;
}

.footer-links{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
    padding:0 14px 150px;
}

.footer-links a{
    color:#64748b;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
}

.footer-links a:hover{
    color:#18c37e;
}

@keyframes addMorePulse{
0%{transform:scale(1);box-shadow:0 8px 20px rgba(255,107,53,.35);}
50%{transform:scale(1.06);box-shadow:0 12px 30px rgba(255,61,0,.55);}
100%{transform:scale(1);box-shadow:0 8px 20px rgba(255,107,53,.35);}
}
.app-hero{
    background:linear-gradient(135deg,var(--navy),var(--navy-secondary));
    border-radius:18px;
    padding:10px 12px;
    margin:0 4px;
    box-shadow:0 8px 24px rgba(10,22,51,.22);
}

.hero-left{
    display:flex;
    align-items:center;
    gap:10px;
}

.hero-home-link{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:inherit;
    border-radius:14px;
    background:transparent;
    -webkit-tap-highlight-color:transparent;
    tap-highlight-color:transparent;
    touch-action:manipulation;
}

.hero-home-link:active,
.hero-home-link:focus{
    background:transparent;
    color:inherit;
    outline:none;
}

.hero-home-link:focus-visible{
    outline:2px solid rgba(22,199,132,.55);
    outline-offset:2px;
}

.hero-logo{
    width:58px;
    height:58px;
    flex-shrink:0;
    border-radius:50%;
    overflow:hidden;
    background:transparent;
}

.hero-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.hero-content{
    flex:1;
    min-width:0;
}

.hero-title{
    font-size:24px;
    font-weight:900;
    color:#fff;
    line-height:1.05;
    font-family:var(--font);
}

.hero-title span{
    color:var(--primary);
}

.hero-subtitle{
    margin-top:4px;
    color:#cbd5e1;
    font-size:12px;
    font-weight:600;
    line-height:1.4;
}

.hero-features{
    margin-top:6px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.hero-features span{
    background:rgba(255,255,255,.08);
    color:#fff;
    padding:4px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:700;
}

.hero-features i{
    color:var(--primary);
    margin-right:4px;
}

.bulk-toggle-btn{
    width:100%;
    border:none;
    background:var(--bg);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 14px;
    font-weight:800;
    color:var(--text-primary);
    font-size:14px;
    border-radius:14px;
    box-shadow:var(--shadow-soft);
    cursor:pointer;
}

@media(max-width:576px){

    .hero-logo{
        width:52px;
        height:52px;
    }

    .hero-title{
        font-size:21px;
    }

    .hero-subtitle{
        font-size:11px;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    .hero-features{
        gap:4px;
        margin-top:5px;
    }

    .hero-features span{
        font-size:9px;
        padding:3px 7px;
    }
}

/* ===== 2026 REDESIGN COMPONENTS ===== */

.upload-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:16px;
    padding:20px;
    margin-top:8px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    box-shadow:var(--shadow-card);
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
    -webkit-tap-highlight-color:transparent;
}

.upload-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 40px rgba(10,22,51,.1);
}

.upload-card:active{
    transform:scale(.99);
}

.doc-stack{
    position:relative;
    width:72px;
    height:80px;
    flex-shrink:0;
}

.doc-stack-item{
    position:absolute;
    width:52px;
    height:64px;
    border-radius:10px;
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:800;
    color:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    animation:docFloat 3s ease-in-out infinite;
}

.doc-stack-item:nth-child(1){background:#EF4444;top:0;left:0;animation-delay:0s;}
.doc-stack-item:nth-child(2){background:#3B82F6;top:4px;left:8px;animation-delay:.4s;}
.doc-stack-item:nth-child(3){background:#F59E0B;top:8px;left:4px;animation-delay:.8s;}
.doc-stack-item:nth-child(4){background:var(--primary);top:12px;left:12px;animation-delay:1.2s;}

@keyframes docFloat{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-4px);}
}

.upload-card-center{
    flex:1;
    min-width:0;
    text-align:left;
}

.upload-card-title{
    font-size:17px;
    font-weight:800;
    color:var(--text-primary);
    margin:0 0 4px;
}

.upload-card-subtitle{
    font-size:13px;
    color:var(--text-secondary);
    margin:0 0 8px;
    line-height:1.5;
}

.upload-formats{
    font-size:11px;
    color:var(--text-secondary);
    font-weight:600;
    line-height:1.5;
}

.upload-privacy{
    font-size:11px;
    color:var(--primary-dark);
    font-weight:600;
    margin-top:8px;
    display:flex;
    align-items:center;
    gap:4px;
}

.upload-arrow{
    width:52px;
    height:52px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
    display:grid;
    place-items:center;
    font-size:20px;
    flex-shrink:0;
    box-shadow:0 8px 20px rgba(22,199,132,.35);
}

.workflow-section,
.features-section,
.install-section{
    padding:8px 0 0;
}

.section-title{
    font-size:18px;
    font-weight:800;
    color:var(--text-primary);
    margin:0 0 16px;
    text-align:center;
}

.workflow-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.workflow-step{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:16px 12px;
    text-align:center;
    box-shadow:var(--shadow-soft);
}

.workflow-step-num{
    width:32px;
    height:32px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
    font-weight:800;
    font-size:14px;
    display:grid;
    place-items:center;
    margin:0 auto 10px;
}

.workflow-step-title{
    font-size:13px;
    font-weight:800;
    color:var(--text-primary);
    margin-bottom:4px;
}

.workflow-step-desc{
    font-size:11px;
    color:var(--text-secondary);
    line-height:1.4;
}

.features-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.feature-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:16px;
    transition:transform .15s ease, box-shadow .15s ease;
}

.feature-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-card);
}

.feature-icon{
    width:40px;
    height:40px;
    border-radius:12px;
    background:#ecfdf5;
    color:var(--primary);
    display:grid;
    place-items:center;
    font-size:18px;
    margin-bottom:10px;
}

.feature-title{
    font-size:14px;
    font-weight:800;
    color:var(--text-primary);
    margin-bottom:4px;
}

.feature-desc{
    font-size:12px;
    color:var(--text-secondary);
    line-height:1.5;
    margin:0;
}

.install-card{
    background:linear-gradient(135deg,var(--navy),var(--navy-secondary));
    border-radius:var(--radius-xl);
    padding:24px;
    text-align:center;
    color:#fff;
}

.install-card h3{
    font-size:18px;
    font-weight:800;
    margin:0 0 8px;
}

.install-card p{
    font-size:13px;
    opacity:.85;
    margin:0 0 16px;
}

.install-buttons{
    display:flex;
    gap:8px;
    justify-content:center;
    flex-wrap:wrap;
}

.install-platform-btn{
    border:1px solid rgba(255,255,255,.2);
    background:rgba(255,255,255,.1);
    color:#fff;
    padding:10px 16px;
    border-radius:14px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:background .15s ease;
}

.install-platform-btn:hover{
    background:rgba(255,255,255,.2);
}

.bottom-nav{
    position:fixed;
    left:50%;
    transform:translateX(-50%);
    bottom:16px;
    width:calc(100% - 24px);
    max-width:480px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:6px;
    display:flex;
    z-index:9999;
    box-shadow:0 12px 40px rgba(10,22,51,.14);
}

.bottom-nav-item{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    padding:10px 4px;
    border-radius:16px;
    text-decoration:none;
    color:var(--text-secondary);
    font-size:10px;
    font-weight:700;
    transition:color .15s ease, background .15s ease;
    -webkit-tap-highlight-color:transparent;
}

.bottom-nav-item i{
    font-size:18px;
}

.bottom-nav-item.active{
    color:var(--primary);
    background:rgba(22,199,132,.1);
}

.bottom-nav-item:hover{
    color:var(--primary-dark);
}

.page-screen{
    padding:8px 16px 120px;
}

.page-screen.active{
    display:block;
}

.page-header{
    margin-bottom:20px;
}

.page-title{
    font-size:24px;
    font-weight:800;
    color:var(--text-primary);
    margin:0 0 6px;
}

.page-subtitle{
    font-size:14px;
    color:var(--text-secondary);
    margin:0;
}

.profile-card{
    display:flex;
    align-items:center;
    gap:16px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:20px;
    margin-bottom:16px;
    box-shadow:var(--shadow-soft);
}

.profile-avatar{
    width:56px;
    height:56px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
    display:grid;
    place-items:center;
    font-size:24px;
}

.profile-name{
    font-size:18px;
    font-weight:800;
    color:var(--text-primary);
}

.profile-meta{
    font-size:13px;
    color:var(--text-secondary);
}

.stats-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:16px;
}

.stat-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:16px;
    text-align:center;
}

.stat-icon{
    color:var(--primary);
    font-size:20px;
    margin-bottom:8px;
}

.stat-value{
    font-size:28px;
    font-weight:800;
    color:var(--text-primary);
}

.stat-label{
    font-size:12px;
    color:var(--text-secondary);
    font-weight:600;
}

.info-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:16px;
    margin-bottom:12px;
}

.info-card-title{
    font-size:14px;
    font-weight:800;
    color:var(--text-primary);
    margin-bottom:8px;
}

.info-card-title i{
    color:var(--primary);
    margin-right:6px;
}

.info-card-text{
    font-size:13px;
    color:var(--text-secondary);
    line-height:1.6;
    margin:0;
}

.settings-group{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    overflow:hidden;
    margin-bottom:16px;
}

.settings-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    border-bottom:1px solid var(--border);
}

.settings-item:last-child{
    border-bottom:none;
}

.settings-item-title{
    font-size:14px;
    font-weight:700;
    color:var(--text-primary);
}

.settings-item-desc{
    font-size:12px;
    color:var(--text-secondary);
}

.settings-select{
    border:1px solid var(--border);
    border-radius:10px;
    padding:8px 12px;
    font-size:13px;
    font-weight:600;
    background:var(--bg);
}

.btn-secondary-sm{
    border:1px solid var(--border);
    background:var(--bg);
    color:var(--text-primary);
    padding:8px 16px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.privacy-list{
    list-style:none;
    padding:0;
    margin:0;
}

.privacy-list li{
    font-size:13px;
    color:var(--text-secondary);
    padding:6px 0;
    display:flex;
    align-items:center;
    gap:8px;
}

.privacy-list li i{
    color:var(--success);
    font-size:12px;
}

.empty-state{
    text-align:center;
    padding:32px 16px;
}

.empty-state-icon{
    font-size:48px;
    color:var(--border);
    margin-bottom:12px;
}

.empty-state-title{
    font-size:16px;
    font-weight:800;
    color:var(--text-primary);
    margin-bottom:8px;
}

.skeleton{
    background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);
    background-size:200% 100%;
    animation:shimmer 1.5s infinite;
    border-radius:8px;
}

@keyframes shimmer{
    0%{background-position:200% 0;}
    100%{background-position:-200% 0;}
}

.error-card{
    background:#fef2f2;
    border:1px solid #fecaca;
    border-radius:var(--radius-lg);
    padding:16px;
    color:#991b1b;
    font-size:14px;
    font-weight:600;
}

.print-mode-header{
    text-align:center;
    padding:16px 0;
}

.print-mode-header-compact{
    padding:0 0 8px;
    text-align:center;
}

.print-mode-header-compact .small-text{
    color:var(--text-secondary);
    font-weight:600;
    line-height:1.45;
}

.print-mode-icon{
    width:64px;
    height:64px;
    border-radius:20px;
    background:#ecfdf5;
    color:var(--primary);
    display:grid;
    place-items:center;
    font-size:28px;
    margin:0 auto 16px;
}

.fab-help{
    position:fixed;
    left:15px;
    bottom:24px;
    z-index:1040;
    border:none;
    background:var(--primary);
    color:#fff;
    width:48px;
    height:48px;
    border-radius:50%;
    font-size:18px;
    box-shadow:0 8px 20px rgba(22,199,132,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    tap-highlight-color:transparent;
    touch-action:manipulation;
}

.fab-help:active,
.fab-help:focus{
    background:var(--primary);
    color:#fff;
    outline:none;
}

.fab-add-more{
    position:fixed;
    right:16px;
    bottom:100px;
    z-index:1041;
    border:2px solid var(--navy);
    background:#fff;
    color:var(--navy);
    height:50px;
    padding:0 16px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    box-shadow:0 8px 22px rgba(10,22,51,.16);
    display:none;
    align-items:center;
    justify-content:center;
    gap:6px;
    cursor:pointer;
    white-space:nowrap;
    -webkit-tap-highlight-color:transparent;
    animation:fabAddMorePulse 2.4s ease infinite;
}

@keyframes fabAddMorePulse{
    0%,100%{
        box-shadow:0 8px 22px rgba(10,22,51,.16);
    }
    50%{
        box-shadow:0 10px 28px rgba(10,22,51,.24),0 0 0 4px rgba(10,22,51,.1);
    }
}

.fab-add-more-icon{
    font-size:14px;
    color:var(--navy);
    line-height:1;
    flex:0 0 auto;
}

.fab-add-more-text{
    line-height:1;
    color:var(--navy);
}

.fab-add-more:active{
    transform:scale(.98);
    background:#f1f5f9;
}

.share-files-active .fab-add-more{
    bottom:100px;
    left:16px;
    right:auto;
}

.share-files-active #generateBtn{
    margin-bottom:16px;
    scroll-margin-bottom:88px;
}

@media(max-width:767px){
    .share-files-active .fab-help{
        bottom:calc(132px + env(safe-area-inset-bottom, 0px));
    }

    .share-files-active #generateBtn:not(.d-none){
        position:sticky;
        bottom:12px;
        z-index:1040;
        margin-bottom:0;
    }

    .share-files-active .fab-add-more{
        left:16px;
        right:auto;
        bottom:calc(74px + env(safe-area-inset-bottom, 0px));
    }

    .share-files-active .share-workflow-area{
        padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px));
    }
}

.active-print-code-banner{
    margin:0 0 14px;
    background:linear-gradient(135deg,#eef2ff 0%,#f8fafc 55%,#ecfdf5 100%);
    border:1px solid #c7d2fe;
    border-left:4px solid var(--navy);
    border-radius:var(--radius-lg);
    box-shadow:0 8px 24px rgba(10,22,51,.08);
    overflow:hidden;
}

.active-print-code-shell{
    padding:14px 16px;
}

.active-print-code-top{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.active-print-code-icon{
    width:38px;
    height:38px;
    border-radius:12px;
    background:linear-gradient(135deg,var(--navy),var(--navy-secondary));
    color:#6ee7b7;
    display:grid;
    place-items:center;
    font-size:16px;
    flex-shrink:0;
}

.active-print-code-body{
    flex:1;
    min-width:0;
}

.active-print-code-label{
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--navy);
    margin-bottom:4px;
}

.active-print-code-subline{
    margin:0 0 8px;
    font-size:12px;
    line-height:1.4;
    color:#64748b;
    font-weight:600;
}

.active-print-code-number{
    display:block;
    width:100%;
    margin:0 0 8px;
    padding:0;
    border:none;
    background:transparent;
    text-align:left;
    font-size:28px;
    font-weight:900;
    letter-spacing:.12em;
    color:var(--navy);
    line-height:1.1;
    cursor:pointer;
}

.active-print-code-number:active{
    opacity:.75;
}

.active-print-code-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    font-size:12px;
    font-weight:700;
    color:#334155;
}

.active-print-code-timer{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:var(--navy);
}

.active-print-code-doccount{
    color:#475569;
}

.active-print-code-actions{
    display:flex;
    gap:8px;
    margin-top:12px;
}

.active-print-code-copy-btn,
.active-print-code-toggle-btn{
    flex:1;
    border:none;
    font-size:13px;
    font-weight:800;
    padding:10px 12px;
    border-radius:999px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    white-space:nowrap;
}

.active-print-code-copy-btn{
    background:var(--primary);
    color:#fff;
    box-shadow:0 6px 16px rgba(22,199,132,.24);
}

.active-print-code-toggle-btn{
    background:#fff;
    color:var(--navy);
    border:1px solid #c7d2fe;
}

.active-print-code-toggle-icon{
    transition:transform .2s ease;
}

.active-print-code-banner.is-expanded .active-print-code-toggle-icon{
    transform:rotate(180deg);
}

.active-print-code-panel{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid rgba(148,163,184,.35);
}

.active-print-code-panel.d-none{
    display:none !important;
}

.active-banner-group + .active-banner-group{
    margin-top:12px;
    padding-top:12px;
    border-top:1px dashed rgba(148,163,184,.45);
}

.active-banner-group-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:8px;
    font-size:12px;
    font-weight:800;
    color:var(--navy);
}

.active-banner-group-copy{
    border:none;
    background:#ecfdf5;
    color:#047857;
    font-size:11px;
    font-weight:800;
    padding:5px 10px;
    border-radius:999px;
    cursor:pointer;
}

.active-banner-doc{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 0;
}

.active-banner-doc + .active-banner-doc{
    border-top:1px solid rgba(148,163,184,.2);
}

.active-banner-doc-icon{
    width:32px;
    height:32px;
    border-radius:10px;
    background:#fff;
    color:var(--navy);
    display:grid;
    place-items:center;
    flex-shrink:0;
    border:1px solid #e2e8f0;
}

.active-banner-doc-body{
    flex:1;
    min-width:0;
}

.active-banner-doc-name{
    margin:0 0 2px;
    font-size:13px;
    font-weight:700;
    color:#0f172a;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.active-banner-doc-meta{
    display:block;
    font-size:11px;
    color:#64748b;
    font-weight:600;
}

.active-banner-doc-actions{
    display:flex;
    gap:6px;
    flex-shrink:0;
}

.active-banner-empty{
    font-size:12px;
    color:#64748b;
    font-weight:600;
    padding:6px 0;
}

.active-banner-group-actions{
    margin-top:8px;
}

.active-print-code-banner.is-expanded{
    box-shadow:0 10px 28px rgba(10,22,51,.12);
}

body.modal-open .fab-add-more,
body.modal-open .fab-help,
body.modal-open .share-codes-bottom-action{
    visibility:hidden;
    pointer-events:none;
}

.mode-intro{
    padding:4px 0 10px;
    text-align:center;
}

.mode-intro-compact{
    padding-top:0;
    padding-bottom:8px;
}

.mode-intro-title{
    font-size:20px;
    font-weight:800;
    color:var(--text-primary);
    margin:0 0 8px;
    line-height:1.3;
}

.mode-intro-desc{
    font-size:14px;
    color:var(--text-secondary);
    margin:0 0 8px;
    line-height:1.5;
}

.mode-intro-tagline{
    font-size:13px;
    font-weight:700;
    color:var(--primary-dark);
    margin:0;
}

.quick-guide-box{
    text-align:center;
}

.quick-guide-label{
    font-size:12px;
    font-weight:800;
    color:var(--text-secondary);
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:6px;
}

.quick-guide-flow{
    font-size:13px;
    font-weight:600;
    color:var(--text-primary);
    line-height:1.6;
}

.workflow-list{
    list-style:none;
    padding:0;
    margin:0;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    overflow:hidden;
}

.workflow-list li{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    font-size:14px;
    font-weight:600;
    color:var(--text-primary);
    border-bottom:1px solid var(--border);
}

.workflow-list li:last-child{
    border-bottom:none;
}

.workflow-list-num{
    width:28px;
    height:28px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
    font-size:13px;
    font-weight:800;
    display:grid;
    place-items:center;
    flex-shrink:0;
}

.benefits-list{
    list-style:none;
    padding:0;
    margin:0;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:8px 16px;
}

.benefits-lead{
    margin:-8px 0 14px;
    font-size:13px;
    font-weight:600;
    color:var(--text-secondary);
    text-align:center;
    line-height:1.45;
}

.benefits-subtitle{
    margin:0 0 6px;
    font-size:16px;
    font-weight:800;
    color:var(--text-primary);
    text-align:center;
    line-height:1.35;
}

.benefits-group + .benefits-group{
    margin-top:20px;
}

.benefits-list li{
    font-size:13px;
    color:var(--text-primary);
    padding:10px 0;
    line-height:1.5;
    border-bottom:1px solid var(--border);
}

.benefits-list li:last-child{
    border-bottom:none;
}

.privacy-note{
    font-size:12px;
    color:var(--text-secondary);
    text-align:center;
    margin:12px 0 0;
    font-weight:600;
}

@media(max-width:576px){
    .mode-intro-title{
        font-size:18px;
    }
    .doc-stack{
        display:none;
    }
}

/* ===== SELECT DOCUMENTS CTA (PRIMARY) ===== */

.brand-tagline{
    text-align:center;
    padding:12px 8px 8px;
    scroll-margin-top:72px;
}

.print-code-section-title,
.print-docs-section-title{
    scroll-margin-top:130px;
}

.ui-scroll-anchor{
    display:block;
    height:0;
    scroll-margin-top:130px;
}

.print-code-section-head,
.print-docs-section-head{
    scroll-margin-top:130px;
    scroll-margin-bottom:12px;
}

#openDocsBtn{
    scroll-margin-bottom:8px;
}

#shareStaticIntro .workflow-strip{
    margin-bottom:10px;
}

#shareWorkflowArea + #shareStaticMarketing .workflow-section{
    margin-top:0 !important;
}

.share-workflow-area{
    margin-bottom:4px;
}

.brand-tagline-main{
    font-size:17px;
    font-weight:800;
    color:var(--text-primary);
    margin:0 0 6px;
    line-height:1.35;
}

.brand-tagline-sub{
    font-size:13px;
    font-weight:600;
    color:var(--text-secondary);
    margin:0;
    line-height:1.5;
}

.workflow-strip{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:4px 6px;
    padding:8px 10px;
    margin:4px 0 10px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    font-size:11px;
    font-weight:700;
    color:var(--text-primary);
    text-align:center;
    box-shadow:var(--shadow-soft);
}

.workflow-strip i{
    font-size:9px;
    color:var(--primary);
}

.workflow-strip .workflow-step{
    padding:6px 10px;
    border-radius:999px;
    border:1px solid transparent;
    background:transparent;
    transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.workflow-strip .workflow-step.is-active{
    background:#ecfdf5;
    border-color:#6ee7b7;
    color:var(--primary-dark);
    box-shadow:0 0 0 2px rgba(22,199,132,.15);
}

.workflow-strip .workflow-step.is-done{
    color:var(--primary);
}

.workflow-strip .workflow-step.is-done::before{
    content:'✓ ';
    font-size:10px;
}

.next-step-banner{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    margin:12px 0;
    background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf8 100%);
    border:1px solid #bbf7d0;
    border-left:4px solid var(--primary);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-soft);
}

.share-files-active #uploadHelper:not(.d-none){
    margin-top:4px;
    margin-bottom:10px;
}

.next-step-banner-print{
    margin-top:0;
    margin-bottom:10px;
}

.next-step-icon{
    width:36px;
    height:36px;
    border-radius:12px;
    background:var(--primary);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:15px;
    flex-shrink:0;
}

.next-step-label{
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--primary-dark);
    margin-bottom:2px;
}

.next-step-text{
    font-size:13px;
    font-weight:600;
    color:var(--text-primary);
    line-height:1.45;
}

.btn-generate.btn-ready-pulse,
#generateBtn.btn-ready-pulse{
    animation:readyPulse 2s ease infinite;
}

@keyframes readyPulse{
    0%,100%{
        box-shadow:0 8px 24px rgba(22,199,132,.3);
        transform:scale(1);
    }
    50%{
        box-shadow:0 12px 32px rgba(22,199,132,.45),0 0 0 4px rgba(22,199,132,.2);
        transform:scale(1.01);
    }
}

.print-code-progress{
    display:flex;
    justify-content:center;
    gap:8px;
    margin:12px 0 4px;
}

.print-code-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#e5e7eb;
    border:2px solid #d1d5db;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.print-code-dot.is-filled{
    background:var(--primary);
    border-color:var(--primary-dark);
    transform:scale(1.1);
}

.code-share-hint{
    font-size:11px;
    font-weight:700;
    color:#fde68a;
    margin:6px 0 0;
    line-height:1.4;
}

.code-privacy-hint{
    display:flex;
    align-items:flex-start;
    gap:7px;
    margin:10px 0 0;
    padding:9px 10px;
    border-radius:12px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.14);
    font-size:11px;
    font-weight:600;
    color:#e2e8f0;
    line-height:1.45;
}

.code-download-note{
    margin:10px 0 0;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    font-size:12px;
    font-weight:600;
    color:rgba(255,255,255,.88);
    line-height:1.45;
}

.code-download-note i{
    margin-right:6px;
    color:#6ee7b7;
}

.code-privacy-hint i{
    color:#6ee7b7;
    margin-top:1px;
    flex:0 0 auto;
}

.code-privacy-hint strong{
    color:#fff;
    font-weight:800;
}

.print-input:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(22,199,132,.2);
    outline:none;
}

.select-docs-cta{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:20px 16px 18px;
    margin:0 0 12px;
    background:linear-gradient(180deg,#fff 0%,#f0fdf8 100%);
    border:2px solid var(--primary);
    border-radius:var(--radius-xl);
    box-shadow:0 16px 48px rgba(22,199,132,.18);
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
    -webkit-tap-highlight-color:transparent;
}

.select-docs-cta:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 56px rgba(22,199,132,.24);
}

.select-docs-cta:active{
    transform:scale(.99);
}

.select-docs-icon{
    width:64px;
    height:64px;
    border-radius:20px;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
    display:grid;
    place-items:center;
    font-size:30px;
    margin-bottom:12px;
    box-shadow:0 12px 32px rgba(22,199,132,.35);
}

.select-docs-title{
    font-size:20px;
    font-weight:900;
    color:var(--text-primary);
    margin:0 0 8px;
    line-height:1.2;
}

.select-docs-desc{
    font-size:15px;
    color:var(--text-secondary);
    margin:0 0 6px;
    line-height:1.55;
    max-width:340px;
}

.select-docs-formats{
    font-size:12px;
    color:var(--text-secondary);
    font-weight:600;
    margin:12px 0 20px;
    line-height:1.5;
}

.select-docs-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    max-width:320px;
    padding:18px 24px;
    border:none;
    border-radius:18px;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
    font-size:17px;
    font-weight:800;
    box-shadow:0 12px 28px rgba(22,199,132,.35);
    pointer-events:none;
}

.select-docs-privacy{
    font-size:12px;
    font-weight:700;
    color:var(--primary-dark);
    margin:16px 0 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
}

.allow-download-option{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:16px;
    padding:14px 16px;
}

.allow-download-option .form-check{
    margin-bottom:6px;
}

.allow-download-option .form-check-label{
    font-size:14px;
    font-weight:700;
    color:var(--text-primary);
}

.allow-download-help{
    font-size:12px;
    line-height:1.55;
    color:var(--text-secondary);
    padding-left:1.75rem;
}

.print-docs-no-download .file-card,
.print-docs-no-download .file-name,
.preview-no-download .modal-content{
    -webkit-user-select:none;
    user-select:none;
}

.print-docs-no-download .file-card{
    -webkit-touch-callout:none;
}

.circle-btn.bg-primary{
    background:#2563eb;
}

.privacy-block{
    background:#f0fdf8;
    border:1px solid #bbf7d0;
    border-radius:var(--radius-lg);
    padding:16px;
    margin-top:16px;
    font-size:13px;
    color:var(--text-secondary);
    line-height:1.65;
}

.privacy-block p{
    margin:0 0 8px;
}

.privacy-block p:last-child{
    margin-bottom:0;
}

.privacy-block strong{
    color:var(--text-primary);
}

.workflow-flow-line{
    font-size:13px;
    font-weight:600;
    color:var(--text-primary);
    line-height:1.7;
    text-align:center;
    padding:14px 16px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
}

.mode-intro-compact{
    padding-top:0;
}

.bottom-brand-message{
    text-align:center;
    padding:24px 16px 8px;
    margin-top:16px;
    border-top:1px solid var(--border);
}

.bottom-brand-main{
    font-size:16px;
    font-weight:800;
    color:var(--text-primary);
    margin:0 0 6px;
}

.bottom-brand-sub{
    font-size:14px;
    font-weight:700;
    color:var(--primary-dark);
    margin:0 0 8px;
}

.bottom-brand-note{
    font-size:12px;
    color:var(--text-secondary);
    margin:0;
    line-height:1.5;
}

@media(max-width:576px){
    .select-docs-title{
        font-size:22px;
    }
    .select-docs-icon{
        width:72px;
        height:72px;
        font-size:32px;
    }
    .workflow-strip span{
        font-size:10px;
    }
    .fab-add-more{
        height:46px;
        padding:0 14px;
        border-radius:999px;
        bottom:92px;
        font-size:12px;
        gap:6px;
        max-width:calc(56vw - 20px);
    }
    .share-files-active .fab-add-more{
        left:16px;
        right:auto;
        bottom:calc(70px + env(safe-area-inset-bottom, 0px));
    }
    .fab-add-more-icon{
        font-size:13px;
        color:var(--navy);
    }
    .fab-add-more-text{
        display:inline;
        color:var(--navy);
    }
    .active-print-code-shell{
        padding:12px 14px;
    }
    .active-print-code-number{
        font-size:24px;
    }
    .active-print-code-actions{
        flex-direction:column;
    }
    .active-print-code-copy-btn,
    .active-print-code-toggle-btn{
        width:100%;
    }
}

/* ===== SMART SCROLL TARGETS ===== */

#uploadCard,
#uploadHelper,
#shareCodesChrome,
#printDocsAnchor,
#printDocsSection,
#fileList .file-card,
#generateBtn,
#generateNewCodeBtn,
.code-box,
#printCodeInput,
#printQuickGuide,
#printDocs .file-card,
.select-docs-cta{
    scroll-margin-top:var(--pk-scroll-padding, 150px);
    scroll-margin-bottom:24px;
}

.step-focus{
    animation:stepFocusPulse 2.4s ease;
    border-radius:var(--radius-lg);
}

@keyframes stepFocusPulse{
    0%,100%{
        box-shadow:0 0 0 0 rgba(22,199,132,0);
    }
    25%{
        box-shadow:0 0 0 4px rgba(22,199,132,.45);
    }
    50%{
        box-shadow:0 0 0 8px rgba(22,199,132,.2);
    }
}

/* ===== APP SHELL (WebView / PWA) ===== */

.app-shell .website-only,
.app-shell #installAppBtn{
    display:none !important;
}

.app-shell #shareStaticContent .workflow-strip{
    margin-top:4px;
}

.app-shell .mode-intro-compact{
    margin-top:8px;
}

.app-shell .workflow-section,
.app-shell .benefits-section{
    display:block;
}

.app-shell #shareStaticIntro,
.app-shell .privacy-block,
.app-shell .bottom-brand-message{
    display:none !important;
}

.app-shell .next-step-banner{
    margin-top:8px;
}

.app-shell .select-docs-cta{
    margin-bottom:12px;
}

/* ===== FILE PICKER (MOBILE) ===== */

.file-input-native{
    position:fixed;
    left:-9999px;
    top:0;
    width:1px;
    height:1px;
    opacity:0;
    overflow:hidden;
}

#uploadCard.select-docs-cta,
.select-docs-cta#uploadCard{
    display:flex;
    margin-left:auto;
    margin-right:auto;
}

.picker-feedback{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:14px 0 0;
    padding:12px 16px;
    border-radius:14px;
    background:#fff;
    border:1px solid #86efac;
    box-shadow:0 8px 24px rgba(15,23,42,.08);
    color:#047857;
    font-size:14px;
    font-weight:700;
    width:100%;
    line-height:1.45;
    position:relative;
    z-index:2;
}

.select-docs-cta.picker-opening .picker-feedback,
.select-docs-cta.picker-waiting .picker-feedback{
    background:#ecfdf5;
}

.select-docs-cta.picker-waiting .picker-feedback{
    background:#fffbeb;
    border-color:#fcd34d;
    color:#b45309;
}

.picker-feedback-icon{
    flex:0 0 auto;
    font-size:15px;
}

.select-docs-cta.picker-single-mode .select-docs-privacy::before{
    content:'';
}

.file-wait-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:12px;
}

.file-wait-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px dashed #cbd5e1;
    border-radius:12px;
    background:#f8fafc;
    color:#64748b;
    font-size:13px;
    font-weight:600;
}

.file-wait-item i{
    color:#94a3b8;
}

.uppy-file-input-mount{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.uppy-FileInput-container{
    margin:0 !important;
}

.uppy-FileInput-btn{
    display:none !important;
}

.uppy-FileInput-input{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
}

.select-docs-cta.picker-opening .select-docs-btn,
.select-docs-cta.picker-waiting .select-docs-btn{
    opacity:.72;
    pointer-events:none;
}

.select-docs-cta.picker-opening .select-docs-icon i{
    animation:pickerPulse 1s ease infinite;
}

.select-docs-cta.picker-waiting{
    border-color:#f59e0b;
    box-shadow:0 0 0 3px rgba(245,158,11,.18);
}

@keyframes pickerPulse{
    0%,100%{ transform:scale(1); }
    50%{ transform:scale(1.06); }
}