/* TWC ERP V367.46.7.43 - Non-Laravel UI Build 01
   Scope: visual shell, menu, buttons, forms, tables, mobile comfort only. No calculation logic. */
:root{
  --gb-bg:#eef3f8;
  --gb-bg2:#f7fafc;
  --gb-panel:#ffffff;
  --gb-panel2:#f8fbff;
  --gb-ink:#0f172a;
  --gb-muted:#667085;
  --gb-line:#d8e2ef;
  --gb-brand:#0f2f57;
  --gb-brand2:#174b7e;
  --gb-accent:#d7ae36;
  --gb-accent2:#f2cf64;
  --gb-green:#15803d;
  --gb-blue:#2563eb;
  --gb-red:#dc2626;
  --gb-orange:#c2410c;
  --gb-shadow:0 14px 35px rgba(15,47,87,.10);
  --gb-soft-shadow:0 8px 22px rgba(15,47,87,.07);
  --gb-radius:18px;
}
html,body{background:linear-gradient(180deg,#f4f8fc 0%,#edf3f9 46%,#f8fafc 100%)!important;color:var(--gb-ink)!important}
body,button,input,select,textarea{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important}
body.ui2-enhanced *{text-rendering:geometricPrecision}

/* application shell */
.app{grid-template-columns:246px minmax(0,1fr)!important;background:transparent!important}
.sidebar{background:linear-gradient(180deg,#07172c 0%,#0d2542 55%,#07172c 100%)!important;border-right:1px solid rgba(255,255,255,.08)!important;padding:14px 12px!important;box-shadow:8px 0 28px rgba(4,18,33,.18)!important}
.side-title{font-size:21px!important;line-height:1.1!important;margin:4px 8px 8px!important;color:#fff!important;letter-spacing:.02em!important}
.side-badge{background:rgba(215,174,54,.12)!important;border:1px solid rgba(215,174,54,.38)!important;color:#ffdf74!important;font-size:11px!important;padding:6px 10px!important;margin:0 8px 12px!important}
.menu-group{font-size:10px!important;letter-spacing:.12em!important;color:#9fb7d2!important;margin:18px 8px 8px!important;text-transform:uppercase!important}
.menu-btn{background:transparent!important;color:#d9e7f7!important;border:0!important;border-radius:12px!important;box-shadow:none!important;margin:2px 0!important;padding:10px 12px!important;font-size:13px!important;font-weight:800!important;display:flex!important;align-items:center!important;gap:8px!important;min-height:39px!important}
.menu-btn:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;filter:none!important}
.menu-btn.active{background:linear-gradient(90deg,rgba(215,174,54,.20),rgba(255,255,255,.07))!important;color:#fff!important;border-left:4px solid var(--gb-accent)!important;padding-left:10px!important;box-shadow:none!important}
.main-shell{min-width:0!important;background:transparent!important}
.topbar{background:rgba(255,255,255,.92)!important;border-bottom:1px solid var(--gb-line)!important;box-shadow:0 10px 28px rgba(15,47,87,.06)!important;backdrop-filter:blur(14px)!important;padding:12px 18px!important;gap:12px!important}
.brand-mini img{width:48px!important;height:48px!important;border-radius:14px!important;border:1px solid var(--gb-line)!important;background:#fff!important;box-shadow:0 5px 15px rgba(15,47,87,.08)!important}
.brand-mini b{color:var(--gb-ink)!important;font-size:16px!important;font-weight:900!important;max-width:360px!important}
.brand-mini small{color:var(--gb-muted)!important;font-weight:700!important}
.user-pill{background:#f7f9fc!important;border:1px solid var(--gb-line)!important;border-radius:999px!important;padding:9px 13px!important;box-shadow:none!important;color:var(--gb-ink)!important}
.content{max-width:1560px!important;padding:22px 26px 72px!important}

/* readable modern cards */
.card,.stat,.fast-box,.totalbox,.register-card,.modal-card,.table-wrap,.hint,.adminbar{border-color:var(--gb-line)!important;box-shadow:var(--gb-soft-shadow)!important;background:var(--gb-panel)!important;color:var(--gb-ink)!important}
.card{border-radius:20px!important;padding:22px!important;margin-bottom:18px!important}
.page-head{margin-bottom:16px!important;gap:12px!important}
.page-head h1{font-size:26px!important;line-height:1.15!important;font-weight:950!important;color:var(--gb-ink)!important;letter-spacing:-.02em!important}
.page-line{background:linear-gradient(90deg,var(--gb-accent),rgba(215,174,54,0),transparent)!important}
.hero{background:linear-gradient(135deg,var(--gb-brand),var(--gb-brand2))!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:var(--gb-shadow)!important;border-radius:22px!important;color:#fff!important}
.hero *{color:inherit!important}.hero p{color:rgba(255,255,255,.82)!important}
.hint{background:#f7fbff!important;border-left:4px solid var(--gb-blue)!important;border-radius:14px!important;color:#1e293b!important;font-weight:750!important}
.adminbar{background:#fff9e8!important;color:#653f00!important;border-color:#f0d990!important;box-shadow:none!important}

/* text contrast hard lock */
.card h1,.card h2,.card h3,.card h4,.card b,.stat b,.register-card b,.fast-box b,.totalbox b{color:var(--gb-ink)!important}
.card p,.card small,.stat span,.register-card small,.fast-box small,.totalbox small{color:var(--gb-muted)!important}
.card [style*="color:#fff"],.card [style*="color: white"],.stat [style*="color:#fff"],.register-card [style*="color:#fff"]{color:var(--gb-ink)!important}
.card .btn-dark,.card .btn-green,.card .btn-red,.card .danger,.card button[style*="background:#06172b"]{color:#fff!important}

/* buttons */
button,.btn,.top-new,.logout{border-radius:12px!important;box-shadow:none!important;font-weight:850!important;padding:10px 14px!important;letter-spacing:.01em!important;border:1px solid transparent!important;transition:background .15s ease,transform .15s ease,border-color .15s ease!important}
button:hover{transform:translateY(-1px);filter:none!important}
button:active{transform:translateY(0)!important}
.top-new,button:not(.menu-btn):not(.modal-close):not(.hamb):not(.delete-row):not(.logout):not(.btn-ghost):not(.btn-dark):not(.btn-green):not(.btn-red):not(.danger){background:linear-gradient(180deg,var(--gb-accent2),var(--gb-accent))!important;color:#1d1600!important;border-color:#d4ab32!important}
.btn-dark,.crm-tabs button.active,.report-tabs button.active{background:linear-gradient(180deg,var(--gb-brand2),var(--gb-brand))!important;color:#fff!important;border-color:#0c2b50!important}
.btn-green{background:#15803d!important;color:#fff!important;border-color:#126b34!important}.btn-red,.danger,.delete-row{background:#dc2626!important;color:#fff!important;border-color:#b91c1c!important}.btn-ghost{background:#fff!important;color:var(--gb-brand)!important;border:1px solid var(--gb-line)!important}
.logout{background:#fff!important;color:#b91c1c!important;border:1px solid #fecaca!important}.logout:hover{background:#fff1f2!important}.hamb{background:var(--gb-brand)!important;color:#fff!important;border:0!important}
.actions,.row-actions,.reg-actions,.quote-actions,.invoice-pro-actions{gap:7px!important}.actions button,.row-actions button,.reg-actions button,.quote-actions button,.invoice-pro-actions button{padding:8px 11px!important;font-size:12px!important;border-radius:10px!important}

/* forms and tables */
input,select,textarea{border:1px solid #cbd8e7!important;border-radius:12px!important;background:#fff!important;color:var(--gb-ink)!important;box-shadow:none!important;min-height:42px!important}
input:focus,select:focus,textarea:focus{border-color:var(--gb-blue)!important;box-shadow:0 0 0 3px rgba(37,99,235,.13)!important}
label{color:#334155!important;font-size:12px!important;font-weight:850!important}
.table-wrap{border-radius:16px!important;overflow:auto!important}.table th{background:#102b4a!important;color:#fff!important;border-bottom:2px solid var(--gb-accent)!important;padding:12px!important}.table td{padding:13px 12px!important;color:var(--gb-ink)!important;background:#fff!important}.table tr:hover td{background:#f8fbff!important}.table td small{color:var(--gb-muted)!important}
.badge{box-shadow:none!important;border:1px solid transparent!important}.badge.pending,.badge.follow{background:#fff7d6!important;color:#7c4a03!important;border-color:#f4d889!important}.badge.paid,.badge.confirmed{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}.badge.partial{background:#dbeafe!important;color:#1d4ed8!important;border-color:#bfdbfe!important}.badge.lost,.badge.delete{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}

/* billing item row real width */
.item-scroll{overflow-x:auto!important;max-width:100%!important;border-radius:16px!important;border:1px solid var(--gb-line)!important;background:#fff!important}
.item-head,.item-row{grid-template-columns:52px minmax(360px,1.35fr) 105px 98px 136px 138px 66px!important;min-width:955px!important;width:100%!important}
.item-head{background:#102b4a!important;color:#fff!important;border-radius:0!important;border:0!important}.item-head div{padding:10px 10px!important;font-size:12px!important;white-space:nowrap!important}
.item-row{border-left:0!important;border-right:0!important;border-bottom:1px solid #edf2f7!important;background:#fff!important}.item-row>*{padding:8px!important}.item-row input,.item-row select{min-width:0!important;width:100%!important;height:40px!important;border:1px solid #d8e2ef!important;border-radius:10px!important;padding:8px!important;background:#fff!important}.delete-row{width:42px!important;min-width:42px!important;height:38px!important;padding:0!important;display:inline-grid!important;place-items:center!important}
.total-line{grid-template-columns:minmax(0,1fr) minmax(140px,180px)!important}.total-big b{font-size:25px!important;color:var(--gb-brand)!important}.savebar{box-shadow:0 14px 35px rgba(15,47,87,.14)!important;border-radius:18px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)!important}

/* dashboard/report/chart polish from existing classes */
.twc98-ai-chart,.twc98-fast-panel,.twc86-chart-shell,.twc87-report-chart,.twc90-ai-hero,.twc86-card,.twc98-action-card{background:#fff!important;border:1px solid var(--gb-line)!important;border-radius:20px!important;box-shadow:var(--gb-soft-shadow)!important;color:var(--gb-ink)!important}
.twc98-ai-chart h3,.twc98-fast-panel h3,.twc87-report-head b,.twc98-action-card b{color:var(--gb-ink)!important}.twc98-ai-chart p,.twc98-fast-panel p,.twc86-card small,.twc98-action-card small{color:var(--gb-muted)!important}.twc90-ai-hero{background:linear-gradient(135deg,#0e2a49,#164b7c)!important;color:#fff!important}.twc90-ai-hero *{color:inherit!important}.twc90-ai-hero p,.twc90-ai-hero small{color:rgba(255,255,255,.82)!important}
svg text{fill:#475569!important;font-weight:700!important}svg .sales,svg polyline.sales{stroke:#2563eb!important}svg .collection,svg polyline.collection{stroke:#15803d!important}

/* mobile app quality */
@media(max-width:1000px){
  .app{display:block!important}.sidebar{width:min(86vw,300px)!important;left:-90vw!important;padding-top:16px!important}.sidebar.open{left:0!important}.topbar{grid-template-columns:auto minmax(0,1fr) auto!important;padding:10px!important}.content{padding:14px 10px 88px!important}.brand-mini img{width:42px!important;height:42px!important}.brand-mini b{font-size:14px!important;max-width:190px!important}.brand-mini small{max-width:190px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.top-new{grid-column:1/-1!important;width:100%!important}.page-head h1{font-size:22px!important}.card{padding:14px!important;border-radius:17px!important}.grid2,.grid3,.grid4,.bill-top{grid-template-columns:1fr!important}.item-scroll{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.item-head,.item-row{min-width:955px!important;display:grid!important}.item-head{display:grid!important}.item-row input,.item-row select{font-size:14px!important}.savebar{position:sticky!important;bottom:8px!important;z-index:50!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important}.savebar button{width:100%!important;font-size:13px!important;padding:11px 8px!important}.table-wrap{overflow:auto!important}.table{min-width:820px!important}.actions button,.row-actions button,.reg-actions button{min-height:38px!important}
}
@media(max-width:520px){.content{padding-left:8px!important;padding-right:8px!important}.savebar{grid-template-columns:1fr!important}.topbar{position:sticky!important}.modal-card{border-radius:18px!important;width:96vw!important;padding:16px!important}.menu-btn{font-size:14px!important;padding:12px!important}.side-title{font-size:20px!important}}

/* print / PDF screen safety: do not affect browser print body heavily */
@media print{.sidebar,.topbar,.savebar,.pwa-install-btn{display:none!important}.content{padding:0!important}.card{box-shadow:none!important;border:0!important}}
