/* ============================================
   DA VINCI CRM — MOBILE ADAPTATION
   ============================================ */

/* === Mobile Nav & FAB === */
.mob-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--brd);z-index:200;padding:4px 0 calc(4px + var(--safe-bottom));justify-content:space-around;align-items:center}
.mob-nav-btn{display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:none;color:var(--t3);font-size:.6rem;font-weight:600;padding:6px 8px;cursor:pointer;transition:.2s;border-radius:10px;min-width:52px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative}
.mob-nav-btn .mob-icon{font-size:1.15rem;line-height:1;transition:.2s}
.mob-nav-btn.active{color:var(--acc)}
.mob-nav-btn.active .mob-icon{transform:scale(1.1)}
.mob-nav-btn.active::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--acc)}

.fab{display:none;position:fixed;z-index:199;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff;border:none;font-size:1.6rem;cursor:pointer;box-shadow:0 6px 20px rgba(233,69,96,.45);align-items:center;justify-content:center;transition:.2s;right:16px;bottom:calc(68px + var(--safe-bottom));-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.fab:active{transform:scale(.9)}

/* ============================================
   LIGHT THEME — MOBILE OVERRIDES
   ============================================ */

@media(max-width:768px){
    [data-theme="light"] .sidebar {
        background: var(--bg2);
        border-top-color: var(--brd);
    }
    [data-theme="light"] .today-bar-track {
        background: var(--brd);
    }
    [data-theme="light"] .mini-stat {
        background: var(--bg3);
        border-color: var(--brd);
    }
    [data-theme="light"] .fm-dec-title {
        color: var(--t3);
        border-bottom-color: var(--brd);
    }
    [data-theme="light"] .fm-bar-track {
        background: var(--brd);
    }
    [data-theme="light"] .fm-subtotal {
        border-top-color: var(--brd);
    }
    [data-theme="light"] .fm-total {
        border-top-color: var(--brd);
    }
    [data-theme="light"] .fm-row:active {
        background: var(--bg3h) !important;
    }
    [data-theme="light"] .card:active {
        background: var(--bg3h);
    }
    [data-theme="light"] .day-item {
        background: var(--bg1);
        border-color: var(--brd);
    }
    [data-theme="light"] .day-total-bar {
        background: linear-gradient(135deg, rgba(21,148,106,.06), rgba(43,130,181,.06));
        border-color: rgba(21,148,106,.12);
    }
    [data-theme="light"] .arch-table tr {
        background: var(--bg3);
        border-color: var(--brd);
    }
    [data-theme="light"] .arch-table tr:active {
        background: var(--bg3h);
    }
    [data-theme="light"] .modal {
        background: var(--bg3);
        border-color: var(--brd);
    }
    [data-theme="light"] .m-head {
        background: var(--bg3);
    }
    [data-theme="light"] .m-close {
        background: var(--bg1);
    }
    [data-theme="light"] .mob-nav {
        background: var(--bg3);
        border-top-color: var(--brd);
        box-shadow: 0 -2px 12px rgba(0,0,0,.04);
    }
    [data-theme="light"] .exp-card:active {
        background: var(--bg3h);
    }
    [data-theme="light"] .client-card:active {
        background: var(--bg3h);
    }
    [data-theme="light"] #yearStatsOverlay .m-head {
        background: var(--bg3);
    }
    [data-theme="light"] .ys-month {
        background: var(--bg3);
        border-color: var(--brd);
    }
}

/* ============================================
   MAIN MOBILE MEDIA QUERY
   ============================================ */
@media(max-width:768px){

    /* ─── GLOBAL ─── */
    body{padding-bottom:calc(70px + var(--safe-bottom))}
    .page{padding-bottom:calc(90px + var(--safe-bottom))!important}

    /* ─── HEADER ─── */
    .header{grid-template-columns:1fr auto;height:52px;padding:0 14px;gap:8px}
    .header h1{font-size:1rem;font-weight:700}
    .nav{display:none}
    .mob-nav{display:flex}
    .fab{display:flex}
    .btn-add{display:none}

    /* ─── 1. ДОСКА ─── */
    .board-layout{flex-direction:column;min-height:auto}
    .board{flex-direction:column;padding:14px;gap:16px;overflow-x:visible}
    .column{max-width:none;min-width:0}
    .col-head{padding:10px 2px;margin-bottom:4px}
    .col-head h2{font-size:.72rem}
    .col-count{font-size:.65rem}
    .card{padding:12px;border:1px solid var(--brd);border-radius:12px}
    .card:hover{transform:none;box-shadow:none}
    .card:active{transform:scale(.98);background:var(--bg3h)}
    .card-title{font-size:.85rem;margin-bottom:6px}
    .card-client{font-size:.74rem;margin-bottom:8px}
    .card-price{font-size:.8rem}
    .card-paid{font-size:.68rem}
    .card-dl{font-size:.7rem}

    /* ─── САЙДБАР ─── */
    .sidebar{width:100%;min-width:0;border-left:none;border-top:1px solid var(--brd);padding:20px 14px;gap:12px;display:flex;flex-direction:column;align-items:center}
    .sidebar h3{margin-bottom:0;font-size:.7rem;text-align:center;width:100%}
    .ring-wrap{display:none}
    .ring-legend{display:none}
    .today-bar-wrap{display:block;width:100%;padding:0 4px}
    .today-bar-header{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}
    .today-bar-amount{font-size:1.3rem;font-weight:800;color:var(--t1)}
    .today-bar-goal{font-size:.75rem;color:var(--t3);font-weight:500}
    .today-bar-track{width:100%;height:12px;background:var(--bg1);border-radius:8px;overflow:hidden}
    .today-bar-fill{height:100%;border-radius:8px;transition:width .6s ease,background .4s ease;min-width:4px}
    .today-bar-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:.6rem;color:var(--t3);padding:0 2px}
    .mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
    .mini-stat{padding:12px;border-radius:12px}
    .mini-stat.mini-sep{margin-top:8px;grid-column:1/-1}
    .mini-val{font-size:.9rem}
    .mini-lbl{font-size:.6rem}
    .forecast-card{grid-column:1/-1}

    /* ─── 2. ФИНАНСЫ ─── */
    #pageFinance{padding:0!important;padding-bottom:calc(90px + var(--safe-bottom))!important;overflow-x:hidden}

    .fin-summary{padding:14px;gap:8px}
    .fin-summary,.fin-summary-3{display:flex;flex-direction:column}
    .sum-card{min-width:0;padding:14px 16px;gap:12px;border-radius:14px}
    .sum-icon{width:40px;height:40px;font-size:1.2rem;border-radius:12px}
    .sum-val{font-size:1.05rem}
    .sum-lbl{font-size:.62rem;letter-spacing:.6px}

    .fin-table-wrap{padding:0 10px 14px;overflow:hidden;width:100%;box-sizing:border-box;max-width:100%}
    .fin-table{display:block;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}
    .fm-grid{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box;padding:0 16px}
    .fin-table{display:block;width:100%;border-spacing:0;border-collapse:collapse}

    .fm-dec-title{text-align:center;padding:18px 8px 12px;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);border-bottom:1px solid var(--brd);font-weight:600}

    .fm-row{display:grid;grid-template-columns:46px 1fr 80px;align-items:center;padding:14px 0;cursor:pointer;transition:.15s;border-radius:10px}
    .fm-row:active{background:var(--bg3)!important}
    .fm-row-today{background:rgba(233,69,96,.07)!important}
    .fm-row-today .fm-day-num{color:var(--acc)!important;font-weight:800!important}
    .fm-row-we .fm-day-num{color:var(--acc)}

    .fm-day{display:flex;align-items:center;gap:2px;padding-left:0}
    .fm-day-num{font-size:.92rem;font-weight:700;color:var(--t1)}
    .fm-day-name{font-size:.55rem;color:var(--t3);opacity:.7}
    .fm-today-dot{width:5px;height:5px;border-radius:50%;background:var(--acc);flex-shrink:0}

    .fm-bar-wrap{padding:0 12px 0 4px;overflow:hidden}
    .fm-bar-track{height:8px;background:var(--bg1);border-radius:5px;overflow:hidden}
    .fm-bar-fill{height:100%;border-radius:5px;transition:width .4s ease}
    .fm-bar-future{opacity:.25}

    .fm-amount{text-align:center;font-size:.75rem;font-weight:700;white-space:nowrap;padding:5px 4px;border-radius:8px}

    .fm-subtotal{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--brd);margin-top:2px}
    .fm-subtotal span:first-child{font-size:.7rem;color:var(--t3);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
    .fm-subtotal-val{font-size:.95rem;font-weight:800;color:var(--t1)}

    .fm-spacer{height:10px}

    .fm-total{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:2px solid var(--brd);margin-top:6px}
    .fm-total span:first-child{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--t2)}
    .fm-total-val{font-size:1.2rem;font-weight:800;color:var(--t1)}

    /* Day modal */
    .day-empty{text-align:center;padding:40px 20px;color:var(--t3);font-size:.9rem;line-height:2}
    .day-list{display:flex;flex-direction:column;gap:8px}
    .day-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:var(--bg1);border:1px solid var(--brd);border-radius:12px}
    .day-item-info{flex:1;min-width:0;overflow:hidden}
    .day-item-name{font-size:.88rem;font-weight:600;color:var(--t1);white-space:normal;word-wrap:break-word;line-height:1.3}
    .day-item-client{font-size:.72rem;color:var(--t3);margin-top:2px;white-space:normal;word-wrap:break-word}
    .day-item-amount{font-size:1rem;font-weight:800;color:var(--grn);white-space:nowrap;flex-shrink:0}
    .day-total-bar{display:flex;justify-content:space-between;align-items:center;padding:16px;margin-top:12px;background:linear-gradient(135deg,rgba(46,232,165,.1),rgba(86,204,242,.1));border:1px solid rgba(46,232,165,.2);border-radius:12px}
    .day-total-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--t3)}
    .day-total-sum{font-size:1.15rem;font-weight:800;color:var(--grn)}

    .fin-totals{padding:10px 14px 14px;gap:10px;flex-direction:column}
    .fin-total-card{min-width:0;padding:16px;gap:12px;border-radius:14px}
    .ft-icon{width:40px;height:40px;font-size:1.3rem;border-radius:12px}
    .ft-val{font-size:1.05rem}
    .ft-lbl{font-size:.62rem}

    .fin-legend{padding:10px 14px;gap:10px;flex-wrap:wrap;justify-content:center}
    .fin-legend .leg-item{font-size:.7rem}
    .fin-bottom{padding:20px 14px 30px}
    .btn-stats{width:100%;padding:14px;border-radius:12px;font-size:.88rem}

    /* ─── 3. ЗАКАЗЫ ─── */
    .archive-wrap{padding:14px;padding-bottom:10px}
    .archive-search{margin-bottom:12px}
    .archive-search input{padding:11px 14px;border-radius:10px;font-size:.88rem}
    .archive-count{font-size:.74rem;padding:6px 0}

    .arch-table thead{display:none}
    .arch-table,.arch-table tbody{display:block;width:100%}
    .arch-table tr{display:flex;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--brd);border-radius:14px;padding:14px;margin-bottom:10px;position:relative;gap:4px 0;transition:.15s}
    .arch-table tr:active{background:var(--bg3)}
    .arch-table tr:hover td{background:transparent}
    .arch-table tr.row-done{opacity:.4}
    .arch-table tr.row-done:active{opacity:1}
    .arch-table td{display:flex;align-items:center;gap:6px;background:transparent!important;padding:3px 0;font-size:.82rem;border-radius:0!important;width:100%}
    .arch-table td:empty{display:none}
    .arch-table td::before{content:attr(data-label);display:inline-block;min-width:80px;font-size:.65rem;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}
    .arch-table td[data-label=""]::before{display:none}
    .arch-table .arch-paid,.arch-table .arch-del{display:flex}
    .arch-table .row-actions{position:absolute;top:14px;right:14px}
    .arch-table .btn-edit,.arch-table .btn-del-sm{width:32px;height:32px}

    .arch-table td[data-label="Название"]{order:-2;flex:0 0 auto;max-width:calc(100% - 80px);font-weight:600;font-size:.88rem}
    .arch-table td[data-label="Название"]::before{display:none}
    .arch-table td[data-label="Статус"]{order:-1;flex:0 0 auto;width:auto;margin-left:8px;margin-bottom:0}
    .arch-table td[data-label="Статус"]::before{display:none}
    .arch-table td[data-label="Название"],.arch-table td[data-label="Статус"]{display:inline-flex;width:auto}

    /* ─── 4. КЛИЕНТЫ ─── */
    .clients-wrap{padding:14px}
    .clients-grid{grid-template-columns:1fr;gap:10px}
    .client-card{padding:16px;border-radius:14px;transition:.15s}
    .client-card:hover{transform:none;box-shadow:none}
    .client-card:active{background:var(--bg3);transform:scale(.98)}
    .cc-name{font-size:.92rem}
    .cc-contact{font-size:.74rem;margin-bottom:6px}
    .cc-total{font-size:.8rem}
    .cc-actions .btn-edit,.cc-actions .btn-del-sm{width:32px;height:32px}

    /* ─── 5. РАСХОДЫ ─── */
    .exp-wrap{padding:14px}
    .exp-donut-card{flex-direction:column;gap:24px;padding:20px;border-radius:14px}
    .exp-donut-wrap{width:170px;height:170px;margin:0 auto;position:relative}
    .exp-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
    .exp-donut-total{font-size:1.3rem}
    .exp-donut-label{font-size:.6rem}
    .exp-donut-right{width:100%}
    .exp-legend{gap:8px}
    .exp-leg-item{padding:10px 12px;border-radius:10px}
    .exp-leg-name{font-size:.82rem}
    .exp-leg-val{font-size:.72rem}
    .exp-leg-pct{font-size:.82rem}
    .exp-list{grid-template-columns:1fr;gap:10px;margin-top:16px}
    .exp-card{padding:14px;border-radius:12px}
    .exp-card:active{background:var(--bg3)}
    .exp-card-name{font-size:.85rem}
    .exp-card-meta{font-size:.7rem}
    .exp-card-amount{font-size:1rem}
    .exp-card-actions .btn-edit,.exp-card-actions .btn-del-sm{width:32px;height:32px}

    /* ─── 6. МОДАЛКИ ─── */
    .overlay{padding:10px;align-items:center}
    .modal{max-height:88vh;margin:0 auto;border-radius:16px;width:calc(100% - 20px);animation:modalFadeIn .25s ease}
    .modal-confirm{border-radius:16px;max-width:calc(100vw - 40px);padding:28px 24px;animation:modalFadeIn .2s ease}
    .m-head{padding:16px 18px;border-radius:16px 16px 0 0}
    .m-head h2{font-size:.95rem}
    .m-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg1)}
    .m-body{padding:18px;-webkit-overflow-scrolling:touch;max-height:calc(88vh - 60px);overflow-y:auto}

    .fg label{font-size:.7rem;margin-bottom:4px}
    .fg input,.fg select{padding:12px 14px;border-radius:10px;font-size:.88rem;-webkit-appearance:none}
    .fr{gap:8px}
    .f-act{gap:8px;padding-top:4px}
    .btn-s{padding:14px 22px;border-radius:12px;font-size:.88rem}
    .btn-d{padding:14px 18px;border-radius:12px;font-size:.88rem}

    .pay-row{flex-wrap:wrap;gap:6px}
    .pay-date{flex:1;min-width:110px;padding:11px;border-radius:10px;font-size:.84rem}
    .pay-amount{width:auto;flex:1;min-width:90px;padding:11px;border-radius:10px;font-size:.84rem}
    .pay-del{width:36px;height:36px;border-radius:8px}
    .pay-add{padding:11px;border-radius:10px;font-size:.78rem}
    .pay-total{font-size:.84rem;margin:8px 0}

    .client-field input{padding:12px 14px}
    .client-add-btn{width:42px;height:42px;border-radius:10px}
    .client-dropdown{border-radius:12px;max-height:200px}
    .client-opt{padding:12px 14px;font-size:.84rem}

    .confirm-icon{font-size:2.2rem;margin-bottom:12px}
    .confirm-title{font-size:1.05rem}
    .confirm-text{font-size:.8rem;margin-bottom:20px}
    .confirm-btns{gap:8px;flex-direction:column-reverse}
    .confirm-cancel,.confirm-ok{width:100%;padding:14px;border-radius:12px;font-size:.88rem}

    /* ─── 7. ТОСТЫ ─── */
    .toasts{bottom:calc(74px + var(--safe-bottom));right:14px;left:14px}
    .toast{max-width:none;padding:14px 18px;border-radius:12px;font-size:.84rem}

    /* ─── 8. AUTH ─── */
    .auth-card{padding:32px 24px;border-radius:20px;max-width:340px}
    .auth-icon{font-size:2.5rem;margin-bottom:12px}
    .auth-title{font-size:1.15rem}
    .auth-hint{font-size:.78rem;margin-bottom:20px}
    .auth-input{padding:13px 16px;border-radius:10px;font-size:1rem}
    .auth-btn{padding:14px;border-radius:10px;font-size:.95rem}

    /* ─── 9. DAY MODAL ─── */
    .day-table{border-spacing:0 4px}
    .day-table th{font-size:.65rem;padding:8px 6px}
    .day-table td{padding:10px 8px;font-size:.82rem}
    .day-total{font-size:1rem;padding:8px 0}

    /* ─── ANIMATIONS ─── */
    @keyframes modalFadeIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
}

/* === ГОДОВАЯ СТАТИСТИКА === */
@media(max-width:768px){
    #yearStatsOverlay .modal{max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
    #yearStatsOverlay .m-head{flex-shrink:0;position:sticky;top:0;z-index:10;background:var(--bg2)}
    #yearStatsOverlay .m-body{overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;padding:16px;max-height:none}

    .ys-grid{display:flex;flex-direction:column;gap:10px}
    .ys-month{flex-direction:column;align-items:stretch;gap:10px;padding:16px;border-radius:12px}
    .ys-label{font-size:.82rem;text-align:center;margin-bottom:0}
    .ys-bars{flex-direction:row;align-items:flex-end;height:80px;gap:6px;justify-content:center}
    .ys-bar{width:26px;min-width:26px;max-height:80px;border-radius:6px 6px 0 0}
    .ys-val{text-align:center;font-size:.7rem;white-space:nowrap;line-height:1.7}
    .ys-legend{flex-wrap:wrap;gap:12px;padding:12px 0 8px}
    .ys-leg{font-size:.78rem}
}

/* Voice mobile */
@media(max-width:768px){
    .btn-voice{width:36px;height:36px;font-size:1rem}
    .voice-circle{width:70px;height:70px;font-size:1.7rem}
    .voice-hints{font-size:.72rem}
}

/* Promo modal mobile */
@media(max-width:768px){
.promo-totals{
   .promo-totals{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:6px;
        padding:0;
        padding-top:0;
        border-top:none!important;
        margin-top:10px;
    }
        .promo-total-item{
        display:flex;
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
        padding:6px 10px;
        gap:6px;
        min-height:auto;
        text-align:left;
    }
    .promo-total-label{
        font-size:10px;
        white-space:nowrap;
        margin-bottom:0;
        flex-shrink:0;
    }
    .promo-total-val{
        font-size:12px;
        white-space:nowrap;
        flex-shrink:0;
        text-align:right;
    }
    .promo-modal-grid{
        gap:8px;
    }
    .promo-card{
        padding:10px;
    }
    .promo-card-head{
        margin-bottom:6px;
    }
    .promo-card-bars{
        gap:4px;
    }
    .promo-bar-row{
        gap:4px;
    }
    .promo-bar-label{
        font-size:11px;
        min-width:50px;
    }
    .promo-bar-val{
        font-size:11px;
        min-width:65px;
    }
    .promo-card-profit{
        font-size:13px;
        padding-top:6px;
        margin-top:6px;
    }
    .promo-modal-nav{
        padding:8px 0;
    }
    #promoOverlay .modal{
        max-height:95vh;
        overflow-y:auto;
    }
    #promoOverlay .modal-body{
        padding:10px;
    }
}
@media(max-width:768px){
    #calcDistOverlay .modal{max-width:100%;width:calc(100% - 20px)}
    .cdi-cat{font-size:.82rem;padding:9px 6px}
    .cdi-pct{font-size:.82rem;padding:9px 2px}
    .cdi-sum{font-size:.78rem;padding:9px 8px 9px 2px}
    .cdi-del{font-size:.7rem;padding:3px 5px}
}