:root{--tras-primary:#005277;--tras-primary-deep:#003a54;--tras-primary-700:#024966;--tras-primary-soft:#e3eef3;--tras-primary-50:#f1f7fa;--tras-accent:#06b6d4;--tras-accent-soft:#cdeef4;--tras-gold:#f5a623;--tras-gold-soft:#fdf0d8;--tras-ink:#0f2630;--tras-muted:#5b7785;--tras-border:#d4e2e9;--tras-bg:#eef3f6;--tras-card:#ffffff;--tras-green:#0f9d6a;--tras-red:#e0483b;--tras-blue:#005277;}
.tras-wrap,.tras-public,.tras-landing{font-family:Inter,Arial,sans-serif;color:var(--tras-ink)}
.tras-wrap{background:var(--tras-bg);margin:20px 20px 0 0;padding:0 0 30px;border-radius:24px;overflow:hidden}
.tras-hero{background:linear-gradient(135deg,var(--tras-primary-deep),var(--tras-primary));color:#fff;padding:28px 32px;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.tras-hero h1{color:#fff;font-size:32px;margin:0 0 8px;font-weight:900}.tras-hero p{margin:0;color:#d1d5db;font-size:15px}.tras-badge{display:inline-block;background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3);font-weight:800;padding:7px 14px;border-radius:999px;margin-bottom:12px;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.tras-admin-body{padding:24px 32px}.tras-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:22px 0}.tras-card{background:var(--tras-card);border:1px solid var(--tras-border);border-radius:18px;padding:22px 22px 20px;box-shadow:0 1px 2px rgba(15,38,48,.04),0 12px 28px rgba(0,82,119,.06);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.tras-card:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(15,38,48,.04),0 22px 44px rgba(0,82,119,.14)}.tras-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--tras-primary),var(--tras-accent))}.tras-card:after{content:"";position:absolute;right:-28px;top:-28px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,var(--tras-primary-soft),transparent 70%)}.tras-card .tras-card-ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--tras-primary),var(--tras-accent));color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:20px;position:relative;z-index:1;box-shadow:0 6px 14px rgba(0,82,119,.25)}.tras-card h3{margin:0 0 8px;color:var(--tras-muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;position:relative;z-index:1}.tras-card strong{font-size:28px;font-weight:900;color:var(--tras-ink);position:relative;z-index:1;letter-spacing:-.02em;line-height:1}.tras-card small{display:block;margin-top:8px;color:var(--tras-muted);font-size:12.5px;position:relative;z-index:1}.tras-card.is-accent:before{background:linear-gradient(180deg,var(--tras-gold),#f7c562)}.tras-card.is-accent .tras-card-ic{background:linear-gradient(135deg,var(--tras-gold),#f7c562);box-shadow:0 6px 14px rgba(245,166,35,.3)}.tras-card.is-green:before{background:linear-gradient(180deg,var(--tras-green),#3bc98e)}.tras-card.is-green .tras-card-ic{background:linear-gradient(135deg,var(--tras-green),#3bc98e);box-shadow:0 6px 14px rgba(15,157,106,.3)}.tras-card.is-red:before{background:linear-gradient(180deg,var(--tras-red),#f08379)}.tras-card.is-red .tras-card-ic{background:linear-gradient(135deg,var(--tras-red),#f08379);box-shadow:0 6px 14px rgba(224,72,59,.3)}.tras-card.is-green strong{color:var(--tras-green)}.tras-card.is-red strong{color:var(--tras-red)}
.tras-panel{background:#fff;border:1px solid var(--tras-border);border-radius:22px;padding:22px;margin:18px 0;box-shadow:0 10px 30px rgba(17,24,39,.05)}.tras-panel h2{margin-top:0;font-size:22px}.tras-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.tras-quick a{transition:transform .15s,box-shadow .15s,border-color .15s;background:#fff;border:1px solid var(--tras-border);border-radius:18px;padding:16px;text-decoration:none;color:var(--tras-ink);font-weight:800;box-shadow:0 6px 18px rgba(17,24,39,.04)}.tras-quick span{display:block;color:var(--tras-muted);font-weight:400;font-size:13px;margin-top:5px}.tras-form{background:#fff;border:1px solid var(--tras-border);border-radius:22px;padding:20px;margin:15px 0;box-shadow:0 10px 30px rgba(17,24,39,.05)}.tras-form h2,.tras-form h3{margin-top:0}.tras-form input,.tras-form select,.tras-form textarea{width:100%;max-width:100%;box-sizing:border-box;padding:12px 14px;margin:7px 0;border:1px solid #d1d5db;border-radius:13px;background:#fff}.tras-form textarea{min-height:90px}.tras-form button,.tras-btn,.tras-action{background:var(--tras-primary)!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:11px 20px!important;text-decoration:none!important;display:inline-block!important;cursor:pointer!important;font-weight:800!important}.tras-btn-yellow{background:var(--tras-gold)!important;color:#3a2c00!important}.tras-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.tras-table,.tras-wrap .widefat{width:100%;border-collapse:separate!important;border-spacing:0;background:#fff;border:1px solid var(--tras-border);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(17,24,39,.04)}.tras-table th,.tras-table td,.tras-wrap .widefat th,.tras-wrap .widefat td{border-bottom:1px solid #eef0f4!important;padding:13px!important;text-align:left}.tras-table th,.tras-wrap .widefat th{background:#fafafa;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.tras-table tr:last-child td,.tras-wrap .widefat tr:last-child td{border-bottom:0!important}.tras-money-income{color:var(--tras-green);font-weight:900}.tras-money-expense{color:var(--tras-red);font-weight:900}.tras-money-net{color:var(--tras-blue);font-weight:900}.tras-note{background:var(--tras-primary-50);border:1px solid var(--tras-border);border-radius:18px;padding:16px;margin:15px 0}.tras-public{background:#f6f7fb;border-radius:28px;padding:26px}.tras-public h2{font-size:30px;margin:0 0 8px}.tras-public .subtitle{color:#6b7280;margin-bottom:18px}.tras-front-header{background:linear-gradient(135deg,var(--tras-ink),var(--tras-primary-700));color:#fff;border-radius:26px;padding:24px;margin-bottom:18px}.tras-front-header h2{color:#fff}.tras-front-header p{color:#d1d5db}.tras-landing{min-height:100vh;background:radial-gradient(circle at top left,var(--tras-primary-soft) 0,#fff 34%,#f6f7fb 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 22px}.tras-landing-card{background:rgba(255,255,255,.92);border:1px solid var(--tras-border);border-radius:34px;padding:38px;max-width:900px;box-shadow:0 22px 60px rgba(17,24,39,.12)}.tras-landing h1{font-size:52px;margin:0;font-weight:950;letter-spacing:-.04em}.tras-landing .tagline{font-size:21px;color:var(--tras-primary-700);margin:12px 0 24px}.tras-info{background:#fff;border-radius:22px;padding:20px;max-width:760px;margin:20px auto;border:1px solid var(--tras-border)}.tras-box{padding:20px;background:var(--tras-primary-50);border-radius:16px;border:1px solid var(--tras-border)}.tras-empty{padding:20px;background:#fff;border-radius:16px;color:#6b7280;border:1px dashed #d1d5db}
@media(max-width:782px){.tras-wrap{margin-right:10px}.tras-admin-body{padding:18px}.tras-hero{padding:22px}.tras-landing h1{font-size:36px}}

.tras-login-shell{max-width:980px;margin:30px auto;background:linear-gradient(135deg,#f6f7fb,var(--tras-primary-50));border:1px solid var(--tras-border);box-shadow:0 18px 60px rgba(17,24,39,.08)}
.tras-login-card{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;background:#fff;border-radius:26px;padding:26px;border:1px solid var(--tras-border)}
.tras-login-brand{background:linear-gradient(135deg,var(--tras-ink),var(--tras-primary-700));color:#fff;border-radius:24px;padding:30px;min-height:260px;display:flex;flex-direction:column;justify-content:center}.tras-login-brand h2{color:#fff;font-size:34px;margin:0 0 10px}.tras-login-brand p{color:#d1d5db;font-size:16px;line-height:1.55}.tras-login-form{padding:10px}.tras-login-form label{font-weight:800;color:var(--tras-ink)}.tras-login-form input[type=text],.tras-login-form input[type=password]{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:14px;padding:13px 14px;margin:7px 0 12px;background:#fff}.tras-login-form input[type=submit]{background:var(--tras-gold);color:var(--tras-ink);border:0;border-radius:999px;padding:13px 22px;font-weight:900;cursor:pointer;width:100%;font-size:15px}.tras-login-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px}.tras-login-actions a{color:var(--tras-ink);font-weight:700;text-decoration:none;border-bottom:2px solid var(--tras-gold)}
@media(max-width:782px){.tras-login-card{grid-template-columns:1fr}.tras-login-brand{min-height:auto}.tras-login-brand h2{font-size:28px}}
.tras-list{margin:0;padding-left:18px}.tras-list li{margin:10px 0}.tras-list a{font-weight:800;text-decoration:none;color:var(--tras-ink)}.tras-empty h2{margin-top:0}.tras-empty p{font-size:15px}

/* ===== v2.0: Carta, borang grid, invois, landing page ===== */
.tras-legend{display:flex;gap:18px;margin:6px 0 14px}
.tras-legend span{font-size:13px;color:#5a6878;display:flex;align-items:center;gap:6px}
.tras-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.tras-chart{display:flex;gap:18px;align-items:flex-end;height:200px;padding:10px 4px 0;border-bottom:2px solid #eef1f5}
.tras-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.tras-bars{display:flex;gap:5px;align-items:flex-end;height:100%}
.tras-bar{width:22px;border-radius:5px 5px 0 0;transition:.3s;min-height:2px}
.tras-bar:hover{opacity:.82}
.tras-chart-col small{font-size:11.5px;color:#5a6878;font-weight:600}

.tras-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tras-form-grid .tras-field{display:flex;flex-direction:column;gap:5px}
.tras-form-grid .tras-field label{font-size:12.5px;font-weight:700;color:var(--tras-ink)}
.tras-form-grid input,.tras-form-grid textarea,.tras-form-grid select{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:9px 12px}
.tras-form-grid textarea{min-height:64px}
@media(max-width:782px){.tras-form-grid{grid-template-columns:1fr}}

/* Landing page awam */
.tras-landing-page{--tras-brand:#0a7d6e;max-width:960px;margin:0 auto;font-family:-apple-system,"Segoe UI",Roboto,sans-serif;color:#13202e}
.tras-lp-hero{background:linear-gradient(135deg,var(--tras-brand),#12b3a0);color:#fff;border-radius:24px;padding:48px 36px;text-align:center;margin-bottom:24px}
.tras-lp-logo{max-height:80px;margin-bottom:16px;border-radius:12px;background:#fff;padding:8px}
.tras-lp-pill{display:inline-block;background:rgba(255,255,255,.2);padding:6px 15px;border-radius:30px;font-size:13px;font-weight:700;margin-bottom:14px}
.tras-lp-hero h1{color:#fff;font-size:40px;margin:0 0 10px;line-height:1.1}
.tras-lp-tag{font-size:17px;opacity:.95;max-width:520px;margin:0 auto 22px}
.tras-lp-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.tras-btn-wa{background:#25D366;color:#fff;padding:13px 26px;border-radius:12px;font-weight:700;text-decoration:none;display:inline-block}
.tras-btn-wa:hover{background:#1da851;color:#fff}
.tras-btn-ghost{background:rgba(255,255,255,.15);color:#fff;border:1.5px solid rgba(255,255,255,.5);padding:13px 26px;border-radius:12px;font-weight:700;text-decoration:none;display:inline-block}
.tras-lp-meta{display:flex;gap:30px;justify-content:center;flex-wrap:wrap}
.tras-lp-meta div{text-align:center}
.tras-lp-meta b{display:block;font-size:20px}
.tras-lp-meta span{font-size:12.5px;opacity:.85}
.tras-lp-section{background:#fff;border:1px solid #e4ebe9;border-radius:18px;padding:28px 32px;margin-bottom:18px}
.tras-lp-section h2{font-size:24px;margin:0 0 14px;color:#13202e}
.tras-lp-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tras-lp-grid b{color:var(--tras-brand)}
.tras-lp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tras-lp-gallery img{width:100%;height:160px;object-fit:cover;border-radius:12px}
.tras-lp-pay{background:#13202e;color:#cfd6e6}
.tras-lp-pay h2{color:#fff}
.tras-lp-final{background:linear-gradient(135deg,var(--tras-brand),#12b3a0);color:#fff;text-align:center;border-radius:24px;padding:48px 32px;margin-bottom:18px}
.tras-lp-final h2{color:#fff;font-size:30px;margin:0 0 12px}
.tras-lp-final p{opacity:.95;margin-bottom:22px}
.tras-lp-foot{text-align:center;color:#5a6878;font-size:13px;padding:20px}
@media(max-width:782px){.tras-lp-hero h1{font-size:30px}.tras-lp-grid,.tras-lp-gallery{grid-template-columns:1fr}}

.tras-quick a:hover{transform:translateY(-2px);border-color:var(--tras-primary);box-shadow:0 10px 24px rgba(0,82,119,.12)}
.tras-form input:focus,.tras-form select:focus,.tras-form textarea:focus,.tras-form-grid input:focus,.tras-form-grid textarea:focus,.tras-form-grid select:focus{outline:none;border-color:var(--tras-primary);box-shadow:0 0 0 3px var(--tras-primary-soft)}
.tras-table th,.tras-wrap .widefat th{background:var(--tras-primary-50)!important;color:var(--tras-primary)!important}
/* Pembahagi seksyen dalam borang panjang */
.tras-fieldset{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--tras-primary);padding:14px 0 4px;margin-top:8px;border-top:2px solid var(--tras-primary-soft)}
.tras-form-grid .tras-fieldset:first-of-type{border-top:0;margin-top:0}
.tras-field input[type=file]{padding:8px;background:var(--tras-primary-50);border:1px dashed var(--tras-border);cursor:pointer}

/* Navigasi tab dashboard front-end */
.tras-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;background:#fff;border:1px solid var(--tras-border);border-radius:14px;padding:8px;box-shadow:0 2px 8px rgba(15,38,48,.05)}
.tras-nav-item{padding:11px 20px;border-radius:10px;font-weight:700;color:var(--tras-muted);text-decoration:none;font-size:14px;transition:.15s}
.tras-nav-item:hover{background:var(--tras-primary-50);color:var(--tras-primary)}
.tras-nav-item.is-active{background:linear-gradient(135deg,var(--tras-primary),var(--tras-primary-700));color:#fff;box-shadow:0 6px 16px rgba(0,82,119,.25)}
.tras-flash{background:#e2f6ee;border:1px solid #a8e3c8;color:#0f7a52;border-radius:12px;padding:13px 18px;margin-bottom:18px;font-weight:600}
.tras-row-actions{white-space:nowrap}
.tras-row-actions a{text-decoration:none;font-weight:600;color:var(--tras-primary)}
.tras-btn-ghost-dark{background:transparent!important;color:var(--tras-muted)!important;border:1.5px solid var(--tras-border)!important}
/* Pastikan kad front-end ada ruang ikon */
.tras-public .tras-card .tras-card-ic{margin-bottom:12px}

/* Billing bar (tajuk + eksport) */
.tras-billing-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0 12px}
.tras-billing-bar b{font-size:18px}

/* Kotak tunggakan */
.tras-arrears{background:#fdf0d8;border:1px solid #f3c969;border-radius:14px;padding:16px 18px;margin:18px 0}
.tras-arrears-head{margin-bottom:10px}
.tras-arrears-head b{color:#a35e00;font-size:15px;display:block}
.tras-arrears-head span{color:#8a6d3b;font-size:13px}
.tras-arrears .tras-table{background:rgba(255,255,255,.6);border-radius:8px}

/* Flash ralat (pendaftaran tenant) */
.tras-flash.err{background:#fce8e6;border-color:#f0a9a2;color:#b3271e}

/* Header dashboard tenant dengan nama bisnes & logo */
.tras-front-header-tenant{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.tras-fh-left{display:flex;align-items:center;gap:16px}
.tras-fh-logo{width:60px;height:60px;border-radius:14px;object-fit:cover;background:#fff;padding:6px;flex-shrink:0}
.tras-fh-right{display:flex;gap:8px;flex-wrap:wrap}
.tras-front-header-tenant h2{margin:6px 0 4px}
@media(max-width:680px){.tras-front-header-tenant{flex-direction:column;align-items:flex-start}.tras-fh-right{width:100%}}

/* Pembahagi antara senarai & borang */
.tras-divider{border:0;border-top:2px dashed var(--tras-border);margin:30px 0}
