:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#172033;--muted:#667085;--line:#e5eaf1;--primary:#173d67;--primary-2:#245b91;--accent:#eef5ff;--success:#ecfdf3;--warning:#fff7e6;--danger:#b42318;--shadow:0 10px 30px rgba(15,23,42,.06);--radius:18px;--sidebar:250px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;background:var(--bg)}a{color:var(--primary-2);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#0f2034;color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:block;margin:0 4px 22px}.brand img{display:block;width:185px;max-height:58px;object-fit:contain;object-position:left center}.nav{overflow:auto;padding-right:4px}.nav-label{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#7f94aa;margin:22px 10px 7px}.nav-link{display:block;color:#d8e2ec;padding:10px 11px;border-radius:10px;margin:2px 0;font-size:14px}.nav-link:hover{background:#172f49;color:#fff}.nav-link.disabled{opacity:.45;cursor:not-allowed}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:16px 8px 0}.user-chip{display:flex;flex-direction:column;gap:3px}.user-chip small{color:#9db0c2}.sidebar-actions{display:flex;gap:12px;margin-top:10px;font-size:13px}.sidebar-actions a,.sidebar-actions .link-button{color:#c8d5e1}.main{min-width:0}.topbar{height:72px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 28px;position:sticky;top:0;z-index:10}.menu-button{display:none;border:0;background:none;font-size:24px}.global-search{flex:1;max-width:780px}.global-search input{width:100%;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:11px 14px;outline:none}.global-search input:focus{border-color:#9bb9d8;background:#fff;box-shadow:0 0 0 4px rgba(36,91,145,.08)}.page{padding:30px;max-width:1600px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.page-heading h1{font-size:30px;line-height:1.1;margin:5px 0 6px;letter-spacing:-.03em}.page-heading p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#547292}.actions,.actions-inline{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.button{appearance:none;border:1px solid transparent;border-radius:11px;padding:10px 15px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:#0f3156}.button.secondary{background:#fff;border-color:#d6dee8;color:#243b53}.button.ghost{background:#f8fafc;border-color:var(--line);color:#344054}.button.compact{padding:8px 11px;font-size:13px}.button.full{width:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card h2{font-size:17px;margin:0 0 15px}.card-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}.card-header h2{margin-bottom:4px}.card-header p{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:12px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;color:var(--text);box-shadow:0 5px 18px rgba(15,23,42,.04)}.stat-card span{display:block;color:var(--muted);font-size:12px;min-height:34px}.stat-card strong{font-size:28px;letter-spacing:-.03em}.stat-card.accent{background:#f2f7ff;border-color:#dce9f7}.stat-card.success{background:var(--success);border-color:#ccebd9}.stat-card.warning{background:var(--warning);border-color:#f1dfb8}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.three-columns{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:18px;margin-bottom:18px}.future-card{margin-top:18px;background:linear-gradient(135deg,#fff,#f4f8fd)}.table-wrap{overflow:auto}.table-wrap.card{padding:0}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf0f4;font-size:13px;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7a8699;background:#fafbfc}tbody tr:hover{background:#fbfcfe}tbody tr:last-child td{border-bottom:0}.right{text-align:right}.strong-link{font-weight:750;color:#173d67}.block{display:block}.muted,.empty{color:var(--muted)}.empty{padding:18px;text-align:center}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#eef2f6;color:#475467;padding:4px 8px;font-size:11px;font-weight:650}.badge.warning{background:#fff0c2;color:#7a4f00}.link-badge:hover{background:#dbeafe;color:#1d4f84}.list-cards{display:flex;flex-direction:column;gap:8px}.mini-card{display:grid;grid-template-columns:100px 1fr;gap:3px 14px;padding:11px 12px;background:#f8fafc;border-radius:12px;color:var(--text)}.mini-card strong{grid-row:1/3}.mini-card small{color:var(--muted)}.form-card{max-width:980px}.form-card.narrow,.narrow{max-width:620px}.form-card p{display:grid;grid-template-columns:240px 1fr;gap:8px 18px;align-items:start;margin:0;padding:11px 0;border-bottom:1px solid #eff2f5}.form-card p:last-of-type{border-bottom:0}.form-card label{font-weight:650;font-size:13px;padding-top:10px}.form-card .helptext{grid-column:2;font-size:12px;color:var(--muted)}.form-card ul.errorlist{grid-column:2;margin:3px 0;color:var(--danger);font-size:12px}.input,.textarea,select.input,.form-card input:not([type=checkbox]),.form-card select,.form-card textarea{width:100%;border:1px solid #d8e0e9;border-radius:10px;padding:10px 11px;background:#fff;color:var(--text);outline:none}.textarea,.form-card textarea{resize:vertical}.input:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#8aaed0;box-shadow:0 0 0 4px rgba(36,91,145,.08)}.checkbox{width:18px;height:18px}.form-actions{display:flex;gap:10px;padding-top:18px}.stack-form{display:flex;flex-direction:column;gap:15px}.stack-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650}.callout{background:#eef5ff;border:1px solid #d5e5f6;color:#31506f;border-radius:14px;padding:13px 15px;margin-bottom:18px}.messages{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.message{padding:12px 14px;border-radius:12px;background:#eef2f6}.message.success{background:#e9f8ef;color:#205b36}.message.error{background:#fff0ee;color:#8d2c24}.status-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:18px;overflow:hidden}.status-strip>div{padding:14px 18px;border-right:1px solid var(--line)}.status-strip>div:last-child{border-right:0}.status-strip small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.status-strip strong{font-size:14px}.detail-grid{display:grid;grid-template-columns:120px 1fr;gap:10px 16px;margin:0}.detail-grid dt{font-size:12px;color:var(--muted)}.detail-grid dd{margin:0;font-size:13px}.note{border-top:1px solid var(--line);padding-top:14px;color:#475467}.big-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.big-metrics>div{background:#f8fafc;border-radius:14px;padding:16px}.big-metrics strong{font-size:26px;display:block}.big-metrics span{font-size:12px;color:var(--muted)}.card-actions{display:flex;gap:12px;margin-top:15px;font-size:13px}.action-stack{display:flex;flex-direction:column;gap:8px}.inline-form{display:inline}.link-button{background:none;border:0;padding:0;color:var(--primary-2);cursor:pointer}.link-button.danger{color:var(--danger)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-grid a{color:var(--text)}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#eef2f6}.photo-grid small{display:block;padding-top:5px;color:var(--muted)}.document-row,.contact-row,.search-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f4}.document-row:last-child,.contact-row:last-child,.search-row:last-child{border-bottom:0}.document-row small,.contact-row small,.search-row span{display:block;color:var(--muted);margin-top:2px;font-size:12px}.search-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tabs{display:flex;gap:5px;margin:0 0 14px;overflow:auto}.tab{padding:8px 12px;border-radius:9px;color:#667085;font-size:13px;white-space:nowrap}.tab.active{background:#e9f1fa;color:#183f66;font-weight:700}.filter-bar{display:flex;gap:9px;margin-bottom:14px;max-width:700px}.qr-card{max-width:520px;text-align:center}.qr-image{width:250px;max-width:80%;margin:0 auto 18px;display:block}.qr-card label{display:flex;flex-direction:column;text-align:left;gap:7px;margin-bottom:10px}.login-body,.mobile-upload-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#e9f1fa,#f7f9fc 50%,#edf2f7);padding:20px}.login-card,.mobile-upload-card{width:min(430px,100%);background:#fff;border:1px solid #e1e7ee;border-radius:24px;padding:34px;box-shadow:0 25px 70px rgba(15,23,42,.12)}.login-logo,.mobile-logo{width:190px;max-height:60px;object-fit:contain;object-position:left center;margin-bottom:25px}.login-heading h1,.mobile-upload-card h1{margin:0 0 5px;font-size:28px}.login-heading p,.mobile-upload-card p{margin:0 0 24px;color:var(--muted)}.login-card .muted,.mobile-upload-card .muted{display:block;margin-top:17px;font-size:11px}.mobile-upload-card .form-card p,.mobile-upload-card form p{display:flex;flex-direction:column;gap:7px}.mobile-upload-card input[type=file]{width:100%;border:1px dashed #aab7c5;padding:16px;border-radius:14px}.mobile-upload-card label{font-weight:650}.mobile-upload-card .helptext{font-size:12px;color:var(--muted)}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(4,1fr)}.three-columns{grid-template-columns:1fr 1fr}.three-columns>section:last-child{grid-column:1/-1}}
@media(max-width:900px){:root{--sidebar:0px}.app-shell{display:block}.sidebar{position:fixed;left:-270px;width:250px;transition:left .2s ease;box-shadow:20px 0 60px rgba(0,0,0,.2)}.sidebar.open{left:0}.menu-button{display:block}.topbar{padding:0 16px}.page{padding:20px}.two-columns,.three-columns,.search-sections{grid-template-columns:1fr}.three-columns>section:last-child{grid-column:auto}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start;flex-direction:column}.status-strip{grid-template-columns:1fr 1fr}.status-strip>div:nth-child(2){border-right:0}.status-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:620px){.topbar .button{display:none}.page{padding:16px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:14px}.stat-card strong{font-size:24px}.form-card p{display:flex;flex-direction:column;gap:6px}.form-card label{padding-top:0}.form-card .helptext,.form-card ul.errorlist{grid-column:auto}.photo-grid{grid-template-columns:1fr 1fr}.status-strip{grid-template-columns:1fr}.status-strip>div{border-right:0!important;border-bottom:1px solid var(--line)}.status-strip>div:last-child{border-bottom:0}.detail-grid{grid-template-columns:100px 1fr}.login-card,.mobile-upload-card{padding:24px}.global-search input{font-size:14px}}
@media print{.sidebar,.topbar,.actions,.button,.tabs,.messages{display:none!important}.app-shell{display:block}.page{padding:0}.card{box-shadow:none;break-inside:avoid}body{background:#fff}}

/* OS como ficha operacional: densa, tabular e com detalhes sob demanda. */
.compact-status{margin-bottom:12px}.os-sheet{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.045)}.os-summary-grid{display:grid;grid-template-columns:2fr 1.4fr 1fr 1.2fr;border-bottom:1px solid var(--line)}.os-summary-grid>div{padding:14px 18px;border-right:1px solid var(--line);min-width:0}.os-summary-grid>div:last-child{border-right:0}.os-summary-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.os-summary-grid strong{font-size:13px}.os-note{padding:12px 18px;border-bottom:1px solid var(--line);font-size:13px;color:#475467}.os-actionbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:11px 18px;border-bottom:1px solid var(--line);background:#fbfcfe}.os-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:17px 18px 10px}.os-section-heading h2{margin:0 0 3px;font-size:17px}.os-section-heading p{margin:0;color:var(--muted);font-size:12px}.os-items-table table{min-width:1180px}.os-items-table th,.os-items-table td{padding:10px 12px}.os-items-table tfoot td{background:#fbfcfe;border-top:1px solid #dfe5ec}.photo-count-link{white-space:nowrap;font-weight:650}.os-info-list{border-top:1px solid var(--line)}.os-info-row{display:grid;grid-template-columns:190px 1fr auto;gap:16px;align-items:center;padding:12px 18px;border-bottom:1px solid #edf0f4;font-size:13px}.os-info-row:last-child{border-bottom:0}.os-info-row>strong{font-size:12px}.os-inline-values{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:0}.separator{color:#a4adba}.photo-gallery-card{box-shadow:none}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.gallery-item{display:flex;flex-direction:column;color:var(--text);min-width:0}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#eef2f6}.gallery-item span{font-size:13px;font-weight:650;margin-top:7px}.gallery-item small{color:var(--muted);margin-top:2px}.qr-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.mobile-status-box{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;text-align:left}.mobile-status-box>strong,.mobile-status-box>span{display:block}.mobile-received-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.mobile-received-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px}.mobile-received-item small{display:block;text-align:center;color:var(--muted);font-size:10px}.mobile-last-photo{padding:12px;border-radius:14px;background:#f4fbf6;border:1px solid #d8eddf;margin-bottom:18px}.mobile-last-photo strong{display:block;margin-bottom:9px;color:#24613a}.mobile-last-photo img,.mobile-selected-preview{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:12px;background:#eef2f6}.mobile-last-photo small{display:block;margin-top:6px;color:var(--muted)}.mobile-selected-preview{margin-top:4px}.mobile-upload-card button[disabled]{opacity:.65;cursor:wait}
@media(max-width:1100px){.os-summary-grid{grid-template-columns:1fr 1fr}.os-summary-grid>div:nth-child(2){border-right:0}.os-summary-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.os-summary-grid{grid-template-columns:1fr}.os-summary-grid>div{border-right:0!important;border-bottom:1px solid var(--line)}.os-summary-grid>div:last-child{border-bottom:0}.os-info-row{grid-template-columns:1fr;gap:5px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.mobile-received-grid{grid-template-columns:repeat(3,1fr)}}


/* ERP-SDS OS VISUAL v0.2.1 */
.page-heading-tight{margin-bottom:14px}
.osv2-title-block p{margin:6px 0 0;color:var(--muted)}
.osv2-title-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.osv2-title-line h1,.osv2-title-line h2{margin:0;font-size:44px;line-height:1.02;letter-spacing:-.02em;color:var(--text)}
.osv2-title-line h2{font-weight:700}
.osv2-title-separator{font-size:32px;color:#9aa7b5;line-height:1}
.osv2-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px;margin-bottom:16px}
.osv2-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.osv2-card{padding:18px}
.osv2-items-card{padding:0;overflow:hidden}
.osv2-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.osv2-heading-inline{padding:18px 18px 0;margin-bottom:14px}
.osv2-heading h2{margin:0;font-size:21px;line-height:1.15}
.osv2-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}
.osv2-detail-grid{grid-template-columns:140px 1fr}
.osv2-note-box{margin-top:16px;padding:14px 16px;border:1px solid #e7edf3;border-radius:14px;background:#fbfcfe}
.osv2-note-box strong{display:block;margin-bottom:7px}
.osv2-note-box p{margin:0;color:#475467;line-height:1.55}
.osv2-actions{display:flex;gap:10px;flex-wrap:wrap}
.osv2-actions form{margin:0}
.osv2-list{display:flex;flex-direction:column;gap:10px}
.osv2-list-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid #e7edf3;border-radius:14px;background:#fbfcfe}
.osv2-list-row strong{display:block;font-size:14px;line-height:1.35}
.osv2-list-row small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}
.osv2-row-meta{min-width:112px;text-align:right}
.osv2-row-actions{display:flex;gap:12px;flex-wrap:wrap;white-space:nowrap}
.osv2-row-actions a{font-weight:650}
.osv2-money-cell,.osv2-money-cell strong{white-space:nowrap}
.osv2-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.osv2-metric-grid>div{padding:14px;border:1px solid #e7edf3;border-radius:14px;background:#fbfcfe}
.osv2-metric-grid strong{display:block;font-size:26px;line-height:1.05}
.osv2-metric-grid span{display:block;margin-top:6px;color:var(--muted);font-size:12px}
.osv2-empty{padding:16px;border:1px dashed #d8e0e9;border-radius:14px;background:#fbfcfe;color:var(--muted)}
.osv2-items-table table{min-width:1180px}
.osv2-items-table th,.osv2-items-table td{padding:12px}
.osv2-items-table thead th{font-size:12px;white-space:nowrap}
.osv2-row-note{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}
.osv2-items-card .table-wrap{padding:0 18px 18px}
.osv2-items-card .empty{padding:20px 12px}
.osv2-items-card tfoot td{background:#fbfcfe;border-top:1px solid #e1e7ee}
@media(max-width:1200px){.osv2-grid{grid-template-columns:1fr}.osv2-title-line h1,.osv2-title-line h2{font-size:38px}}
@media(max-width:900px){.osv2-bottom-grid{grid-template-columns:1fr}.osv2-title-line h1,.osv2-title-line h2{font-size:32px}.osv2-title-separator{display:none}}
@media(max-width:700px){.osv2-heading,.osv2-heading-inline{flex-direction:column;align-items:flex-start}.osv2-detail-grid{grid-template-columns:1fr}.osv2-metric-grid{grid-template-columns:1fr}.osv2-list-row{flex-direction:column}.osv2-row-meta{text-align:left;min-width:0}.osv2-items-card .table-wrap{padding:0 14px 14px}}



/* ERP-SDS OS V0.2.2 */
.osv3-page{
    display:flex;
    flex-direction:column;
    gap:1.25rem;
}

.osv3-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
}

.osv3-header-main{
    flex:1;
}

.osv3-eyebrow,
.osv3-section-eyebrow{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#5d7290;
    margin-bottom:.35rem;
    font-weight:700;
}

.osv3-title{
    margin:0;
    font-size:2.35rem;
    line-height:1.08;
    color:#0d2347;
}

.osv3-sep{
    color:#90a0b8;
    font-weight:400;
}

.osv3-client-link{
    color:#0d2347;
    text-decoration:none;
}

.osv3-client-link:hover{
    text-decoration:underline;
}

.osv3-meta{
    margin-top:.65rem;
    display:flex;
    flex-wrap:wrap;
    gap:.65rem 1rem;
    color:#415673;
    font-size:.98rem;
}

.osv3-meta span{
    background:#eef3f9;
    border:1px solid #dbe5f1;
    border-radius:999px;
    padding:.45rem .8rem;
}

.osv3-note{
    margin-top:1rem;
    border:1px solid #d8e3ef;
    background:#f8fbfe;
    border-radius:18px;
    padding:1rem 1.1rem;
}

.osv3-note-label{
    font-weight:700;
    color:#10284d;
    margin-bottom:.35rem;
}

.osv3-note-text{
    color:#314764;
    line-height:1.55;
}

.osv3-header-actions{
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.osv3-status-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem;
}

.osv3-status-card,
.osv3-section{
    background:#fff;
    border:1px solid #dfe7f1;
    border-radius:20px;
    box-shadow:0 1px 0 rgba(13,35,71,.02);
}

.osv3-status-card{
    padding:1rem 1.1rem;
}

.osv3-status-label{
    color:#6a7f9c;
    font-size:.84rem;
    margin-bottom:.35rem;
}

.osv3-status-value{
    color:#10284d;
    font-weight:700;
    font-size:1.05rem;
}

.osv3-section{
    padding:1.2rem 1.2rem 1.1rem;
}

.osv3-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:1rem;
}

.osv3-section-head h2{
    margin:0;
    color:#10284d;
    font-size:1.55rem;
}

.osv3-section-head p{
    margin:.3rem 0 0;
    color:#647892;
}

.osv3-link-action{
    font-weight:700;
    color:#1d4f91;
    text-decoration:none;
}

.osv3-link-action:hover{
    text-decoration:underline;
}

.osv3-table-wrap{
    overflow:auto;
}

.osv3-table{
    width:100%;
    border-collapse:collapse;
    min-width:1080px;
}

.osv3-table thead th{
    text-align:left;
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#687c98;
    border-bottom:1px solid #e3ebf4;
    padding:.8rem .7rem;
}

.osv3-table tbody td,
.osv3-table tfoot th{
    padding:.9rem .7rem;
    border-bottom:1px solid #edf2f7;
    vertical-align:top;
    color:#1c3353;
}

.osv3-table tfoot th{
    color:#0d2347;
    font-weight:700;
    background:#f9fbfd;
}

.osv3-subline{
    color:#667b96;
    font-size:.9rem;
    margin-top:.18rem;
}

.osv3-empty-row{
    text-align:center;
    color:#71849e;
    padding:1.4rem !important;
}

.osv3-table-actions a{
    color:#1d4f91;
    font-weight:700;
    text-decoration:none;
}

.osv3-table-actions a:hover{
    text-decoration:underline;
}

.osv3-grid-2{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}

.osv3-info-list{
    display:flex;
    flex-direction:column;
    gap:.75rem;
}

.osv3-info-row{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:1rem;
    padding:.75rem 0;
    border-bottom:1px solid #edf2f7;
}

.osv3-info-row:last-child{
    border-bottom:0;
}

.osv3-info-label{
    color:#637894;
    font-weight:600;
}

.osv3-info-value{
    color:#162f53;
}

.osv3-highlight-box{
    border:1px solid #dbe6f2;
    background:#f7fbff;
    border-radius:18px;
    padding:1rem 1.05rem;
    margin-bottom:1rem;
}

.osv3-highlight-label{
    color:#687c98;
    font-size:.85rem;
    margin-bottom:.25rem;
}

.osv3-highlight-value{
    color:#0d2347;
    font-size:1.4rem;
    font-weight:800;
}

.osv3-list-box{
    display:flex;
    flex-direction:column;
    gap:.7rem;
}

.osv3-list-row{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    border:1px solid #e5edf6;
    background:#fbfdff;
    border-radius:14px;
    padding:.8rem .9rem;
}

.osv3-list-row a{
    color:#1d4f91;
    font-weight:700;
    text-decoration:none;
}

.osv3-list-row a:hover{
    text-decoration:underline;
}

.osv3-empty-block{
    border:1px dashed #d5e0ec;
    border-radius:14px;
    padding:1rem;
    color:#71849e;
    background:#fbfdff;
}

.osv3-inline-actions,
.osv3-quick-actions{
    margin-top:1rem;
    display:flex;
    flex-wrap:wrap;
    gap:.7rem;
}

@media (max-width: 1100px){
    .osv3-header{
        flex-direction:column;
    }

    .osv3-header-actions{
        width:100%;
        justify-content:flex-start;
    }

    .osv3-status-row{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .osv3-grid-2{
        grid-template-columns:1fr;
    }
}

@media (max-width: 720px){
    .osv3-title{
        font-size:1.75rem;
    }

    .osv3-status-row{
        grid-template-columns:1fr;
    }

    .osv3-info-row{
        grid-template-columns:1fr;
        gap:.35rem;
    }

    .osv3-section{
        padding:1rem;
    }
}


/* ERP-SDS OS FLOW v0.2.3 */

.osflow-header{
    margin-bottom:12px
}

.osflow-heading{
    min-width:0
}

.osflow-title{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:10px
}

.osflow-title h1{
    margin:0;
    font-size:42px;
    line-height:1.05
}

.osflow-title>a{
    font-size:42px;
    font-weight:700;
    line-height:1.05;
    color:var(--text);
    text-decoration:none
}

.osflow-title>a:hover{
    color:var(--primary-2);
    text-decoration:underline
}

.osflow-title-separator{
    font-size:29px;
    color:#a2adba
}

.osflow-meta{
    display:flex;
    gap:8px 18px;
    flex-wrap:wrap;
    margin-top:10px;
    color:var(--muted);
    font-size:13px
}

.osflow-meta strong{
    color:var(--text)
}

.osflow-note{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:18px;
    padding:12px 16px;
    margin-bottom:12px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    font-size:13px;
    line-height:1.5
}

.osflow-note span{
    color:#475467
}

.osflow-status{
    margin-bottom:16px
}

.osflow-section{
    padding:18px;
    margin-bottom:16px
}

.osflow-pieces{
    padding:0;
    overflow:hidden
}

.osflow-section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:16px
}

.osflow-pieces>.osflow-section-header{
    padding:18px 18px 0
}

.osflow-section-header h2{
    margin:0;
    font-size:22px
}

.osflow-section-header p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px
}

.osflow-section-header>a,
.osflow-header-links a{
    white-space:nowrap;
    font-weight:650
}

.osflow-table{
    padding:0 18px 18px
}

.osflow-table table{
    min-width:1180px
}

.osflow-table th,
.osflow-table td{
    padding:12px
}

.osflow-table thead th{
    white-space:nowrap;
    font-size:11px
}

.osflow-table tfoot td{
    background:#f8fafc;
    border-top:1px solid var(--line)
}

.osflow-sub{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:11px
}

.osflow-money,
.osflow-money strong{
    white-space:nowrap
}

.osflow-photo-link{
    white-space:nowrap;
    font-weight:650
}

.osflow-grid-main{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}

.osflow-list{
    display:flex;
    flex-direction:column;
    gap:9px
}

.osflow-list-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding:12px 14px;
    background:#f9fbfd;
    border:1px solid #e5ebf2;
    border-radius:12px
}

.osflow-list-row strong{
    display:block;
    font-size:13px
}

.osflow-list-row span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:11px
}

.osflow-list-right{
    text-align:right;
    white-space:nowrap
}

.osflow-list-right a{
    font-weight:650
}

.osflow-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px
}

.osflow-actions form{
    margin:0
}

.osflow-invoice{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    margin-bottom:12px;
    background:#edf5fd;
    border:1px solid #d9e8f7;
    border-radius:13px
}

.osflow-invoice span{
    color:var(--muted);
    font-size:12px
}

.osflow-invoice strong{
    font-size:20px
}

.osflow-total-box{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:12px;
    padding:14px 16px;
    border-top:1px solid var(--line)
}

.osflow-total-box span{
    color:var(--muted);
    font-size:12px
}

.osflow-total-box strong{
    font-size:21px
}

.osflow-header-links{
    display:flex;
    gap:12px;
    flex-wrap:wrap
}

.osflow-photo-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:12px
}

.osflow-photo-summary>div{
    padding:14px;
    background:#f8fafc;
    border:1px solid #e5ebf2;
    border-radius:13px
}

.osflow-photo-summary span{
    display:block;
    color:var(--muted);
    font-size:11px
}

.osflow-photo-summary strong{
    display:block;
    margin-top:4px;
    font-size:24px
}

.osflow-delivery{
    margin-bottom:0
}

.osflow-delivery-data{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px
}

.osflow-delivery-data>div{
    padding:13px;
    background:#f9fbfd;
    border:1px solid #e5ebf2;
    border-radius:12px
}

.osflow-delivery-data span{
    display:block;
    color:var(--muted);
    font-size:11px;
    margin-bottom:4px
}

.osflow-delivery-data strong{
    font-size:13px
}

.osflow-empty{
    padding:15px;
    color:var(--muted);
    border:1px dashed #d7dfe8;
    border-radius:12px;
    background:#fbfcfe
}

@media(max-width:1100px){

    .osflow-grid-main{
        grid-template-columns:1fr
    }

    .osflow-title h1,
    .osflow-title>a{
        font-size:35px
    }

    .osflow-delivery-data{
        grid-template-columns:1fr 1fr
    }

}

@media(max-width:700px){

    .osflow-title h1,
    .osflow-title>a{
        font-size:29px
    }

    .osflow-title-separator{
        display:none
    }

    .osflow-note{
        grid-template-columns:1fr;
        gap:4px
    }

    .osflow-section-header{
        flex-direction:column
    }

    .osflow-list-row{
        flex-direction:column
    }

    .osflow-list-right{
        text-align:left
    }

    .osflow-photo-summary,
    .osflow-delivery-data{
        grid-template-columns:1fr
    }

}


/* ERP-SDS OS CLEAN v0.2.4 */

.osflow-pieces-clean .osflow-table table{
    min-width:760px
}

.osflow-billing-list{
    gap:8px
}

.osflow-billing-row{
    display:grid;
    grid-template-columns:1.4fr .8fr 1fr 1fr;
    gap:14px;
    align-items:center;
    padding:12px 14px;
    background:#f9fbfd;
    border:1px solid #e5ebf2;
    border-radius:12px
}

.osflow-billing-row>div{
    min-width:0
}

.osflow-billing-row span{
    display:block;
    margin-bottom:3px;
    color:var(--muted);
    font-size:10px
}

.osflow-billing-row strong{
    display:block;
    font-size:13px
}

.osflow-billing-total{
    text-align:right
}

.osflow-billing-total strong{
    font-size:15px
}

.osflow-billing-footer{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--line)
}

.osflow-billing-footer>div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:13px 15px;
    background:#edf5fd;
    border:1px solid #d9e8f7;
    border-radius:12px
}

.osflow-billing-footer span{
    color:var(--muted);
    font-size:11px
}

.osflow-billing-footer strong{
    font-size:19px;
    white-space:nowrap
}

@media(max-width:900px){

    .osflow-billing-row{
        grid-template-columns:1fr 1fr
    }

    .osflow-billing-total{
        text-align:left
    }

}

@media(max-width:620px){

    .osflow-billing-row{
        grid-template-columns:1fr
    }

    .osflow-billing-footer{
        grid-template-columns:1fr
    }

}


