:root{
    --bg:#f4f7fb;
    --bg-soft:#eef3f9;
    --panel:#ffffff;
    --panel-soft:#f8fbff;
    --panel-alt:#f2f6fc;
    --text:#162033;
    --text-soft:#4c5b73;
    --muted:#6f7e95;
    --line:#d7e1ee;
    --line-strong:#c6d3e3;
    --accent:#2563eb;
    --accent-2:#0ea5e9;
    --accent-soft:#e8f0ff;
    --green:#16a34a;
    --green-soft:#eaf8ef;
    --red:#dc2626;
    --red-soft:#fdecec;
    --yellow:#d97706;
    --yellow-soft:#fff4df;
    --shadow-sm:0 6px 18px rgba(21,37,66,.07);
    --shadow:0 12px 34px rgba(15,23,42,.09);
    --shadow-lg:0 22px 54px rgba(15,23,42,.12);
    --radius:22px;
    --radius-sm:14px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.modal-open{overflow:hidden;}

body{
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    color:var(--text);
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,.06), transparent 24%),
        radial-gradient(circle at top right, rgba(14,165,233,.05), transparent 22%),
        linear-gradient(180deg,#f8fbff 0%, #f4f7fb 100%);
}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:none}

h1,h2,h3,h4,p{margin:0}

.page-shell{max-width:1540px;margin:0 auto;padding:28px}

.topbar,
.panel,
.login-card,
.modal-card,
.invoice-print-box{
    background:var(--panel);
    border:1px solid rgba(215,225,238,.92);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.topbar{
    padding:20px 24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:22px;
    position:sticky;
    top:12px;
    z-index:20;
}

.eyebrow{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:var(--accent);
    margin-bottom:6px;
    font-weight:700;
}

.topbar h1{font-size:28px;line-height:1.1}
.topbar-right,.topnav,.inline-actions,.card-actions,.row-actions,.form-actions,.modal-head,.section-head,.print-actions{
    display:flex;gap:12px;align-items:center
}
.topbar-right{flex-wrap:wrap;justify-content:flex-end}

.topnav{
    background:var(--bg-soft);
    border:1px solid var(--line);
    padding:6px;
    border-radius:16px;
}
.topnav a,
.button,
button,
.primary,
button[type="submit"]{
    appearance:none;
    border:none;
    border-radius:14px;
    padding:11px 15px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    transition:transform .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease, border-color .14s ease;
}

.topnav a{
    color:var(--text-soft);
    background:transparent;
}
.topnav a:hover{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}
.topnav a.active,
.primary,
button.primary,
button[type="submit"].primary{
    background:linear-gradient(135deg,var(--accent),var(--accent-2));
    color:#fff;
    box-shadow:0 10px 24px rgba(37,99,235,.22);
}

.button,
button,
button[type="submit"]{
    background:#eef4fb;
    color:var(--text);
    border:1px solid var(--line);
}
.button:hover,button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.primary:hover,
.topnav a.active:hover{box-shadow:0 14px 28px rgba(37,99,235,.26)}
.button.subtle,.subtle{background:#f7fafe;color:var(--text);border:1px solid var(--line)}
.button.danger{background:var(--red-soft);border-color:#f4caca;color:#991b1b}
.small{padding:8px 11px;font-size:12px;border-radius:12px}
.full-width{width:100%}

.user-chip{
    display:flex;
    gap:12px;
    align-items:center;
    background:linear-gradient(180deg,#fff,#f7faff);
    padding:10px 14px;
    border-radius:16px;
    border:1px solid var(--line);
    color:var(--text-soft);
}
.user-chip strong{color:var(--text)}

.panel{padding:22px;margin-bottom:22px}
.section-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:16px}
.section-head.compact{align-items:center}
.section-subtitle,.tiny,.project-meta,.muted-block{color:var(--muted)}
.section-subtitle{line-height:1.55}
.tiny{font-size:12px}

.quick-stats,.project-grid,.settings-grid,.grid-2{display:grid;gap:16px}
.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

.project-card{
    position:relative;
    padding:18px;
    background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
    border:1px solid var(--line);
    border-radius:22px;
    display:flex;
    flex-direction:column;
    gap:14px;
    box-shadow:var(--shadow-sm);
}
.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}

.project-link{display:flex;flex-direction:column;gap:12px;color:inherit}
.project-link:hover{text-decoration:none}

.project-folder{
    width:72px;
    height:48px;
    border-radius:16px 16px 12px 12px;
    background:linear-gradient(180deg,#ffd977 0%, #f7b733 100%);
    position:relative;
    box-shadow:inset 0 -6px 0 rgba(0,0,0,.06), 0 10px 22px rgba(245,158,11,.22);
}
.project-folder:before{
    content:'';
    position:absolute;
    top:-8px;
    left:8px;
    width:31px;
    height:14px;
    border-radius:9px 9px 0 0;
    background:linear-gradient(180deg,#ffe8a5 0%, #ffcf5a 100%);
}
.project-folder:after{
    content:'▣';
    position:absolute;
    right:10px;
    bottom:8px;
    font-size:15px;
    color:rgba(102,60,0,.55);
}

.project-card h3{font-size:20px;line-height:1.2;color:var(--text)}
.project-meta{line-height:1.55}

.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin-top:18px}
.column{
    background:linear-gradient(180deg,#fbfdff 0%, #f4f8fd 100%);
    border:1px solid var(--line);
    border-radius:24px;
    padding:16px;
    min-height:420px;
    box-shadow:var(--shadow-sm);
}
.column-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}
.column-head h3{font-size:18px}
.column-count,.badge,.tag,.detail-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    border:1px solid var(--line);
    padding:7px 10px;
    border-radius:999px;
    color:var(--text-soft);
}
.column-count{font-weight:700;color:var(--text)}
.badge.danger{background:var(--red-soft);color:#991b1b;border-color:#f4caca}
.badge.warning{background:var(--yellow-soft);color:#92400e;border-color:#f5ddb1}
.badge.success{background:var(--green-soft);color:#166534;border-color:#caead6}
.badge.neutral{background:#f7fafe}
.tag{font-size:12px}
.task-stack{display:flex;flex-direction:column;gap:12px;min-height:250px}

.task-card{
    background:linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);
    border:1px solid var(--line);
    border-radius:18px;
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:12px;
    box-shadow:0 8px 20px rgba(20,37,63,.06);
}
.task-card:hover{box-shadow:0 12px 24px rgba(20,37,63,.10);border-color:var(--line-strong)}
.task-card.dragging{opacity:.5;cursor:grabbing}
.task-card[draggable="true"]{cursor:grab}
.dropzone-hover{outline:2px dashed var(--accent);outline-offset:5px;border-radius:18px;background:#eef5ff}
.task-link{display:flex;flex-direction:column;gap:12px;color:inherit}
.task-topline{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.task-topline strong{font-size:16px;line-height:1.35;color:var(--text)}
.task-desc{color:var(--text-soft);line-height:1.6}
.task-tags{display:flex;gap:8px;flex-wrap:wrap}

.task-meta-grid,.split-box,.form-grid.two-col,.settings-grid,.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.task-meta-grid,.split-box,.grid-2{display:grid;gap:16px}

.task-meta-box,
.split-panel,
.invoice-box,
.helper-box,
.empty-state,
.login-card,
.filter-bar,
.detail-description,
.comment-card,
.history-card{
    background:linear-gradient(180deg,#fff 0%, #f8fbff 100%);
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px;
}
.task-meta-box strong{font-size:18px;color:var(--text)}

.label,
.form-row label{
    display:block;
    font-size:12px;
    color:var(--muted);
    margin-bottom:6px;
    font-weight:700;
    letter-spacing:.02em;
}
.label-inline{display:inline-block;min-width:62px;color:var(--muted)}

.form-card{display:flex;flex-direction:column;gap:16px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-row{display:flex;flex-direction:column;gap:8px}
.form-row.full{grid-column:1/-1}

input,select,textarea{
    width:100%;
    background:#fff;
    border:1px solid var(--line-strong);
    color:var(--text);
    padding:12px 14px;
    border-radius:14px;
    font:inherit;
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
input::placeholder,textarea::placeholder{color:#97a6bc}
input:focus,select:focus,textarea:focus{
    outline:none;
    border-color:#84aefb;
    box-shadow:0 0 0 4px rgba(37,99,235,.11);
    background:#fff;
}
textarea{min-height:118px;resize:vertical;line-height:1.55}

input[type="color"]{padding:6px;min-height:46px}
input[type="checkbox"]{width:auto;accent-color:var(--accent)}
.checkline{display:flex;gap:8px;align-items:center;min-height:46px;color:var(--text-soft)}
.checkbox-row{justify-content:flex-end}

input[type="file"]{
    padding:9px;
    background:#f9fbff;
    border:1px dashed #bfd0e6;
    color:var(--text-soft);
}
input[type="file"]::file-selector-button{
    border:none;
    margin-right:12px;
    padding:10px 14px;
    border-radius:12px;
    background:linear-gradient(135deg,var(--accent),var(--accent-2));
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
input[type="file"]::file-selector-button:hover{filter:brightness(.98)}

.form-actions{justify-content:flex-end;flex-wrap:wrap}

.status-dot{
    display:inline-block;
    width:10px;
    height:10px;
    border-radius:999px;
    margin-right:8px;
    box-shadow:0 0 0 3px rgba(255,255,255,.9);
}

.flash{padding:14px 18px;border-radius:16px;margin-bottom:18px;border:1px solid var(--line)}
.flash-success{background:var(--green-soft);border-color:#caead6;color:#166534}
.flash-error{background:var(--red-soft);border-color:#f2c9c9;color:#991b1b}

.modal{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.34);
    backdrop-filter:blur(5px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    z-index:1000;
}
.modal.hidden{display:none}
.modal-card{width:min(920px,100%);max-height:92vh;overflow:auto;padding:22px}
.modal-card.wide{width:min(1120px,100%)}
.modal-card.huge{width:min(1340px,100%)}
.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.modal-head h3{font-size:22px;line-height:1.2}
.task-details-modal{display:flex}

.file-row,.detail-stat{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding:12px 0;
    border-bottom:1px solid var(--line);
}
.file-row:last-child,.detail-stat:last-child{border-bottom:none}
.file-row a{font-weight:600;word-break:break-word}
.attachment-box{
    background:#fff;
    border:1px solid var(--line);
    padding:14px;
    border-radius:16px;
    margin-top:14px;
}
.attachment-box-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}

.table-wrap{overflow:auto}
.data-table{width:100%;border-collapse:separate;border-spacing:0}
.data-table th,.data-table td{
    padding:13px 10px;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:top;
}
.data-table th{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    background:#f7fafe;
    position:sticky;
    top:0;
}
.data-table tbody tr:hover{background:#fbfdff}

.footer-note{padding:16px 4px 8px;color:var(--muted);text-align:center}
.login-body{display:flex;align-items:center;justify-content:center;padding:24px}
.login-wrap{width:100%;max-width:520px}
.login-card{padding:28px}

.invoice-page{padding:24px;max-width:1100px;margin:0 auto}
.print-actions{justify-content:flex-end;margin-bottom:18px}
.invoice-print-box{background:#fff;color:#0f172a;padding:36px}
.invoice-title{font-size:36px;font-weight:800}
.invoice-header,.invoice-total{display:flex;justify-content:space-between;gap:20px}
.invoice-section{margin-top:28px}
.invoice-table{width:100%;border-collapse:collapse}
.invoice-table th,.invoice-table td{border:1px solid #cbd5e1;padding:12px;text-align:left}
.invoice-total{justify-content:flex-end}
.invoice-total-box{width:320px;padding:18px;border:1px solid #cbd5e1;border-radius:16px}

.filter-bar{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}
.filter-actions{display:flex;gap:10px;align-items:flex-end;grid-column:span 1;flex-wrap:wrap}
.detail-description{margin:18px 0;line-height:1.65}
.task-detail-top{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.detail-sections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.comment-form,.comment-list,.history-list{display:flex;flex-direction:column;gap:12px}
.comment-head,.history-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.comment-body,.history-body{line-height:1.6;color:var(--text-soft)}
.comment-form-actions{justify-content:flex-end;gap:8px}
.comment-submit{padding:7px 12px!important;font-size:12px!important;border-radius:12px!important;box-shadow:0 8px 18px rgba(37,99,235,.18)!important}
.comment-context{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#f3f7fd;border:1px solid var(--line);color:var(--text-soft);font-size:12px;line-height:1.45}
.comment-children{display:flex;flex-direction:column;gap:10px;margin-top:12px;margin-left:18px;padding-left:14px;border-left:2px solid #d9e4f2}
.comment-card .inline-actions{flex-wrap:wrap;justify-content:flex-end}
.comment-card .button.small{padding:6px 10px;font-size:11px;border-radius:11px}
.comment-card.comment-depth-1,.comment-card.comment-depth-2,.comment-card.comment-depth-3,.comment-card.comment-depth-4,.comment-card.comment-depth-5,.comment-card.comment-depth-6{background:linear-gradient(180deg,#ffffff 0%, #fafdff 100%)}

.empty-state{
    text-align:center;
    padding:24px;
    color:var(--text-soft);
}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#c8d5e5;border-radius:999px}
::-webkit-scrollbar-track{background:#eef3f9}

@media (max-width:1200px){
    .filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:980px){
    .topbar{position:static}
    .topbar,.topbar-right,.section-head,.split-box,.task-meta-grid,.form-grid,.settings-grid,.grid-2,.board{grid-template-columns:1fr!important;display:grid}
    .topbar-right{display:flex}
    .board{display:grid}
    .detail-sections-grid,.filter-bar{grid-template-columns:1fr!important}
    .page-shell{padding:16px}
    .modal{padding:12px}
    .topbar{padding:18px}
}


@media (max-width:980px){
    .comment-children{margin-left:10px;padding-left:10px}
}

@media print{
    body{background:#fff}
    .print-actions,.topbar,.footer-note{display:none!important}
    .invoice-print-box{box-shadow:none;border:none;padding:0}
}


.modal-priority{z-index:1100}


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

.attachment-upload-inline{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
}

.upload-pick{
    position:relative;
    overflow:hidden;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:132px;
}

.upload-submit{
    min-width:108px;
    padding:8px 12px;
}

.upload-file-name{
    min-width:0;
    display:block;
    padding:8px 10px;
    border:1px dashed var(--line-strong);
    border-radius:12px;
    background:#fbfdff;
    color:var(--muted);
    font-size:13px;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.attachment-upload-form{margin-top:12px}
.attachment-box .button.small{padding:7px 11px;font-size:12px}
.file-row{align-items:flex-start}
.file-row form{flex:0 0 auto}

@media (max-width: 760px){
    .attachment-upload-inline{
        grid-template-columns:1fr;
        align-items:stretch;
    }
    .upload-pick,.upload-submit{width:100%}
    .upload-file-name{white-space:normal}
}

.detail-summary-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:12px 0 18px;
}

.soft-blue{
    background:linear-gradient(180deg,#f7fbff 0%, #edf6ff 100%);
    border-color:#d8e7fb;
}

.soft-green{
    background:linear-gradient(180deg,#f8fffb 0%, #ecfbf2 100%);
    border-color:#d4eddc;
}

.task-panel-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:6px 0 20px;
}

.task-panel-card{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:0;
    padding:16px;
    border-radius:18px;
    border:1px solid var(--line);
    background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
    box-shadow:var(--shadow-sm);
    color:var(--text);
    transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.task-panel-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow);
    text-decoration:none;
}
.task-panel-card.supplier-card{
    background:linear-gradient(180deg,#fffaf2 0%, #fff1d8 100%);
    border-color:#f3ddb0;
}
.task-panel-card.buyer-card{
    background:linear-gradient(180deg,#f5fbff 0%, #e7f5ff 100%);
    border-color:#cde5fb;
}
.task-panel-card.history-card-trigger{
    background:linear-gradient(180deg,#f8f7ff 0%, #efedff 100%);
    border-color:#ddd7ff;
}
.task-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.task-panel-title{
    font-size:15px;
    font-weight:800;
    line-height:1.35;
    min-width:0;
}
.task-panel-count{
    flex:0 0 auto;
    min-width:36px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(15,23,42,.08);
    text-align:center;
    font-weight:800;
    color:var(--text);
}
.task-panel-meta{
    color:var(--text-soft);
    font-size:13px;
    line-height:1.45;
    word-break:break-word;
}

.comment-section-card{
    margin-top:4px;
}

.docs-modal-card{
    width:min(980px,100%);
}

.docs-panel-stack{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.upload-status{
    margin-top:8px;
    min-height:18px;
    font-size:12px;
    color:var(--muted);
}
.upload-status.error{
    color:var(--red);
}
.upload-submit[disabled]{
    opacity:.85;
    cursor:wait;
}

.history-card{
    background:linear-gradient(180deg,#ffffff 0%, #fafcff 100%);
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px;
}

@media (max-width:980px){
    .task-panel-grid,
    .detail-summary-grid{
        grid-template-columns:1fr!important;
    }
}

.project-finance-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:0 0 18px;
}
.project-finance-card{
    padding:16px;
    border-radius:18px;
    border:1px solid var(--line);
    box-shadow:var(--shadow-sm);
    background:linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);
}
.project-finance-card.income-plan{background:linear-gradient(180deg,#f8fffb 0%, #ecfbf2 100%);border-color:#d4eddc;}
.project-finance-card.income-fact{background:linear-gradient(180deg,#f5fbff 0%, #eaf5ff 100%);border-color:#d5e7fb;}
.project-finance-card.expense-plan{background:linear-gradient(180deg,#fffaf2 0%, #fff2df 100%);border-color:#f1dfbe;}
.project-finance-card.expense-fact{background:linear-gradient(180deg,#fff7fa 0%, #ffedf3 100%);border-color:#f5d5df;}
.project-finance-title{font-size:13px;font-weight:800;color:var(--text-soft);margin-bottom:8px;}
.project-finance-value{font-size:28px;font-weight:900;line-height:1.15;color:var(--text);margin-bottom:8px;word-break:break-word;}
.project-finance-meta{font-size:13px;line-height:1.45;color:var(--text-soft);}
.finance-progress{margin-top:12px;height:8px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden;}
.finance-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#60a5fa 0%, #34d399 100%);}
.finance-state.warning{color:#a16207;}
.finance-state.success{color:#15803d;}
.finance-state.danger{color:#be123c;}

.task-panel-card.finance-card{
    background:linear-gradient(180deg,#f8fff8 0%, #eefbf0 100%);
    border-color:#d6ecd9;
}

.finance-modal-card{width:min(1100px,100%);}
.finance-summary-grid{margin-bottom:18px;}
.finance-remaining-card.warning{background:linear-gradient(180deg,#fffaf0 0%, #fff2d9 100%);border-color:#f0dfb5;}
.finance-remaining-card.success{background:linear-gradient(180deg,#f7fff8 0%, #eaf8ee 100%);border-color:#cfe8d6;}
.finance-remaining-card.danger{background:linear-gradient(180deg,#fff7f8 0%, #ffe9ee 100%);border-color:#f1cdd8;}
.finance-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.finance-column{padding:16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);box-shadow:var(--shadow-sm);min-width:0;}
.finance-column.income-column{background:linear-gradient(180deg,#f9fffb 0%, #eefbf2 100%);border-color:#d7eedc;}
.finance-column.expense-column{background:linear-gradient(180deg,#fffaf5 0%, #fff1e3 100%);border-color:#f0dfc4;}
.finance-entry-form{margin-bottom:16px;padding:14px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid rgba(148,163,184,.18);}
.finance-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.finance-entry-list{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow:auto;padding-right:4px;}
.finance-entry-card{padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.92);}
.finance-entry-top,.finance-entry-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.finance-entry-bottom{margin-top:10px;}

@media (max-width:1100px){
    .project-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:980px){
    .finance-columns,.project-finance-grid{grid-template-columns:1fr!important;}
    .finance-form-grid{grid-template-columns:1fr;}
}


/* v8 safe finance UI tweak */
.task-meta-grid-3, .detail-summary-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.margin-box { background: linear-gradient(180deg,#fff7ed 0%,#fff1f2 100%); border:1px solid #fed7aa; }
.margin-box.positive { background: linear-gradient(180deg,#ecfdf5 0%,#f0fdf4 100%); border-color:#86efac; }
.margin-box.negative { background: linear-gradient(180deg,#fff1f2 0%,#fef2f2 100%); border-color:#fca5a5; }
.margin-box.neutral { background: linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%); border-color:#cbd5e1; }
.finance-margin-strip { display:grid; grid-template-columns:minmax(0,1fr); margin-bottom:14px; }
.finance-columns-balanced { align-items:start; }
.finance-column-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.finance-add-button { padding:8px 12px; border-radius:12px; font-size:13px; min-height:auto; align-self:flex-start; }
.project-finance-grid { margin-bottom:16px; }
.task-panel-grid { margin-bottom:16px; }
@media (max-width: 980px) { .task-meta-grid-3, .detail-summary-grid-3, .finance-column-summary { grid-template-columns:1fr; } }


.finance-status-strip{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 16px;
}

.project-finance-status-strip{
    margin-top:2px;
}

.task-finance-status-strip,
.finance-modal-status-strip{
    margin-top:-2px;
    margin-bottom:16px;
}

.task-finance-strip{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.finance-status-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    max-width:100%;
    min-height:34px;
    padding:8px 12px;
    border-radius:14px;
    border:1px solid var(--line);
    font-size:12px;
    font-weight:800;
    line-height:1.35;
    word-break:break-word;
    box-shadow:0 8px 18px rgba(15,23,42,.05);
}

.finance-status-pill.large{
    font-size:13px;
    padding:10px 14px;
}

.finance-status-pill.success{
    color:#166534;
    background:linear-gradient(180deg,#f3fff5 0%, #e8f8ec 100%);
    border-color:#bde3c8;
}

.finance-status-pill.danger{
    color:#b42318;
    background:linear-gradient(180deg,#fff5f5 0%, #ffebee 100%);
    border-color:#f2c7cf;
}

.finance-inline-ok{
    color:#15803d;
    font-weight:800;
}

.finance-inline-alert{
    color:#b42318;
    font-weight:800;
}

@media (max-width:980px){
    .finance-status-pill{
        width:100%;
        justify-content:flex-start;
    }
}

.finance-upload-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin:4px 0 10px;
    flex-wrap:wrap;
}

.finance-entry-files{
    margin-top:10px;
    padding-top:10px;
    border-top:1px dashed rgba(148,163,184,.35);
    display:flex;
    flex-direction:column;
    gap:8px;
}

.finance-attachment-row,
.finance-file-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:8px 10px;
    border-radius:12px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(148,163,184,.22);
}

.file-row-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.file-caption{
    color:var(--muted);
    line-height:1.35;
}

.finance-attachment-row a,
.finance-file-row a{
    word-break:break-word;
}

.compact-upload-inline{
    padding:0;
    background:transparent;
    border:none;
}

.finance-entry-upload .upload-file-name{
    min-width:120px;
    max-width:240px;
}

.tiny-button{
    min-height:auto;
    padding:5px 8px;
    border-radius:10px;
    font-size:12px;
    line-height:1;
}

.finance-docs-box{
    background:linear-gradient(180deg, rgba(236,253,245,.55) 0%, rgba(255,255,255,.95) 100%);
}

.finance-docs-box .attachment-box-head{
    margin-bottom:10px;
}

@media (max-width:980px){
    .finance-attachment-row,
    .finance-file-row{
        flex-direction:column;
        align-items:stretch;
    }
    .finance-entry-upload .upload-file-name{
        max-width:none;
    }
}


.task-top-actions{align-items:center;gap:8px;flex-wrap:wrap;}
.history-top-button{
    background:linear-gradient(180deg,#f8f7ff 0%,#efedff 100%);
    border-color:#d9d2ff;
    color:#4c3cb3;
    box-shadow:0 10px 20px rgba(103,80,164,.10);
}
.history-top-button:hover{
    border-color:#c6bbff;
    color:#4338ca;
    text-decoration:none;
}
.history-top-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:22px;
    padding:0 7px;
    margin-left:6px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(76,60,179,.12);
    color:#4c3cb3;
    font-size:11px;
    font-weight:800;
}
.task-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:980px){
    .task-top-actions{justify-content:flex-start;}
}

.topnav{display:flex;gap:10px;flex-wrap:wrap}
.topnav a{padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.66)}
.topnav a.active{background:linear-gradient(180deg,#eef5ff 0%,#e4ecff 100%);box-shadow:0 8px 18px rgba(52,84,182,.12)}
.soft-violet{background:linear-gradient(180deg,#faf5ff 0%,#f2e8ff 100%)}
.tag.warning{background:#fff7d6;color:#9a6700;border:1px solid #f3d37a}
.warning-box{background:#fffbea;border:1px solid #f2d88f}
.danger-box{background:#fff1f2;border:1px solid #f4b4bf}
.expense-guard-box{margin:10px 0 18px 0}
.expense-guard-inline{margin:6px 0 10px 0;color:#b45309;font-weight:700}
.bookkeeping-top-grid .project-finance-card{min-height:132px}
.bookkeeping-mini-grid{margin:18px 0 24px}
.compact-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.compact-table td,.compact-table th{padding:10px 12px}
.general-entry-card{margin-bottom:12px}
.list-stack{display:flex;flex-direction:column;gap:12px}
.helper-box a{font-weight:700}
@media (max-width:980px){
  .compact-two-col{grid-template-columns:1fr}
}

/* Invoice generator module */
.invoice-builder-panel .invoice-builder-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:18px 0}
.invoice-source-card,.invoice-check-card{height:fit-content}
.parse-status{padding:12px 14px;border-radius:14px;margin:12px 0;background:#f8fafc;border:1px solid #e2e8f0;line-height:1.5}
.parse-done{background:#ecfdf5;border-color:#bbf7d0}.parse-needs_review{background:#fffbea;border-color:#fde68a}.parse-error{background:#fff1f2;border-color:#fecdd3}
.danger-text{color:#b91c1c}.compact-list{margin:10px 0 0 18px;color:#334155}.warning-list{color:#a16207}
.invoice-editor-form{margin-top:18px}.settings-subsection{border-top:1px solid #e2e8f0;margin-top:22px;padding-top:18px}.settings-subsection h4{margin:0 0 12px;color:#0f172a}
.asset-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:12px 0 18px}
.asset-upload-card{border:1px dashed #cbd5e1;border-radius:16px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:10px}
.asset-upload-card img{max-height:86px;object-fit:contain;background:white;border-radius:12px;border:1px solid #e2e8f0;padding:6px}
.details-box{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#f8fafc;margin:12px 0}.details-box summary{cursor:pointer;font-weight:800;color:#0f172a;margin-bottom:10px}
.invoice-items-block{margin:20px 0}.invoice-items-table{display:flex;flex-direction:column;gap:8px}.invoice-items-head,.invoice-item-row{display:grid;grid-template-columns:minmax(260px,1fr) 90px 120px 120px 120px 42px;gap:8px;align-items:stretch}.invoice-items-head{font-size:12px;text-transform:uppercase;color:#64748b;font-weight:800}.invoice-item-row textarea{min-height:74px;resize:vertical}.invoice-item-row input[readonly]{background:#f1f5f9;color:#334155}.invoice-totals-editor{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:12px 0 22px;max-width:760px;margin-left:auto}.invoice-totals-editor input{font-weight:800}
.invoice-reference-style{max-width:980px;margin:auto;background:white;color:#334155}.invoice-reference-header{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:38px;align-items:start;margin-bottom:64px}.invoice-seller-stack{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:560px}.invoice-logo-area{min-height:92px;display:flex;align-items:flex-start;justify-content:flex-start}.invoice-logo-img{max-width:240px;max-height:100px;object-fit:contain}.invoice-seller-block{max-width:540px}.invoice-seller-block h2{font-size:25px;line-height:1.08;color:#0f172a;margin:0 0 10px;letter-spacing:-.02em}.invoice-seller-block div{white-space:pre-line;line-height:1.42;font-size:14.5px;color:#334155}.invoice-info-block{text-align:left}.invoice-info-block h1{font-size:52px;line-height:1;margin:0 0 24px;color:#020617}.invoice-info-grid{display:grid;grid-template-columns:110px 1fr;gap:4px 12px;border-left:7px solid #020617;padding-left:14px;font-size:18px}.invoice-bill-to{margin-bottom:28px;font-size:17px;line-height:1.45}.reference-table th{background:#020617!important;color:white!important}.reference-table td{vertical-align:top}.invoice-desc-cell{white-space:pre-line}.money-cell{text-align:right;white-space:nowrap}.reference-total .invoice-total-box{min-width:310px}.reference-total .invoice-total-box div{display:flex;justify-content:space-between;gap:18px;margin-bottom:8px}.invoice-terms-block{margin-top:28px;max-width:760px;line-height:1.55;white-space:normal}.invoice-signature-zone{display:flex;justify-content:flex-end;gap:12px;min-height:90px;align-items:center}.invoice-stamp-img{width:260px!important;height:260px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;display:block}.invoice-signature-img{max-width:170px;max-height:80px;object-fit:contain}.invoice-thanks{margin-top:22px;color:#64748b;font-weight:700}
@media(max-width:980px){.invoice-builder-panel .invoice-builder-grid,.asset-upload-grid,.invoice-totals-editor{grid-template-columns:1fr}.invoice-items-head{display:none}.invoice-item-row{grid-template-columns:1fr 1fr}.invoice-item-row textarea{grid-column:1/-1}.invoice-reference-header{grid-template-columns:1fr;margin-bottom:36px}.invoice-info-block h1{font-size:40px}}
@media print{.print-actions{display:none!important}.invoice-page{background:white;padding:0}.invoice-print-box{box-shadow:none;border:0;margin:0;max-width:none}.page-shell{display:block}.topbar,.flash,.footer-note{display:none!important}}


.invoice-api-progress{margin-top:14px;padding:16px;border:1px solid #c7d2fe;background:#eef2ff;border-radius:18px;color:#1e1b4b;box-shadow:0 12px 30px rgba(79,70,229,.12)}
.invoice-api-progress.hidden{display:none}
.invoice-api-progress-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:10px}
.invoice-api-progress-head strong{font-size:15px;color:#111827}
.invoice-api-progress-bar{height:10px;background:#dbeafe;border-radius:999px;overflow:hidden;margin-bottom:12px}
.invoice-api-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:999px;transition:width .35s ease}
.invoice-api-steps{margin:0 0 10px 18px;padding:0;font-size:13px;line-height:1.6;color:#475569}
.invoice-api-steps li.active{font-weight:800;color:#1d4ed8}
.invoice-api-steps li.done{color:#16a34a;text-decoration:line-through;text-decoration-thickness:1px}
.invoice-api-progress.is-done{border-color:#86efac;background:#f0fdf4;color:#14532d}
.invoice-api-progress.is-done .invoice-api-progress-bar{background:#dcfce7}
.invoice-api-progress.is-done .invoice-api-progress-bar span{background:#16a34a}
.invoice-api-progress.is-error{border-color:#fecaca;background:#fef2f2;color:#7f1d1d}
.invoice-api-progress.is-error .invoice-api-progress-bar{background:#fee2e2}
.invoice-api-progress.is-error .invoice-api-progress-bar span{background:#dc2626}

.invoice-api-error-details {
    white-space: pre-wrap;
    overflow-x: auto;
    max-height: 360px;
    margin: 10px 0 0;
    padding: 12px;
    border-radius: 12px;
    background: rgba(127, 29, 29, 0.08);
    border: 1px solid rgba(220, 38, 38, 0.25);
    font-size: 12px;
    line-height: 1.45;
}

.invoice-debug-link {
    display: inline-flex;
    margin-top: 10px;
    font-size: 12px;
    text-decoration: underline;
}

.inline-form{display:inline-flex;align-items:center;gap:8px;margin:0}
.inline-form button{margin:0}
.print-actions .inline-form{display:inline-flex}

/* === UI hardcore refresh: catalogs / settings / projects === */
.catalog-panel{padding:24px}
.catalog-summary{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 22px}
.summary-pill{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    min-width:170px;padding:14px 16px;border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,#f6faff 100%);
    border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--text);
}
.summary-pill span{font-size:13px;color:var(--muted)}
.summary-pill strong{font-size:20px;line-height:1}
.summary-link:hover{text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow)}
.small-eyebrow{font-size:11px;letter-spacing:.18em;margin-bottom:8px}
.catalog-zone-head,
.settings-note-card{
    display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
    padding:18px 20px;border-radius:20px;margin-bottom:18px;
    background:linear-gradient(135deg,#eff6ff 0%,#f8fbff 55%,#eefbf9 100%);
    border:1px solid #d8e5f5;
}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.catalog-card{
    background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
    border:1px solid var(--line);border-radius:24px;padding:18px;
    box-shadow:var(--shadow-sm);
}
.catalog-card.span-2{grid-column:1 / -1}
.table-wrap-soft{background:#fff;border-radius:18px;border:1px solid #e5edf7;padding:8px}
.status-chip{
    display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;
    font-size:12px;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text-soft);
}
.status-chip.success{background:var(--green-soft);color:#166534;border-color:#cde8d6}
.status-chip.neutral{background:#f5f8fd;color:#4c5b73;border-color:#dbe6f2}
.settings-summary{margin-top:4px}

.enhanced-project-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.project-card-enhanced{
    overflow:hidden;gap:0;padding:0;
    background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
    border:1px solid #d8e5f4;box-shadow:0 10px 28px rgba(18,38,70,.08);
}
.project-card-enhanced:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(18,38,70,.12)}
.project-card-enhanced .project-link{padding:20px 20px 16px;gap:14px;height:100%}
.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.project-doc-icon{position:relative;width:74px;height:64px;flex:0 0 auto}
.project-doc-icon .doc-layer{
    position:absolute;display:block;border-radius:14px;border:1px solid #d8e6f8;
    background:linear-gradient(180deg,#ffffff 0%,#eef5ff 100%);box-shadow:var(--shadow-sm);
}
.project-doc-icon .doc-back{width:48px;height:54px;left:6px;top:8px;opacity:.75}
.project-doc-icon .doc-mid{width:48px;height:54px;left:16px;top:4px;opacity:.9}
.project-doc-icon .doc-front{
    width:50px;height:56px;left:24px;top:0;background:linear-gradient(180deg,#ffffff 0%,#eaf3ff 100%);
}
.project-doc-icon .doc-front::before,
.project-doc-icon .doc-front::after{
    content:'';position:absolute;left:10px;right:10px;height:4px;border-radius:999px;background:#d2e2fb;
}
.project-doc-icon .doc-front::before{top:16px;box-shadow:0 10px 0 #d2e2fb,0 20px 0 #d2e2fb}
.project-code-badge{
    display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;
    background:#eef4ff;color:#33538b;font-size:12px;font-weight:700;border:1px solid #d7e4fb;
}
.project-title-wrap h3{font-size:22px;line-height:1.2;margin:0}
.project-description{min-height:48px;color:var(--text-soft)}
.project-stats-row{display:flex;flex-wrap:wrap;gap:10px}
.project-open-hint{margin-top:4px;font-weight:700;color:var(--accent)}
.project-card-actions{padding:0 20px 18px;justify-content:flex-start;border-top:1px solid #eef3fa;margin-top:auto}
.project-card-actions .button,
.project-card-actions form{margin-top:14px}

.form-card h3,
.catalog-card h3{font-size:20px}

@media (max-width: 980px){
    .catalog-grid{grid-template-columns:1fr}
    .catalog-card.span-2{grid-column:auto}
    .catalog-zone-head,.settings-note-card{flex-direction:column}
}

/* === Polished clean UI: no tech hints, more luxury cards === */
.topbar{
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.93)),
        radial-gradient(circle at 10% 10%, rgba(37,99,235,.10), transparent 34%);
    backdrop-filter: blur(14px);
}
.eyebrow{color:#6d7ea0}
.topbar h1{letter-spacing:-.04em}
.topnav a{border-radius:13px}
.topnav a.active{background:linear-gradient(135deg,#172554,#2563eb);box-shadow:0 12px 28px rgba(23,37,84,.22)}

.project-card-enhanced{
    border:1px solid rgba(200,213,232,.9);
    background:
        radial-gradient(circle at 15% 0%, rgba(37,99,235,.10), transparent 35%),
        radial-gradient(circle at 100% 20%, rgba(14,165,233,.08), transparent 34%),
        linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    box-shadow:0 18px 45px rgba(15,23,42,.09);
}
.project-card-enhanced::before{
    content:'';position:absolute;inset:0 0 auto 0;height:5px;
    background:linear-gradient(90deg,#172554,#2563eb,#06b6d4);
    opacity:.9;
}
.project-card-enhanced::after{
    content:'';position:absolute;right:-46px;top:-46px;width:126px;height:126px;border-radius:50%;
    background:rgba(37,99,235,.08);pointer-events:none;
}
.project-card-enhanced:hover{
    transform:translateY(-5px) scale(1.006);
    box-shadow:0 26px 58px rgba(15,23,42,.14);
    border-color:#b8c9e5;
}
.project-doc-icon .doc-layer{transition:transform .18s ease, box-shadow .18s ease}
.project-card-enhanced:hover .doc-back{transform:translate(-2px,2px) rotate(-4deg)}
.project-card-enhanced:hover .doc-mid{transform:translate(1px,-1px) rotate(2deg)}
.project-card-enhanced:hover .doc-front{transform:translate(3px,-3px)}
.project-code-badge{background:rgba(255,255,255,.76);backdrop-filter:blur(10px)}
.project-title-wrap h3{letter-spacing:-.03em}
.project-open-hint{
    display:inline-flex;align-items:center;align-self:flex-start;padding:9px 12px;border-radius:999px;
    background:#eef4ff;border:1px solid #d7e4fb;color:#1d4ed8;
}
.project-card-actions{background:rgba(248,251,255,.75)}
.project-card-actions .button{padding:7px 10px;font-size:12px;border-radius:11px}
.project-card-actions form{margin-top:14px}

.column{
    background:
        linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
    border-color:#dbe6f3;
}
.column-head h3{
    display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:16px;
    background:rgba(255,255,255,.72);border:1px solid #e4ecf6;
}
.column-count{
    min-width:36px;justify-content:center;background:#172554;color:#fff;border-color:#172554;
    box-shadow:0 8px 18px rgba(23,37,84,.16);
}
.status-dot{
    width:12px;height:12px;border-radius:999px;display:inline-flex;box-shadow:0 0 0 4px rgba(37,99,235,.10);
}
.task-card{
    border-color:#dfe8f4;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.task-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(15,23,42,.10);border-color:#bfcde0}
.badge,.tag,.detail-pill,.finance-status-pill{
    box-shadow:0 4px 12px rgba(15,23,42,.04);
}
.badge.danger,.finance-status-pill.danger{background:#fff1f2;color:#9f1239;border-color:#fecdd3}
.badge.warning,.finance-status-pill.warning{background:#fffbeb;color:#92400e;border-color:#fde68a}
.badge.success,.finance-status-pill.success{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.tag.warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.row-actions .button,
.row-actions button{padding:7px 9px;font-size:12px;border-radius:11px}

.catalog-card{
    position:relative;overflow:hidden;
    background:
        radial-gradient(circle at 0% 0%, rgba(37,99,235,.07), transparent 35%),
        linear-gradient(180deg,#fff 0%,#f9fbff 100%);
}
.catalog-card::after{
    content:'';position:absolute;right:-34px;top:-34px;width:96px;height:96px;border-radius:50%;background:rgba(14,165,233,.07);
}
.catalog-card > *{position:relative;z-index:1}
.summary-pill{
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    transition:transform .15s ease, box-shadow .15s ease;
}
.summary-pill:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(15,23,42,.10)}
.settings-note-card,.catalog-zone-head{box-shadow:var(--shadow-sm)}
.contract-autofill-box,
.invoice-api-progress{
    border-radius:20px;
    background:linear-gradient(180deg,#ffffff,#f8fbff);
    border:1px solid #dbe6f3;
}
.invoice-api-progress-head strong,
.contract-autofill-head strong{letter-spacing:-.01em}

@media (max-width: 720px){
    .project-card-enhanced .project-link{padding:18px}
    .project-doc-icon{width:62px;height:56px}
    .catalog-summary{display:grid;grid-template-columns:1fr}
    .summary-pill{width:100%}
}

.smart-doc-form{
    margin-top:10px;
    padding:10px;
    border-radius:14px;
    background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);
    border:1px solid #dce9f8;
}
.smart-doc-form .button{width:100%;justify-content:center}

/* Smart document recognition progress */
.smart-doc-progress{
    margin-top:10px;
    padding:12px 13px;
    border-radius:16px;
    border:1px solid #d8e5f5;
    background:linear-gradient(180deg,#ffffff 0%,#f6faff 100%);
    box-shadow:0 8px 22px rgba(24,45,80,.07);
}
.smart-doc-progress-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    font-size:13px;
    color:var(--text);
}
.smart-doc-progress-head span{
    font-weight:800;
    color:var(--accent);
    font-size:12px;
}
.smart-doc-progress-bar{
    height:8px;
    margin-top:10px;
    overflow:hidden;
    border-radius:999px;
    background:#e7eef8;
}
.smart-doc-progress-bar span{
    display:block;
    width:0%;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#2563eb,#38bdf8,#22c55e);
    transition:width .35s ease;
}
.smart-doc-progress-message{
    margin-top:9px;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}
.smart-doc-progress.is-done{
    border-color:#bfe8ce;
    background:linear-gradient(180deg,#ffffff 0%,#f0fff5 100%);
}
.smart-doc-progress.is-error{
    border-color:#fecaca;
    background:linear-gradient(180deg,#ffffff 0%,#fff6f6 100%);
}
.smart-doc-progress.is-error .smart-doc-progress-head span,
.smart-doc-progress.is-error .smart-doc-progress-message{color:#b91c1c}
.smart-doc-form .button[disabled]{opacity:.72;cursor:wait}

/* === Bookkeeping category cards === */
.bookkeeping-page .bookkeeping-forms-box{align-items:flex-start;margin-top:18px}
.bookkeeping-page .add-finance-panel{background:linear-gradient(180deg,#fff,#f9fbff)}
.bookkeeping-expense-board{margin-top:22px}
.bookkeeping-filter-card{
    padding:16px;border:1px solid #dfe8f4;border-radius:22px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    box-shadow:0 10px 26px rgba(31,45,61,.06);margin:14px 0 16px;
}
.bookkeeping-filter-grid{grid-template-columns:1.05fr 1.05fr .8fr .8fr 1.25fr;gap:12px;align-items:end}
.bookkeeping-filter-search{min-width:220px}
.filter-actions{justify-content:flex-start;margin-top:10px}
.expense-board-summary{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 18px}
.expense-board-summary .summary-pill{min-width:210px}
.expense-category-grid{display:grid;grid-template-columns:1fr;gap:14px}
.expense-category-card{
    border:1px solid #dbe6f2;border-radius:24px;background:#fff;
    box-shadow:0 10px 30px rgba(18,38,70,.07);overflow:hidden;
}
.expense-category-card summary{
    list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;
    padding:18px 20px;cursor:pointer;background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);
}
.expense-category-card summary::-webkit-details-marker{display:none}
.expense-category-card summary:hover{background:linear-gradient(135deg,#ffffff 0%,#eef6ff 100%)}
.expense-card-title-block{display:flex;align-items:center;gap:14px;min-width:0}
.expense-card-icon{
    display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:16px;
    background:linear-gradient(135deg,#fff7ed,#ffe8cc);color:#c2410c;font-size:24px;font-weight:900;
    box-shadow:inset 0 0 0 1px #fed7aa;
}
.expense-card-title-block h4{margin:0;font-size:19px;line-height:1.2}
.expense-card-total-block{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}
.expense-card-total-block strong{font-size:20px;color:#172033}
.expense-card-total-block span{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.expense-category-card[open] .expense-card-total-block span{color:var(--accent)}
.expense-card-metrics{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 16px;
    border-top:1px solid #eef3fa;background:#fbfdff;
}
.expense-card-metrics div{
    margin-top:14px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e5edf7;
}
.expense-card-metrics span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.expense-card-metrics strong{font-size:16px;color:var(--text)}
.expense-month-block{padding:0 20px 18px;background:#fbfdff}
.expense-month-head{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding:14px 0 10px;border-top:1px solid #eef3fa;
}
.expense-month-head div{display:flex;flex-direction:column;gap:3px}
.expense-month-head span{font-size:12px;color:var(--muted)}
.expense-table-wrap{border-radius:18px;background:#fff;border:1px solid #e5edf7;overflow:auto}
.expense-detail-table td,.expense-detail-table th{vertical-align:top}
.expense-detail-table td:nth-child(2){min-width:190px}
.expense-detail-table td:nth-child(4){min-width:220px;max-width:420px;white-space:normal}
.table-action-cell{width:1%;white-space:nowrap}
.compact-empty{margin:0 20px 18px;padding:18px;border-radius:18px}
.compact-income-list{max-height:680px;overflow:auto;padding-right:4px}

@media (max-width: 1100px){
    .bookkeeping-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .bookkeeping-filter-search{grid-column:1 / -1}
}
@media (max-width: 720px){
    .expense-category-card summary{align-items:flex-start;flex-direction:column}
    .expense-card-total-block{align-items:flex-start}
    .expense-card-metrics{grid-template-columns:1fr}
    .bookkeeping-filter-grid{grid-template-columns:1fr}
    .expense-board-summary .summary-pill{width:100%}
}

/* === Bookkeeping card subpages === */
.bookkeeping-home,
.bookkeeping-cards-page,
.bookkeeping-category-page{position:relative;overflow:hidden}
.bookkeeping-door-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.bookkeeping-door-card{
    position:relative;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;
    padding:24px;border-radius:28px;border:1px solid #dde8f5;background:#fff;box-shadow:var(--shadow-sm);
    overflow:hidden;color:var(--text);text-decoration:none;transition:.18s ease;
}
.bookkeeping-door-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(21,37,66,.12);text-decoration:none}
.bookkeeping-door-card::before{content:'';position:absolute;inset:auto -80px -100px auto;width:230px;height:230px;border-radius:999px;opacity:.16;filter:blur(2px)}
.expense-door::before{background:#ef4444}.income-door::before{background:#10b981}
.bookkeeping-door-icon{
    width:60px;height:60px;border-radius:20px;display:grid;place-items:center;font-size:34px;font-weight:900;
    background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #dce8f5;box-shadow:var(--shadow-sm)
}
.expense-door .bookkeeping-door-icon{color:#dc2626}.income-door .bookkeeping-door-icon{color:#059669}
.bookkeeping-door-card h3{margin:4px 0 8px;font-size:24px}.bookkeeping-door-card p{margin:0;color:var(--text-soft);line-height:1.45}
.door-stats{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.door-stats span{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;background:#f6f9fe;border:1px solid #e1ebf7;color:var(--text-soft);font-size:13px}.door-stats strong{color:var(--text)}
.breadcrumbs-soft{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;font-size:13px;color:var(--muted)}
.breadcrumbs-soft a{color:var(--accent);font-weight:700}.breadcrumbs-soft strong{color:var(--text)}
.bookkeeping-stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.bookkeeping-stat-pill{
    padding:16px;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dde8f5;box-shadow:var(--shadow-sm)
}
.bookkeeping-stat-pill span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.bookkeeping-stat-pill strong{font-size:20px}
.bookkeeping-card-filters{background:#fff;border:1px solid #dde8f5;border-radius:24px;padding:16px;margin:16px 0 22px;box-shadow:var(--shadow-sm)}
.bookkeeping-filter-grid{grid-template-columns:1.1fr .8fr .8fr 1.4fr auto;align-items:end}
.filter-actions-row .button{width:100%;justify-content:center}
.accounting-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px;align-items:stretch}
.accounting-card{
    --card-accent:#3b82f6;position:relative;display:flex;flex-direction:column;gap:12px;min-height:230px;
    padding:20px;border-radius:28px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    border:1px solid #dce7f4;box-shadow:0 12px 32px rgba(20,38,70,.08);color:var(--text);text-decoration:none;overflow:hidden;transition:.18s ease;
}
.accounting-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(20,38,70,.13);text-decoration:none}
.accounting-card::before{content:'';position:absolute;inset:0 0 auto 0;height:5px;background:var(--card-accent)}
.accounting-card-glow{position:absolute;right:-70px;bottom:-90px;width:210px;height:210px;border-radius:999px;background:var(--card-accent);opacity:.11;pointer-events:none}
.accounting-card-head{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.accounting-card-mark{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb, var(--card-accent) 13%, white);color:var(--card-accent);font-size:27px;font-weight:900;border:1px solid color-mix(in srgb, var(--card-accent) 24%, white)}
.accounting-card-count{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e3edf7;color:var(--muted);font-size:12px;font-weight:700}
.accounting-card h3{position:relative;z-index:1;margin:6px 0 0;font-size:21px;line-height:1.18}
.accounting-card-total{position:relative;z-index:1;font-size:26px;font-weight:900;letter-spacing:-.04em;color:var(--text)}
.accounting-card-meta{position:relative;z-index:1;display:grid;gap:7px;margin-top:auto;color:var(--text-soft);font-size:13px}
.accounting-card-meta span{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid #eef3fa}
.accounting-card-open{position:relative;z-index:1;margin-top:4px;font-weight:800;color:var(--card-accent)}
.add-accounting-card{border-style:dashed;background:linear-gradient(180deg,#fbfdff,#f5f9ff);align-items:center;justify-content:center;text-align:center;cursor:pointer;color:var(--text)}
.add-accounting-card:hover{border-color:var(--accent)}
.add-card-plus{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:#fff;border:1px solid #dce8f5;box-shadow:var(--shadow-sm);font-size:34px;font-weight:900;color:var(--accent)}
.add-accounting-card strong{font-size:20px}.add-accounting-card small{color:var(--muted)}
.bookkeeping-month-stack{display:grid;gap:18px;margin-top:18px}
.bookkeeping-month-card{background:#fff;border:1px solid #dce8f5;border-radius:24px;padding:18px;box-shadow:var(--shadow-sm)}
.bookkeeping-month-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.bookkeeping-month-head h3{margin:0;font-size:21px}.bookkeeping-month-head p{margin:4px 0 0;color:var(--muted)}.bookkeeping-month-head strong{font-size:22px}
.accounting-entry-table .numeric{text-align:right;white-space:nowrap}
.bookkeeping-expense-theme .bookkeeping-stat-pill strong,.bookkeeping-expense-theme .bookkeeping-month-head strong{color:#dc2626}
.bookkeeping-income-theme .bookkeeping-stat-pill strong,.bookkeeping-income-theme .bookkeeping-month-head strong{color:#059669}
@supports not (background: color-mix(in srgb, red 10%, white)){
    .accounting-card-mark{background:#f8fbff;border-color:#e3edf7}
}
@media (max-width: 1080px){
    .bookkeeping-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions-row{grid-column:1/-1}
}
@media (max-width: 760px){
    .bookkeeping-door-grid,.bookkeeping-stats-strip{grid-template-columns:1fr}
    .bookkeeping-door-card{grid-template-columns:1fr}.bookkeeping-door-icon{width:54px;height:54px}
    .accounting-card-grid{grid-template-columns:1fr}
    .bookkeeping-month-head{flex-direction:column}
}

/* === Accounting categories in system settings === */
.accounting-settings-section{position:relative;overflow:hidden}
.accounting-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.accounting-settings-column{border:1px solid #dce8f5;border-radius:22px;background:linear-gradient(180deg,#fff,#f9fbff);padding:16px;box-shadow:var(--shadow-sm)}
.accounting-settings-column.expense{--settings-accent:#dc2626}.accounting-settings-column.income{--settings-accent:#059669}
.accounting-settings-column-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.accounting-settings-column-head h4{margin:0;font-size:18px}.accounting-settings-column-head span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--settings-accent) 10%,#fff);color:var(--settings-accent);font-weight:800;font-size:12px;border:1px solid color-mix(in srgb,var(--settings-accent) 20%,#fff)}
.accounting-settings-list{display:grid;gap:10px}
.accounting-settings-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-radius:17px;background:#fff;border:1px solid #edf3fa}
.accounting-settings-item strong{display:block;line-height:1.2}.accounting-settings-item.muted-item{opacity:.62;background:#f7f9fc}
.empty-mini{padding:18px;border:1px dashed #d8e4f2;border-radius:16px;color:var(--muted);text-align:center;background:#fbfdff}
@media (max-width: 980px){.accounting-settings-grid{grid-template-columns:1fr}.accounting-settings-item{align-items:flex-start;flex-direction:column}.accounting-settings-item .row-actions{width:100%;justify-content:flex-start}}

/* === Accounting expense document attachments === */
.accounting-doc-upload-box{
    margin-top:12px;
    padding:16px;
    border-radius:18px;
    border:1px solid #dfe8f5;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}
.accounting-doc-upload-box h4{margin:0 0 12px;font-size:15px}
.accounting-doc-list{display:flex;flex-direction:column;gap:8px;min-width:190px}
.accounting-doc-chip{
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    padding:7px 8px;border-radius:12px;background:#f7fbff;border:1px solid #dbe7f5;
}
.accounting-doc-chip a{
    display:flex;align-items:center;gap:7px;min-width:0;
    color:var(--text);font-size:12px;font-weight:700;text-decoration:none;
}
.accounting-doc-chip a:hover{color:var(--accent)}
.accounting-doc-chip a span{
    flex:0 0 auto;padding:3px 7px;border-radius:999px;
    background:#eef4ff;color:#31558f;font-size:10px;text-transform:uppercase;letter-spacing:.04em;
}
.accounting-doc-chip form{margin:0;flex:0 0 auto}
.tiny-button{padding:3px 7px;border-radius:999px;font-size:12px;line-height:1}

/* === Global all-projects dashboard === */
.global-dashboard-panel{position:relative;overflow:hidden}
.global-dashboard-panel::before{
    content:'';position:absolute;inset:0 0 auto 0;height:180px;pointer-events:none;
    background:radial-gradient(circle at 15% 0%,rgba(37,99,235,.13),transparent 42%),radial-gradient(circle at 88% 8%,rgba(20,184,166,.12),transparent 34%);
}
.global-dashboard-panel > *{position:relative}
.global-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 20px}
.global-metric-card{
    padding:18px;border-radius:24px;background:rgba(255,255,255,.88);
    border:1px solid #dbe7f5;box-shadow:0 12px 30px rgba(18,38,70,.08);
    display:flex;flex-direction:column;gap:8px;min-height:132px;backdrop-filter:blur(8px);
}
.global-metric-card span{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.01em}
.global-metric-card strong{font-size:24px;line-height:1.12;color:var(--text)}
.global-metric-card small{color:var(--text-soft);font-weight:600}
.global-metric-card.accent-card{background:linear-gradient(135deg,#eef5ff,#ffffff)}
.global-metric-card.positive-card{background:linear-gradient(135deg,#effdf6,#ffffff);border-color:#c8efd8}
.global-metric-card.danger-card{background:linear-gradient(135deg,#fff1f2,#ffffff);border-color:#ffd2d7}
.global-dashboard-split{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:8px}
.global-summary-card{
    border:1px solid #dbe7f5;border-radius:24px;background:#fff;padding:18px;
    box-shadow:0 10px 26px rgba(18,38,70,.06);
}
.money-balance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.money-balance-list div{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:13px 14px;border-radius:18px;background:#f7fbff;border:1px solid #e1ebf7;
}
.money-balance-list span{font-size:13px;color:var(--muted);font-weight:700}
.money-balance-list strong{font-size:15px;color:var(--text)}
.status-overview-list{display:flex;flex-direction:column;gap:9px}
.status-overview-row{
    display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;
    padding:12px 13px;border-radius:16px;background:#f8fbff;border:1px solid #e1ebf7;
}
.status-overview-row span:nth-child(2){font-weight:700;color:var(--text-soft)}
.status-overview-row strong{font-size:18px;color:var(--text)}
.project-card-with-money .project-description{min-height:44px}
.project-money-mini{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:2px;
}
.project-money-mini div{
    border:1px solid #e1ebf7;border-radius:16px;background:#f8fbff;padding:10px 11px;
}
.project-money-mini span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin-bottom:5px}
.project-money-mini strong{display:block;font-size:14px;color:var(--text)}
.detail-pill.good-pill{background:#ecfdf5;color:#166534;border-color:#c8efd8}
.detail-pill.bad-pill{background:#fff1f2;color:#be123c;border-color:#ffd2d7}
@media (max-width:1180px){.global-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
    .global-metrics-grid,.global-dashboard-split,.money-balance-list{grid-template-columns:1fr}
    .global-metric-card{min-height:auto}
}

/* === Better all-projects overview: same visual language as task board === */
.projects-home-panel{position:relative;overflow:hidden}
.projects-home-panel::before{
    content:'';
    position:absolute;
    inset:0 0 auto 0;
    height:120px;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(248,251,255,.96) 0%,rgba(248,251,255,0) 100%);
}
.projects-home-panel > *{position:relative}
.overview-top-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin:8px 0 18px;
}
.overview-panel-card{
    min-height:126px;
    justify-content:space-between;
}
.overview-panel-card .task-panel-count{min-width:42px}
.overview-big-money{
    font-size:22px;
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.02em;
    color:var(--text);
    word-break:break-word;
}
.overview-panel-card.good-overview{background:linear-gradient(180deg,#f8fff8 0%,#eaf8ef 100%);border-color:#d3ebd9}
.overview-panel-card.bad-overview{background:linear-gradient(180deg,#fff7f8 0%,#ffedf1 100%);border-color:#f2ccd6}
.overview-kanban-board{
    grid-template-columns:1fr 1fr .85fr;
    align-items:start;
}
.overview-column{
    min-height:unset;
    background:linear-gradient(180deg,#fbfdff 0%,#f4f8fd 100%);
}
.overview-stack{min-height:unset}
.overview-task-card{gap:10px}
.overview-task-card .task-topline strong{display:flex;align-items:center;gap:8px}
.overview-value{
    font-size:24px;
    line-height:1.15;
    font-weight:900;
    color:var(--text);
    letter-spacing:-.02em;
    word-break:break-word;
}
.overview-value.positive{color:#15803d}
.overview-value.negative{color:#be123c}
.overview-task-card.income-card{background:linear-gradient(180deg,#fbfffd 0%,#eefbf3 100%);border-color:#d6ecd9}
.overview-task-card.expense-card{background:linear-gradient(180deg,#fffaf5 0%,#fff0dd 100%);border-color:#f0dfc4}
.overview-task-card.buyer-soft-card{background:linear-gradient(180deg,#f7fbff 0%,#eaf5ff 100%);border-color:#d4e7fb}
.overview-task-card.supplier-soft-card{background:linear-gradient(180deg,#fffaf3 0%,#fff3df 100%);border-color:#efddbb}
.overview-task-card.danger-soft-card{background:linear-gradient(180deg,#fff7f8 0%,#ffedf1 100%);border-color:#f2ccd6}
.overview-mini-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.overview-mini-row span{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:12px;
    border-radius:16px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.76);
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}
.overview-mini-row strong{font-size:14px;color:var(--text);font-weight:900}
.status-stack{gap:9px}
.status-task-card{padding:12px 13px;border-radius:16px;box-shadow:0 6px 16px rgba(20,37,63,.045)}
.status-task-card .task-topline strong{display:flex;align-items:center;gap:9px;font-size:14px}
.status-task-card .column-count{padding:5px 9px;font-size:13px}
.compact-empty{padding:14px;border-radius:16px}
.project-task-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
    gap:16px;
}
.project-task-card{
    padding:0;
    overflow:hidden;
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
.project-task-card .task-link{padding:16px}
.project-task-card:hover{transform:translateY(-2px)}
.project-card-money-grid{gap:10px}
.project-card-money-grid .task-meta-box{
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.82);
}
.project-card-money-grid .task-meta-box strong{
    font-size:15px;
    line-height:1.2;
    word-break:break-word;
}
.project-task-actions{
    background:rgba(248,251,255,.78);
    border-top:1px solid #edf3fb;
    padding:12px 16px 16px;
    margin:0;
}
.project-task-actions .button{padding:7px 10px;font-size:12px;border-radius:11px}
.project-open-hint{color:var(--accent);font-weight:800}

@media (max-width:1180px){
    .overview-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .overview-kanban-board{grid-template-columns:1fr}
}
@media (max-width:820px){
    .overview-top-grid,.overview-mini-row,.project-card-money-grid{grid-template-columns:1fr!important}
    .project-task-grid{grid-template-columns:1fr}
    .overview-big-money,.overview-value{font-size:20px}
}

/* Supplier invoice analysis pricing controls */
.document-pricing-box{
    margin:10px 0 12px;
    padding:12px;
    border:1px solid #dbe7f5;
    border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.document-pricing-box.manual-mode{border-color:#bfd3f0;background:linear-gradient(180deg,#fff 0%,#f3f8ff 100%)}
.toggle-line{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--text);font-size:13px;margin:0}
.document-pricing-manual{margin-top:10px;padding-top:10px;border-top:1px dashed #d8e5f4}
.mini-form-grid{display:grid;gap:8px;margin-bottom:8px}
.mini-form-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}
.mini-form-grid label{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.mini-form-grid input{margin-top:5px;padding:8px 9px;border-radius:11px;font-size:13px;min-height:36px}
@media (max-width: 900px){.mini-form-grid.four-col{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 560px){.mini-form-grid.four-col{grid-template-columns:1fr}}

/* Invoice pricing moved to invoice builder */
.invoice-pricing-box{
    margin:18px 0;
    padding:16px;
    border:1px solid #dbe7f5;
    border-radius:20px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    box-shadow:var(--shadow-sm);
}
.invoice-pricing-box.manual-mode{
    border-color:#b7cdef;
    background:linear-gradient(180deg,#ffffff 0%,#f1f7ff 100%);
}
.invoice-pricing-manual{
    margin-top:12px;
    padding-top:12px;
    border-top:1px dashed #d8e5f4;
}
.invoice-pricing-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
}


/* Invoice draft / recalculation safeguards */
.invoice-draft-notice{
    margin:16px 0;
    padding:14px 16px;
    border-radius:18px;
    border:1px solid #d8e5f4;
    background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%);
    box-shadow:var(--shadow-sm);
    color:var(--text-soft);
}
.invoice-draft-notice strong{color:var(--text)}
.invoice-draft-notice.warning{
    border-color:#f3d08a;
    background:linear-gradient(180deg,#fffdf5 0%,#fff8e7 100%);
}

/* Explicit invoice build workflow */
.invoice-build-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:12px 0;
}
.finance-status-pill.neutral{
    color:#334155;
    background:linear-gradient(180deg,#f8fafc 0%, #eef4fb 100%);
    border-color:#d8e4f0;
}


/* Invoice header refinements: brand left, invoice info right */
.invoice-reference-header-modern{grid-template-columns:minmax(0,1fr) 310px;gap:38px;align-items:start;margin-bottom:54px}
.invoice-seller-brand-row{display:flex;align-items:flex-start;gap:18px;max-width:560px}
.invoice-seller-name-area{padding-top:8px;min-width:0}
.invoice-seller-name-area h2{font-size:25px;line-height:1.08;color:#0f172a;margin:0;letter-spacing:-.02em}
.invoice-seller-details-small{margin-top:10px;max-width:560px;white-space:pre-line;line-height:1.32;font-size:12.5px;color:#475569}
.invoice-reference-header-modern .invoice-logo-area{min-height:auto;display:flex;align-items:flex-start;justify-content:flex-start;flex:0 0 auto}
.invoice-reference-header-modern .invoice-logo-img{max-width:210px;max-height:82px;object-fit:contain}
.invoice-reference-header-modern .invoice-info-grid{grid-template-columns:120px 1fr}
.invoice-signature-zone{min-height:270px;gap:40px;align-items:center}
.invoice-stamp-img{width:260px!important;height:260px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;display:block}
.invoice-signature-img{max-width:170px;max-height:80px;object-fit:contain}
@media (max-width: 760px){
  .invoice-reference-header-modern{grid-template-columns:1fr;margin-bottom:36px}
  .invoice-seller-brand-row{flex-direction:column;gap:12px}
}

/* Supplier document sets: one + button = one contract+invoice package */
.supplier-set-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 18px;
    border:1px solid var(--line);
    border-radius:20px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    box-shadow:var(--shadow-sm);
    margin-bottom:16px;
}
.supplier-set-add-button{white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.supplier-set-plus{font-size:20px;line-height:1;font-weight:800}
.supplier-set-list{display:grid;gap:14px}
.supplier-set-card{
    border:1px solid #dbe7f6;
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 24px rgba(25,45,80,.07);
    padding:16px;
}
.supplier-set-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.supplier-set-card h4{margin:0;font-size:18px}
.supplier-set-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.supplier-set-file{
    border:1px solid #e5edf7;
    border-radius:18px;
    background:#f8fbff;
    padding:14px;
    min-height:112px;
}
.supplier-set-file-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.supplier-set-file-link{display:inline-block;font-weight:700;word-break:break-word;color:var(--text)}
.supplier-set-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.supplier-set-actions form{display:inline-flex}
.supplier-set-empty{margin:0}
.supplier-set-legacy-note{margin-top:12px;padding:12px 14px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px}
.supplier-set-create-modal{max-width:760px}
.supplier-set-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}
.supplier-set-form .attachment-upload-inline{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border:1px solid #e5edf7;border-radius:18px;padding:14px;background:#f8fbff}
.muted-block.compact{padding:10px 12px;border-radius:14px;font-size:13px}
@media (max-width: 760px){
    .supplier-set-toolbar{flex-direction:column;align-items:stretch}
    .supplier-set-files,.supplier-set-upload-grid{grid-template-columns:1fr}
}


.supplier-set-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:16px;
}
.supplier-set-totals{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}
.supplier-set-total-box{
    border:1px solid #e4edf8;
    border-radius:16px;
    background:#f8fbff;
    padding:12px 14px;
}
.supplier-set-total-box span{
    display:block;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    margin-bottom:6px;
}
.supplier-set-total-box strong{
    font-size:18px;
    line-height:1.2;
}
.status-chip.success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}
.status-chip.warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.status-chip.danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
@media (max-width: 760px){
    .supplier-set-summary-grid,.supplier-set-totals{grid-template-columns:1fr}
}


.supplier-set-inline-create{
    margin-bottom:16px;
    border:1px solid #dbe7f6;
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    box-shadow:var(--shadow-sm);
    padding:16px;
}
.supplier-set-inline-create.hidden{display:none}
.supplier-set-inline-create-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}
.supplier-set-inline-create-head h4{margin:0 0 4px;font-size:18px}
.supplier-set-form-status{margin-top:10px;font-size:13px;color:var(--muted)}
.supplier-set-form-status.error{color:#b42318}
@media (max-width: 760px){
    .supplier-set-inline-create-head{flex-direction:column;align-items:stretch}
}

.status-chip.neutral{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.compact-actions{flex-wrap:wrap;justify-content:flex-end}
.finance-entry-allocation-summary{margin-top:10px;padding-top:10px;border-top:1px dashed #d7e2ef;display:flex;flex-direction:column;gap:6px}
.allocation-modal{z-index:1200}
.allocation-modal-card{width:min(980px,100%)}
.allocation-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.allocation-list{display:flex;flex-direction:column;gap:14px;max-height:52vh;overflow:auto;padding-right:4px}
.allocation-row{border:1px solid #dbe7f6;border-radius:20px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.allocation-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.allocation-row-head h4{margin:0 0 4px;font-size:18px}
.allocation-row-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.allocation-stat{border:1px solid #e5edf7;border-radius:16px;background:#fff;padding:12px}
.allocation-stat span{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.allocation-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.allocation-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #e5edf7}
.allocation-form-status.error{color:#b42318}
.supplier-set-coverage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-2px 0 14px}
.supplier-set-coverage-box{border:1px solid #e4edf8;border-radius:16px;background:#f8fbff;padding:12px 14px}
.supplier-set-coverage-box span{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.supplier-set-coverage-box strong{font-size:16px;line-height:1.2}
@media (max-width: 900px){
    .allocation-summary-grid,.allocation-row-stats,.supplier-set-coverage{grid-template-columns:1fr}
    .allocation-input-grid{grid-template-columns:1fr}
    .allocation-form-footer{flex-direction:column;align-items:stretch}
}

.supplier-set-name-row input{max-width:420px}
.supplier-set-title-form{display:flex;gap:10px;align-items:center;margin:-2px 0 14px;flex-wrap:wrap}
.supplier-set-title-form input{min-width:280px;flex:1}
.supplier-set-head-main{display:flex;flex-direction:column;gap:4px}
.supplier-set-files-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.supplier-set-file-group{border:1px solid #e4edf8;border-radius:20px;background:#f8fbff;padding:14px}
.supplier-set-file-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.supplier-set-attachment-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.supplier-set-attachment-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid #e5edf7;border-radius:16px;background:#fff;padding:12px}
.supplier-set-attachment-meta{display:flex;flex-direction:column;gap:4px;min-width:0}
.supplier-set-extra-upload{margin-top:6px}
.finance-entry-top-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.finance-entry-card-pending{border-color:#fed7aa;background:linear-gradient(180deg,#fff 0%,#fffbeb 100%)}
@media (max-width: 900px){
  .supplier-set-files-grid{grid-template-columns:1fr}
  .supplier-set-attachment-item{flex-direction:column}
  .supplier-set-title-form{flex-direction:column;align-items:stretch}
  .finance-entry-top-right{justify-content:flex-start}
}


/* V8 compact supplier sets polish */
.soft-slate{
    background:linear-gradient(180deg,#fbfcfe 0%,#f1f5f9 100%);
    border-color:#d8e1eb;
}
.soft-amber{
    background:linear-gradient(180deg,#fffaf2 0%,#fff4de 100%);
    border-color:#f1dfb6;
}
.docs-modal-card{
    width:min(940px,100%);
}
#supplierDocsModal .modal-card{
    padding:18px;
}
#supplierDocsModal .modal-head{
    margin-bottom:12px;
}
#supplierDocsModal .inline-actions{
    gap:8px;
}
#supplierDocsModal .button.small,
#supplierDocsModal .small,
#supplierDocsModal .supplier-set-title-form button,
#supplierDocsModal .supplier-set-extra-upload .upload-submit,
#supplierDocsModal .supplier-set-extra-upload .upload-pick{
    padding:6px 10px;
    font-size:11px;
    border-radius:10px;
}
#supplierDocsModal .supplier-set-add-button{
    padding:7px 11px;
    font-size:12px;
    border-radius:11px;
}
.supplier-set-summary-grid{
    gap:10px;
    margin-bottom:10px;
}
.supplier-set-summary-grid .task-meta-box{
    padding:12px 13px;
    border-radius:14px;
}
.supplier-set-summary-grid .task-meta-box strong{
    font-size:17px;
}
.supplier-set-list{
    gap:10px;
}
.supplier-set-card{
    padding:12px;
    border-radius:14px;
    box-shadow:0 6px 16px rgba(15,23,42,.04);
    background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.supplier-set-card-head{
    margin-bottom:10px;
}
.supplier-set-card h4{
    font-size:16px;
}
.supplier-set-title-form{
    gap:8px;
    margin:0 0 10px;
}
.supplier-set-title-form input{
    min-width:220px;
    padding:8px 11px;
    border-radius:11px;
}
.supplier-set-totals,
.supplier-set-coverage{
    gap:8px;
}
.supplier-set-total-box,
.supplier-set-coverage-box{
    padding:10px 11px;
    border-radius:12px;
}
.supplier-set-total-box strong,
.supplier-set-coverage-box strong{
    font-size:15px;
}
.supplier-set-total-box-supplier{
    background:linear-gradient(180deg,#fffaf2 0%,#fff4df 100%);
    border-color:#f2dfb8;
}
.supplier-set-total-box-buyer{
    background:linear-gradient(180deg,#f2fbf6 0%,#e8f8ee 100%);
    border-color:#d2ebdb;
}
.supplier-set-total-box-margin{
    background:linear-gradient(180deg,#f5f9ff 0%,#ecf3ff 100%);
    border-color:#d9e5fa;
}
.supplier-set-coverage-allocated{
    background:linear-gradient(180deg,#eef8ff 0%,#e6f3ff 100%);
    border-color:#cfe4f7;
}
.supplier-set-coverage-pending{
    background:linear-gradient(180deg,#fff9ec 0%,#fff2d6 100%);
    border-color:#f5dfab;
}
.supplier-set-coverage-paid{
    background:linear-gradient(180deg,#f0fbf3 0%,#e5f7ea 100%);
    border-color:#cfe8d6;
}
.supplier-set-files-grid{
    gap:10px;
}
.supplier-set-file-group{
    padding:11px;
    border-radius:14px;
}
.supplier-set-file-group-contract{
    background:linear-gradient(180deg,#f5f9ff 0%,#edf4ff 100%);
    border-color:#d8e5fb;
}
.supplier-set-file-group-invoice{
    background:linear-gradient(180deg,#fffaf2 0%,#fff4e3 100%);
    border-color:#f2e0be;
}
.supplier-set-file-group-head{
    margin-bottom:8px;
}
.supplier-set-attachment-list{
    gap:8px;
    margin-bottom:10px;
}
.supplier-set-attachment-item{
    gap:10px;
    padding:10px;
    border-radius:12px;
}
.supplier-set-actions{
    gap:6px;
    margin-top:8px;
}
.supplier-set-file-link{
    font-size:13px;
}
.supplier-set-inline-create{
    padding:12px;
    border-radius:14px;
    background:linear-gradient(180deg,#f9fbff 0%,#f2f7ff 100%);
}
.supplier-set-inline-create-head{
    margin-bottom:8px;
}
.supplier-set-inline-create-head h4{
    font-size:16px;
}
.supplier-set-upload-grid{
    gap:10px;
}
.supplier-set-upload-card{
    padding:11px;
    border-radius:13px;
    border:1px solid #e2e8f0;
    background:#fff;
}
.supplier-set-upload-card-contract{
    background:linear-gradient(180deg,#f6f9ff 0%,#eff5ff 100%);
    border-color:#d8e5fb;
}
.supplier-set-upload-card-invoice{
    background:linear-gradient(180deg,#fffaf2 0%,#fff4e5 100%);
    border-color:#f2e0bf;
}
.supplier-set-upload-card label{
    font-size:12px;
}
.supplier-set-form .attachment-upload-inline{
    gap:8px;
    border:none;
    padding:0;
    background:transparent;
}
.supplier-set-form-status{
    margin-top:8px;
}
#supplierDocsModal .upload-file-name{
    font-size:12px;
}
@media (max-width: 760px){
    #supplierDocsModal .modal-card{
        padding:14px;
    }
    .supplier-set-card{
        padding:10px;
    }
    .supplier-set-total-box,
    .supplier-set-coverage-box,
    .supplier-set-file-group{
        padding:9px 10px;
    }
}


/* V9 document library + manual invoice source selection */
.supplier-set-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.supplier-library-card{border:1px solid #d7e6f6;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);padding:14px;margin:12px 0 16px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.supplier-library-section+.supplier-library-section{margin-top:12px;padding-top:12px;border-top:1px dashed #d8e6f6}
.supplier-library-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.supplier-library-list{display:flex;flex-direction:column;gap:8px}
.supplier-library-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e4edf7;border-radius:14px;background:#fff;padding:10px 12px}
.supplier-library-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.supplier-library-main a{font-weight:700;word-break:break-word}
.supplier-library-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.supplier-library-actions select{min-width:180px;max-width:240px}
.buyer-linked-docs-box{background:linear-gradient(180deg,#f8fbff 0%,#f6fffb 100%)}
.invoice-source-selector{display:flex;flex-direction:column;gap:14px;margin:12px 0}
.invoice-source-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.invoice-source-group{border:1px solid #dce7f4;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);padding:12px}
.invoice-source-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.invoice-source-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto;padding-right:2px}
.compact-list-block{max-height:180px}
.invoice-source-item{display:flex;align-items:flex-start;gap:10px;border:1px solid #e5edf7;border-radius:12px;background:#fff;padding:8px 10px}
.invoice-source-item.active-source{border-color:#c9d8ff;background:#f8fbff}
.invoice-source-item input{margin-top:3px}
.invoice-source-item-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.invoice-source-title{font-weight:700;line-height:1.25;word-break:break-word}
.source-links-box .tiny{margin-top:4px}
.compact-build-actions{align-items:center;flex-wrap:wrap}
@media(max-width:980px){
  .supplier-set-link-grid,.invoice-source-groups{grid-template-columns:1fr}
  .supplier-library-item{flex-direction:column;align-items:flex-start}
  .supplier-library-actions{justify-content:flex-start}
}

/* V10 resilient single-file library + picker details */
.supplier-picker-details{border:1px solid #dce7f4;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);padding:0;overflow:hidden}
.supplier-picker-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-weight:700}
.supplier-picker-details summary::-webkit-details-marker{display:none}
.supplier-picker-details[open] summary{border-bottom:1px solid #e5edf7;background:#f8fbff}
.supplier-picker-body{padding:10px 12px}
.supplier-picker-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;padding-right:2px}
.supplier-picker-item{display:flex;align-items:flex-start;gap:10px;border:1px solid #e5edf7;border-radius:12px;background:#fff;padding:8px 10px}
.supplier-picker-item input{margin-top:3px}
.supplier-picker-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.supplier-picker-main strong{line-height:1.25;word-break:break-word}


/* V11 compact supplier set UI */
#supplierDocsModal .supplier-set-summary-grid{display:none!important}
#supplierDocsModal .supplier-set-card{padding:10px 11px;border-radius:12px;box-shadow:none;border:1px solid #dfe8f3;background:#fff}
#supplierDocsModal .supplier-set-card-head{margin-bottom:8px}
#supplierDocsModal .supplier-set-card h4{font-size:15px;line-height:1.25}
#supplierDocsModal .supplier-set-title-form{margin:0 0 8px;gap:6px}
#supplierDocsModal .supplier-set-title-form input{padding:7px 10px;border-radius:10px;min-width:180px}
#supplierDocsModal .supplier-set-files-grid{gap:8px}
#supplierDocsModal .supplier-set-file-group{padding:9px 10px;border-radius:12px;box-shadow:none}
#supplierDocsModal .supplier-set-file-group-contract{background:#f4f8ff;border-color:#d9e6fb}
#supplierDocsModal .supplier-set-file-group-invoice{background:#fff8ee;border-color:#f4e2bf}
#supplierDocsModal .supplier-set-attachment-item{padding:8px 9px;border-radius:10px;background:#fff;border:1px solid #e5edf6}
#supplierDocsModal .supplier-set-actions{gap:5px;margin-top:6px}
#supplierDocsModal .flat-action,#supplierDocsModal .tiny-button,#supplierDocsModal .supplier-set-add-button{padding:4px 8px;min-height:auto;border-radius:9px;font-size:11px;line-height:1.1;box-shadow:none}
#supplierDocsModal .button.flat-action.primary,#supplierDocsModal .button.flat-action.subtle,#supplierDocsModal .button.flat-action.danger,#supplierDocsModal .supplier-set-add-button{background:#f6f8fb;border-color:#d8e1ec;color:#334155}
#supplierDocsModal .button.flat-action.danger{background:#fff5f5;border-color:#fecaca;color:#b91c1c}
#supplierDocsModal .smart-doc-form{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
#supplierDocsModal .smart-doc-form .button{width:auto;justify-content:center}
#supplierDocsModal .smart-doc-progress{margin-top:4px;padding:6px 8px;border-radius:10px;box-shadow:none;background:#f8fbff}
#supplierDocsModal .smart-doc-progress-head{font-size:11px;gap:8px}
#supplierDocsModal .smart-doc-progress-head strong{font-weight:700}
#supplierDocsModal .smart-doc-progress-head span{font-size:10px}
#supplierDocsModal .smart-doc-progress-bar{height:5px;margin-top:5px}
#supplierDocsModal .smart-doc-progress-message{margin-top:5px;font-size:10px;line-height:1.3}
#supplierDocsModal .supplier-library-card{border-radius:14px;padding:11px;background:#f8fafc;box-shadow:none}
#supplierDocsModal .supplier-library-section+.supplier-library-section{border-top:1px solid #e5edf6}
#supplierDocsModal .supplier-set-inline-create{padding:10px 11px;border-radius:12px;box-shadow:none}
#supplierDocsModal .supplier-set-upload-card{padding:9px 10px;border-radius:12px}
#supplierDocsModal .supplier-set-upload-card-contract{background:#f4f8ff;border:1px solid #d9e6fb}
#supplierDocsModal .supplier-set-upload-card-invoice{background:#fff8ee;border:1px solid #f4e2bf}
#supplierDocsModal .supplier-picker-details{border-radius:12px;overflow:hidden}
#supplierDocsModal .supplier-picker-details summary{padding:8px 10px;font-size:12px}
#supplierDocsModal .supplier-picker-body{padding:8px 10px;background:#fff}
@media (max-width: 900px){#supplierDocsModal .supplier-set-files-grid{grid-template-columns:1fr}}

/* V12 dense one-line supplier set actions */
#supplierDocsModal .supplier-set-card,
#supplierDocsModal .supplier-library-card,
#supplierDocsModal .supplier-set-inline-create{background:#fff}
#supplierDocsModal .supplier-set-card-head{align-items:center}
#supplierDocsModal .supplier-set-head-main{gap:2px}
#supplierDocsModal .supplier-set-file-group-head{align-items:center;margin-bottom:6px}
#supplierDocsModal .supplier-set-attachment-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:7px 8px;
}
#supplierDocsModal .supplier-set-attachment-meta{gap:2px}
#supplierDocsModal .supplier-set-file-link{font-size:12px;line-height:1.25}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:4px;
  margin-top:0;
  overflow-x:auto;
  padding-bottom:1px;
  scrollbar-width:thin;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline form,
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline a{
  flex:0 0 auto;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .flat-action,
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .tiny-button{
  height:24px;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0;
  line-height:24px;
  border-width:1px;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-form{
  position:relative;
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:0;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-progress{
  position:absolute;
  left:0;
  top:calc(100% + 5px);
  min-width:220px;
  max-width:260px;
  margin-top:0;
  padding:5px 7px;
  border-radius:10px;
  border:1px solid #dbe8f7;
  background:#ffffff;
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  z-index:25;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-progress-head{font-size:10px;gap:6px}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-progress-head span{font-size:9px}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-progress-bar{height:4px;margin-top:4px}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-progress-message{font-size:9px;line-height:1.25;margin-top:4px}
#supplierDocsModal .action-open{background:#eef5ff!important;border-color:#c8dcff!important;color:#1d4ed8!important}
#supplierDocsModal .action-main{background:#f2f7f4!important;border-color:#cfe6d8!important;color:#166534!important}
#supplierDocsModal .action-detect-supplier{background:#ede9fe!important;border-color:#d9ccff!important;color:#6d28d9!important}
#supplierDocsModal .action-detect-amounts{background:#fff4db!important;border-color:#f6d58a!important;color:#b45309!important}
#supplierDocsModal .action-unlink{background:#f8fafc!important;border-color:#d9e2ec!important;color:#475569!important}
#supplierDocsModal .action-delete{background:#fff1f2!important;border-color:#fecdd3!important;color:#be123c!important}
#supplierDocsModal .supplier-set-add-button{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}
#supplierDocsModal .supplier-set-title-form{align-items:center;gap:6px}
#supplierDocsModal .supplier-set-title-form button{height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700}
#supplierDocsModal .supplier-set-title-form input{height:30px;padding:0 10px}
#supplierDocsModal .supplier-set-inline-create-head,
#supplierDocsModal .supplier-library-head{align-items:center}
#supplierDocsModal .supplier-set-upload-card{padding:8px 9px}
#supplierDocsModal .supplier-set-inline-create-head h4,
#supplierDocsModal .supplier-set-card h4{font-size:14px}
#supplierDocsModal .supplier-set-list{gap:8px}
#supplierDocsModal .supplier-set-files-grid{gap:8px}
#supplierDocsModal .supplier-set-file-group{padding:8px 9px}
#supplierDocsModal .supplier-library-item{padding:8px 9px;border-radius:11px}
#supplierDocsModal .supplier-library-actions{gap:6px}
#supplierDocsModal .supplier-library-actions .button,
#supplierDocsModal .supplier-library-actions select{height:28px;min-height:28px}
@media (max-width: 900px){
  #supplierDocsModal .supplier-set-attachment-item{grid-template-columns:1fr}
  #supplierDocsModal .supplier-set-actions.supplier-set-actions-inline{padding-top:2px}
}


/* V14 supplier docs modal: wider, with normal modal scroll and inline progress */
#supplierDocsModal{
  align-items:flex-start;
  padding-top:24px;
  padding-bottom:24px;
}
#supplierDocsModal .modal-card.docs-modal-card{
  width:min(1460px,96vw);
  max-width:1460px;
  max-height:calc(100vh - 48px);
  overflow:auto;
}
#supplierDocsModal .docs-panel-stack{
  overflow:visible;
}
#supplierDocsModal .supplier-set-attachment-item{
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline{
  overflow:visible;
  flex-wrap:nowrap;
  gap:5px;
  align-items:flex-start;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .flat-action,
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .tiny-button{
  height:22px;
  min-height:22px;
  padding:0 7px;
  font-size:10px;
  line-height:22px;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-form{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-progress{
  position:static;
  min-width:0;
  max-width:260px;
  margin-top:6px;
  padding:6px 7px;
  border-radius:10px;
  border:1px solid #dbe8f7;
  background:#ffffff;
  box-shadow:none;
  z-index:auto;
}
@media (max-width: 1420px){
  #supplierDocsModal .modal-card.docs-modal-card{
    width:min(1360px,97vw);
    max-width:1360px;
  }
}
@media (max-width: 1240px){
  #supplierDocsModal .modal-card.docs-modal-card{
    width:min(1180px,98vw);
    max-width:1180px;
  }
  #supplierDocsModal .supplier-set-actions.supplier-set-actions-inline{
    flex-wrap:wrap;
  }
}


/* V15: keep parse action last and make tooltips stable */
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .smart-doc-form{order:99}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .flat-action,
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline .supplier-set-add-button,
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline a.button,
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline button.button,
#supplierDocsModal [data-tooltip]{position:relative}
#supplierDocsModal [data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  background:rgba(15,23,42,.96);
  color:#fff;
  padding:5px 8px;
  border-radius:8px;
  font-size:11px;
  line-height:1.2;
  font-weight:600;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(15,23,42,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease, visibility .12s ease, transform .12s ease;
  z-index:60;
}
#supplierDocsModal [data-tooltip]::before{
  content:'';
  position:absolute;
  left:50%;
  bottom:calc(100% + 2px);
  transform:translateX(-50%);
  border:5px solid transparent;
  border-top-color:rgba(15,23,42,.96);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease, visibility .12s ease;
  z-index:60;
}
#supplierDocsModal [data-tooltip]:hover::after,
#supplierDocsModal [data-tooltip]:hover::before,
#supplierDocsModal [data-tooltip]:focus-visible::after,
#supplierDocsModal [data-tooltip]:focus-visible::before{
  opacity:1;
  visibility:visible;
}
#supplierDocsModal [data-tooltip]:hover::after,
#supplierDocsModal [data-tooltip]:focus-visible::after{
  transform:translateX(-50%) translateY(-1px);
}
@media (max-width: 1240px){
  #supplierDocsModal [data-tooltip]::after{white-space:normal;max-width:220px;text-align:center}
}

.catalog-picker-details {
    margin-top: 10px;
    border: 1px solid #d8dde8;
    border-radius: 12px;
    background: #fafbff;
}
.catalog-picker-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 10px 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.catalog-picker-details > summary::-webkit-details-marker { display: none; }
.catalog-picker-body { padding: 0 12px 12px; }
.catalog-picker-box { display: grid; gap: 10px; }
.catalog-picker-intro { margin-bottom: 4px; }
.catalog-scope-details {
    border: 1px solid #e4e9f2;
    border-radius: 10px;
    background: #fff;
}
.catalog-scope-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 13px;
    font-weight: 600;
}
.catalog-scope-details > summary::-webkit-details-marker { display: none; }
.catalog-scope-body { padding: 0 10px 10px; display: grid; gap: 10px; }
.catalog-type-block { border-top: 1px dashed #ebeff6; padding-top: 8px; }
.catalog-type-block:first-child { border-top: 0; padding-top: 0; }
.catalog-type-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.catalog-item-list { display: grid; gap: 6px; }
.catalog-item-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid #e8ecf5;
    border-radius: 10px;
    background: #fbfcff;
}
.catalog-item-row:hover { background: #f5f8ff; }
.catalog-item-main { display: grid; gap: 2px; min-width: 0; }
.catalog-item-main strong { font-size: 13px; line-height: 1.25; word-break: break-word; }
.catalog-attach-form { margin-top: 10px; }
.compact-actions { margin-top: 8px; }
.invoice-catalog-form { margin-top: 14px; }
.invoice-source-catalog-picker > summary { color: #234; }
.supplier-create-catalog { margin-bottom: 12px; }
.compact-catalog-picker { margin-top: 10px; }
.catalog-picker-details .tag,
.catalog-scope-details .tag {
    margin-left: auto;
}

/* Shipments V17 */
.detail-summary-grid-4 {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.shipment-card,
.shipment-control-card,
.shipment-create-form,
.shipment-panel-box {
    border: 1px solid var(--line, #d8dee8);
    border-radius: 14px;
    background: #fff;
}

.shipments-modal-card {
    max-width: 1320px;
}

.shipment-panel-box {
    padding: 16px;
}

.shipment-panel-top,
.shipment-card-head,
.shipment-open-actions,
.shipment-filter-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.shipment-summary-inline {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.shipment-create-form,
.shipment-edit-form {
    margin-top: 14px;
    padding: 14px;
    background: #fbfcfe;
}

.shipment-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
}

.shipment-form-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.shipment-form-grid .shipment-wide {
    grid-column: 1 / -1;
}

.shipment-check-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 12px;
}

.shipment-check-row label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f5f7fb;
    border: 1px solid #dfe5ef;
    font-size: 12px;
}

.check-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid #dfe5ef;
    background: #f7f8fb;
    color: #4d5767;
    font-size: 12px;
    font-weight: 600;
}

.check-pill.checked {
    background: #e8f7ef;
    border-color: #8bd1a8;
    color: #1d6a3f;
}

.shipment-list,
.shipment-control-list {
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.shipment-card,
.shipment-control-card {
    padding: 14px;
}

.shipment-card h4,
.shipment-control-card h3 {
    margin: 0;
}

.shipment-head-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.shipment-progress-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eef4ff;
    border: 1px solid #cdddfd;
    color: #1e57b7;
    font-size: 12px;
    font-weight: 700;
}

.shipment-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.shipment-meta-grid > div {
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e4eaf3;
}

.shipment-meta-grid span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #6c7788;
    margin-bottom: 4px;
}

.shipment-meta-grid strong {
    font-size: 14px;
}

.shipment-source-link {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef2f8;
    text-decoration: none;
    font-size: 12px;
}

.shipment-note {
    margin-top: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #fff8df;
    border: 1px solid #f0df9a;
}

.shipment-edit-details {
    margin-top: 12px;
}

.shipment-edit-details > summary {
    cursor: pointer;
    font-weight: 600;
    color: #384150;
}

.shipment-card-overdue,
.shipment-control-card.shipment-card-overdue {
    border-color: #f1b7b7;
    background: #fff8f8;
}

.shipment-card-today,
.shipment-control-card.shipment-card-today {
    border-color: #f0d58b;
    background: #fffdf3;
}

.shipment-card-week,
.shipment-control-card.shipment-card-week {
    border-color: #bcd4ff;
    background: #f8fbff;
}

.shipment-card-completed,
.shipment-control-card.shipment-card-completed {
    border-color: #bde4c8;
    background: #f6fff9;
}

.shipment-filters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.shipment-filter-search {
    grid-column: span 2;
}

.shipment-open-actions {
    margin-top: 12px;
}

.shipment-control-card .shipment-edit-details {
    margin-top: 14px;
}

.shipment-card .inline-actions.compact-actions,
.shipment-control-card .inline-actions.compact-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

@media (max-width: 900px) {
    .shipment-filter-search {
        grid-column: span 1;
    }
}
.soft-red { background: #fff2f2; }
.soft-orange { background: #fff7ea; }
.shipment-panel-card { border-color: #d6e0f2; }

/* Shipments V18 calendar + notifications */
.header-utility-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.shipment-bell {
    position: relative;
}

.shipment-bell > summary {
    list-style: none;
}
.shipment-bell > summary::-webkit-details-marker { display: none; }

.shipment-bell-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 14px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(210,220,236,.9);
    cursor: pointer;
    color: var(--text);
    box-shadow: var(--shadow-sm);
}

.shipment-bell.has-alerts .shipment-bell-button {
    background: linear-gradient(180deg, #fff7ed 0%, #fffbf5 100%);
    border-color: #fdba74;
}

.shipment-bell-icon { font-size: 17px; line-height: 1; }
.shipment-bell-label { font-size: 13px; font-weight: 700; }
.shipment-bell-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(239,68,68,.28);
}

.shipment-bell-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(520px, calc(100vw - 28px));
    max-height: 76vh;
    overflow: auto;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid #dbe4f0;
    background: #fff;
    box-shadow: 0 28px 64px rgba(15, 23, 42, .18);
    z-index: 120;
}

.shipment-bell-menu-head,
.shipment-bell-item-top,
.shipment-bell-meta,
.shipment-bell-actions,
.shipment-calendar-head,
.shipment-calendar-nav,
.shipment-calendar-day-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.shipment-bell-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.shipment-bell-item {
    border: 1px solid #e4eaf3;
    border-radius: 14px;
    padding: 12px;
    background: #fbfdff;
}

.shipment-bell-item-overdue { background: #fff8f8; border-color: #f2c1c1; }
.shipment-bell-item-today { background: #fffdf4; border-color: #f0da8a; }
.shipment-bell-item-week { background: #f8fbff; border-color: #c8dafd; }

.shipment-bell-item-title { font-weight: 700; }
.shipment-bell-checks,
.shipment-bell-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.shipment-bell-actions form { margin: 0; }
.compact-empty { padding: 18px; margin-top: 8px; }

.shipment-calendar-box {
    margin-top: 16px;
    border: 1px solid #dbe4f0;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    padding: 14px;
}

.shipment-calendar-box-page { margin-top: 18px; }
.shipment-calendar-head h3,
.shipment-calendar-head h4 { margin: 0 0 3px; }
.shipment-calendar-month-label {
    min-width: 170px;
    text-align: center;
    font-weight: 800;
    color: #1f2937;
}

.shipment-calendar-grid {
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.shipment-calendar-weekday {
    text-align: center;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    font-weight: 700;
    padding: 4px 0;
}

.shipment-calendar-day {
    min-height: 156px;
    border: 1px solid #e5ebf3;
    border-radius: 14px;
    background: #fff;
    padding: 9px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.shipment-calendar-day.is-outside {
    background: #f8fafc;
    opacity: .72;
}
.shipment-calendar-day.is-today {
    border-color: #6ea8fe;
    box-shadow: inset 0 0 0 1px rgba(59,130,246,.16);
}
.shipment-calendar-day.has-items { background: #fcfdff; }

.shipment-calendar-items {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 3px;
}
.shipment-calendar-items::-webkit-scrollbar {
    width: 8px;
}
.shipment-calendar-items::-webkit-scrollbar-thumb {
    background: #d6dfeb;
    border-radius: 999px;
}
.shipment-calendar-items::-webkit-scrollbar-track {
    background: transparent;
}

.shipment-calendar-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: center;
    text-decoration: none;
    border-radius: 10px;
    padding: 6px 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #1f2937;
    font-size: 12px;
}

.shipment-calendar-item:hover { background: #eff6ff; border-color: #bfd5ff; }
.shipment-calendar-item-overdue { background: #fff1f2; border-color: #fecdd3; }
.shipment-calendar-item-today { background: #fff7ed; border-color: #fed7aa; }
.shipment-calendar-item-week { background: #eef4ff; border-color: #c7d7fe; }
.shipment-calendar-item-future,
.shipment-calendar-item-completed { background: #f0fdf4; border-color: #bbf7d0; }
.shipment-calendar-item-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}
.shipment-calendar-item-progress {
    font-size: 11px;
    font-weight: 800;
    color: #2563eb;
}
.shipment-calendar-more,
.shipment-calendar-empty {
    font-size: 12px;
    color: #64748b;
}
.shipment-calendar-empty {
    margin-top: auto;
    opacity: .58;
}

.shipment-card-actions-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.shipment-inline-task-actions {
    margin-top: 10px;
    justify-content: flex-end;
}
.shipment-open-actions form,
.shipment-inline-task-actions form {
    margin: 0;
}

@media (max-width: 1180px) {
    .shipment-calendar-grid {
        grid-template-columns: repeat(7, minmax(120px, 1fr));
        overflow-x: auto;
        padding-bottom: 4px;
    }
}

@media (max-width: 900px) {
    .header-utility-row { width: 100%; justify-content: space-between; }
    .shipment-bell-menu {
        right: auto;
        left: 0;
        width: min(94vw, 520px);
    }
    .shipment-calendar-grid {
        display: flex;
        flex-direction: column;
    }
    .shipment-calendar-weekday { display: none; }
    .shipment-calendar-day { min-height: auto; }
}


/* Shipments V19 modal calendar + collapsible task calendar */
.shipment-calendar-toggle {
    margin-top: 16px;
    border: 1px solid #dbe4f0;
    border-radius: 16px;
    background: #fff;
}
.shipment-calendar-toggle > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    font-weight: 700;
    color: #1f2937;
}
.shipment-calendar-toggle > summary::-webkit-details-marker { display: none; }
.shipment-calendar-toggle > summary::after {
    content: '▾';
    font-size: 14px;
    color: #64748b;
    transition: transform .18s ease;
}
.shipment-calendar-toggle[open] > summary::after { transform: rotate(180deg); }
.shipment-calendar-toggle-title { font-size: 14px; }
.shipment-calendar-toggle-meta {
    margin-left: auto;
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
}
.shipment-calendar-box-collapsible {
    margin-top: 0;
    border: 0;
    border-top: 1px solid #edf2f7;
    border-radius: 0 0 16px 16px;
}
.shipment-calendar-item-button {
    width: 100%;
    text-align: left;
    cursor: pointer;
    appearance: none;
}
.shipment-modal {
    width: min(920px, calc(100vw - 48px));
    max-width: 920px;
    border: 0;
    border-radius: 18px;
    padding: 0;
    background: transparent;
    overflow: visible;
}
.shipment-modal::backdrop {
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(2px);
}
.shipment-control-card-modal {
    margin: 0;
    position: relative;
    background: #fff;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.26);
}
.shipment-modal-close-form {
    position: absolute;
    right: 14px;
    top: 12px;
    z-index: 4;
}
.shipment-modal-close {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid #d7e0ea;
    background: #fff;
    color: #334155;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}
.shipment-control-list-toggle {
    margin-top: 18px;
    border: 1px solid #dbe4f0;
    border-radius: 16px;
    background: #fff;
}
.shipment-control-list-toggle > summary {
    list-style: none;
    cursor: pointer;
    padding: 12px 14px;
    font-weight: 700;
    color: #334155;
}
.shipment-control-list-toggle > summary::-webkit-details-marker { display: none; }
.shipment-control-list-toggle > summary::after {
    content: '▾';
    float: right;
    color: #64748b;
}
.shipment-control-list-toggle[open] > summary::after { content: '▴'; }
.shipment-control-list-toggle .shipment-control-list { padding: 0 14px 14px; }
@media (max-width: 900px) {
    .shipment-calendar-toggle > summary {
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .shipment-calendar-toggle-meta {
        margin-left: 0;
    }
    .shipment-modal {
        width: calc(100vw - 18px);
        max-width: calc(100vw - 18px);
    }
}

/* Quick Invoice Studio */
.studio-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:18px;align-items:start}
.studio-stack{display:grid;gap:16px}
.studio-panel{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.05)}
.studio-panel h3{margin:0 0 12px}
.studio-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;align-items:end}
.studio-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.studio-form-grid .full{grid-column:1/-1}
.studio-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.studio-inline .button.small{padding:7px 10px;border-radius:10px}
.studio-field label{display:block;font-size:12px;font-weight:700;color:#475569;margin:0 0 5px}
.studio-field input,.studio-field select,.studio-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#fff;color:#0f172a}
.studio-field textarea{min-height:90px;resize:vertical}
.studio-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.studio-doc-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:4px}
.studio-doc-card{border:1px solid rgba(148,163,184,.35);border-radius:14px;padding:10px 12px;background:#fff}
.studio-doc-card.supplier{border-left:4px solid #8b5cf6;background:linear-gradient(180deg,#fcfaff 0%,#fff 100%)}
.studio-doc-card.buyer{border-left:4px solid #2563eb;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.studio-doc-card .top{display:flex;gap:8px;align-items:flex-start}
.studio-doc-card .meta{font-size:11px;color:#64748b;margin-top:4px;line-height:1.4}
.studio-doc-card .doc-title{font-size:13px;font-weight:700;color:#0f172a;line-height:1.35}
.studio-doc-card input[type=checkbox]{margin-top:3px}
.studio-selected{display:flex;flex-wrap:wrap;gap:8px}
.studio-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}
.studio-chip.supplier{background:#f3e8ff;color:#6b21a8;border-color:#d8b4fe}
.studio-chip.buyer{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
.studio-items-table{width:100%;border-collapse:separate;border-spacing:0 8px}
.studio-items-table th{font-size:12px;color:#475569;text-align:left;padding:0 8px 4px}
.studio-items-table td{padding:0 8px}
.studio-items-table input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;background:#fff}
.studio-items-table .qty{width:90px}.studio-items-table .money{width:130px}
.studio-items-table .actions{width:72px;text-align:right}
.studio-item-row td{vertical-align:top}
.studio-preview{border:1px solid rgba(148,163,184,.35);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);padding:20px}
.studio-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #e2e8f0;padding-bottom:16px;margin-bottom:16px}
.studio-preview-title{font-size:31px;font-weight:800;line-height:1;color:#0f172a}
.studio-preview-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}
.studio-preview-box{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff}
.studio-preview-box .label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:8px}
.studio-preview-box pre,.studio-preview-box .text{white-space:pre-wrap;margin:0;font:inherit;color:#0f172a}
.studio-preview-table{width:100%;border-collapse:collapse;margin-top:8px;background:#fff;border-radius:14px;overflow:hidden}
.studio-preview-table th,.studio-preview-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:13px}
.studio-preview-table th:last-child,.studio-preview-table td:last-child,.studio-preview-table th:nth-last-child(2),.studio-preview-table td:nth-last-child(2){text-align:right}
.studio-preview-total{display:flex;justify-content:flex-end;margin-top:16px}
.studio-preview-total table{min-width:280px;border-collapse:collapse}
.studio-preview-total td{padding:7px 0 7px 14px}
.studio-preview-total tr:last-child td{font-size:18px;font-weight:800;border-top:2px solid #0f172a;padding-top:10px}
.studio-muted{font-size:12px;color:#64748b}
.studio-source-box{padding:12px;border-radius:14px;border:1px dashed #cbd5e1;background:#f8fafc}
.studio-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.studio-actions .button{border-radius:12px}
.studio-subtle{background:#fff;border:1px solid #cbd5e1;color:#334155}
.studio-note{font-size:12px;color:#475569;line-height:1.45}
@media (max-width: 1200px){.studio-grid{grid-template-columns:1fr}.studio-filters{grid-template-columns:1fr 1fr}.studio-doc-grid{grid-template-columns:1fr}.studio-preview-cols{grid-template-columns:1fr}}
@media (max-width: 760px){.studio-filters,.studio-form-grid{grid-template-columns:1fr}.studio-items-table{display:block;overflow:auto}.studio-preview-head{flex-direction:column}.studio-preview-title{font-size:26px}}


/* V22A quick invoice studio layout hotfix */
.quick-invoice-studio-page{
  position:relative;
  overflow:visible;
}
.quick-invoice-studio-page .section-head{
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
}
.quick-invoice-studio-page .section-head > *{
  min-width:0;
}
.quick-invoice-studio-page .section-subtitle{
  max-width:980px;
}
.quick-invoice-studio-page .studio-grid{
  display:grid;
  grid-template-columns:minmax(380px,0.95fr) minmax(0,1.05fr);
  gap:20px;
  align-items:start;
}
.quick-invoice-studio-page .studio-stack{
  min-width:0;
}
.quick-invoice-studio-page .studio-panel,
.quick-invoice-studio-page .studio-preview,
.quick-invoice-studio-page .studio-source-box,
.quick-invoice-studio-page .studio-doc-card,
.quick-invoice-studio-page .studio-preview-box{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.quick-invoice-studio-page .studio-panel,
.quick-invoice-studio-page .studio-preview{
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.quick-invoice-studio-page .studio-filters,
.quick-invoice-studio-page .studio-form-grid,
.quick-invoice-studio-page .studio-doc-grid,
.quick-invoice-studio-page .studio-preview-cols{
  min-width:0;
}
.quick-invoice-studio-page .studio-field,
.quick-invoice-studio-page .studio-source-box,
.quick-invoice-studio-page .studio-doc-list,
.quick-invoice-studio-page .studio-selected{
  min-width:0;
}
.quick-invoice-studio-page .studio-field input,
.quick-invoice-studio-page .studio-field select,
.quick-invoice-studio-page .studio-field textarea,
.quick-invoice-studio-page .studio-items-table input{
  max-width:100%;
  box-sizing:border-box;
}
.quick-invoice-studio-page .studio-actions{
  justify-content:flex-start;
}
.quick-invoice-studio-page .studio-actions .button{
  white-space:nowrap;
}
.quick-invoice-studio-page .studio-doc-grid{
  align-items:start;
}
.quick-invoice-studio-page .studio-doc-list{
  max-height:300px;
  overflow:auto;
  scrollbar-gutter:stable;
}
.quick-invoice-studio-page .studio-doc-card .top{
  min-width:0;
}
.quick-invoice-studio-page .studio-doc-card .top > div{
  min-width:0;
}
.quick-invoice-studio-page .studio-doc-card .doc-title,
.quick-invoice-studio-page .studio-doc-card .meta,
.quick-invoice-studio-page .studio-chip,
.quick-invoice-studio-page .studio-preview-box .text,
.quick-invoice-studio-page .studio-preview-table td,
.quick-invoice-studio-page .studio-preview-table th{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.quick-invoice-studio-page .studio-preview{
  min-width:0;
}
.quick-invoice-studio-page .studio-preview-head{
  flex-wrap:wrap;
}
.quick-invoice-studio-page .studio-preview-total{
  overflow:auto;
}
.quick-invoice-studio-page .studio-items-table{
  table-layout:fixed;
}
.quick-invoice-studio-page .studio-items-table td,
.quick-invoice-studio-page .studio-items-table th{
  min-width:0;
}
.quick-invoice-studio-page .studio-items-table .actions{
  width:54px;
}
@media (max-width: 1380px){
  .quick-invoice-studio-page .studio-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 900px){
  .quick-invoice-studio-page .studio-filters,
  .quick-invoice-studio-page .studio-form-grid,
  .quick-invoice-studio-page .studio-doc-grid,
  .quick-invoice-studio-page .studio-preview-cols{
    grid-template-columns:1fr;
  }
}

/* V22B full quick invoice studio redesign */
.quick-invoice-studio-page{
  padding:28px;
}
.quick-invoice-studio-page .section-head{
  align-items:flex-start;
  gap:18px;
  margin-bottom:22px;
}
.quick-invoice-studio-page .section-subtitle{
  max-width:1100px;
}
.quick-invoice-studio-page .studio-page-stack{
  display:grid;
  gap:18px;
}
.quick-invoice-studio-page .studio-catalog-bar,
.quick-invoice-studio-page .studio-editor-shell,
.quick-invoice-studio-page .studio-section-card,
.quick-invoice-studio-page .studio-toolbar-card,
.quick-invoice-studio-page .studio-preview--fullwidth{
  position:relative;
  overflow:visible;
}
.quick-invoice-studio-page .studio-catalog-bar,
.quick-invoice-studio-page .studio-toolbar-card,
.quick-invoice-studio-page .studio-section-card,
.quick-invoice-studio-page .studio-preview--fullwidth{
  background:#fff;
  border:1px solid #d9e3ef;
  border-radius:20px;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.quick-invoice-studio-page .studio-catalog-bar,
.quick-invoice-studio-page .studio-toolbar-card,
.quick-invoice-studio-page .studio-section-card{
  padding:18px 20px;
}
.quick-invoice-studio-page .studio-editor-shell{
  display:grid;
  gap:18px;
}
.quick-invoice-studio-page .studio-catalog-head,
.quick-invoice-studio-page .studio-section-headline,
.quick-invoice-studio-page .studio-toolbar-card{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.quick-invoice-studio-page .studio-toolbar-card{
  padding:18px 20px;
}
.quick-invoice-studio-page .studio-toolbar-actions{
  justify-content:flex-end;
}
.quick-invoice-studio-page .studio-filters-wide{
  display:grid;
  grid-template-columns:260px 320px minmax(360px,1fr);
  gap:14px;
  align-items:end;
  margin-top:16px;
}
.quick-invoice-studio-page .studio-wide-grid{
  display:grid;
  gap:14px;
}
.quick-invoice-studio-page .studio-wide-grid-4{
  grid-template-columns:repeat(4,minmax(220px,1fr));
}
.quick-invoice-studio-page .studio-wide-grid-2,
.quick-invoice-studio-page .studio-meta-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.quick-invoice-studio-page .studio-span-2{
  grid-column:1 / -1;
}
.quick-invoice-studio-page .studio-field input,
.quick-invoice-studio-page .studio-field select,
.quick-invoice-studio-page .studio-field textarea,
.quick-invoice-studio-page .studio-items-table input{
  width:100%;
  min-width:0;
  padding:12px 14px;
  border-radius:13px;
  border:1px solid #cfd9e6;
  background:#fcfdff;
}
.quick-invoice-studio-page .studio-field textarea{
  min-height:104px;
}
.quick-invoice-studio-page .studio-source-options{
  margin-top:14px;
  padding-top:12px;
  border-top:1px dashed #d7e1ee;
}
.quick-invoice-studio-page .studio-doc-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.quick-invoice-studio-page .studio-library-pane{
  border:1px solid #dce5f0;
  border-radius:18px;
  padding:14px;
  background:#fbfdff;
  min-width:0;
}
.quick-invoice-studio-page .studio-library-pane-supplier{
  background:linear-gradient(180deg,#fcfaff 0%,#ffffff 100%);
}
.quick-invoice-studio-page .studio-library-pane-buyer{
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}
.quick-invoice-studio-page .studio-library-title{
  font-size:13px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#516174;
  margin-bottom:12px;
}
.quick-invoice-studio-page .studio-doc-list-tall{
  display:grid;
  gap:10px;
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.quick-invoice-studio-page .studio-doc-card{
  padding:12px 14px;
  border-radius:16px;
}
.quick-invoice-studio-page .studio-doc-card .top{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:10px;
}
.quick-invoice-studio-page .studio-doc-card .top > div,
.quick-invoice-studio-page .studio-doc-card .doc-title,
.quick-invoice-studio-page .studio-doc-card .meta,
.quick-invoice-studio-page .studio-chip,
.quick-invoice-studio-page .studio-preview-box .text,
.quick-invoice-studio-page .studio-preview-table th,
.quick-invoice-studio-page .studio-preview-table td{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.quick-invoice-studio-page .studio-selected-wide{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.quick-invoice-studio-page .studio-items-wrap{
  overflow-x:auto;
}
.quick-invoice-studio-page .studio-items-table-wide{
  width:100%;
  min-width:980px;
  table-layout:fixed;
}
.quick-invoice-studio-page .studio-items-table-wide .qty{width:110px}
.quick-invoice-studio-page .studio-items-table-wide .money{width:160px}
.quick-invoice-studio-page .studio-items-table-wide .actions{width:64px;text-align:right}
.quick-invoice-studio-page .studio-preview--fullwidth{
  padding:22px;
}
.quick-invoice-studio-page .studio-preview-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  align-items:flex-start;
}
.quick-invoice-studio-page .studio-preview-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.quick-invoice-studio-page .studio-preview-bottom,
.quick-invoice-studio-page .studio-preview-box-notes{
  margin-top:16px;
}
.quick-invoice-studio-page .studio-preview-total{
  margin-top:18px;
  overflow-x:auto;
}
.quick-invoice-studio-page .studio-preview-total table{
  min-width:340px;
}
.quick-invoice-studio-page .studio-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.quick-invoice-studio-page .studio-actions .button{
  white-space:nowrap;
}
@media (max-width: 1280px){
  .quick-invoice-studio-page .studio-wide-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .quick-invoice-studio-page .studio-filters-wide{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 900px){
  .quick-invoice-studio-page{
    padding:18px;
  }
  .quick-invoice-studio-page .studio-doc-columns,
  .quick-invoice-studio-page .studio-wide-grid-2,
  .quick-invoice-studio-page .studio-wide-grid-4,
  .quick-invoice-studio-page .studio-filters-wide,
  .quick-invoice-studio-page .studio-preview-cols{
    grid-template-columns:1fr;
  }
  .quick-invoice-studio-page .studio-items-table-wide{
    min-width:760px;
  }
}

/* Quick Invoice Studio focused flow V22C */
body.studio-modal-open{overflow:hidden}
.quick-invoice-studio-page--focused .studio-editor-shell--focused{display:grid;gap:18px}
.quick-invoice-studio-page--focused .studio-hero-card{
  display:grid;
  gap:16px;
  padding:24px;
  border:1px solid rgba(148,163,184,.26);
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 18px 42px rgba(15,23,42,.07)
}
.quick-invoice-studio-page--focused .studio-hero-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#2563eb;
  margin-bottom:6px
}
.quick-invoice-studio-page--focused .studio-hero-copy h3{margin:0 0 8px;font-size:28px;line-height:1.1}
.quick-invoice-studio-page--focused .studio-hero-copy p{margin:0;color:#475569;max-width:880px;line-height:1.55}
.quick-invoice-studio-page--focused .studio-hero-grid{display:grid;grid-template-columns:minmax(340px,1.2fr) auto;gap:16px;align-items:end}
.quick-invoice-studio-page--focused .studio-field--file input[type=file]{padding:12px;background:#fff}
.quick-invoice-studio-page--focused .studio-check-inline{padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;height:fit-content}
.quick-invoice-studio-page--focused .studio-hero-actions{gap:10px}
.quick-invoice-studio-page--focused .studio-hero-actions .button{min-height:42px;padding:10px 14px;border-radius:12px}
.quick-invoice-studio-page--focused .studio-selected-card--compact{padding:16px 18px}
.quick-invoice-studio-page--focused .studio-collapsible-card{
  border:1px solid rgba(148,163,184,.28);
  border-radius:20px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(15,23,42,.05)
}
.quick-invoice-studio-page--focused .studio-collapsible-card > summary{
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px 20px;
  cursor:pointer;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fafc 100%)
}
.quick-invoice-studio-page--focused .studio-collapsible-card > summary::-webkit-details-marker{display:none}
.quick-invoice-studio-page--focused .studio-collapsible-card > summary strong{display:block;font-size:16px;color:#0f172a}
.quick-invoice-studio-page--focused .studio-collapsible-card > summary small{display:block;margin-top:4px;font-size:12px;color:#64748b;line-height:1.45}
.quick-invoice-studio-page--focused .studio-collapsible-hint{font-size:12px;font-weight:700;color:#2563eb;white-space:nowrap}
.quick-invoice-studio-page--focused .studio-collapsible-body{display:grid;gap:16px;padding:0 18px 18px}
.quick-invoice-studio-page--focused .studio-section-card--inside{margin:0;border-radius:18px}
.quick-invoice-studio-page--focused .studio-wide-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.quick-invoice-studio-page--focused .studio-actions--tight{margin-top:14px}
.quick-invoice-studio-page--focused .studio-modal{
  position:fixed;
  inset:0;
  z-index:2200;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease
}
.quick-invoice-studio-page--focused .studio-modal.is-open{opacity:1;pointer-events:auto}
.quick-invoice-studio-page--focused .studio-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.56);
  backdrop-filter:blur(2px)
}
.quick-invoice-studio-page--focused .studio-modal__dialog{
  position:relative;
  width:min(1380px,calc(100vw - 40px));
  max-height:calc(100vh - 48px);
  display:grid;
  grid-template-rows:auto auto minmax(240px,1fr) auto;
  gap:16px;
  padding:22px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 80px rgba(15,23,42,.28);
  overflow:hidden
}
.quick-invoice-studio-page--focused .studio-modal__header,
.quick-invoice-studio-page--focused .studio-modal__footer{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px
}
.quick-invoice-studio-page--focused .studio-modal__header h3{margin:4px 0 6px;font-size:24px}
.quick-invoice-studio-page--focused .studio-modal__filters{
  display:grid;
  grid-template-columns:2fr 1fr 1.2fr 1fr;
  gap:12px;
  align-items:end
}
.quick-invoice-studio-page--focused .studio-doc-columns--modal{
  grid-template-columns:1fr 1fr;
  gap:16px;
  min-height:0
}
.quick-invoice-studio-page--focused .studio-doc-list-tall--modal{
  max-height:none;
  min-height:0;
  overflow:auto;
  padding-right:6px
}
.quick-invoice-studio-page--focused .studio-doc-card--selectable{
  border-radius:16px;
  padding:12px 14px;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease
}
.quick-invoice-studio-page--focused .studio-doc-card--selectable:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.08);border-color:rgba(37,99,235,.35)}
.quick-invoice-studio-page--focused .studio-doc-card--selectable input[type=checkbox]{transform:scale(1.1)}
.quick-invoice-studio-page--focused .studio-modal__footer{padding-top:4px;border-top:1px solid #e2e8f0}
@media (max-width: 1100px){
  .quick-invoice-studio-page--focused .studio-hero-grid,
  .quick-invoice-studio-page--focused .studio-wide-grid-3,
  .quick-invoice-studio-page--focused .studio-modal__filters,
  .quick-invoice-studio-page--focused .studio-doc-columns--modal{grid-template-columns:1fr}
  .quick-invoice-studio-page--focused .studio-modal__dialog{width:min(960px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:18px}
}
@media (max-width: 760px){
  .quick-invoice-studio-page--focused .studio-hero-copy h3{font-size:24px}
  .quick-invoice-studio-page--focused .studio-modal{padding:12px}
  .quick-invoice-studio-page--focused .studio-modal__dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:14px;border-radius:18px}
  .quick-invoice-studio-page--focused .studio-modal__header,
  .quick-invoice-studio-page--focused .studio-modal__footer{flex-direction:column}
}

/* V22D quick invoice async parse progress */
.studio-parse-progress {
  margin: 14px 0 4px;
  padding: 14px 16px;
  border: 1px solid rgba(99, 102, 241, 0.18);
  background: linear-gradient(180deg, rgba(99,102,241,0.08), rgba(59,130,246,0.04));
  border-radius: 16px;
}
.studio-parse-progress__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.studio-parse-progress__percent {
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  white-space: nowrap;
}
.studio-parse-progress__bar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
  overflow: hidden;
}
.studio-parse-progress__bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #6366f1, #3b82f6);
  transition: width .28s ease;
}
.studio-selected-card--compact .studio-chip {
  max-width: 100%;
  overflow-wrap: anywhere;
}


.studio-file-status {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #eef6ff;
    border: 1px solid #cfe2ff;
    color: #1f3b64;
    font-size: 13px;
    line-height: 1.35;
}


/* V22H quick invoice studio item grid rebuild */
.quick-invoice-studio-page--focused .studio-items-card{padding:18px}
.quick-invoice-studio-page--focused .studio-item-editor{display:grid;gap:10px}
.quick-invoice-studio-page--focused .studio-item-editor-head,
.quick-invoice-studio-page--focused .studio-item-editor-row{
  display:grid;
  grid-template-columns:minmax(340px,1.8fr) 110px 150px 150px 154px;
  gap:10px;
  align-items:start;
}
.quick-invoice-studio-page--focused .studio-item-editor-head{
  padding:0 4px;
  font-size:12px;
  font-weight:700;
  color:#475569;
}
.quick-invoice-studio-page--focused .studio-item-editor-row{
  padding:12px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}
.quick-invoice-studio-page--focused .studio-item-editor-row textarea,
.quick-invoice-studio-page--focused .studio-item-editor-row input{
  width:100%;
  min-width:0;
}
.quick-invoice-studio-page--focused .studio-item-editor-row textarea{
  min-height:76px;
  resize:vertical;
}
.quick-invoice-studio-page--focused .studio-item-col-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-height:46px;
  padding-top:2px;
}
.quick-invoice-studio-page--focused .studio-item-col-actions .button{
  min-height:38px;
  padding:8px 12px;
  border-radius:10px;
}
.quick-invoice-studio-page--focused .studio-item-row-number{
  font-size:12px;
  font-weight:700;
  color:#64748b;
  min-width:36px;
  text-align:right;
}
.quick-invoice-studio-page--focused .studio-item-col-total input{
  background:#f8fafc;
  font-weight:700;
}
.quick-invoice-studio-page--focused .studio-items-footnote{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#f8fafc;
  border:1px dashed #cbd5e1;
}
@media (max-width: 1180px){
  .quick-invoice-studio-page--focused .studio-item-editor-head,
  .quick-invoice-studio-page--focused .studio-item-editor-row{
    grid-template-columns:minmax(260px,1.6fr) 96px 132px 132px 140px;
  }
}
@media (max-width: 860px){
  .quick-invoice-studio-page--focused .studio-item-editor-head{display:none}
  .quick-invoice-studio-page--focused .studio-item-editor-row{
    grid-template-columns:1fr 1fr;
  }
  .quick-invoice-studio-page--focused .studio-item-col-desc{grid-column:1 / -1}
  .quick-invoice-studio-page--focused .studio-item-col-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
    padding-top:0;
  }
}


/* V23A Invoice Studio launcher */
.invoice-launch-shell { max-width: 1440px; margin: 0 auto; }
.invoice-launch-grid { display: grid; grid-template-columns: 1.05fr 1.2fr; gap: 18px; align-items: start; }
.invoice-launch-card { padding: 18px 20px; }
.invoice-launch-form .full-span, .invoice-reference-form .full-span { grid-column: 1 / -1; }
.invoice-studio-doc-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.invoice-studio-doc-pane { border: 1px solid rgba(15, 23, 42, .08); border-radius: 16px; background: #fff; padding: 14px; }
.invoice-studio-doc-pane h4 { margin: 0 0 10px; }
.invoice-studio-doc-list { display: grid; gap: 10px; }
.invoice-studio-doc-item { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px; background: #f8fafc; border: 1px solid rgba(148, 163, 184, .25); }
.invoice-studio-doc-item.slim { align-items: flex-start; }
.invoice-studio-doc-main { min-width: 0; }
.invoice-studio-doc-main strong, .invoice-studio-doc-main div { overflow-wrap: anywhere; }
.invoice-studio-doc-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 1040px) {
  .invoice-launch-grid, .invoice-studio-doc-columns { grid-template-columns: 1fr; }
}

/* V25E supplier documents: clean manual workflow */
#supplierDocsModal .docs-modal-card{max-width:1120px}
#supplierDocsModal .docs-panel-stack{gap:14px}
#supplierDocsModal .supplier-set-inline-create,
#supplierDocsModal .supplier-set-card,
#supplierDocsModal .supplier-library-card{
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  background:#ffffff!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
}
#supplierDocsModal .supplier-set-inline-create{padding:18px!important}
#supplierDocsModal .supplier-set-inline-create-head{padding:0!important;margin-bottom:14px!important;border:0!important;background:transparent!important}
#supplierDocsModal .supplier-set-inline-create-head h4,
#supplierDocsModal .supplier-set-card h4{font-size:17px!important;line-height:1.25!important;margin:0!important;color:#0f172a!important}
#supplierDocsModal .supplier-set-manual-grid,
#supplierDocsModal .supplier-set-edit-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr)!important;
  gap:12px!important;
  align-items:start!important;
  margin-bottom:14px!important;
}
#supplierDocsModal .supplier-set-manual-grid .form-row,
#supplierDocsModal .supplier-set-title-form,
#supplierDocsModal .supplier-set-amount-form{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
}
#supplierDocsModal .supplier-set-title-form,
#supplierDocsModal .supplier-set-amount-form{
  grid-template-columns:1fr auto!important;
  align-items:end!important;
  padding:12px!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  background:#f8fafc!important;
}
#supplierDocsModal .supplier-set-title-form label,
#supplierDocsModal .supplier-set-amount-form label{grid-column:1 / -1!important}
#supplierDocsModal .supplier-set-title-form input,
#supplierDocsModal .supplier-set-amount-form input,
#supplierDocsModal .supplier-set-manual-grid input{
  width:100%!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border:1px solid #cbd5e1!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#supplierDocsModal .supplier-set-amount-hint{grid-column:1 / -1!important;margin-top:-2px!important}
#supplierDocsModal .supplier-set-upload-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
#supplierDocsModal .supplier-set-upload-card,
#supplierDocsModal .supplier-set-file-group{
  padding:14px!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
#supplierDocsModal .supplier-set-upload-card-contract,
#supplierDocsModal .supplier-set-file-group-contract,
#supplierDocsModal .supplier-set-upload-card-invoice,
#supplierDocsModal .supplier-set-file-group-invoice{background:#f8fafc!important;border-color:#e2e8f0!important}
#supplierDocsModal .catalog-picker-details{border:1px dashed #cbd5e1!important;border-radius:14px!important;background:#f8fafc!important;padding:10px 12px!important;margin:0 0 14px!important}
#supplierDocsModal .catalog-picker-details summary{cursor:pointer;font-weight:700;color:#334155!important}
#supplierDocsModal .supplier-set-card{padding:16px!important}
#supplierDocsModal .supplier-set-card-head{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:flex-start!important;margin-bottom:12px!important}
#supplierDocsModal .supplier-set-total-line{display:inline-flex;gap:8px;align-items:center;margin-top:7px;padding:6px 10px;border-radius:999px;background:#ecfdf5;color:#065f46;font-size:12px;font-weight:700}
#supplierDocsModal .supplier-set-total-line span{font-weight:700;color:#047857}
#supplierDocsModal .supplier-set-total-line strong{font-size:13px;color:#064e3b}
#supplierDocsModal .supplier-set-files-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:12px!important}
#supplierDocsModal .supplier-set-file-group-head{display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:flex-start!important;margin-bottom:10px!important}
#supplierDocsModal .supplier-set-attachment-list{display:grid!important;gap:8px!important;margin-bottom:10px!important}
#supplierDocsModal .supplier-set-attachment-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:10px 12px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#fff!important;
}
#supplierDocsModal .supplier-set-file-link{font-size:13px!important;font-weight:700!important;color:#1d4ed8!important;overflow-wrap:anywhere!important}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline{display:flex!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important;align-items:center!important;max-width:320px!important}
#supplierDocsModal .supplier-set-actions.supplier-set-actions-inline form{display:inline-flex!important;margin:0!important}
#supplierDocsModal .flat-action,
#supplierDocsModal .tiny-button,
#supplierDocsModal .supplier-set-title-form button,
#supplierDocsModal .supplier-set-amount-form button{
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
#supplierDocsModal .supplier-set-form .form-actions{margin-top:14px!important;justify-content:flex-end!important}
#supplierDocsModal .supplier-library-card{padding:14px!important}
#supplierDocsModal .supplier-library-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;border:1px solid #e2e8f0!important;border-radius:12px!important;background:#fff!important;padding:10px 12px!important}
#supplierDocsModal .supplier-library-actions{display:flex!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#supplierDocsModal .supplier-library-actions .inline-form{display:flex!important;gap:6px!important;align-items:center!important;margin:0!important}
#supplierDocsModal .supplier-library-actions select{min-height:30px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:4px 8px}
#supplierDocsModal .smart-doc-progress{display:none!important}
#supplierDocsModal .smart-doc-progress:not(.hidden){display:block!important}
#supplierDocsModal .smart-doc-form{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important}
@media (max-width: 860px){
  #supplierDocsModal .supplier-set-manual-grid,
  #supplierDocsModal .supplier-set-edit-grid,
  #supplierDocsModal .supplier-set-upload-grid,
  #supplierDocsModal .supplier-set-files-grid{grid-template-columns:1fr!important}
  #supplierDocsModal .supplier-set-attachment-item,
  #supplierDocsModal .supplier-library-item{grid-template-columns:1fr!important}
  #supplierDocsModal .supplier-set-actions.supplier-set-actions-inline,
  #supplierDocsModal .supplier-library-actions{justify-content:flex-start!important;max-width:none!important}
}


/* V25F supplier docs: manual recognition button and stable new-set focus */
#supplierDocsModal .supplier-set-card:target{
  outline:3px solid rgba(37,99,235,.22)!important;
  box-shadow:0 18px 42px rgba(37,99,235,.14)!important;
}
#supplierDocsModal .compact-smart-doc-form{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important}
#supplierDocsModal .compact-smart-doc-form .smart-doc-progress{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:12px!important;
  z-index:5!important;
  max-width:520px!important;
  padding:10px 12px!important;
  border:1px solid #dbeafe!important;
  border-radius:12px!important;
  background:#eff6ff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.12)!important;
}
#supplierDocsModal .action-detect-supplier,
#supplierDocsModal .action-detect-amounts{
  background:#eef2ff!important;
  border-color:#c7d2fe!important;
  color:#3730a3!important;
}
#supplierDocsModal .action-detect-supplier:hover,
#supplierDocsModal .action-detect-amounts:hover{
  background:#e0e7ff!important;
}

/* V25I: supplier document set deletion controls */
.supplier-set-head-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
    flex:0 0 auto;
}
.supplier-set-delete-form{
    margin:0;
}
.supplier-set-delete-button{
    border-color:#fecaca!important;
    color:#b91c1c!important;
    background:#fff7f7!important;
}
.supplier-set-delete-button:hover{
    background:#fee2e2!important;
    color:#991b1b!important;
}
#supplierDocsModal .supplier-set-head-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    gap:8px!important;
}
@media (max-width:760px){
    .supplier-set-card-head{flex-direction:column;align-items:stretch}
    .supplier-set-head-actions{align-items:flex-start}
}

/* V25L task action items / reports */
.task-panel-grid{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.task-panel-card.action-items-card{
    background:linear-gradient(180deg,#f8f7ff 0%, #f0edff 100%);
    border-color:#ddd6fe;
}
.task-panel-count.attention-count,
.tag.tag-alert{
    background:#fee2e2;
    color:#991b1b;
    border-color:#fecaca;
}
.action-items-section-card{
    margin:6px 0 18px;
    border-color:#ddd6fe;
    background:linear-gradient(180deg,#ffffff 0%, #fbfaff 100%);
}
.task-action-create-form{
    margin:12px 0 16px;
    padding:14px;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:rgba(255,255,255,.86);
}
.task-action-form-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    gap:14px;
    align-items:start;
}
.task-action-textarea-label textarea,
.task-action-report-label textarea{
    min-height:74px;
}
.task-action-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.task-action-item-card{
    padding:14px;
    border:1px solid #e4eaf3;
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow-sm);
}
.task-action-item-card.task-action-status-in_progress{
    background:linear-gradient(180deg,#fffdf5 0%, #fff7e5 100%);
    border-color:#fed7aa;
}
.task-action-item-card.task-action-status-done{
    background:linear-gradient(180deg,#f7fff9 0%, #edf9f0 100%);
    border-color:#bbf7d0;
    opacity:.88;
}
.task-action-item-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.task-action-item-title{
    font-size:15px;
    font-weight:800;
    line-height:1.45;
    color:var(--text);
    margin-bottom:6px;
}
.task-action-update-form{
    margin-top:12px;
    padding:12px;
    border-radius:16px;
    background:rgba(248,250,252,.85);
    border:1px solid rgba(148,163,184,.2);
}
.task-action-update-grid{
    display:grid;
    grid-template-columns:180px minmax(0,1fr) auto;
    gap:12px;
    align-items:end;
}
.task-action-form-buttons{
    display:flex;
    align-items:end;
    justify-content:flex-end;
}
.task-action-comments{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:12px;
}
.task-action-comment{
    padding:10px 12px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e5edf6;
    font-size:13px;
    line-height:1.45;
}
.task-action-delete-form{
    margin-top:10px;
    text-align:right;
}
.shipment-bell-divider{
    height:1px;
    background:#e5eaf2;
    margin:14px 0;
}
.action-bell-head{
    align-items:flex-start;
}
.action-bell-item-in_progress{
    background:#fffaf0;
    border-color:#fed7aa;
}
.action-bell-item-accepted{
    background:#fbfdff;
    border-color:#dbeafe;
}
@media (max-width:760px){
    .task-action-form-grid,
    .task-action-update-grid{
        grid-template-columns:1fr;
    }
    .task-action-form-buttons{
        justify-content:stretch;
    }
    .task-action-form-buttons .button{
        width:100%;
    }
    .task-action-item-top{
        flex-direction:column;
    }
}

/* V25M — polished Action Items workspace (Trello/Asana-like usability) */
.action-items-workspace{
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(132, 150, 176, .32);
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 18px 45px rgba(31, 42, 68, .08);
}
.action-items-hero{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    margin-bottom: 14px;
}
.action-items-hero h3{
    margin: 0 0 6px;
    font-size: 22px;
    letter-spacing: -0.02em;
}
.action-items-hero .section-subtitle{
    max-width: 820px;
    margin: 0;
    color: #64748b;
    line-height: 1.45;
}
.action-items-hero-stats{
    display: grid;
    grid-template-columns: repeat(3, minmax(80px, 1fr));
    gap: 10px;
    min-width: 300px;
}
.action-stat-card{
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    padding: 12px 14px;
    text-align: center;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.action-stat-card strong{
    display: block;
    font-size: 22px;
    line-height: 1;
    color: #0f172a;
}
.action-stat-card small{
    display: block;
    margin-top: 5px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.action-stat-card.is-hot{
    border-color: #fed7aa;
    background: #fff7ed;
}
.action-stat-card.is-calm{
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.task-action-summary-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0 16px;
}
.task-action-summary-pill{
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #334155;
    text-decoration: none;
    font-weight: 800;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.task-action-summary-pill:hover{
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
    border-color: #cbd5e1;
}
.task-action-summary-pill strong{
    margin-left: auto;
    color: #0f172a;
    font-size: 16px;
}
.task-action-summary-dot{
    width: 9px;
    height: 9px;
    border-radius: 999px;
    display: inline-block;
    flex: 0 0 auto;
    background: #94a3b8;
    box-shadow: 0 0 0 4px rgba(148, 163, 184, .16);
}
.task-action-summary-accepted .task-action-summary-dot,
.task-action-column-accepted .task-action-summary-dot{ background: #f59e0b; box-shadow: 0 0 0 4px rgba(245, 158, 11, .16); }
.task-action-summary-in_progress .task-action-summary-dot,
.task-action-column-in_progress .task-action-summary-dot{ background: #2563eb; box-shadow: 0 0 0 4px rgba(37, 99, 235, .14); }
.task-action-summary-done .task-action-summary-dot,
.task-action-column-done .task-action-summary-dot{ background: #16a34a; box-shadow: 0 0 0 4px rgba(22, 163, 74, .16); }
.task-action-composer{
    border: 1px solid #dbeafe;
    border-radius: 22px;
    background: #ffffff;
    padding: 14px;
    margin-bottom: 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 14px 34px rgba(37, 99, 235, .07);
}
.task-action-composer-main{
    display: block;
}
.task-action-composer-main > span,
.task-action-composer-status > span,
.task-action-report-label > span{
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.task-action-composer textarea,
.task-action-update-form textarea{
    width: 100%;
    resize: vertical;
    min-height: 78px;
    border-radius: 16px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    padding: 12px 14px;
    line-height: 1.45;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.task-action-composer textarea:focus,
.task-action-update-form textarea:focus,
.task-action-composer select:focus{
    outline: none;
    border-color: #60a5fa;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(96, 165, 250, .18);
}
.task-action-composer-footer{
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-top: 12px;
}
.task-action-composer select{
    width: 100%;
    border-radius: 14px;
    border: 1px solid #cbd5e1;
    background: #fff;
    padding: 10px 12px;
    font-weight: 700;
}
.task-action-composer-hint{
    align-self: center;
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
}
.task-action-add-button{
    min-height: 42px;
    border-radius: 14px;
    padding: 0 18px;
    white-space: nowrap;
}
.task-action-board{
    display: grid;
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    gap: 14px;
    align-items: start;
}
.task-action-column{
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    background: rgba(248,250,252,.92);
    padding: 12px;
    min-width: 0;
}
.task-action-column-head{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}
.task-action-column-title{
    display: flex;
    align-items: center;
    gap: 9px;
    color: #0f172a;
    font-weight: 900;
}
.task-action-column-head small{
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}
.task-action-column-count{
    display: inline-flex;
    min-width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #0f172a;
    font-weight: 900;
}
.task-action-column-list{
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.task-action-item-card{
    border: 1px solid #e2e8f0;
    border-left-width: 5px;
    border-radius: 18px;
    background: #fff;
    padding: 13px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
}
.task-action-status-accepted{ border-left-color: #f59e0b; }
.task-action-status-in_progress{ border-left-color: #2563eb; }
.task-action-status-done{ border-left-color: #16a34a; opacity: .88; }
.task-action-item-top{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}
.task-action-item-title{
    color: #0f172a;
    font-weight: 850;
    line-height: 1.42;
    word-break: break-word;
}
.task-action-item-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    margin-top: 7px;
    color: #64748b;
    font-size: 12px;
}
.task-action-status-toggle{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 10px;
    padding: 4px;
    border-radius: 14px;
    background: #f1f5f9;
}
.task-action-status-option{
    margin: 0;
    cursor: pointer;
}
.task-action-status-option input{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.task-action-status-option span{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 32px;
    padding: 7px 8px;
    border-radius: 11px;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.task-action-status-option input:checked + span{
    background: #fff;
    color: #0f172a;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .10);
}
.task-action-status-option-accepted input:checked + span{ color: #92400e; }
.task-action-status-option-in_progress input:checked + span{ color: #1d4ed8; }
.task-action-status-option-done input:checked + span{ color: #15803d; }
.task-action-card-actions{
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
}
.task-action-card-actions .button{
    min-height: 34px;
    border-radius: 11px;
}
.subtle-danger{
    background: #fff7f7 !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca !important;
}
.task-action-comments{
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed #cbd5e1;
}
.task-action-comments-title{
    margin-bottom: 8px;
    color: #334155;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.task-action-comment{
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 10px 11px;
    margin-bottom: 8px;
}
.task-action-comment:last-child{ margin-bottom: 0; }
.task-action-empty-column{
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    padding: 18px 12px;
    color: #94a3b8;
    text-align: center;
    background: rgba(255,255,255,.62);
    font-size: 13px;
}
.action-items-card .task-panel-count.attention-count{
    background: #f97316;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, .16);
}
.shipment-bell-menu{
    border-radius: 22px;
    border: 1px solid rgba(148, 163, 184, .32);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
    overflow: hidden;
}
.action-bell-head{
    background: linear-gradient(135deg, #eff6ff, #ffffff);
}
.action-bell-list .shipment-bell-item{
    border-left: 4px solid #94a3b8;
}
.action-bell-item-accepted{ border-left-color: #f59e0b !important; }
.action-bell-item-in_progress{ border-left-color: #2563eb !important; }
.action-bell-item-done{ border-left-color: #16a34a !important; }
@media (max-width: 1180px){
    .action-items-hero{ grid-template-columns: 1fr; }
    .action-items-hero-stats{ min-width: 0; }
    .task-action-board{ grid-template-columns: 1fr; }
}
@media (max-width: 760px){
    .action-items-workspace{ padding: 13px; border-radius: 18px; }
    .action-items-hero-stats,
    .task-action-summary-grid,
    .task-action-composer-footer,
    .task-action-status-toggle{ grid-template-columns: 1fr; }
    .task-action-item-top,
    .task-action-card-actions{ flex-direction: column; align-items: stretch; }
    .task-action-status-option span{ justify-content: flex-start; }
}

/* V25N: Drag & drop for task action items */
.task-action-dnd-hint{
    display:flex;
    align-items:center;
    gap:10px;
    margin:12px 0 16px;
    padding:10px 12px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:linear-gradient(135deg,#eff6ff,#ffffff);
    color:#1e3a8a;
    font-size:13px;
    font-weight:750;
}
.task-action-dnd-icon{
    display:inline-flex;
    width:28px;
    height:28px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#2563eb;
    color:#fff;
    box-shadow:0 8px 18px rgba(37,99,235,.22);
}
.task-action-board.is-drag-active .task-action-column{
    transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.task-action-board.is-saving{
    cursor:progress;
}
.task-action-column-list{
    min-height:78px;
    border-radius:18px;
    transition:background .16s ease,box-shadow .16s ease,outline .16s ease;
}
.task-action-column-list.action-drop-hover{
    outline:2px dashed #2563eb;
    outline-offset:4px;
    background:rgba(37,99,235,.06);
    box-shadow:inset 0 0 0 1px rgba(37,99,235,.08);
}
.task-action-item-card.is-draggable{
    cursor:grab;
    user-select:none;
    transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease,border-color .15s ease;
}
.task-action-item-card.is-draggable:active{
    cursor:grabbing;
}
.task-action-item-card.is-draggable:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 34px rgba(15,23,42,.11);
}
.task-action-item-card.is-dragging{
    opacity:.56;
    transform:rotate(.6deg) scale(.99);
    box-shadow:0 20px 42px rgba(15,23,42,.16);
}
.task-action-drag-handle{
    flex:0 0 auto;
    display:inline-flex;
    width:28px;
    height:32px;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#f1f5f9;
    color:#94a3b8;
    font-weight:900;
    letter-spacing:-4px;
    padding-right:4px;
    cursor:grab;
}
.task-action-item-card:hover .task-action-drag-handle{
    background:#e0ecff;
    color:#2563eb;
}
.task-action-empty-column.hidden{
    display:none;
}
@media (max-width: 760px){
    .task-action-dnd-hint{
        align-items:flex-start;
        font-size:12px;
    }
    .task-action-drag-handle{
        display:none;
    }
}


/* V25R logistics mail mini-agent UI */
.logistics-mail-panel.logistics-mail-agent {
    margin: 24px 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 28px;
    background: #f8fafc;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.10);
}
.logistics-mail-agent-shell {
    display: grid;
    grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
    min-height: 360px;
}
.logistics-mail-sidebar {
    padding: 22px;
    color: #eaf2ff;
    background:
        radial-gradient(circle at 20% 10%, rgba(96, 165, 250, .45), transparent 32%),
        linear-gradient(160deg, #0f172a 0%, #1e3a8a 50%, #0f766e 100%);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.logistics-mail-sidebar .muted-text,
.logistics-mail-sidebar .eyebrow { color: rgba(226, 232, 240, .78); }
.logistics-mail-sidebar h3 {
    margin: 2px 0 7px;
    color: #fff;
    font-size: 24px;
}
.mail-agent-avatar {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    font-size: 28px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.mail-agent-account-card,
.mail-agent-last-check {
    border-radius: 20px;
    padding: 14px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    backdrop-filter: blur(10px);
}
.mail-agent-account-card {
    display: flex;
    gap: 11px;
    align-items: center;
}
.mail-agent-status-dot {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fb7185;
    box-shadow: 0 0 0 5px rgba(251, 113, 133, .18);
    flex: 0 0 auto;
}
.mail-agent-account-card.is-ready .mail-agent-status-dot {
    background: #34d399;
    box-shadow: 0 0 0 5px rgba(52, 211, 153, .18);
}
.mail-agent-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.mail-agent-stats div {
    border-radius: 18px;
    padding: 12px 10px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
}
.mail-agent-stats span,
.mail-agent-last-check span {
    display: block;
    font-size: 11px;
    color: rgba(226, 232, 240, .76);
}
.mail-agent-stats strong {
    display: block;
    margin-top: 4px;
    font-size: 22px;
    color: #fff;
}
.mail-agent-last-check strong {
    display: block;
    margin: 4px 0 6px;
    color: #fff;
}
.mail-agent-last-check p {
    margin: 0;
    color: rgba(226, 232, 240, .82);
    font-size: 12px;
    line-height: 1.45;
}
.mail-agent-side-actions { margin-top: auto; }
.logistics-mail-inbox {
    padding: 22px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.96)),
        radial-gradient(circle at 80% 0%, rgba(59, 130, 246, .08), transparent 36%);
}
.mail-agent-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
    margin-bottom: 16px;
}
.mail-agent-toolbar h3 { margin: 0 0 5px; }
.mail-check-button {
    gap: 8px;
    min-width: 152px;
}
.mail-check-button.is-loading .mail-check-icon {
    display: inline-block;
    animation: mailSpin .8s linear infinite;
}
@keyframes mailSpin { to { transform: rotate(360deg); } }
.mail-check-progress {
    padding: 14px;
    margin: 0 0 16px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid rgba(59, 130, 246, .22);
    box-shadow: 0 12px 30px rgba(37, 99, 235, .08);
}
.mail-check-progress.is-success { border-color: rgba(16, 185, 129, .34); }
.mail-check-progress.is-error { border-color: rgba(239, 68, 68, .36); background: #fff7f7; }
.mail-check-progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
    margin-bottom: 10px;
}
.mail-check-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}
.mail-check-track span {
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #14b8a6);
    transition: width .35s ease;
}
.mail-check-progress.is-error .mail-check-track span { background: linear-gradient(90deg, #ef4444, #f97316); }
.mail-check-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0 8px;
}
.mail-check-steps span {
    position: relative;
    padding: 8px 8px 8px 25px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}
.mail-check-steps span::before {
    content: '';
    position: absolute;
    left: 9px;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #cbd5e1;
}
.mail-check-steps span.is-active {
    color: #1d4ed8;
    background: #dbeafe;
}
.mail-check-steps span.is-active::before { background: #2563eb; }
.mail-check-steps span.is-done {
    color: #047857;
    background: #dcfce7;
}
.mail-check-steps span.is-done::before { background: #10b981; }
.mail-agent-alert {
    padding: 13px 14px;
    margin-bottom: 16px;
    border-radius: 18px;
    border: 1px solid rgba(245, 158, 11, .34);
    background: rgba(255, 251, 235, .94);
    color: #92400e;
    font-size: 13px;
}
.mail-inbox-list {
    display: grid;
    gap: 12px;
}
.mail-inbox-item {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 13px;
    padding: 15px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .18);
    box-shadow: 0 12px 32px rgba(15, 23, 42, .055);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mail-inbox-item:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, .24);
    box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}
.mail-sender-avatar {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #1e3a8a;
    font-weight: 900;
    background: linear-gradient(135deg, #dbeafe, #ccfbf1);
    border: 1px solid rgba(59, 130, 246, .18);
}
.mail-inbox-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}
.mail-inbox-row h4 {
    margin: 0 0 5px;
    font-size: 15px;
    line-height: 1.35;
    color: #0f172a;
}
.mail-inbox-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    color: #64748b;
    font-size: 12px;
}
.mail-inbox-meta strong { color: #334155; }
.mail-inbox-right {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    align-items: center;
}
.mail-date-pill,
.mail-attach-count {
    white-space: nowrap;
    border-radius: 999px;
    padding: 6px 9px;
    background: #f1f5f9;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
}
.mail-attach-count { background: #ecfeff; color: #0e7490; }
.mail-inbox-preview {
    margin: 10px 0 0;
    color: #475569;
    font-size: 13px;
    line-height: 1.48;
}
.mail-inbox-footer {
    margin-top: 11px;
    display: grid;
    gap: 9px;
}
.mail-attachment-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.mail-body-drawer {
    border-top: 1px dashed rgba(148, 163, 184, .32);
    padding-top: 8px;
}
.mail-body-drawer summary {
    cursor: pointer;
    color: #2563eb;
    font-size: 12px;
    font-weight: 800;
}
.mail-body-drawer pre {
    white-space: pre-wrap;
    overflow: auto;
    max-height: 320px;
    margin: 10px 0 0;
    padding: 13px;
    border-radius: 16px;
    background: #0f172a;
    color: #e2e8f0;
    font-size: 12px;
    line-height: 1.45;
}
.mail-empty-state {
    min-height: 250px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 28px;
    border-radius: 24px;
    background: rgba(255,255,255,.72);
    border: 1px dashed rgba(148, 163, 184, .35);
}
.mail-empty-icon { font-size: 46px; margin-bottom: 8px; }
.mail-empty-state h4 { margin: 0 0 6px; }
.mail-empty-state p { max-width: 420px; margin: 0; color: #64748b; }

.mail-settings-agent {
    padding: 0 !important;
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .22);
    background: #f8fafc;
}
.mail-settings-hero {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 20px;
    color: #fff;
    background: linear-gradient(135deg, #0f172a, #1d4ed8 55%, #0f766e);
}
.mail-settings-hero h4 { margin: 0 0 4px; color: #fff; }
.mail-settings-hero p { margin: 0; color: rgba(226, 232, 240, .82); font-size: 13px; line-height: 1.45; }
.mail-settings-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    font-size: 28px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.2);
}
.mail-toggle-card {
    display: inline-grid;
    grid-template-columns: 46px auto;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.2);
    cursor: pointer;
}
.mail-toggle-card input { display: none; }
.mail-toggle-card span {
    width: 42px;
    height: 24px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .45);
    position: relative;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.mail-toggle-card span::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    top: 3px;
    left: 3px;
    border-radius: 50%;
    background: #fff;
    transition: transform .18s ease;
}
.mail-toggle-card input:checked + span { background: #10b981; }
.mail-toggle-card input:checked + span::after { transform: translateX(18px); }
.mail-toggle-card strong { color: #fff; font-size: 13px; }
.mail-settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .8fr);
    gap: 14px;
    padding: 16px;
}
.mail-settings-card {
    padding: 16px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .18);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}
.mail-settings-card.wide { grid-row: span 2; }
.mail-settings-card h5 { margin: 0 0 12px; font-size: 15px; }
.mail-settings-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.mail-settings-card-head h5 { margin-bottom: 4px; }
.mail-settings-card-head p { margin: 0; color: #64748b; font-size: 12px; }
.mail-settings-badge {
    height: fit-content;
    border-radius: 999px;
    padding: 6px 9px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 900;
}
.compact-mail-fields { gap: 12px; }
.mail-check-options {
    display: grid;
    gap: 10px;
    margin-top: 12px;
    font-size: 13px;
    color: #475569;
}
.mail-settings-status-card {
    padding: 14px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .2);
}
.mail-settings-status-card span { display: block; color: #64748b; font-size: 12px; }
.mail-settings-status-card strong { display: block; margin: 5px 0; color: #0f172a; }
.mail-settings-status-card p { margin: 0; color: #64748b; font-size: 12px; line-height: 1.45; }
.warning-box {
    border-color: rgba(245, 158, 11, .35) !important;
    background: rgba(255, 251, 235, .92) !important;
}
@media (max-width: 980px) {
    .logistics-mail-agent-shell { grid-template-columns: 1fr; }
    .logistics-mail-sidebar { border-radius: 0; }
    .mail-settings-grid { grid-template-columns: 1fr; }
    .mail-settings-card.wide { grid-row: auto; }
}
@media (max-width: 760px) {
    .mail-agent-toolbar,
    .mail-inbox-row { flex-direction: column; }
    .mail-check-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mail-inbox-item { grid-template-columns: 1fr; }
    .mail-settings-hero { grid-template-columns: 1fr; }
    .mail-toggle-card { width: fit-content; }
}

/* V25S: logistics mail check error controls */
.mail-check-progress-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.mail-check-progress-actions[hidden] {
    display: none !important;
}

/* V25U logistics mail deletion controls */
.button.danger-soft,
.danger-soft {
    border-color: rgba(239, 68, 68, .22) !important;
    background: #fff7f7 !important;
    color: #b91c1c !important;
}
.button.danger-soft:hover,
.danger-soft:hover {
    border-color: rgba(239, 68, 68, .36) !important;
    background: #fee2e2 !important;
    color: #991b1b !important;
}
.mail-delete-form {
    margin: 0;
}
.mail-delete-button {
    appearance: none;
    border: 1px solid rgba(239, 68, 68, .18);
    background: #fff7f7;
    color: #b91c1c;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.mail-delete-button:hover {
    background: #fee2e2;
    border-color: rgba(239, 68, 68, .36);
    color: #991b1b;
    transform: translateY(-1px);
}
.mail-delete-button:active {
    transform: translateY(0);
}

/* V25V — logistics mail SMTP compose/reply UI */
.mail-agent-smtp-card {
    margin-top: 12px;
}

.mail-compose-card,
.mail-reply-drawer {
    border: 1px solid rgba(37, 99, 235, .16);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
    margin: 14px 0 18px;
    overflow: hidden;
}

.mail-compose-card summary,
.mail-reply-drawer summary {
    cursor: pointer;
    padding: 14px 16px;
    font-weight: 800;
    color: #0f172a;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mail-compose-card summary::-webkit-details-marker,
.mail-reply-drawer summary::-webkit-details-marker {
    display: none;
}

.mail-compose-card summary::after,
.mail-reply-drawer summary::after {
    content: '+';
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef4ff;
    color: #2563eb;
    font-weight: 900;
}

.mail-compose-card[open] summary::after,
.mail-reply-drawer[open] summary::after {
    content: '–';
}

.mail-compose-form {
    padding: 0 16px 16px;
}

.mail-compose-form textarea {
    min-height: 140px;
    resize: vertical;
}

.compact-reply-form textarea {
    min-height: 110px;
}

.mail-reply-drawer {
    box-shadow: none;
    margin-top: 10px;
    background: #fff;
    border-style: dashed;
}

.mail-reply-drawer summary {
    padding: 10px 12px;
    font-size: 13px;
}

.smtp-toggle-row {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fafc;
}

.smtp-status-card {
    margin-top: 12px;
}

.mail-smtp-card {
    border-color: rgba(14, 165, 233, .18);
}

@media (max-width: 760px) {
    .mail-compose-card summary,
    .mail-reply-drawer summary {
        align-items: flex-start;
    }
}


/* V25W Sales e-mail AI Agent */
.sales-mail-page { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.94)); }
.sales-mail-head { align-items: flex-start; gap: 18px; }
.mail-progress-panel { border: 1px solid rgba(37,99,235,.18); background: rgba(239,246,255,.94); border-radius: 22px; padding: 16px 18px; margin: 12px 0 18px; box-shadow: 0 14px 40px rgba(37,99,235,.08); }
.mail-progress-title { display:flex; align-items:center; gap:10px; }
.spinner-dot { width:12px; height:12px; border-radius:999px; background:#2563eb; display:inline-block; animation: salesPulse 1s infinite ease-in-out; }
.mail-progress-bar { height:8px; background:rgba(37,99,235,.12); border-radius:999px; overflow:hidden; margin:12px 0 8px; }
.mail-progress-bar span { display:block; width:45%; height:100%; background:#2563eb; border-radius:999px; animation: salesSlide 1.4s infinite ease-in-out; }
@keyframes salesPulse { 0%,100%{opacity:.35; transform:scale(.8)} 50%{opacity:1; transform:scale(1.15)} }
@keyframes salesSlide { 0%{transform:translateX(-120%)} 100%{transform:translateX(240%)} }
.sales-mail-dashboard { display:grid; grid-template-columns: 330px minmax(0, 1fr); gap:22px; align-items:start; }
.sales-mail-sidebar { display:grid; gap:16px; position: sticky; top: 18px; }
.sales-agent-card { border-radius:26px; padding:18px; display:flex; gap:14px; align-items:center; background:linear-gradient(135deg, #111827, #1d4ed8); color:#fff; box-shadow:0 20px 50px rgba(15,23,42,.18); }
.sales-agent-card.is-offline { background:linear-gradient(135deg, #374151, #6b7280); }
.sales-agent-avatar { width:54px; height:54px; border-radius:20px; background:rgba(255,255,255,.18); display:grid; place-items:center; font-weight:800; letter-spacing:.08em; }
.sales-agent-card h3 { margin:0; color:#fff; }
.sales-agent-card p, .sales-agent-card span { display:block; margin:2px 0 0; color:rgba(255,255,255,.82); word-break:break-word; }
.sales-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sales-stat-grid div { background:#fff; border:1px solid rgba(148,163,184,.22); border-radius:18px; padding:14px; box-shadow:0 10px 28px rgba(15,23,42,.06); }
.sales-stat-grid span { display:block; font-size:12px; color:#64748b; }
.sales-stat-grid strong { font-size:26px; color:#0f172a; }
.sales-compose-card, .sales-mail-toolbar, .sales-mail-card { background:#fff; border:1px solid rgba(148,163,184,.22); border-radius:24px; box-shadow:0 14px 34px rgba(15,23,42,.07); }
.sales-compose-card { padding:18px; }
.stack-form { display:grid; gap:10px; }
.stack-form input, .stack-form textarea { width:100%; }
.sales-mail-main { min-width:0; }
.sales-mail-toolbar { padding:18px; display:flex; justify-content:space-between; gap:14px; align-items:center; margin-bottom:16px; }
.sales-mail-toolbar h3 { margin:0; }
.sales-mail-toolbar p { margin:4px 0 0; color:#64748b; }
.sales-inbox-list { display:grid; gap:16px; }
.sales-mail-card { padding:0; overflow:hidden; }
.sales-mail-card.ai-done { border-color:rgba(34,197,94,.28); }
.sales-mail-card-top { display:grid; grid-template-columns:32px 48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:18px; border-bottom:1px solid rgba(148,163,184,.18); }
.mail-select { display:grid; place-items:center; }
.sales-mail-sender-avatar { width:48px; height:48px; border-radius:18px; background:#e0f2fe; color:#0369a1; display:grid; place-items:center; font-weight:800; }
.sales-mail-title-block h4 { margin:2px 0 6px; font-size:18px; }
.sales-mail-from { font-weight:700; color:#0f172a; }
.sales-mail-meta { display:flex; gap:8px; flex-wrap:wrap; color:#64748b; font-size:12px; }
.sales-mail-actions { display:flex; gap:8px; }
.sales-mail-body-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border-bottom:1px solid rgba(148,163,184,.18); }
.sales-mail-original, .sales-mail-ai-panel { padding:18px; min-width:0; }
.sales-mail-original { background:rgba(248,250,252,.72); border-right:1px solid rgba(148,163,184,.18); }
.mini-label { display:inline-flex; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#64748b; margin-bottom:8px; font-weight:800; }
.mail-attachment-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.attachment-pill { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; background:#f1f5f9; color:#0f172a; text-decoration:none; border:1px solid rgba(148,163,184,.22); font-size:12px; }
.sales-ai-tags { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0; }
.sales-ai-tags span { background:#eef2ff; color:#3730a3; padding:5px 9px; border-radius:999px; font-size:12px; }
.sales-ai-translation { margin-top:12px; }
.sales-ai-translation summary { cursor:pointer; font-weight:700; }
.sales-ai-translation div { margin-top:10px; white-space:pre-wrap; line-height:1.55; color:#334155; }
.sales-ai-actions-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; padding:18px; border-bottom:1px solid rgba(148,163,184,.18); }
.sales-ai-box { border:1px solid rgba(148,163,184,.2); background:#f8fafc; border-radius:18px; padding:14px; min-width:0; }
.sales-ai-box h5 { margin:0 0 10px; }
.sales-ai-box ul { margin:0; padding-left:18px; }
.sales-ai-box li { margin-bottom:8px; }
.sales-ai-box span { color:#64748b; }
.sales-reply-box { padding:16px 18px; background:#fcfcfd; }
.sales-reply-box summary { cursor:pointer; font-weight:800; color:#1d4ed8; }
.sales-reply-box form { margin-top:14px; }
.sales-mail-settings-block { border-color: rgba(29,78,216,.18); }
.sales-mail-hero { background: linear-gradient(135deg, rgba(29,78,216,.08), rgba(16,185,129,.08)); }
@media (max-width: 1100px) { .sales-mail-dashboard { grid-template-columns:1fr; } .sales-mail-sidebar { position:static; } .sales-ai-actions-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 760px) { .sales-mail-card-top { grid-template-columns:28px 42px minmax(0,1fr); } .sales-mail-actions { grid-column:1/-1; } .sales-mail-body-grid { grid-template-columns:1fr; } .sales-mail-original { border-right:0; border-bottom:1px solid rgba(148,163,184,.18); } .sales-ai-actions-grid { grid-template-columns:1fr; } .sales-mail-toolbar { flex-direction:column; align-items:flex-start; } }

/* V25Y — Sales e-mail IMAP check diagnostics */
.mail-progress-panel.is-slow {
    border-color: rgba(245, 158, 11, 0.45);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(255, 247, 237, 0.96));
}
.mail-progress-panel.is-stuck {
    border-color: rgba(239, 68, 68, 0.35);
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.98), rgba(255, 247, 237, 0.96));
}
.mail-progress-panel.is-slow .mail-progress-title strong::after {
    content: ' — дольше обычного';
    color: #b45309;
    font-weight: 700;
}
.mail-progress-panel.is-stuck .mail-progress-title strong::after {
    content: ' — проверь настройки';
    color: #b91c1c;
    font-weight: 700;
}

/* V25Z Sales e-mail settings diagnostics */
.password-row label {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: space-between;
}
.password-saved-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 11px;
    line-height: 1.4;
    border: 1px solid rgba(148, 163, 184, .35);
    background: rgba(148, 163, 184, .12);
    color: #64748b;
    white-space: nowrap;
}
.password-saved-badge.ok {
    background: rgba(16, 185, 129, .12);
    border-color: rgba(16, 185, 129, .35);
    color: #047857;
}
.password-saved-badge.empty {
    background: rgba(245, 158, 11, .12);
    border-color: rgba(245, 158, 11, .35);
    color: #92400e;
}
.field-hint {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #64748b;
}
.mail-settings-diagnostics .mail-test-box {
    margin-top: 12px;
    border: 1px dashed rgba(59, 130, 246, .35);
    background: rgba(59, 130, 246, .06);
    border-radius: 16px;
    padding: 14px;
}
.mail-settings-diagnostics .mail-test-box p,
.mail-settings-diagnostics .mail-test-box ul {
    margin: 6px 0 0;
    color: #475569;
    font-size: 13px;
}
.mail-settings-diagnostics .mail-test-box ul {
    padding-left: 18px;
}
.mail-test-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.mail-test-actions .button,
.mail-test-actions .primary {
    min-height: 42px;
}

/* V25AA: the Sales e-mail progress panel must be hidden on normal page load. */
.sales-mail-page .mail-progress-panel.hidden,
.mail-progress-panel.hidden {
    display: none !important;
}
.sales-mail-check-result {
    margin: 10px 0 18px;
    border: 1px solid rgba(100,116,139,.22);
    background: rgba(248,250,252,.96);
    border-radius: 18px;
    padding: 12px 14px;
    color: #334155;
    font-size: 13px;
}
.sales-mail-check-result strong { color: #0f172a; }
.attachment-pill.is-meta-only {
    cursor: default;
    background: rgba(148,163,184,.13);
    border-style: dashed;
    color: #64748b;
}

/* -----------------------------------------------------------------------------
   V25AB Sales e-mail agent UX: collapsible inbox, modals, AI status overlay
----------------------------------------------------------------------------- */
.sales-mail-title-block {
    border: 0;
    background: transparent;
    text-align: left;
    padding: 0;
    display: block;
    width: 100%;
    cursor: pointer;
    color: inherit;
}
.sales-mail-title-block:hover h4 { text-decoration: underline; text-underline-offset: 3px; }
.sales-mail-expand {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, .34);
    background: rgba(255,255,255,.72);
    color: #475569;
    font-weight: 900;
    cursor: pointer;
    flex: 0 0 auto;
}
.sales-mail-card.is-expanded .sales-mail-expand {
    background: #eef2ff;
    color: #3730a3;
    border-color: #c7d2fe;
}
.sales-mail-preview {
    margin: 8px 0 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
    max-width: 900px;
}
.sales-mail-card-details {
    margin-top: 16px;
    border-top: 1px solid rgba(148, 163, 184, .24);
    padding-top: 16px;
}
.sales-mail-card:not(.is-expanded) {
    padding-bottom: 16px;
}
.sales-mail-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 245px;
}
.sales-agent-tips {
    margin-top: 16px;
    border-radius: 20px;
    padding: 16px;
    background: linear-gradient(135deg, rgba(239, 246, 255, .95), rgba(245, 243, 255, .86));
    border: 1px solid rgba(147, 197, 253, .35);
}
.sales-agent-tips h3 { margin: 0 0 8px; font-size: 15px; }
.sales-agent-tips p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.45; }
.sales-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    padding: 28px;
    align-items: center;
    justify-content: center;
}
.sales-modal.is-open { display: flex; }
.sales-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .54);
    backdrop-filter: blur(5px);
}
.sales-modal-card {
    position: relative;
    width: min(780px, calc(100vw - 32px));
    max-height: calc(100vh - 56px);
    overflow: auto;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .28);
    padding: 24px;
    border: 1px solid rgba(226, 232, 240, .92);
}
.sales-compose-modal-card { width: min(1180px, calc(100vw - 32px)); }
.sales-modal-card h3 { margin: 0 0 6px; font-size: 24px; }
.sales-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, .35);
    background: #fff;
    color: #64748b;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.sales-modal-close:hover { background: #f8fafc; color: #0f172a; }
.sales-compose-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 18px;
    margin-top: 18px;
}
.sales-ai-helper-box {
    border-radius: 20px;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .28);
}
.sales-ai-helper-box h4 { margin: 0 0 10px; }
.sales-ai-working {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 10020;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(15, 23, 42, .94);
    color: #fff;
    box-shadow: 0 18px 50px rgba(15,23,42,.28);
}
.sales-ai-working.hidden { display: none; }
.sales-ai-working span { color: rgba(255,255,255,.75); font-size: 12px; }
.sales-mail-card .sales-mail-card-top { align-items: flex-start; }
.sales-mail-card .mail-select { margin-top: 8px; }
@media (max-width: 960px) {
    .sales-compose-modal-grid { grid-template-columns: 1fr; }
    .sales-mail-actions { justify-content: flex-start; min-width: 0; width: 100%; }
    .sales-mail-card-top { flex-wrap: wrap; }
}

/* -----------------------------------------------------------------------------
   V25AC — Sales e-mail clean inbox UX
   Fixes: card header grid, compact buttons, readable expanded body, no overlaps.
----------------------------------------------------------------------------- */
.sales-mail-page {
    padding: 20px;
}
.sales-mail-page .sales-mail-head {
    margin-bottom: 14px;
}
.sales-mail-page .sales-mail-head .section-subtitle {
    max-width: 780px;
}
.sales-mail-page .inline-actions {
    flex-wrap: wrap;
}
.sales-mail-dashboard {
    grid-template-columns: 292px minmax(0, 1fr) !important;
    gap: 18px !important;
}
.sales-mail-sidebar {
    gap: 12px !important;
}
.sales-agent-card {
    border-radius: 20px !important;
    padding: 14px !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.10) !important;
}
.sales-agent-avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    font-size: 13px;
}
.sales-agent-card h3 {
    font-size: 15px;
}
.sales-agent-card p,
.sales-agent-card span {
    font-size: 12px;
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sales-stat-grid {
    gap: 8px !important;
}
.sales-stat-grid div {
    padding: 12px !important;
    border-radius: 16px !important;
}
.sales-stat-grid strong {
    font-size: 24px !important;
}
.sales-agent-tips {
    margin-top: 0 !important;
    padding: 14px !important;
    border-radius: 18px !important;
}
.sales-mail-toolbar {
    padding: 13px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 12px !important;
}
.sales-mail-toolbar h3 {
    font-size: 17px;
}
.sales-mail-toolbar p {
    max-width: 680px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
}
.sales-mail-toolbar .inline-actions .button,
.sales-mail-toolbar .inline-actions button {
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 11px;
    font-size: 12px;
    box-shadow: none;
}
.sales-inbox-list {
    gap: 10px !important;
}
.sales-mail-card {
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.055) !important;
}
.sales-mail-card.ai-done {
    border-color: rgba(34,197,94,.22) !important;
}
.sales-mail-card-top,
.sales-mail-card .sales-mail-card-top {
    display: grid !important;
    grid-template-columns: 24px 30px 38px minmax(0, 1fr) auto !important;
    gap: 9px !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border-bottom: 0 !important;
}
.sales-mail-card .mail-select {
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sales-mail-card .mail-select input {
    width: 15px;
    height: 15px;
}
.sales-mail-expand {
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    display: inline-grid;
    place-items: center;
    padding: 0 !important;
    box-shadow: none !important;
}
.sales-mail-sender-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 13px !important;
    font-size: 13px;
}
.sales-mail-title-block {
    min-width: 0;
}
.sales-mail-title-block:hover h4 {
    text-decoration: none !important;
    color: #1d4ed8;
}
.sales-mail-from {
    font-size: 12px !important;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sales-mail-title-block h4 {
    margin: 2px 0 5px !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sales-mail-meta {
    gap: 6px !important;
    align-items: center;
    min-width: 0;
}
.sales-mail-meta span:not(.status-chip) {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sales-mail-preview {
    margin-top: 6px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    max-width: 100% !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sales-mail-actions {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    min-width: 0 !important;
    white-space: nowrap;
}
.sales-mail-actions form {
    margin: 0 !important;
    display: inline-flex;
}
.sales-mail-actions .tiny-button,
.sales-mail-actions .button.tiny-button,
.sales-mail-actions button.tiny-button {
    min-height: 30px !important;
    height: 30px !important;
    padding: 0 9px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
}
.sales-mail-actions .primary.tiny-button {
    min-width: 38px !important;
}
.sales-mail-card-details {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 1px solid rgba(148,163,184,.20) !important;
}
.sales-mail-card:not(.is-expanded) {
    padding-bottom: 0 !important;
}
.sales-mail-body-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 !important;
    border-bottom: 1px solid rgba(148,163,184,.16) !important;
}
.sales-mail-original,
.sales-mail-ai-panel {
    min-width: 0 !important;
    padding: 16px 18px !important;
}
.sales-mail-original {
    border-right: 1px solid rgba(148,163,184,.16) !important;
}
.sales-mail-original p,
.sales-mail-ai-panel p,
.sales-ai-translation div {
    overflow-wrap: anywhere;
    word-break: normal;
}
.sales-mail-original p {
    max-height: 420px;
    overflow: auto;
    padding-right: 6px;
    line-height: 1.48;
    font-size: 14px;
}
.sales-mail-ai-panel {
    background: #fff;
}
.sales-mail-ai-panel h4 {
    font-size: 15px;
    line-height: 1.35;
    margin-bottom: 8px;
}
.sales-ai-tags {
    gap: 6px !important;
    margin: 8px 0 !important;
}
.sales-ai-tags span,
.status-chip {
    font-size: 11px !important;
    padding: 4px 8px !important;
    line-height: 1.1;
}
.sales-ai-translation summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 9px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid rgba(148,163,184,.24);
    font-size: 12px;
}
.sales-ai-translation div {
    max-height: 360px;
    overflow: auto;
    padding: 10px;
    border-radius: 12px;
    background: #f8fafc;
}
.sales-ai-actions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 14px !important;
    gap: 10px !important;
}
.sales-ai-box {
    border-radius: 14px !important;
    padding: 12px !important;
}
.sales-ai-box h5 {
    font-size: 13px;
}
.sales-reply-box {
    padding: 13px 14px !important;
}
.sales-reply-box summary {
    font-size: 13px;
}
.sales-mail-page .button.primary,
.sales-mail-page button.primary,
.sales-mail-page .primary {
    box-shadow: 0 8px 18px rgba(37,99,235,.18);
}
.sales-modal-card {
    border-radius: 22px !important;
}
.sales-compose-modal-card {
    width: min(980px, calc(100vw - 32px)) !important;
}
.sales-compose-modal-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.78fr) !important;
}
@media (max-width: 1180px) {
    .sales-mail-dashboard { grid-template-columns: 1fr !important; }
    .sales-mail-sidebar { position: static !important; }
    .sales-mail-sidebar { grid-template-columns: 1fr 1fr; }
    .sales-agent-tips { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .sales-mail-card-top,
    .sales-mail-card .sales-mail-card-top {
        grid-template-columns: 24px 30px 38px minmax(0, 1fr) !important;
    }
    .sales-mail-actions {
        grid-column: 4 / -1;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        margin-top: 6px;
    }
    .sales-mail-body-grid {
        grid-template-columns: 1fr !important;
    }
    .sales-mail-original {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(148,163,184,.16) !important;
    }
    .sales-ai-actions-grid {
        grid-template-columns: 1fr !important;
    }
    .sales-compose-modal-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 680px) {
    .sales-mail-page { padding: 14px; }
    .sales-mail-sidebar { grid-template-columns: 1fr; }
    .sales-mail-card-top,
    .sales-mail-card .sales-mail-card-top {
        grid-template-columns: 24px 30px minmax(0, 1fr) !important;
    }
    .sales-mail-sender-avatar { display: none !important; }
    .sales-mail-actions { grid-column: 1 / -1; }
    .sales-mail-toolbar { align-items: flex-start !important; flex-direction: column; }
}

/* -----------------------------------------------------------------------------
   V25AD — Sales e-mail proper mail-agent UX polish
   ----------------------------------------------------------------------------- */
.sales-mail-v25ad .sales-top-actions {
    gap: 8px !important;
    flex-wrap: wrap;
}
.sales-mail-v25ad .sales-top-actions .button,
.sales-mail-v25ad .sales-top-actions button {
    min-height: 38px;
    padding: 8px 13px;
    border-radius: 13px;
    font-size: 13px;
    width: auto;
    box-shadow: none;
}
.sales-mail-v25ad .sales-mail-card {
    border: 1px solid rgba(148,163,184,.24) !important;
    background: #fff !important;
}
.sales-mail-v25ad .sales-mail-card.is-expanded {
    border-color: rgba(37,99,235,.28) !important;
    box-shadow: 0 16px 44px rgba(15,23,42,.10) !important;
}
.sales-mail-v25ad .sales-mail-card-top {
    grid-template-columns: 24px 30px 40px minmax(0, 1fr) 138px !important;
    gap: 10px !important;
    align-items: center !important;
    cursor: default;
}
.sales-mail-v25ad .sales-mail-row-status {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
}
.sales-mail-v25ad .mail-row-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(148,163,184,.24);
    font-size: 11px;
    color: #64748b;
    white-space: nowrap;
}
.sales-mail-v25ad .is-expanded .mail-row-hint {
    background: #eff6ff;
    border-color: rgba(37,99,235,.20);
    color: #1d4ed8;
}
.sales-mail-v25ad .sales-mail-title-block {
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
    cursor: pointer;
}
.sales-mail-v25ad .sales-mail-title-block:focus-visible,
.sales-mail-v25ad .sales-mail-expand:focus-visible,
.sales-mail-v25ad .compact-action:focus-visible {
    outline: 3px solid rgba(37,99,235,.22);
    outline-offset: 2px;
}
.sales-mail-v25ad .sales-mail-card-details {
    display: block;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.sales-mail-v25ad .sales-mail-card-details[hidden] {
    display: none !important;
}
.sales-mail-v25ad .sales-mail-commandbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    border-top: 1px solid rgba(148,163,184,.18);
    border-bottom: 1px solid rgba(148,163,184,.18);
    background: #f8fafc;
}
.sales-mail-v25ad .commandbar-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.sales-mail-v25ad .commandbar-title strong {
    font-size: 13px;
    color: #0f172a;
}
.sales-mail-v25ad .commandbar-title span {
    font-size: 12px;
    color: #64748b;
    line-height: 1.35;
}
.sales-mail-v25ad .commandbar-actions {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}
.sales-mail-v25ad .commandbar-actions form {
    display: inline-flex;
    margin: 0;
}
.sales-mail-v25ad .compact-action,
.sales-mail-v25ad .commandbar-actions .compact-action,
.sales-mail-v25ad .sales-inline-reply-studio .compact-action {
    width: auto !important;
    min-width: 0 !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 11px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap;
}
.sales-mail-v25ad .sales-mail-body-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
}
.sales-mail-v25ad .sales-mail-original,
.sales-mail-v25ad .sales-mail-ai-panel {
    padding: 18px 20px !important;
}
.sales-mail-v25ad .sales-mail-original p {
    max-height: 520px;
    font-size: 14px;
    line-height: 1.55;
    color: #1e293b;
}
.sales-mail-v25ad .sales-mail-ai-panel h4 {
    font-size: 16px;
    line-height: 1.35;
    margin: 4px 0 10px;
}
.sales-mail-v25ad .ai-summary {
    background: #f8fafc;
    border: 1px solid rgba(148,163,184,.20);
    border-radius: 14px;
    padding: 10px 12px;
    margin: 8px 0;
}
.sales-mail-v25ad .sales-ai-translation[open] summary {
    margin-bottom: 8px;
}
.sales-mail-v25ad .sales-ai-actions-grid {
    padding: 16px !important;
    gap: 12px !important;
    background: #fff;
    border-bottom: 1px solid rgba(148,163,184,.16);
}
.sales-mail-v25ad .sales-ai-box {
    background: #fff !important;
    border: 1px solid rgba(148,163,184,.20) !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.04) !important;
}
.sales-mail-v25ad .sales-inline-reply-studio {
    margin: 0;
    padding: 16px 18px 18px;
    border-top: 1px solid rgba(148,163,184,.16);
    background: linear-gradient(180deg, #f8fafc, #ffffff);
}
.sales-mail-v25ad .sales-inline-reply-studio.has-draft {
    background: linear-gradient(180deg, #f0fdf4, #ffffff);
}
.sales-mail-v25ad .reply-studio-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}
.sales-mail-v25ad .reply-studio-head h4 {
    margin: 3px 0 0;
    font-size: 16px;
    color: #0f172a;
}
.sales-mail-v25ad .inline-reply-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}
.sales-mail-v25ad .inline-reply-form input[name="subject"],
.sales-mail-v25ad .inline-reply-form textarea,
.sales-mail-v25ad .inline-reply-form .inline-actions,
.sales-mail-v25ad .inline-reply-form .tiny {
    grid-column: 1 / -1;
}
.sales-mail-v25ad .inline-reply-form textarea {
    min-height: 210px;
    font-size: 14px;
    line-height: 1.5;
}
.sales-mail-v25ad .sales-modal-card {
    max-height: min(86vh, 820px);
    overflow: auto;
}
.sales-mail-v25ad .sales-ai-working,
.sales-ai-working {
    z-index: 9999;
}
.sales-mail-v25ad .sales-mail-toolbar .button,
.sales-mail-v25ad .sales-mail-toolbar button {
    width: auto !important;
    min-width: 0 !important;
}
@media (max-width: 1020px) {
    .sales-mail-v25ad .sales-mail-card-top {
        grid-template-columns: 24px 30px 40px minmax(0,1fr) !important;
    }
    .sales-mail-v25ad .sales-mail-row-status {
        grid-column: 4 / -1;
        justify-content: flex-start;
    }
    .sales-mail-v25ad .sales-mail-commandbar {
        flex-direction: column;
        align-items: stretch;
    }
    .sales-mail-v25ad .commandbar-actions {
        justify-content: flex-start;
    }
}
@media (max-width: 900px) {
    .sales-mail-v25ad .sales-mail-body-grid {
        grid-template-columns: 1fr !important;
    }
    .sales-mail-v25ad .sales-mail-original {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(148,163,184,.16) !important;
    }
    .sales-mail-v25ad .inline-reply-form {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 680px) {
    .sales-mail-v25ad .sales-mail-card-top {
        grid-template-columns: 24px 30px minmax(0, 1fr) !important;
    }
    .sales-mail-v25ad .sales-mail-sender-avatar {
        display: none !important;
    }
    .sales-mail-v25ad .sales-mail-row-status {
        grid-column: 1 / -1;
    }
    .sales-mail-v25ad .reply-studio-head {
        flex-direction: column;
    }
}

/* -----------------------------------------------------------------------------
   V25AE — Sales e-mail agent redesign: real mail-client UX + reply tree
   ----------------------------------------------------------------------------- */
.sales-mail-v25ae,
.sales-mail-v25ae * {
    box-sizing: border-box;
}
.sales-mail-v25ae {
    padding: 0 !important;
    overflow: hidden;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 44%, #f8fafc 100%) !important;
    border: 1px solid rgba(148, 163, 184, .24) !important;
}
.sales-mail-v25ae .sales-app-shell {
    padding: 18px 18px 22px;
}
.sales-mail-v25ae .sales-app-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 8px 4px 18px;
}
.sales-mail-v25ae .sales-app-header h2 {
    margin: 0 0 4px;
    font-size: 28px;
    letter-spacing: -0.04em;
    color: #0f172a;
}
.sales-mail-v25ae .sales-app-header p {
    margin: 0;
    color: #64748b;
    max-width: 760px;
    line-height: 1.45;
}
.sales-mail-v25ae .sales-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.sales-mail-v25ae .sales-header-actions form {
    margin: 0;
    display: inline-flex;
}
.sales-mail-v25ae .sales-action-main,
.sales-mail-v25ae .small-action,
.sales-mail-v25ae .tiny-button,
.sales-mail-v25ae .toolbar-actions .button,
.sales-mail-v25ae .toolbar-actions button {
    width: auto !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 8px 12px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}
.sales-mail-v25ae .sales-mail-layout {
    display: grid;
    grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}
.sales-mail-v25ae .sales-mail-nav {
    position: sticky;
    top: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sales-mail-v25ae .sales-account-card,
.sales-mail-v25ae .sales-legend-card,
.sales-mail-v25ae .sales-stat-list,
.sales-mail-v25ae .clean-toolbar,
.sales-mail-v25ae .sales-thread-card,
.sales-mail-v25ae .reader-panel,
.sales-mail-v25ae .action-board-card,
.sales-mail-v25ae .sales-conversation-tree,
.sales-mail-v25ae .reply-box {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(148, 163, 184, .22);
    box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
    border-radius: 20px;
}
.sales-mail-v25ae .sales-account-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
}
.sales-mail-v25ae .sales-account-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    font-weight: 900;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid rgba(37,99,235,.16);
}
.sales-mail-v25ae .sales-account-card strong,
.sales-mail-v25ae .sales-account-card span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sales-mail-v25ae .sales-account-card strong {
    font-size: 13px;
    color: #0f172a;
}
.sales-mail-v25ae .sales-account-card span {
    margin-top: 4px;
    color: #64748b;
    font-size: 12px;
}
.sales-mail-v25ae .sales-account-card.is-offline .sales-account-icon {
    background: #fef2f2;
    color: #b91c1c;
    border-color: rgba(239,68,68,.18);
}
.sales-mail-v25ae .sales-stat-list {
    padding: 10px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
.sales-mail-v25ae .sales-stat-list div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(148,163,184,.16);
}
.sales-mail-v25ae .sales-stat-list span {
    color: #64748b;
    font-size: 12px;
}
.sales-mail-v25ae .sales-stat-list strong {
    font-size: 18px;
    color: #0f172a;
}
.sales-mail-v25ae .sales-legend-card {
    padding: 15px;
}
.sales-mail-v25ae .sales-legend-card h3 {
    margin: 0 0 8px;
    font-size: 15px;
}
.sales-mail-v25ae .sales-legend-card ol {
    margin: 0;
    padding-left: 20px;
    color: #475569;
    line-height: 1.45;
    font-size: 13px;
}
.sales-mail-v25ae .sales-mail-workspace {
    min-width: 0;
}
.sales-mail-v25ae .clean-toolbar {
    padding: 14px 16px;
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.sales-mail-v25ae .clean-toolbar h3 {
    margin: 0 0 3px;
    font-size: 18px;
    color: #0f172a;
}
.sales-mail-v25ae .clean-toolbar p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}
.sales-mail-v25ae .mail-client-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sales-mail-v25ae .sales-thread-card {
    overflow: hidden;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.sales-mail-v25ae .sales-thread-card.is-expanded {
    border-color: rgba(37,99,235,.34);
    box-shadow: 0 24px 60px rgba(15,23,42,.10);
}
.sales-mail-v25ae .sales-mail-row {
    display: grid;
    grid-template-columns: 24px 42px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 13px 14px;
    cursor: pointer;
    background: #fff;
}
.sales-mail-v25ae .sales-mail-row:hover {
    background: #f8fbff;
}
.sales-mail-v25ae .mail-select {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.sales-mail-v25ae .mail-row-main {
    min-width: 0;
}
.sales-mail-v25ae .mail-row-line,
.sales-mail-v25ae .mail-row-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex-wrap: wrap;
}
.sales-mail-v25ae .mail-sender {
    font-size: 13px;
    color: #0f172a;
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sales-mail-v25ae .mail-date {
    color: #94a3b8;
    font-size: 12px;
    margin-left: auto;
}
.sales-mail-v25ae .sales-mail-row h4 {
    margin: 4px 0 4px;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sales-mail-v25ae .sales-mail-row p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sales-mail-v25ae .row-open-button {
    width: auto !important;
    min-width: 78px !important;
    padding: 7px 10px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(148,163,184,.24) !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font-size: 12px !important;
    box-shadow: none !important;
}
.sales-mail-v25ae .is-expanded .row-open-button {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: rgba(37,99,235,.20) !important;
}
.sales-mail-v25ae .sales-mail-detail[hidden] {
    display: none !important;
}
.sales-mail-v25ae .sales-mail-detail {
    border-top: 1px solid rgba(148,163,184,.18);
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}
.sales-mail-v25ae .sales-workflow-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    background: #f8fafc;
    border-bottom: 1px solid rgba(148,163,184,.18);
}
.sales-mail-v25ae .sales-workflow-strip form {
    margin: 0;
}
.sales-mail-v25ae .workflow-button {
    width: 100% !important;
    min-height: 64px !important;
    padding: 11px 12px !important;
    border-radius: 16px !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    text-align: left !important;
    align-items: center;
    border: 1px solid rgba(148,163,184,.22) !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.04) !important;
    color: #0f172a !important;
}
.sales-mail-v25ae .workflow-button.primary {
    background: linear-gradient(135deg, #2563eb, #0ea5e9) !important;
    color: #fff !important;
    border-color: transparent !important;
}
.sales-mail-v25ae .workflow-button span {
    grid-row: 1 / 3;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(15,23,42,.06);
    font-weight: 900;
}
.sales-mail-v25ae .workflow-button.primary span {
    background: rgba(255,255,255,.20);
}
.sales-mail-v25ae .workflow-button strong {
    font-size: 13px;
    line-height: 1.15;
}
.sales-mail-v25ae .workflow-button em {
    font-style: normal;
    font-size: 11px;
    color: #64748b;
    line-height: 1.25;
}
.sales-mail-v25ae .workflow-button.primary em {
    color: rgba(255,255,255,.82);
}
.sales-mail-v25ae .sales-reader-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
}
.sales-mail-v25ae .reader-panel {
    padding: 16px;
    box-shadow: 0 10px 24px rgba(15,23,42,.04);
    overflow: hidden;
}
.sales-mail-v25ae .panel-title-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
}
.sales-mail-v25ae .panel-title-row strong {
    color: #0f172a;
    line-height: 1.25;
}
.sales-mail-v25ae .message-text-scroll,
.sales-mail-v25ae .sales-ai-translation > div,
.sales-mail-v25ae .thread-body {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.sales-mail-v25ae .message-text-scroll,
.sales-mail-v25ae .sales-ai-translation > div {
    max-height: 430px;
    overflow: auto;
    padding: 12px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(148,163,184,.16);
    color: #1e293b;
    font-size: 14px;
    line-height: 1.55;
}
.sales-mail-v25ae .ai-summary-card {
    padding: 12px;
    border-radius: 14px;
    background: #eff6ff;
    border: 1px solid rgba(37,99,235,.14);
    color: #1e293b;
    margin-bottom: 10px;
}
.sales-mail-v25ae .sales-ai-tags {
    margin: 8px 0 12px;
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}
.sales-mail-v25ae .sales-ai-tags span,
.sales-mail-v25ae .status-chip {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    border: 1px solid rgba(148,163,184,.18);
    background: #f8fafc;
    color: #475569;
}
.sales-mail-v25ae .status-chip.success { background: #ecfdf5; color: #047857; border-color: rgba(16,185,129,.20); }
.sales-mail-v25ae .status-chip.warning { background: #fffbeb; color: #b45309; border-color: rgba(245,158,11,.22); }
.sales-mail-v25ae .status-chip.danger { background: #fef2f2; color: #b91c1c; border-color: rgba(239,68,68,.20); }
.sales-mail-v25ae .sales-action-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 0 14px 14px;
}
.sales-mail-v25ae .action-board-card {
    padding: 13px;
    box-shadow: 0 8px 20px rgba(15,23,42,.04);
}
.sales-mail-v25ae .action-board-card h5 {
    margin: 0 0 8px;
    font-size: 13px;
    color: #0f172a;
}
.sales-mail-v25ae .action-board-card ul {
    margin: 0 0 10px;
    padding-left: 18px;
    color: #334155;
    font-size: 12px;
    line-height: 1.35;
}
.sales-mail-v25ae .sales-conversation-tree {
    margin: 0 14px 14px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(15,23,42,.04);
}
.sales-mail-v25ae .tree-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.sales-mail-v25ae .tree-head h4 {
    margin: 2px 0 0;
    color: #0f172a;
    font-size: 16px;
}
.sales-mail-v25ae .tree-count {
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 12px;
    font-weight: 700;
}
.sales-mail-v25ae .thread-line {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sales-mail-v25ae .thread-line::before {
    content: '';
    position: absolute;
    left: 18px;
    top: 18px;
    bottom: 18px;
    width: 2px;
    background: linear-gradient(180deg, #bfdbfe, #e2e8f0);
}
.sales-mail-v25ae .thread-node {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: flex-start;
}
.sales-mail-v25ae .thread-dot {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-size: 10px;
    font-weight: 900;
    background: #dbeafe;
    color: #1d4ed8;
    border: 3px solid #fff;
    z-index: 1;
}
.sales-mail-v25ae .thread-node.outgoing .thread-dot {
    background: #dcfce7;
    color: #047857;
}
.sales-mail-v25ae .thread-bubble {
    border: 1px solid rgba(148,163,184,.20);
    border-radius: 18px;
    background: #fff;
    padding: 13px;
    min-width: 0;
}
.sales-mail-v25ae .thread-node.outgoing .thread-bubble {
    background: #f0fdf4;
    border-color: rgba(16,185,129,.22);
}
.sales-mail-v25ae .thread-node.is-fresh-draft .thread-bubble {
    box-shadow: 0 0 0 3px rgba(37,99,235,.12);
    border-color: rgba(37,99,235,.30);
}
.sales-mail-v25ae .thread-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    color: #64748b;
    font-size: 12px;
}
.sales-mail-v25ae .thread-bubble h5 {
    margin: 7px 0;
    color: #0f172a;
    font-size: 14px;
}
.sales-mail-v25ae .thread-bubble p,
.sales-mail-v25ae .thread-body {
    margin: 0;
    color: #334155;
    font-size: 13px;
    line-height: 1.45;
}
.sales-mail-v25ae .draft-send-form {
    margin-top: 12px;
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.sales-mail-v25ae .no-thread-replies {
    margin-left: 50px;
    padding: 12px;
    border-radius: 14px;
    background: #f8fafc;
    color: #64748b;
    border: 1px dashed rgba(148,163,184,.35);
    font-size: 13px;
}
.sales-mail-v25ae .reply-agent-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    padding: 0 14px 16px;
}
.sales-mail-v25ae .reply-box {
    padding: 14px;
    box-shadow: 0 10px 24px rgba(15,23,42,.04);
}
.sales-mail-v25ae .reply-box-head {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 10px;
}
.sales-mail-v25ae .reply-box-head span {
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 10px;
    color: #64748b;
    font-weight: 900;
}
.sales-mail-v25ae .reply-box-head strong {
    color: #0f172a;
    font-size: 15px;
}
.sales-mail-v25ae .reply-box textarea,
.sales-mail-v25ae .sales-modal textarea {
    font-size: 14px;
    line-height: 1.5;
    resize: vertical;
}
.sales-mail-v25ae .reply-box input,
.sales-mail-v25ae .reply-box textarea,
.sales-mail-v25ae .reply-box select,
.sales-mail-v25ae .sales-modal input,
.sales-mail-v25ae .sales-modal textarea,
.sales-mail-v25ae .sales-modal select {
    border: 1px solid rgba(148,163,184,.28) !important;
    border-radius: 13px !important;
    background: #fff !important;
}
.sales-mail-v25ae .mail-progress-panel.hidden,
.sales-ai-working.hidden {
    display: none !important;
}
.sales-mail-v25ae .sales-modal-card {
    max-height: min(88vh, 860px);
    overflow: auto;
}
@media (max-width: 1180px) {
    .sales-mail-v25ae .sales-mail-layout { grid-template-columns: 1fr; }
    .sales-mail-v25ae .sales-mail-nav { position: static; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sales-mail-v25ae .sales-legend-card { grid-column: 1 / -1; }
    .sales-mail-v25ae .sales-stat-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
    .sales-mail-v25ae .sales-app-header,
    .sales-mail-v25ae .clean-toolbar { flex-direction: column; align-items: stretch; }
    .sales-mail-v25ae .sales-header-actions { justify-content: flex-start; }
    .sales-mail-v25ae .sales-workflow-strip,
    .sales-mail-v25ae .sales-reader-grid,
    .sales-mail-v25ae .sales-action-board,
    .sales-mail-v25ae .reply-agent-grid { grid-template-columns: 1fr; }
    .sales-mail-v25ae .sales-mail-nav { grid-template-columns: 1fr; }
    .sales-mail-v25ae .sales-stat-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .sales-mail-v25ae .sales-app-shell { padding: 12px; }
    .sales-mail-v25ae .sales-mail-row { grid-template-columns: 22px minmax(0, 1fr); }
    .sales-mail-v25ae .sales-mail-sender-avatar,
    .sales-mail-v25ae .row-open-button { display: none !important; }
    .sales-mail-v25ae .mail-select { grid-row: 1 / 2; }
    .sales-mail-v25ae .mail-row-main { grid-column: 2 / -1; }
    .sales-mail-v25ae .sales-stat-list { grid-template-columns: 1fr; }
}

/* V25AG unified reply composer */
.sales-mail-v25ae .sales-workflow-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sales-mail-v25ae .sales-reply-composer {
    margin: 0 14px 18px;
    padding: 14px;
    border: 1px solid rgba(148,163,184,.26);
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 14px 34px rgba(15,23,42,.06);
}
.sales-mail-v25ae .reply-composer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.sales-mail-v25ae .reply-composer-head h4,
.sales-mail-v25ae .reply-composer-head h3 {
    margin: 2px 0 0;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.2;
}
.sales-mail-v25ae .reply-composer-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sales-mail-v25ae .composer-fields-grid {
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(260px, 1.25fr);
    gap: 10px;
}
.sales-mail-v25ae .composer-fields-grid.three-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sales-mail-v25ae .composer-fields-grid label,
.sales-mail-v25ae .composer-extra-fields label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.sales-mail-v25ae .reply-composer-form input,
.sales-mail-v25ae .reply-composer-form textarea,
.sales-mail-v25ae .reply-composer-form select {
    width: 100%;
    border: 1px solid rgba(148,163,184,.30) !important;
    background: #fff !important;
    border-radius: 14px !important;
    color: #0f172a;
    font-size: 14px;
    line-height: 1.45;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.sales-mail-v25ae .reply-composer-form textarea {
    min-height: 170px;
    resize: vertical;
}
.sales-mail-v25ae .composer-extra-fields {
    border: 1px dashed rgba(148,163,184,.35);
    border-radius: 14px;
    padding: 8px 10px 10px;
    background: rgba(248,250,252,.75);
}
.sales-mail-v25ae .composer-extra-fields summary {
    cursor: pointer;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    list-style: none;
}
.sales-mail-v25ae .composer-extra-fields summary::-webkit-details-marker { display: none; }
.sales-mail-v25ae .composer-extra-fields summary::before {
    content: '▸';
    display: inline-block;
    margin-right: 6px;
    transition: transform .15s ease;
}
.sales-mail-v25ae .composer-extra-fields[open] summary::before { transform: rotate(90deg); }
.sales-mail-v25ae .composer-extra-fields[open] summary { margin-bottom: 10px; }
.sales-mail-v25ae .composer-action-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 2px;
}

.sales-mail-v25ae .composer-language-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 38px;
    border: 1px solid rgba(148,163,184,.32);
    border-radius: 999px;
    padding: 0 8px 0 11px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(15,23,42,.05);
    color: #475569;
    font-size: 13px;
    font-weight: 900;
}
.sales-mail-v25ae .composer-language-pill span {
    font-size: 14px;
    line-height: 1;
}
.sales-mail-v25ae .composer-language-pill select {
    border: 0;
    outline: none;
    background: transparent;
    color: #334155;
    font: inherit;
    cursor: pointer;
    max-width: 150px;
    padding: 0 4px 0 0;
}
.sales-mail-v25ae .composer-icon-btn {
    appearance: none;
    border: 1px solid rgba(148,163,184,.28);
    background: #fff;
    color: #334155;
    border-radius: 999px;
    padding: 9px 13px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    cursor: pointer;
    font-weight: 900;
    font-size: 13px;
    box-shadow: 0 8px 18px rgba(15,23,42,.06);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
.sales-mail-v25ae .composer-icon-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(15,23,42,.10);
}
.sales-mail-v25ae .composer-icon-btn span {
    font-size: 15px;
    line-height: 1;
}
.sales-mail-v25ae .composer-icon-btn.ai {
    border-color: rgba(37,99,235,.28);
    color: #1d4ed8;
    background: linear-gradient(180deg, #eff6ff, #ffffff);
}
.sales-mail-v25ae .composer-icon-btn.send {
    border-color: rgba(37,99,235,.55);
    background: linear-gradient(135deg, #2563eb, #0ea5e9);
    color: #fff;
}
.sales-mail-v25ae .composer-icon-btn.ghost {
    background: #f8fafc;
    color: #64748b;
    box-shadow: none;
}
.sales-mail-v25ae .composer-icon-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none;
}
.sales-mail-v25ae .composer-warning {
    color: #b45309;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}
.sales-mail-v25ae .modal-composer-head { margin-bottom: 14px; }
.sales-mail-v25ae .compose-unified-form textarea { min-height: 250px; }
.sales-mail-v25ae .sales-compose-modal-card {
    max-width: 860px;
}
@media (max-width: 980px) {
    .sales-mail-v25ae .sales-workflow-strip,
    .sales-mail-v25ae .composer-fields-grid,
    .sales-mail-v25ae .composer-fields-grid.three-cols { grid-template-columns: 1fr; }
    .sales-mail-v25ae .composer-action-bar { justify-content: stretch; }
    .sales-mail-v25ae .composer-icon-btn { flex: 1 1 auto; justify-content: center; }
}

/* V25AJ voice tools for Sales e-mail */
.sales-mail-v25ae .sales-workflow-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.sales-mail-v25ae .workflow-button.voice span,
.sales-mail-v25ae .workflow-button.listen span {
    font-size: 15px;
    background: #f8fafc;
}
.sales-mail-v25ae .workflow-button.voice {
    border-color: rgba(14,165,233,.24) !important;
    background: linear-gradient(180deg, #f0f9ff, #ffffff) !important;
}
.sales-mail-v25ae .workflow-button.listen {
    border-color: rgba(99,102,241,.22) !important;
    background: linear-gradient(180deg, #eef2ff, #ffffff) !important;
}
.sales-mail-v25ae .has-panel-actions {
    flex-direction: row !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.sales-mail-v25ae .has-panel-actions > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.sales-mail-v25ae .tiny-voice-btn {
    appearance: none;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(148,163,184,.28);
    background: #fff;
    color: #334155;
    display: inline-grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(15,23,42,.06);
    flex: 0 0 auto;
}
.sales-mail-v25ae .tiny-voice-btn:hover {
    background: #eff6ff;
    border-color: rgba(37,99,235,.28);
    color: #1d4ed8;
}
.sales-mail-v25ae .composer-icon-btn.voice {
    border-color: rgba(14,165,233,.30);
    color: #0369a1;
    background: linear-gradient(180deg, #f0f9ff, #ffffff);
}
.sales-mail-v25ae .composer-icon-btn.listen {
    border-color: rgba(99,102,241,.28);
    color: #4338ca;
    background: linear-gradient(180deg, #eef2ff, #ffffff);
}
.sales-mail-v25ae .composer-icon-btn.is-recording {
    border-color: rgba(220,38,38,.40);
    color: #b91c1c;
    background: #fef2f2;
    animation: salesVoicePulse 1s ease-in-out infinite;
}
@keyframes salesVoicePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,.18); }
    50% { box-shadow: 0 0 0 7px rgba(220,38,38,.08); }
}
.sales-mail-v25ae .voice-mini-status {
    padding: 8px 10px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(148,163,184,.22);
    color: #475569;
    font-size: 12px;
    font-weight: 700;
}
.sales-mail-v25ae .voice-mini-status[hidden] {
    display: none !important;
}
.sales-mail-v25ae .voice-mini-status.is-ok {
    background: #ecfdf5;
    color: #047857;
    border-color: rgba(16,185,129,.22);
}
.sales-mail-v25ae .voice-mini-status.is-error {
    background: #fef2f2;
    color: #b91c1c;
    border-color: rgba(239,68,68,.20);
}
@media (max-width: 1180px) {
    .sales-mail-v25ae .sales-workflow-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .sales-mail-v25ae .sales-workflow-strip { grid-template-columns: 1fr; }
    .sales-mail-v25ae .composer-action-bar { justify-content: stretch; }
    .sales-mail-v25ae .composer-icon-btn,
    .sales-mail-v25ae .composer-language-pill { flex: 1 1 auto; justify-content: center; }
}

/* V25AK — voice UX fixes: click again stops reading, hold-to-record */
.sales-mail-v25ae .tiny-voice-btn.is-speaking,
.sales-mail-v25ae .composer-icon-btn.listen.is-speaking {
    border-color: rgba(37,99,235,.42);
    color: #1d4ed8;
    background: #eff6ff;
    box-shadow: 0 0 0 3px rgba(37,99,235,.10), 0 10px 22px rgba(15,23,42,.08);
}
.sales-mail-v25ae .composer-icon-btn.voice,
.sales-mail-v25ae .workflow-button.voice {
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
}
.sales-mail-v25ae .composer-icon-btn.voice.is-recording,
.sales-mail-v25ae .workflow-button.voice.is-recording {
    border-color: rgba(220,38,38,.42) !important;
    color: #b91c1c !important;
    background: #fef2f2 !important;
    box-shadow: 0 0 0 3px rgba(220,38,38,.10), 0 12px 26px rgba(220,38,38,.12) !important;
}


/* V25AL — separate dictation language from outgoing e-mail language */
.sales-mail-v25ae .voice-language-pill {
    border-color: rgba(14,165,233,.28);
    background: linear-gradient(180deg, #f0f9ff, #ffffff);
    color: #0369a1;
}
.sales-mail-v25ae .voice-language-pill select {
    max-width: 118px;
    color: #075985;
}
.sales-mail-v25ae .composer-action-bar .composer-language-pill + .voice-language-pill {
    margin-left: -2px;
}
.sales-mail-v25ae .composer-icon-btn.voice.is-recording + .composer-icon-btn.listen {
    opacity: .75;
}
@media (max-width: 760px) {
    .sales-mail-v25ae .voice-language-pill select { max-width: 160px; }
}

/* V25AN — Sales e-mail AI file index and search */
.sales-ai-search-panel{
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid rgba(148,163,184,.25);
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,250,252,.9));
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(15,23,42,.05);
}
.sales-ai-search-form{
  display:flex;
  align-items:center;
  gap:10px;
}
.sales-ai-search-form .search-icon{
  width:34px;height:34px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#eef2ff;color:#3730a3;
}
.sales-ai-search-form input[type="search"]{
  flex:1;
  min-width:180px;
  border:1px solid #dbe3ef;
  border-radius:14px;
  padding:11px 13px;
  font-size:14px;
  background:#fff;
}
.sales-search-results{
  margin-top:12px;
  display:grid;
  gap:10px;
}
.search-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#64748b;
  font-size:13px;
}
.search-results-head strong{color:#0f172a;font-size:14px;}
.search-result-card{
  display:block;
  text-decoration:none;
  color:inherit;
  padding:12px 14px;
  border:1px solid #e5edf7;
  border-radius:16px;
  background:#fff;
  transition:.16s ease;
}
.search-result-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.08);border-color:#c7d2fe;}
.search-result-card div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.search-result-card strong{font-size:14px;color:#0f172a;}
.search-result-card span{font-size:12px;color:#64748b;}
.search-result-card p{margin:7px 0 0;color:#334155;font-size:13px;line-height:1.4;}
.search-attachment-line{display:flex!important;flex-wrap:wrap;gap:6px;margin-top:9px;justify-content:flex-start!important;}
.search-attachment-line span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:4px 8px;color:#475569;}
.attachment-pill.is-indexed{background:#ecfdf5;border-color:#bbf7d0;color:#166534;}
.attachment-index-note{display:block;margin:5px 0 4px 2px;font-size:12px;color:#475569;line-height:1.35;}
.attachment-index-note.is-error{color:#b45309;}
.workflow-button span:first-child{font-weight:800;}
@media (max-width: 760px){
  .sales-ai-search-form{flex-wrap:wrap;}
  .sales-ai-search-form input[type="search"]{flex-basis:100%;order:1;}
  .sales-ai-search-form .button{order:2;}
  .search-result-card div:first-child{display:block;}
}

/* V25AO — search also covers plain e-mail text, translations and replies */
.search-match-line{
  display:flex!important;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
  justify-content:flex-start!important;
}
.search-match-line span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  color:#3730a3!important;
  font-size:11px!important;
  font-weight:700;
}
.search-result-card p{
  word-break:break-word;
}

/* V25AT — recover full Sales e-mail styles after V25AS tiny CSS overwrite */
.sales-search-server-status{
    margin:8px 0 10px;
    padding:8px 10px;
    border-radius:10px;
    background:#eef6ff;
    border:1px solid #cfe6ff;
    color:#24527a;
    font-size:13px;
    line-height:1.35;
}

/* V25AS — visible search/deep IMAP search progress */
.sales-search-progress{
    margin:10px 0 12px;
    padding:12px 14px;
    border:1px solid #d9e6f5;
    background:linear-gradient(180deg,#f8fbff,#f4f8fd);
    border-radius:14px;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.sales-search-progress.hidden{display:none!important;}
.sales-search-progress-top{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:14px;
    color:#17324d;
}
.sales-search-progress-top strong{font-weight:700;}
.sales-search-progress-top [data-search-progress-percent]{margin-left:auto;color:#55708d;font-size:12px;font-weight:700;}
.sales-search-progress-bar{
    height:7px;
    background:#e4edf7;
    border-radius:999px;
    overflow:hidden;
    margin:10px 0 9px;
}
.sales-search-progress-bar span{
    display:block;
    height:100%;
    width:5%;
    border-radius:999px;
    background:#3b82f6;
    transition:width .35s ease;
}
.sales-search-progress-steps{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:6px;
    list-style:none;
    padding:0;
    margin:0 0 8px;
}
.sales-search-progress-steps li{
    min-height:28px;
    padding:6px 8px;
    border-radius:10px;
    background:#fff;
    border:1px solid #e2e8f0;
    color:#64748b;
    font-size:11px;
    line-height:1.25;
    text-align:center;
}
.sales-search-progress-steps li.is-active{
    color:#0f3b68;
    border-color:#93c5fd;
    background:#eaf4ff;
    font-weight:700;
}
.sales-search-progress-steps li.is-done{
    color:#166534;
    border-color:#bbf7d0;
    background:#f0fdf4;
}
.sales-search-progress p{margin:0;color:#35506b;font-size:13px;line-height:1.35;}
@media (max-width: 900px){
    .sales-search-progress-steps{grid-template-columns:1fr;}
    .sales-search-progress-steps li{text-align:left;}
}

/* V25AU Telegram AI Center */
.telegram-agent-page{display:flex;flex-direction:column;gap:18px}.telegram-agent-head{align-items:center}.telegram-top-actions{align-items:center}.telegram-status-panel{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid rgba(59,130,246,.25);background:linear-gradient(135deg,rgba(59,130,246,.10),rgba(16,185,129,.08));border-radius:18px;box-shadow:0 10px 30px rgba(15,23,42,.08)}.telegram-status-spinner{width:22px;height:22px;border-radius:999px;border:3px solid rgba(59,130,246,.18);border-top-color:#2563eb;animation:telegramSpin .8s linear infinite}@keyframes telegramSpin{to{transform:rotate(360deg)}}.telegram-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.telegram-stat-card{background:#fff;border:1px solid rgba(148,163,184,.24);border-radius:18px;padding:14px 16px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.telegram-stat-card span{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.telegram-stat-card strong{display:block;font-size:24px;margin-top:4px}.telegram-stat-card small{display:block;color:#64748b;margin-top:2px}.telegram-info-strip{display:flex;justify-content:space-between;gap:14px;background:#f8fafc;border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:12px 14px;color:#475569}.telegram-search-card{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid rgba(148,163,184,.25);border-radius:20px;padding:12px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.telegram-search-input-wrap{display:flex;align-items:center;gap:10px;flex:1;background:#f8fafc;border:1px solid rgba(148,163,184,.25);border-radius:14px;padding:0 12px}.telegram-search-input-wrap input{border:0;background:transparent;box-shadow:none;width:100%;min-height:42px}.telegram-bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.telegram-message-list{display:flex;flex-direction:column;gap:10px}.telegram-message-card{background:#fff;border:1px solid rgba(148,163,184,.24);border-radius:20px;box-shadow:0 10px 30px rgba(15,23,42,.055);overflow:hidden}.telegram-message-row{display:grid;grid-template-columns:34px 28px 42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;cursor:pointer}.telegram-message-row:hover{background:#f8fafc}.telegram-select{display:flex;justify-content:center}.telegram-expand{width:26px;height:26px;border:0;background:#eef2ff;border-radius:999px;color:#3730a3;cursor:pointer}.telegram-avatar{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,#dbeafe,#dcfce7);display:flex;align-items:center;justify-content:center}.telegram-message-main{min-width:0}.telegram-message-title-line{display:flex;align-items:center;gap:8px;min-width:0}.telegram-message-title-line strong{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telegram-message-title-line span,.telegram-message-title-line time{color:#64748b;font-size:12px;white-space:nowrap}.telegram-message-preview{color:#334155;font-size:13px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telegram-message-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.telegram-message-body{display:none;border-top:1px solid rgba(148,163,184,.20);padding:14px;background:#fbfdff}.telegram-message-body.is-open{display:block}.telegram-message-actions{justify-content:flex-end;margin-bottom:12px}.telegram-message-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.telegram-content-card{background:#fff;border:1px solid rgba(148,163,184,.20);border-radius:16px;padding:14px;min-width:0}.telegram-content-card h4,.telegram-files-panel h4{margin:0 0 10px}.telegram-original-text{white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;line-height:1.55}.telegram-ai-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.telegram-ai-meta span{background:#f1f5f9;border-radius:999px;padding:5px 9px;color:#475569;font-size:12px}.telegram-ai-list ul{margin:8px 0 0 18px}.telegram-ai-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.telegram-ai-tags span{background:#ecfeff;color:#155e75;border:1px solid #cffafe;border-radius:999px;padding:4px 8px;font-size:12px}.telegram-files-panel{margin-top:12px;background:#fff;border:1px solid rgba(148,163,184,.20);border-radius:16px;padding:14px}.telegram-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.telegram-file-card{border:1px solid rgba(148,163,184,.24);border-radius:14px;padding:10px;background:#f8fafc;display:flex;flex-direction:column;gap:6px}.telegram-file-card img{width:100%;height:110px;object-fit:cover;border-radius:10px;background:#fff}.telegram-file-icon{height:70px;display:flex;align-items:center;justify-content:center;font-size:30px;background:#fff;border-radius:10px}.telegram-file-name{font-weight:700;font-size:13px;word-break:break-word}.telegram-file-notes{margin-top:10px;color:#475569}.telegram-empty{padding:26px}.telegram-agent-settings .helper-box.compact-helper{margin-top:10px}.text-danger{color:#b91c1c}@media (max-width:980px){.telegram-dashboard-grid,.telegram-message-content-grid{grid-template-columns:1fr}.telegram-message-row{grid-template-columns:30px 26px 38px minmax(0,1fr)}.telegram-message-badges{grid-column:4}.telegram-info-strip,.telegram-search-card,.telegram-bulk-bar{flex-direction:column;align-items:stretch}.telegram-message-title-line{flex-wrap:wrap}.telegram-message-title-line strong{max-width:100%}}

/* V25AV Telegram AI batch analysis + local settings modal */
.telegram-workspace-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:14px;align-items:start}.telegram-analysis-card,.telegram-analysis-history-card,.telegram-analysis-result{background:#fff;border:1px solid rgba(148,163,184,.24);border-radius:22px;padding:16px;box-shadow:0 10px 30px rgba(15,23,42,.055)}.telegram-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.telegram-card-head h3{margin:2px 0 0}.telegram-card-kicker{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800}.telegram-analysis-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:10px}.telegram-analysis-grid .full{grid-column:1/-1}.telegram-analysis-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.telegram-status-panel.mini{margin-top:12px;padding:10px 12px;border-radius:16px}.telegram-analysis-history-list{display:flex;flex-direction:column;gap:8px}.telegram-analysis-history-list a{display:block;text-decoration:none;color:inherit;background:#f8fafc;border:1px solid rgba(148,163,184,.20);border-radius:14px;padding:10px}.telegram-analysis-history-list a:hover{background:#eef6ff}.telegram-analysis-history-list strong,.telegram-analysis-history-list span{display:block}.telegram-analysis-history-list span{margin-top:3px;color:#64748b;font-size:12px}.telegram-analysis-result{margin-top:14px}.telegram-analysis-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.telegram-analysis-result-grid .wide-result{grid-column:1/-1}.telegram-relevant-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.telegram-relevant-list>div{background:#f8fafc;border:1px solid rgba(148,163,184,.20);border-radius:14px;padding:10px}.telegram-relevant-list p{margin:5px 0}.telegram-filter-select,.telegram-filter-date{min-height:42px;border:1px solid rgba(148,163,184,.35);border-radius:14px;background:#fff;padding:0 10px}.telegram-settings-modal-card{max-width:760px}.telegram-settings-form{display:flex;flex-direction:column;gap:14px}.telegram-settings-status{background:#f8fafc;border:1px solid rgba(148,163,184,.22);border-radius:14px;padding:10px 12px;color:#475569}.telegram-settings-moved-card{margin-top:14px}.mail-settings-hero.compact{padding:12px;border-radius:18px}.telegram-search-card{flex-wrap:wrap}.telegram-search-input-wrap{min-width:260px}.telegram-search-card .telegram-filter-select{min-width:190px}.telegram-search-card .telegram-filter-date{width:150px}@media (max-width:1100px){.telegram-workspace-grid,.telegram-analysis-result-grid{grid-template-columns:1fr}.telegram-analysis-grid{grid-template-columns:1fr 1fr}.telegram-analysis-history-card{order:2}}@media (max-width:720px){.telegram-analysis-grid{grid-template-columns:1fr}.telegram-search-card .telegram-filter-select,.telegram-search-card .telegram-filter-date{width:100%;min-width:0}.telegram-card-head{flex-direction:column}.telegram-analysis-actions{align-items:stretch}.telegram-analysis-actions .button{width:100%}}

/* V26A bookkeeping budget + employee catalog */
.budget-form-grid{grid-template-columns:1.6fr 1.2fr .8fr .55fr .55fr .7fr;gap:12px;align-items:end}
.form-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.check-line{display:flex;align-items:center;gap:8px;min-height:42px}
.employee-table td{vertical-align:middle}
.employee-avatar{width:42px;height:42px;border-radius:14px;object-fit:cover;border:1px solid rgba(148,163,184,.35);background:#f8fafc;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#94a3b8;font-weight:800}
.employee-avatar-empty{border-style:dashed}
.empty-cell{text-align:center;color:#64748b;padding:22px!important}
@media (max-width:1100px){.budget-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.budget-form-grid,.form-grid.two-cols{grid-template-columns:1fr}.employee-table{min-width:960px}}
