/* assets/css/app.css - internal app UI tweaks */
body{background:#f8f9fa}
.card{margin-bottom:1rem}

/* Workspace SPA integrated with existing Maorin Builders UI */
.workspace-shell-card{border-radius:1.25rem;overflow:hidden}.workspace-tabs .nav-link{border-radius:999px;color:#334155;font-weight:600}.workspace-tabs .nav-link.active{background:#0d6efd;color:#fff}.workspace-toolbar .form-control{min-width:220px}.workspace-content-area{min-height:420px}.workspace-stat{border:1px solid #e9ecef;background:#f8f9fa;border-radius:1rem;padding:1rem;height:100%}.workspace-table-wrap{border:1px solid #e9ecef;border-radius:1rem;overflow:auto}.workspace-table{margin:0}.workspace-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6c757d;background:#f8f9fa;white-space:nowrap}.workspace-table td{white-space:nowrap}.workspace-spa .modal-content{border:0;border-radius:1rem;box-shadow:0 1rem 3rem rgba(15,23,42,.18)}
@media (max-width: 768px){.workspace-toolbar{width:100%}.workspace-toolbar .form-control{min-width:0;flex:1}.workspace-tabs{gap:.25rem}.workspace-tabs .nav-link{padding:.45rem .7rem}}

/* Professional Estimate Builder */
.estimate-builder-modal{border-radius:1.1rem;overflow:hidden}.estimate-head{background:#fff}.estimate-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:680px}.estimate-inputs{background:#fff}.estimate-summary{background:linear-gradient(180deg,#f8fafc,#eef2ff);border-left:1px solid #e5e7eb}.estimate-summary-sticky{top:1rem}.estimate-tabs{gap:.25rem;overflow-x:auto;flex-wrap:nowrap}.estimate-tabs .nav-link{white-space:nowrap;border-radius:999px;border:1px solid #e5e7eb;color:#334155;font-weight:600}.estimate-tabs .nav-link.active{background:#0d6efd;color:#fff;border-color:#0d6efd}.estimate-lines{display:grid;gap:.6rem}.estimate-line{display:grid;grid-template-columns:1.4fr .7fr .65fr .85fr .65fr 1fr 92px 38px;gap:.45rem;align-items:end;padding:.65rem;border:1px solid #e5e7eb;border-radius:1rem;background:#f8fafc}.estimate-line.labor-line{grid-template-columns:1.6fr .75fr .9fr .65fr 92px 38px}.estimate-line.equipment-line{grid-template-columns:1.6fr .8fr .9fr .75fr 92px 38px}.estimate-line label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:700;margin-bottom:.18rem}.line-total{font-weight:800;color:#0f172a;background:#fff;border:1px solid #e5e7eb;border-radius:.7rem;padding:.45rem .55rem;text-align:right}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem 0;color:#475569}.summary-row strong{color:#0f172a}.summary-grand{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;margin-top:.5rem;border-top:2px solid #cbd5e1;font-size:1.15rem}.summary-grand strong{font-size:1.35rem;color:#0d6efd}.summary-profit{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.summary-profit>div{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:.8rem}.summary-profit span{display:block;color:#64748b;font-size:.78rem}.summary-profit strong{display:block;font-size:1.05rem}.mb-risk{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#fef3c7;color:#92400e}.mb-risk.success{background:#dcfce7;color:#166534}.mb-risk.warn,.mb-risk.review{background:#fef3c7;color:#92400e}.mb-risk.danger{background:#fee2e2;color:#991b1b}.estimate-warning{font-size:.83rem;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:.85rem;padding:.65rem .75rem;margin-bottom:.5rem}.estimate-warning.danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}
@media(max-width:991px){.estimate-layout{grid-template-columns:1fr}.estimate-summary{border-left:0;border-top:1px solid #e5e7eb}.estimate-line,.estimate-line.labor-line,.estimate-line.equipment-line{grid-template-columns:1fr 1fr}.line-total{grid-column:1/-2}.estimate-line [data-remove-line]{grid-column:-2/-1}.summary-profit{grid-template-columns:1fr}}

:root{--mb-bg:#f5f7fb;--mb-card:#fff;--mb-ink:#0f172a;--mb-muted:#64748b;--mb-line:#e2e8f0;--mb-primary:#0f766e;--mb-sidebar:#111827;--mb-sidebar-2:#1f2937}body.mb-workspace-body{background:var(--mb-bg);color:var(--mb-ink)}.mb-shell{min-height:100vh;display:flex}.mb-sidebar{width:282px;background:linear-gradient(180deg,var(--mb-sidebar),var(--mb-sidebar-2));color:#fff;position:sticky;top:0;height:100vh;overflow:auto;transition:width .18s ease}.mb-shell.is-collapsed .mb-sidebar{width:84px}.mb-brand{display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.08)}.mb-logo{width:42px;height:42px;border-radius:14px;background:#14b8a6;display:grid;place-items:center;font-weight:800}.mb-brand-title{font-weight:800;line-height:1.1}.mb-brand-sub{font-size:.78rem;color:rgba(255,255,255,.65)}.mb-shell.is-collapsed .mb-brand-text,.mb-shell.is-collapsed .mb-link span,.mb-shell.is-collapsed .mb-section-title{display:none}.mb-nav{padding:.85rem}.mb-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.45);padding:.9rem .8rem .35rem}.mb-link{display:flex;align-items:center;gap:.75rem;color:rgba(255,255,255,.78);text-decoration:none;border-radius:14px;padding:.72rem .85rem;margin:.15rem 0}.mb-link:hover,.mb-link.active{background:rgba(255,255,255,.10);color:#fff}.mb-link-icon{width:28px;text-align:center}.mb-main{flex:1;min-width:0}.mb-topbar{height:72px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--mb-line);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;position:sticky;top:0;z-index:10}.mb-content{padding:1.25rem}.mb-card{background:var(--mb-card);border:1px solid var(--mb-line);border-radius:22px;box-shadow:0 18px 45px rgba(15,23,42,.06)}.mb-card-header{padding:1rem 1.15rem;border-bottom:1px solid var(--mb-line);display:flex;align-items:center;justify-content:space-between;gap:1rem}.mb-card-body{padding:1.15rem}.mb-stat{padding:1rem;border-radius:18px;background:#f8fafc;border:1px solid var(--mb-line)}.mb-stat-label{font-size:.82rem;color:var(--mb-muted)}.mb-stat-value{font-size:1.55rem;font-weight:800}.mb-table{margin:0}.mb-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mb-muted);background:#f8fafc}.mb-table td,.mb-table th{vertical-align:middle}.mb-actions{display:flex;gap:.35rem;justify-content:flex-end}.mb-badge{border-radius:999px;padding:.32rem .62rem;font-size:.76rem;font-weight:700;background:#e0f2fe;color:#075985}.mb-badge.success{background:#dcfce7;color:#166534}.mb-badge.warn{background:#fef3c7;color:#92400e}.mb-badge.danger{background:#fee2e2;color:#991b1b}.mb-toolbar{display:flex;gap:.5rem;flex-wrap:wrap}.mb-search{max-width:320px}.mb-btn-icon{border:0;background:#f1f5f9;border-radius:12px;padding:.55rem .75rem}.mb-modal-panel{border-radius:22px;border:0}.mb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mb-form-grid .full{grid-column:1/-1}@media(max-width:900px){.mb-shell{display:block}.mb-sidebar{position:fixed;left:-290px;z-index:30}.mb-shell.is-mobile-open .mb-sidebar{left:0}.mb-form-grid{grid-template-columns:1fr}.mb-content{padding:.85rem}.mb-topbar{height:auto;min-height:64px;gap:.75rem;align-items:flex-start;flex-direction:column;padding:.8rem}.mb-toolbar{width:100%}.mb-search{max-width:none;width:100%}}

/* SPA professional contractor workspace refinements */
.workspace-shell-card{border-radius:24px;overflow:hidden}.workspace-tabs .nav-link{border-radius:18px;padding:.65rem 1rem}.workspace-content-area{min-height:460px}.workspace-stat{padding:1.1rem;border-radius:18px;background:#f8fafc;border:1px solid #e5e7eb;height:100%}.workspace-stat .stat-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:700}.workspace-stat .stat-main{font-size:1.65rem;font-weight:850;color:#0f172a;line-height:1.2;margin:.2rem 0}.workspace-stat .stat-sub{font-size:.82rem;color:#64748b}.workspace-mini-card{padding:1rem;border-radius:18px;background:#fff;border:1px solid #e5e7eb;min-height:92px;display:flex;flex-direction:column;justify-content:center}.workspace-mini-card b{font-size:1.25rem;color:#0f172a}.workspace-mini-card span{font-size:.82rem;color:#64748b}.workspace-mini-card.danger{background:#fff1f2;border-color:#fecdd3}.workspace-mini-card.danger b{color:#be123c}.workspace-section-card{padding:1rem;border:1px solid #e5e7eb;border-radius:20px;background:#fff}.workspace-table-wrap{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden}.workspace-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;background:#f8fafc;white-space:nowrap}.workspace-table td{vertical-align:middle}.mb-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.32rem .62rem;font-size:.72rem;font-weight:800;background:#eef2ff;color:#3730a3}.mb-badge.success{background:#dcfce7;color:#166534}.mb-badge.warn{background:#fef3c7;color:#92400e}.mb-badge.danger{background:#fee2e2;color:#991b1b}.professional-estimate-modal,.professional-project-modal,.professional-proposal-modal{border:0;border-radius:24px;box-shadow:0 26px 90px rgba(15,23,42,.25)}.estimate-builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem}.estimate-builder-left{min-width:0}.estimate-live-panel{position:sticky;top:0;align-self:start;border:1px solid #e5e7eb;border-radius:20px;background:#f8fafc;padding:1rem}.live-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.mb-risk{border-radius:999px;padding:.32rem .6rem;font-size:.72rem;font-weight:800}.mb-risk.success{background:#dcfce7;color:#166534}.mb-risk.warn{background:#fef3c7;color:#92400e}.mb-risk.danger{background:#fee2e2;color:#991b1b}.live-row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed #dbe3ef;padding:.45rem 0;font-size:.9rem}.live-row.strong{font-weight:850;color:#0f172a}.estimate-warning{font-size:.82rem;border-radius:12px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;padding:.55rem;margin-top:.5rem}.estimate-warning.danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.estimate-line{display:grid;grid-template-columns:1.4fr .65fr .65fr .85fr .65fr 1fr 110px 42px;gap:.55rem;align-items:end;padding:.75rem;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:.65rem;background:#fff}.estimate-line.labor-line{grid-template-columns:1.5fr .8fr .9fr .75fr 110px 42px}.estimate-line.equipment-line{grid-template-columns:1.5fr .8fr .9fr .75fr 110px 42px}.estimate-line label,.mb-form-grid label{font-size:.82rem;font-weight:700;color:#111827}.estimate-line .line-total{font-weight:800;text-align:right;white-space:nowrap;padding-bottom:.35rem}.line-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.line-head h6{margin:0}.estimate-subtabs{gap:.35rem}.estimate-subtabs .nav-link{border-radius:999px}.project-form-layout{display:grid;gap:1rem}.project-form-layout section{border:1px solid #e5e7eb;border-radius:18px;padding:1rem;background:#fff}.project-form-layout h6{font-weight:850;margin-bottom:.85rem}.mb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mb-form-grid .full{grid-column:1/-1}.estimate-view h6,.proposal-view h6{font-weight:850;color:#0f172a}.modal .form-control,.modal .form-select{border-radius:10px;border-color:#dbe3ef}.modal .form-control:focus,.modal .form-select:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.12)}@media(max-width:1100px){.estimate-builder-grid{grid-template-columns:1fr}.estimate-live-panel{position:static}.estimate-line,.estimate-line.labor-line,.estimate-line.equipment-line{grid-template-columns:1fr 1fr}.estimate-line .line-total{text-align:left}.mb-form-grid{grid-template-columns:1fr}}@media(max-width:700px){.workspace-toolbar{width:100%}.workspace-toolbar input{min-width:0}.estimate-line,.estimate-line.labor-line,.estimate-line.equipment-line{grid-template-columns:1fr}.professional-estimate-modal .modal-footer,.professional-project-modal .modal-footer,.professional-proposal-modal .modal-footer{position:sticky;bottom:0;background:#fff}}
.mb-admin-modal .modal-dialog{margin:1.5rem auto}.mb-admin-modal .modal-content{border:0;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 28px 80px rgba(15,23,42,.22)}.mb-admin-modal .modal-header{padding:1.2rem 1.35rem 1rem;border-bottom:1px solid rgba(148,163,184,.22);background:radial-gradient(circle at top right,rgba(20,184,166,.16),transparent 34%),linear-gradient(135deg,#f8fffe 0%,#eef4ff 100%)}.mb-admin-modal .modal-header .modal-title{font-size:1.15rem;font-weight:850;color:#0f172a;letter-spacing:-.02em}.mb-admin-modal .modal-header .text-muted,.mb-admin-modal .modal-header .small{color:#5b6475!important}.mb-admin-modal .modal-header > div{display:grid;gap:.2rem}.mb-admin-modal .btn-close{width:2.2rem;height:2.2rem;border-radius:999px;padding:.7rem;background-color:rgba(255,255,255,.88);box-shadow:0 10px 26px rgba(15,23,42,.08)}.mb-admin-modal .modal-body{padding:1.3rem 1.35rem 1.4rem;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(248,250,252,.94))}.mb-admin-modal .modal-footer{padding:1rem 1.35rem 1.25rem;border-top:1px solid rgba(148,163,184,.18);background:#fff;gap:.65rem}.mb-admin-modal .modal-footer .btn{min-width:132px;border-radius:12px;font-weight:700}.mb-admin-modal .form-label{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#475569;margin-bottom:.45rem}.mb-admin-modal .form-text{color:#64748b}.mb-admin-modal .form-control,.mb-admin-modal .form-select{min-height:46px;border-radius:14px;border-color:#dbe3ef;background:rgba(255,255,255,.96)}.mb-admin-modal textarea.form-control{min-height:120px}.mb-admin-modal .form-check.form-switch{padding:1rem 1rem 1rem 3.5rem;border:1px solid #dbe3ef;border-radius:18px;background:#fff;min-height:100%}.mb-admin-modal .form-check.form-switch .form-check-input{width:2.8rem;height:1.5rem;margin-left:-2.2rem}.mb-admin-modal .form-check.form-switch .form-check-label{font-weight:700;color:#0f172a}.mb-admin-modal .mb-modal-section{border:1px solid #e2e8f0;border-radius:20px;background:rgba(255,255,255,.88);padding:1rem 1rem 1.05rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.mb-admin-modal .mb-modal-section-title{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:.85rem}.mb-admin-modal .mb-modal-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.mb-admin-modal .mb-modal-data-card{padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);min-height:100%}.mb-admin-modal .mb-modal-data-card.full{grid-column:1/-1}.mb-admin-modal .mb-modal-data-label{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:.45rem}.mb-admin-modal .mb-modal-data-value{color:#0f172a;font-weight:700;line-height:1.55;word-break:break-word}.mb-admin-modal .mb-modal-data-value.text-mono{font-variant-numeric:tabular-nums}.mb-admin-modal .mb-modal-preview{border:1px solid #dbe3ef;border-radius:18px;padding:.8rem;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.06)}.mb-admin-modal .mb-modal-preview img{border-radius:14px}.mb-admin-modal .mb-modal-preview .btn{border-radius:10px}.mb-admin-modal .mb-modal-stack{display:grid;gap:1rem}@media(max-width:991px){.mb-admin-modal .mb-modal-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.mb-admin-modal .modal-dialog{margin:.65rem}.mb-admin-modal .modal-content{border-radius:22px}.mb-admin-modal .modal-header,.mb-admin-modal .modal-body,.mb-admin-modal .modal-footer{padding-left:1rem;padding-right:1rem}.mb-admin-modal .modal-footer .btn{width:100%;min-width:0}.mb-admin-modal .mb-modal-data-grid{grid-template-columns:1fr}}
