/* Gary's Mom's Bakery CRM — style.css (loads after Bootstrap 5.3 from the CDN) Gary's Mom's CRM on Bootstrap 5.3 — burgundy brand over warm neutrals. Layout: brand bar → sticky Bootstrap nav-tabs attached to a white tab-content sheet → panels inside. Add/edit happens in modals. */
 :root{
     --brand:#9C1C31;
     --brand-600:#86172A;
     --brand-700:#6F1323;
     --brand-soft:#F6E3E7;
     --brand-line:#E5C3CA;
     --gold:#A9761F;
     --gold-soft:#F7ECD8;
     --in:#23794A;
     --in-soft:#E2F2E8;
     --out:#B83A27;
     --out-soft:#F9E4DF;
     --warn:#9A6210;
     --warn-soft:#FBEFD9;
     --ink:#2A1A1D;
     --muted:#76666A;
     --line:#EADFDB;
     --bg:#F5F0EE;
     --surface:#FFFFFF;
     --surface-2:#FBF8F7;
     --display:"Noto Serif Armenian","Noto Serif",Georgia,serif;
     --body:"Noto Sans","Noto Sans Armenian",system-ui,-apple-system,"Segoe UI",sans-serif;
     --bs-body-bg:var(--bg);
     --bs-body-color:var(--ink);
     --bs-body-font-family:var(--body);
     --bs-body-font-size:.975rem;
     --bs-primary:#9C1C31;
     --bs-primary-rgb:156,28,49;
     --bs-primary-text-emphasis:#6F1323;
     --bs-primary-bg-subtle:#F6E3E7;
     --bs-primary-border-subtle:#E5C3CA;
     --bs-link-color:#9C1C31;
     --bs-link-color-rgb:156,28,49;
     --bs-link-hover-color:#6F1323;
     --bs-link-hover-color-rgb:111,19,35;
     --bs-border-color:#EADFDB;
     --bs-border-radius:.7rem;
     --bs-border-radius-lg:1rem;
     --bs-border-radius-sm:.5rem;
     --bs-secondary-color:#76666A;
     --bs-tertiary-bg:#FBF8F7;
     --bs-secondary-bg:#F3ECEA;
     --bs-focus-ring-color:rgba(156,28,49,.22);
     --bs-heading-color:var(--ink);
     color-scheme:light;
}
 body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--body);
    -webkit-font-smoothing:antialiased
}
 [hidden]{
    display:none!important
}
 .num{
    font-variant-numeric:tabular-nums
}
 .ff-display{
    font-family:var(--display)
}
 h1,h2,h3,h4,h5,.h4,.h5{
    text-wrap:balance
}
 .text-muted,.text-secondary{
    color:var(--muted)!important
}
 .small-caps{
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted)
}
 @media (prefers-reduced-motion:reduce){
    *{
        transition:none!important;
        animation:none!important
    }
}
/* Bootstrap overrides */
 .btn{
    --bs-btn-font-weight:600;
    border-radius:.65rem
}
 .btn-lg{
    border-radius:.8rem
}
 .btn-primary{
    --bs-btn-bg:var(--brand);
    --bs-btn-border-color:var(--brand);
    --bs-btn-hover-bg:var(--brand-600);
    --bs-btn-hover-border-color:var(--brand-600);
    --bs-btn-active-bg:var(--brand-700);
    --bs-btn-active-border-color:var(--brand-700);
    --bs-btn-disabled-bg:var(--brand);
    --bs-btn-disabled-border-color:var(--brand);
    --bs-btn-focus-shadow-rgb:156,28,49
}
 .btn-outline-primary{
    --bs-btn-color:var(--brand);
    --bs-btn-border-color:var(--brand-line);
    --bs-btn-hover-bg:var(--brand-soft);
    --bs-btn-hover-border-color:var(--brand-line);
    --bs-btn-hover-color:var(--brand-700);
    --bs-btn-active-bg:var(--brand);
    --bs-btn-active-border-color:var(--brand);
    --bs-btn-active-color:#fff;
    --bs-btn-focus-shadow-rgb:156,28,49
}
 .btn-check:checked+.btn-outline-primary,.btn-check:checked+.btn-outline-primary:hover{
    background:var(--brand);
    border-color:var(--brand);
    color:#fff
}
 .btn-soft{
    --bs-btn-bg:var(--surface-2);
    --bs-btn-border-color:var(--line);
    --bs-btn-color:var(--ink);
    --bs-btn-hover-bg:#F3ECEA;
    --bs-btn-hover-border-color:#DDCFCA;
    --bs-btn-hover-color:var(--ink);
    --bs-btn-active-bg:#EDE4E1;
    --bs-btn-active-border-color:#DDCFCA
}
 .btn-outline-success{
    --bs-btn-color:var(--in);
    --bs-btn-border-color:#B7DCC6;
    --bs-btn-hover-bg:var(--in);
    --bs-btn-hover-border-color:var(--in)
}
 .btn-outline-warning{
    --bs-btn-color:var(--warn);
    --bs-btn-border-color:#EBCF9F;
    --bs-btn-hover-bg:var(--warn);
    --bs-btn-hover-border-color:var(--warn);
    --bs-btn-hover-color:#fff
}
 .btn-icon{
    width:2.1rem;
    height:2.1rem;
    padding:0;
    display:inline-grid;
    place-items:center
}
 .form-control,.form-select{
    border-color:#E2D6D2;
    background-color:var(--surface)
}
 .form-control:focus,.form-select:focus{
    border-color:var(--brand-line);
    box-shadow:0 0 0 .25rem rgba(156,28,49,.14)
}
 .form-check-input:checked{
    background-color:var(--brand);
    border-color:var(--brand)
}
 .form-check-input:focus{
    box-shadow:0 0 0 .25rem rgba(156,28,49,.14);
    border-color:var(--brand-line)
}
 .form-label{
    font-weight:600;
    font-size:.86rem;
    color:#4E3E41;
    margin-bottom:.35rem
}
 .form-label .opt{
    font-weight:400;
    color:var(--muted)
}
 .input-group-text{
    background:var(--surface-2);
    border-color:#E2D6D2;
    color:var(--muted);
    font-weight:600
}
 .nav-pills{
    --bs-nav-pills-link-active-bg:var(--brand);
    --bs-nav-link-color:var(--muted);
    --bs-nav-link-hover-color:var(--ink);
    gap:.35rem
}
 .nav-pills .nav-link{
    border-radius:999px;
    padding:.4rem .9rem;
    font-weight:600;
    font-size:.9rem;
    background:var(--surface-2);
    border:1px solid var(--line)
}
 .nav-pills .nav-link.active{
    border-color:var(--brand)
}
 .nav-pills .nav-link .badge{
    background:rgba(0,0,0,.08);
    color:inherit;
    font-weight:700;
    margin-left:.3rem
}
 .nav-pills .nav-link.active .badge{
    background:rgba(255,255,255,.25)
}
 .list-group{
    --bs-list-group-border-color:var(--line)
}
 .modal{
    --bs-modal-border-radius:1.1rem;
    --bs-modal-header-border-color:var(--line);
    --bs-modal-footer-border-color:var(--line)
}
 .modal-title{
    font-family:var(--display);
    font-weight:700
}
 .modal-footer{
    background:var(--surface-2);
    border-bottom-left-radius:var(--bs-modal-inner-border-radius);
    border-bottom-right-radius:var(--bs-modal-inner-border-radius)
}
 .offcanvas{
    --bs-offcanvas-width:400px
}
 .table{
    --bs-table-hover-bg:#FBF6F5;
    --bs-table-border-color:var(--line);
    margin:0
}
 .table>thead th{
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:var(--muted);
    background:var(--surface-2);
    white-space:nowrap;
    padding-top:.6rem;
    padding-bottom:.6rem
}
 .table td{
    padding-top:.75rem;
    padding-bottom:.75rem
}
 .progress{
    --bs-progress-bg:#F1E9E6;
    --bs-progress-border-radius:999px
}
 .badge{
    font-weight:600;
    letter-spacing:.01em
}
 .b-soft{
    background:var(--surface-2);
    color:var(--ink);
    border:1px solid var(--line)
}
 .b-in{
    background:var(--in-soft);
    color:var(--in)
}
 .b-out{
    background:var(--out-soft);
    color:var(--out)
}
 .b-warn{
    background:var(--warn-soft);
    color:var(--warn)
}
 .b-gold{
    background:var(--gold-soft);
    color:var(--gold)
}
 .b-brand{
    background:var(--brand-soft);
    color:var(--brand)
}
/* App bar */
 .appbar{
    background:linear-gradient(120deg,#8A182B 0%,#A3263A 100%);
    color:#FFF7F5;
    border-radius:1.1rem;
    padding:.8rem 1rem;
    box-shadow:0 8px 24px rgba(120,20,38,.18)
}
.oval svg {
    width: 120px;
    height: auto;
}
 .oval small{
    display:block;
    font-family:var(--body);
    font-weight:600;
    font-size:.55rem;
    letter-spacing:.2em;
    opacity:.85
}
 .appbar .title{
    font-family:var(--display);
    font-weight:700;
    font-size:1.1rem;
    line-height:1.1
}
 .appbar .sub{
    font-size:.78rem;
    color:#F1C9CF
}
 .bar-btn{
    --bs-btn-color:#FFF7F5;
    --bs-btn-bg:rgba(255,255,255,.12);
    --bs-btn-border-color:rgba(255,255,255,.28);
    --bs-btn-hover-bg:rgba(255,255,255,.22);
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-border-color:rgba(255,255,255,.45);
    --bs-btn-active-bg:rgba(255,255,255,.3);
    --bs-btn-active-color:#fff;
    --bs-btn-active-border-color:rgba(255,255,255,.45);
    --bs-btn-focus-shadow-rgb:255,255,255
}
 .bar-btn small{
    color:#F1C9CF;
    font-weight:500
}
 .monthsw{
    display:flex;
    align-items:center;
    gap:.25rem;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.28);
    border-radius:.7rem;
    padding:.15rem
}
 .monthsw .btn{
    --bs-btn-color:#fff;
    --bs-btn-hover-bg:rgba(255,255,255,.18);
    --bs-btn-hover-color:#fff;
    --bs-btn-border-color:transparent;
    --bs-btn-hover-border-color:transparent;
    --bs-btn-active-bg:rgba(255,255,255,.25);
    --bs-btn-active-color:#fff;
    width:2rem;
    height:2rem;
    padding:0;
    display:grid;
    place-items:center
}
 .monthsw .lbl{
    min-width:8.5rem;
    text-align:center;
    font-family:var(--display);
    font-weight:700;
    font-size:.98rem
}
 .bell{
    position:relative
}
 .bell .count{
    position:absolute;
    top:-.35rem;
    right:-.35rem;
    min-width:1.25rem;
    height:1.25rem;
    padding:0 .3rem;
    border-radius:999px;
    background:#E9B44C;
    color:#3A2405;
    font-size:.7rem;
    font-weight:800;
    display:grid;
    place-items:center;
    border:2px solid #9A2034
}
 .bell.ring .bi{
    animation:ring .9s ease 1
}
 @keyframes ring{
    0%,100%{
        transform:rotate(0)
    }
    20%{
        transform:rotate(14deg)
    }
    40%{
        transform:rotate(-12deg)
    }
    60%{
        transform:rotate(8deg)
    }
    80%{
        transform:rotate(-4deg)
    }
}
/* Tabs attached to the content sheet */
 .tabs-sticky{
    position:sticky;
    top:env(safe-area-inset-top,0px);
    z-index:1020;
    background:var(--bg);
    padding-top:.75rem
}
 .crm-tabs{
    border-bottom:0;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    gap:.25rem;
    padding:0 .4rem
}
 .crm-tabs::-webkit-scrollbar{
    display:none
}
 .crm-tabs .nav-link{
    display:flex;
    align-items:center;
    gap:.5rem;
    white-space:nowrap;
    font-weight:600;
    color:var(--muted);
    border:1px solid transparent;
    border-bottom:0;
    border-radius:.9rem .9rem 0 0;
    padding:.7rem 1rem;
    background:transparent;
    margin-bottom:0
}
 .crm-tabs .nav-link .bi{
    font-size:1.05rem
}
 .crm-tabs .nav-link:hover{
    color:var(--ink);
    background:rgba(255,255,255,.55);
    border-color:transparent
}
 .crm-tabs .nav-link.active{
    color:var(--brand);
    background:var(--surface);
    border-color:var(--line);
    position:relative
}
 .crm-tabs .nav-link.active::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:2px;
    background:var(--surface)
}
 .crm-tabs .tcount{
    font-size:.7rem;
    font-weight:800;
    min-width:1.25rem;
    height:1.25rem;
    padding:0 .35rem;
    border-radius:999px;
    display:inline-grid;
    place-items:center;
    background:var(--brand-soft);
    color:var(--brand)
}
 .crm-content{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:1.1rem;
    padding:1.25rem;
    min-height:60vh;
    box-shadow:0 1px 2px rgba(60,20,28,.04)
}
 @media (max-width:575.98px){
    .crm-content{
        padding:1rem .85rem;
        border-radius:1rem
    }
     .crm-tabs{
        gap:0;
        padding:0
    }
    .crm-tabs .nav-item{
        flex:1 0 auto
    }
     .crm-tabs .nav-link{
        flex-direction:column;
        gap:.15rem;
        padding:.5rem .55rem .45rem;
        font-size:.7rem;
        width:100%;
        position:relative
    }
     .crm-tabs .nav-link .bi{
        font-size:1.2rem
    }
    .crm-tabs .nav-link .lbl-long{
        display:none
    }
     .crm-tabs .tcount{
        position:absolute;
        top:.2rem;
        right:.15rem;
        min-width:1rem;
        height:1rem;
        font-size:.6rem
    }
     .appbar{
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr) auto;
        grid-template-areas:"brand loc bell" "month month month";
        gap:.6rem;
        padding:.7rem
    }
     .appbar .ctl{
        display:contents!important
    }
    .appbar .brandbox{
        grid-area:brand
    }
     #locBtn{
        grid-area:loc;
        min-width:0;
        justify-content:center;
        overflow:hidden;
        white-space:nowrap
    }
    #bellBtn{
        grid-area:bell
    }
     .monthsw{
        grid-area:month;
        justify-content:space-between
    }
    .monthsw .lbl{
        flex:1
    }
     .oval{
        font-size:.68rem;
        padding:.3rem .7rem
    }
     .modal-footer .btn{
        flex:1 1 auto
    }
    .modal-footer #formMsg{
        flex:1 1 100%
    }
     .pane-head h2{
        font-size:1.25rem
    }
}
 @media (min-width:576px){
    .crm-tabs .nav-link .lbl-short{
        display:none
    }
}
/* Panels inside the sheet */
 .pane-head{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin-bottom:1.1rem
}
 .pane-head h2{
    font-family:var(--display);
    font-weight:700;
    font-size:1.45rem;
    margin:0
}
 .pane-head .meta{
    color:var(--muted);
    font-size:.88rem
}
 .panel{
    border:1px solid var(--line);
    border-radius:1rem;
    background:var(--surface);
    overflow:hidden
}
 .panel-h{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    padding:.85rem 1rem;
    border-bottom:1px solid var(--line);
    flex-wrap:wrap
}
 .panel-h h3{
    font-family:var(--display);
    font-size:1.05rem;
    font-weight:700;
    margin:0
}
 .panel-b{
    padding:1rem
}
 .empty{
    color:var(--muted);
    text-align:center;
    padding:2rem 1rem;
    font-size:.93rem
}
 .empty .bi{
    font-size:1.8rem;
    display:block;
    margin:0 auto .5rem;
    opacity:.5
}
/* KPI tiles */
 .kpi{
    border-radius:1rem;
    padding:1rem 1.1rem;
    border:1px solid var(--line);
    background:var(--surface-2);
    height:100%
}
 .kpi .k{
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
    display:flex;
    align-items:center;
    gap:.45rem
}
 .kpi .k .dot{
    width:.55rem;
    height:.55rem;
    border-radius:50%
}
 .kpi .v{
    font-size:clamp(1.35rem,3vw,1.9rem);
    font-weight:700;
    margin-top:.15rem;
    line-height:1.2;
    overflow-wrap:anywhere
}
 .kpi .s{
    font-size:.8rem;
    color:var(--muted);
    margin-top:.15rem
}
 .kpi.net{
    background:var(--brand);
    border-color:var(--brand);
    color:#fff
}
 .kpi.net .k,.kpi.net .s{
    color:#fff;
    opacity:.82
}
 .kpi.in{
    background:var(--in-soft);
    border-color:#CDE6D7
}
 .kpi.out{
    background:var(--out-soft);
    border-color:#F0CFC7
}
/* Quick actions */
 .quick .btn{
    display:inline-flex;
    align-items:center;
    gap:.4rem
}
/* Attention / reminder / notification rows */
 .nrow{
    display:grid;
    grid-template-columns:.65rem minmax(0,1fr) auto;
    gap:.75rem;
    align-items:start;
    text-align:left;
    width:100%;
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
    padding:.8rem 1rem
}
 .nrow:last-child{
    border-bottom:0
}
 .nrow:hover{
    background:var(--surface-2)
}
 .nrow .dot{
    width:.6rem;
    height:.6rem;
    border-radius:50%;
    margin-top:.45rem;
    background:var(--brand)
}
 .nrow.bad .dot{
    background:var(--out)
}
 .nrow.warn .dot{
    background:#D69A2D
}
 .nrow.seen{
    opacity:.6
}
.nrow.seen .dot{
    background:transparent;
    border:1.5px solid #CDBDB8
}
 .nrow .t{
    font-weight:600;
    font-size:.93rem
}
 .nrow .b{
    font-size:.82rem;
    color:var(--muted);
    overflow-wrap:anywhere
}
 .nrow .w{
    font-size:.76rem;
    color:var(--muted);
    white-space:nowrap;
    margin-top:.15rem
}
 .rem{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:.4rem .9rem;
    align-items:center;
    padding:.8rem 1rem;
    border-bottom:1px solid var(--line)
}
 .rem:last-child{
    border-bottom:0
}
 .datebox{
    width:3.3rem;
    text-align:center;
    border-radius:.7rem;
    padding:.3rem 0;
    background:var(--surface-2);
    border:1px solid var(--line);
    line-height:1.05
}
 .datebox span{
    display:block;
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--muted)
}
 .datebox b{
    font-size:1.2rem
}
 .rem.over .datebox{
    background:var(--out-soft);
    border-color:#F0CFC7;
    color:var(--out)
}
 .rem.soon .datebox{
    background:var(--warn-soft);
    border-color:#F0DDB8;
    color:var(--warn)
}
 @media (max-width:575.98px){
    .rem{
        grid-template-columns:auto minmax(0,1fr)
    }
    .rem .acts{
        grid-column:2
    }
}
/* Chart */
 .chartbox{
    overflow-x:auto
}
 #ychart{
    width:100%;
    min-width:520px;
    height:240px;
    display:block
}
 #ychart text{
    font-size:11px;
    fill:var(--muted);
    font-family:var(--body)
}
 #ychart .gl{
    stroke:var(--line);
    stroke-dasharray:2 4
}
 #ychart .bar-in{
    fill:var(--in)
}
 #ychart .bar-out{
    fill:var(--out)
}
 #ychart .nl{
    fill:none;
    stroke:var(--brand);
    stroke-width:2.5;
    stroke-linejoin:round
}
 #ychart .nd{
    fill:var(--brand);
    stroke:#fff;
    stroke-width:2
}
 #ychart .sel{
    fill:var(--brand-soft)
}
 #ychart .ml.cur{
    fill:var(--brand);
    font-weight:700
}
 .legend{
    display:flex;
    gap:1rem;
    font-size:.8rem;
    color:var(--muted);
    flex-wrap:wrap
}
 .legend span{
    display:flex;
    align-items:center;
    gap:.4rem
}
 .legend i{
    width:.65rem;
    height:.65rem;
    border-radius:3px;
    display:inline-block
}
/* Ledger */
 .ledger-tools{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
    align-items:center;
    margin-bottom:.9rem
}
 .ledger-tools .search{
    flex:1 1 220px;
    max-width:360px
}
 .ledger-tools .form-select{
    flex:0 1 220px;
    width:auto
}
 .ledger-table td .sub{
    font-size:.8rem;
    color:var(--muted)
}
 .ledger-table td.amt,.ledger-table th.amt{
    text-align:right;
    white-space:nowrap
}
 .rcpt{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    font-size:.8rem;
    font-weight:600;
    text-decoration:none
}
 .mrow{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.2rem .8rem;
    padding:.85rem .2rem;
    border-bottom:1px solid var(--line)
}
 .mrow:last-child{
    border-bottom:0
}
 .mrow .t{
    font-weight:600
}
 .mrow .s{
    font-size:.8rem;
    color:var(--muted);
    overflow-wrap:anywhere
}
 .mrow .a{
    text-align:right;
    font-weight:700;
    white-space:nowrap
}
 .mrow .acts{
    grid-column:1/-1;
    display:flex;
    gap:.4rem;
    flex-wrap:wrap;
    align-items:center
}
/* Entry form */
 .choice{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem
}
 .choice .btn{
    border-radius:999px;
    font-weight:500;
    padding:.35rem .85rem
}
 .choice.lg .btn{
    padding:.55rem 1.1rem;
    font-weight:600
}
 .scope{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.35rem;
    background:var(--surface-2);
    border:1px solid var(--line);
    border-radius:.85rem;
    padding:.3rem
}
 .scope .btn{
    border:0;
    border-radius:.65rem;
    padding:.65rem;
    font-weight:700;
    color:var(--muted);
    background:transparent
}
 .scope .btn-check:checked+.btn,.scope .btn-check:checked+.btn:hover{
    background:var(--brand);
    color:#fff
}
 .scope .btn:hover{
    color:var(--ink);
    background:rgba(255,255,255,.7)
}
 .dropzone{
    border:1.5px dashed #D9C9C4;
    border-radius:.85rem;
    padding:.8rem;
    display:flex;
    align-items:center;
    gap:.8rem;
    flex-wrap:wrap;
    background:var(--surface-2)
}
 .dropzone img{
    width:3.6rem;
    height:3.6rem;
    object-fit:cover;
    border-radius:.6rem;
    border:1px solid var(--line)
}
 .dropzone .fn{
    flex:1;
    min-width:0;
    font-size:.86rem;
    overflow-wrap:anywhere
}
 .kindtag{
    font-family:var(--body);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
    padding:.3rem .65rem;
    border-radius:999px;
    vertical-align:middle;
    margin-left:.5rem
}
 .kindtag.k-out{
    background:var(--out-soft);
    color:var(--out)
}
 .kindtag.k-in{
    background:var(--in-soft);
    color:var(--in)
}
/* Check list */
 .task{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.6rem 1rem;
    align-items:start;
    padding:.95rem 1rem .95rem 1.25rem;
    border-bottom:1px solid var(--line)
}
 .task:last-child{
    border-bottom:0
}
 .task::before{
    content:"";
    position:absolute;
    left:.45rem;
    top:.95rem;
    bottom:.95rem;
    width:4px;
    border-radius:2px;
    background:#D8CCC8
}
 .task.pr-high::before{
    background:var(--out)
}
 .task.pr-mid::before{
    background:#D69A2D
}
 .task .tt{
    font-weight:600;
    font-size:1rem;
    overflow-wrap:anywhere
}
 .task.st-done .tt,.task.st-cancel .tt{
    color:var(--muted)
}
 .task.st-cancel .tt{
    text-decoration:line-through
}
 .task .meta{
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
    margin-top:.35rem
}
 .task .note{
    font-size:.86rem;
    color:var(--muted);
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    margin-top:.35rem
}
 .task .snote{
    font-size:.84rem;
    border-radius:.6rem;
    padding:.45rem .7rem;
    margin-top:.45rem;
    background:var(--surface-2);
    white-space:pre-wrap;
    overflow-wrap:anywhere
}
 .task .snote.follow{
    background:var(--warn-soft)
}
 .task .snote.done{
    background:var(--in-soft)
}
 .task .snote.cancel{
    background:var(--out-soft)
}
 .task .acts{
    display:flex;
    gap:.35rem;
    flex-wrap:wrap;
    justify-content:flex-end
}
 @media (max-width:575.98px){
    .task{
        grid-template-columns:minmax(0,1fr)
    }
    .task .acts{
        justify-content:flex-start
    }
}
 .prio-choice .btn-check:checked+.btn[data-p="high"]:hover,.prio-choice .btn-check:checked+.btn[data-p="high"]{
    background:var(--out);
    border-color:var(--out);
    color:#fff
}
 .prio-choice .btn-check:checked+.btn[data-p="mid"]:hover,.prio-choice .btn-check:checked+.btn[data-p="mid"]{
    background:#C98A1E;
    border-color:#C98A1E;
    color:#fff
}
 .prio-choice .btn-check:checked+.btn[data-p="low"]:hover,.prio-choice .btn-check:checked+.btn[data-p="low"]{
    background:#8A7B7E;
    border-color:#8A7B7E;
    color:#fff
}
/* Orders & notes */
 .order{
    border:1px solid var(--line);
    border-radius:1rem;
    background:var(--surface);
    height:100%;
    display:flex;
    flex-direction:column
}
 .order .oh{
    display:flex;
    justify-content:space-between;
    gap:.5rem;
    padding:.9rem 1rem .5rem
}
 .order .ob{
    padding:0 1rem .8rem;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    font-size:.92rem;
    flex:1
}
 .order .of{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.5rem;
    flex-wrap:wrap;
    padding:.65rem 1rem;
    border-top:1px solid var(--line);
    background:var(--surface-2);
    border-radius:0 0 1rem 1rem
}
 .note-card{
    background:#FFF8E8;
    border:1px solid #F1E2BF;
    border-radius:1rem;
    padding:1rem 1.1rem;
    height:100%;
    display:flex;
    flex-direction:column;
    gap:.6rem
}
 .note-card .tx{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    flex:1
}
 .note-card .ft{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:.78rem;
    color:var(--muted)
}
/* Reports */
 .dl-card{
    display:flex;
    align-items:center;
    gap:.85rem;
    text-align:left;
    width:100%;
    border:1px solid var(--line);
    background:var(--surface-2);
    border-radius:1rem;
    padding:.9rem 1rem;
    color:var(--ink);
    transition:border-color .15s,background .15s
}
 .dl-card:hover{
    border-color:var(--brand-line);
    background:#fff
}
 .dl-card .ic{
    width:2.6rem;
    height:2.6rem;
    border-radius:.75rem;
    display:grid;
    place-items:center;
    font-size:1.25rem;
    flex:0 0 auto
}
 .dl-card .ic.pdf{
    background:var(--brand-soft);
    color:var(--brand)
}
 .dl-card .ic.csv{
    background:var(--in-soft);
    color:var(--in)
}
 .dl-card b{
    display:block;
    font-size:.95rem
}
 .dl-card span{
    font-size:.8rem;
    color:var(--muted)
}
 .dl-card:disabled{
    opacity:.6
}
 .rtab tfoot td{
    font-weight:700;
    background:var(--surface-2)
}
 .rtab td.amt,.rtab th.amt{
    text-align:right;
    white-space:nowrap
}
 .rtab tr.cur td{
    background:var(--brand-soft)
}
/* Lock */
 .lock-modal .modal-content{
    border:0;
    border-radius:1.4rem;
    overflow:hidden
}
 .lock-modal .lock-top{
    background:linear-gradient(120deg,#8A182B,#A3263A);
    color:#fff;
    padding:1.3rem 1.25rem 1.1rem;
    text-align:center;
    position:relative
}
 .lock-modal .lock-top .oval{
    display:inline-block
}
 .lock-modal .lock-top h2{
    font-family:var(--display);
    font-size:1.3rem;
    margin:.75rem 0 .15rem;
    color:#fff
}
 .lock-modal .lock-top p{
    margin:0;
    font-size:.85rem;
    color:#F1C9CF
}
 .lock-modal .lock-x{
    position:absolute;
    top:.7rem;
    right:.7rem
}
 .locitem{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    width:100%;
    text-align:left;
    border:1px solid var(--line);
    border-radius:.9rem;
    background:var(--surface-2);
    padding:.85rem 1rem;
    margin-bottom:.55rem
}
 .locitem:hover{
    border-color:var(--brand-line);
    background:#fff
}
 .locitem .ic{
    width:2.4rem;
    height:2.4rem;
    border-radius:.7rem;
    background:var(--brand-soft);
    color:var(--brand);
    display:grid;
    place-items:center;
    font-size:1.1rem;
    flex:0 0 auto
}
 .locitem b{
    display:block
}
 .locitem small{
    color:var(--muted)
}
 .dots{
    display:flex;
    justify-content:center;
    gap:1rem;
    margin:.5rem 0 .25rem
}
 .dots i{
    width:.95rem;
    height:.95rem;
    border-radius:50%;
    border:2px solid #D3C4BF
}
 .dots i.on{
    background:var(--brand);
    border-color:var(--brand)
}
 .pinpad{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:.55rem
}
 .pinpad .btn{
    height:3.6rem;
    font-size:1.35rem;
    font-weight:600;
    border-radius:1rem
}
 .pinpad .btn.fn{
    font-size:.85rem;
    color:var(--muted)
}
 .toast-container{
    z-index:1090;
    padding-top:calc(env(safe-area-inset-top,0px) + 1rem)!important
}
 .toast{
    --bs-toast-bg:#2A1A1D;
    --bs-toast-color:#fff;
    --bs-toast-border-color:transparent;
    --bs-toast-max-width:420px;
    border-radius:.9rem
}
 .banner{
    background:var(--warn-soft);
    color:var(--warn);
    border:1px solid #F0DDB8;
    border-radius:.85rem;
    padding:.6rem .9rem;
    font-size:.86rem;
    display:flex;
    gap:.5rem;
    align-items:center
}
 .min-w-0{
    min-width:0
}
 .crm-tabs a.nav-link{
    text-decoration:none
}
 .bi{
    line-height:1;
    vertical-align:-.125em
}
 .crm-tabs .nav-link .bi,.empty .bi{
    vertical-align:0
}

body.crm-readonly .quick,
body.crm-readonly [data-new],body.crm-readonly [data-edit],body.crm-readonly [data-del],
body.crm-readonly #ckForm,body.crm-readonly [data-ckst],body.crm-readonly [data-ckopen],body.crm-readonly [data-ckdel],
body.crm-readonly [data-onew],body.crm-readonly [data-oedit],body.crm-readonly [data-odel],body.crm-readonly [data-ostat],
body.crm-readonly #nForm,body.crm-readonly [data-nedit],body.crm-readonly [data-ndel],
body.crm-readonly #saveSnapshot,body.crm-readonly [data-report-delete],body.crm-readonly [data-remdone]{display:none!important}
 
