@import url('https://fonts.bunny.net/css?family=plus-jakarta-sans:400,500,600,700,800&display=swap');

:root{--green:#00aa5b;--green-dark:#008c4b;--ink:#16221d;--muted:#728078;--line:#e7ece9;--canvas:#f6f8f7;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);background:var(--canvas)}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.brand-mark{display:flex;align-items:center;text-decoration:none;font-size:23px;letter-spacing:-1.3px;color:#17251e}.brand-mark span{font-weight:800;color:var(--green)}.brand-mark strong{font-weight:800;color:#e3362c}.brand-mark--light,.brand-mark--light span{color:#fff}.brand-mark--light strong{color:#ffd8d5}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase}.text-green{color:var(--green)}

/* Login */
.login-page{background:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(390px,46%) 1fr}.login-brand{position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#007e49,#00aa5b);padding:52px 9%;display:flex;flex-direction:column;justify-content:space-between}.login-brand:after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-240px;bottom:-220px;box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025)}.brand-copy{position:relative;z-index:1;max-width:530px}.brand-copy .eyebrow{color:#b8f8d9;margin-bottom:22px}.brand-copy h1{font-size:clamp(36px,4vw,58px);line-height:1.12;letter-spacing:-2.5px;margin:0 0 24px}.brand-copy>p:last-child{color:#d7f6e6;font-size:16px;line-height:1.8;max-width:480px}.brand-metric{position:relative;z-index:1;display:flex;gap:65px;border-top:1px solid rgba(255,255,255,.22);padding-top:30px}.brand-metric div{display:flex;flex-direction:column}.brand-metric strong{font-size:24px}.brand-metric span{font-size:12px;color:#ccebdc;margin-top:5px}.login-orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}.login-orb--one{width:170px;height:170px;right:12%;top:9%}.login-orb--two{width:70px;height:70px;right:6%;top:31%}.login-panel{display:flex;align-items:center;justify-content:center;padding:45px}.login-card{width:min(100%,450px)}.mobile-brand{display:none}.login-card h2{font-size:33px;letter-spacing:-1.3px;margin:8px 0}.login-subtitle{color:var(--muted);font-size:14px;margin:0 0 34px}.login-form{display:flex;flex-direction:column;gap:21px}.login-form label>span{display:block;font-size:13px;font-weight:700;margin-bottom:9px}.input-wrap{height:54px;border:1px solid #dce3df;border-radius:12px;display:flex;align-items:center;padding:0 15px;transition:.2s;background:#fff}.input-wrap:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,170,91,.1)}.input-wrap>svg{width:19px;color:#8b9790;margin-right:12px}.input-wrap input{border:0;outline:0;width:100%;font-size:14px;color:var(--ink);background:transparent}.input-wrap input::placeholder{color:#a8b0ac}.input-error{border-color:#df544e}.error-text{display:block;color:#d93f38;margin-top:6px}.password-toggle{border:0;background:none;padding:6px;color:#87928c;cursor:pointer}.password-toggle svg{width:20px}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:12px}.check-label{display:flex;align-items:center;gap:7px}.check-label input{accent-color:var(--green)}.check-label span{margin:0!important;font-weight:500!important}.muted-link{color:var(--green);font-weight:700}.primary-button{border:0;border-radius:11px;background:var(--green);color:#fff;height:54px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 9px 22px rgba(0,170,91,.18);transition:.2s}.primary-button:hover{background:var(--green-dark);transform:translateY(-1px)}.primary-button svg{width:18px}.demo-account{margin-top:25px;background:#f2faf6;border:1px dashed #bde4d0;padding:13px;border-radius:10px;font-size:11px;color:#6d7e75;text-align:center}.demo-account code{color:#16704a;font-weight:700}.demo-account .dot{margin:0 5px}.login-footer{text-align:center;color:#a2aaa6;font-size:10px;margin-top:25px}

/* Shell */
.app-page{min-height:100vh}.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:250px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:0 17px}.sidebar-head{height:76px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #f1f3f2}.sidebar-close{display:none}.sidebar-nav{padding-top:16px;flex:1}.sidebar-nav p{font-size:9px;font-weight:800;letter-spacing:1.2px;color:#a0aaa4;margin:18px 12px 8px}.sidebar-nav a{display:flex;align-items:center;gap:13px;height:44px;border-radius:9px;padding:0 12px;color:#69766f;text-decoration:none;font-size:12px;font-weight:600;margin:3px 0}.sidebar-nav a svg{width:18px}.sidebar-nav a.active{background:#eaf8f1;color:#008c4b;font-weight:700}.sidebar-nav a:hover{background:#f5f8f6}.sidebar-help{margin:12px 0 16px;padding:16px;background:#f0faf5;border-radius:12px;display:flex;flex-direction:column;align-items:flex-start}.help-icon{width:27px;height:27px;background:var(--green);color:#fff;border-radius:8px;display:grid;place-items:center;font-weight:800;margin-bottom:10px}.sidebar-help strong{font-size:11px}.sidebar-help span{font-size:9px;color:#7d8a83;margin:4px 0 10px}.sidebar-help button{border:0;background:transparent;padding:0;color:#008d4b;font-size:9px;font-weight:800}.sidebar-user{border-top:1px solid var(--line);min-height:72px;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:linear-gradient(145deg,#00b967,#008a4b);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.sidebar-user>div:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}.sidebar-user strong,.topbar-profile strong{font-size:10px}.sidebar-user span,.topbar-profile span{font-size:8px;color:#89938e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user form button{border:0;background:none;color:#8e9993;cursor:pointer;padding:5px}.sidebar-user svg{width:17px}.app-content{margin-left:250px;min-height:100vh}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:20}.topbar-spacer{flex:1}.icon-button{border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.notification{position:relative;color:#536159;margin-right:24px}.notification svg,.menu-toggle svg{width:20px}.notification span{position:absolute;width:6px;height:6px;border-radius:50%;background:#ff5f57;right:3px;top:3px;border:1px solid #fff}.topbar-profile{display:flex;align-items:center;gap:9px;padding-left:20px;border-left:1px solid var(--line)}.topbar-profile>div:last-child{display:flex;flex-direction:column}.menu-toggle{display:none}.main-content{width:100%;max-width:none;padding:29px 34px 40px;margin:0}

/* Dashboard */
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.page-heading .eyebrow{margin:0 0 7px}.page-heading h1{font-size:25px;letter-spacing:-.8px;margin:0}.page-heading h1 span{font-size:20px}.page-heading>div>p:last-child{font-size:11px;color:var(--muted);margin:8px 0 0}.heading-actions{display:flex;gap:9px}.secondary-button,.primary-button.small{height:38px;padding:0 14px;border-radius:8px;font-size:10px;box-shadow:none}.secondary-button{display:flex;align-items:center;gap:8px;border:1px solid #dfe5e1;background:#fff;color:#59665f;font-weight:600}.secondary-button svg,.primary-button.small svg{width:15px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px}.stat-card{padding:18px 19px}.stat-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.stat-icon{width:37px;height:37px;border-radius:10px;display:grid;place-items:center}.stat-icon svg{width:19px}.stat-icon.green{background:#e5f8ef;color:#00a659}.stat-icon.blue{background:#eaf4ff;color:#4289dc}.stat-icon.purple{background:#f2edff;color:#855bd8}.stat-icon.orange{background:#fff2df;color:#e99527}.trend{font-size:9px;color:#009e54;background:#eaf8f1;border-radius:15px;padding:5px 7px;font-weight:700}.stat-card>p{font-size:10px;color:#7d8882;margin:0 0 5px}.stat-card>strong{display:block;font-size:21px;letter-spacing:-.6px}.stat-card>small{font-size:8px;color:#a0aaa5}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:16px;margin-bottom:16px}.panel{padding:19px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel-head h2{font-size:13px;margin:0 0 5px}.panel-head p{font-size:9px;color:#8b9690;margin:0}.panel-head select{font-size:9px;border:1px solid #e1e6e3;border-radius:7px;padding:7px 9px;color:#66736c;background:#fff}.chart-legend{display:flex;justify-content:space-between;align-items:center;margin-top:23px;font-size:9px;color:#75817b}.chart-legend span{display:flex;align-items:center;gap:6px}.green-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.chart-legend strong{font-size:14px;color:var(--ink)}.chart-legend small{color:#00a659;font-size:8px;margin-left:5px}.chart{height:200px;position:relative;margin-top:12px}.chart-lines{position:absolute;inset:5px 0 22px;display:flex;flex-direction:column;justify-content:space-between}.chart-lines i{border-top:1px dashed #edf0ee}.chart>svg{position:absolute;inset:0 0 22px;width:100%;height:calc(100% - 22px);overflow:visible}.chart-area{fill:url(#area);stroke:none}.chart-line{fill:none;stroke:var(--green);stroke-width:2.5}.chart-labels{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;font-size:8px;color:#95a09a}.more{border:0;background:transparent;color:#9aa39e}.donut-wrap{display:flex;align-items:center;justify-content:space-around;gap:18px;margin-top:38px}.donut{width:132px;height:132px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#00aa5b 0 44%,#4b8fe2 44% 72%,#9d6ade 72% 90%,#f0a23b 90%);position:relative}.donut:after{content:"";position:absolute;width:83px;height:83px;border-radius:50%;background:#fff}.donut div{position:relative;z-index:1;display:flex;flex-direction:column;text-align:center}.donut strong{font-size:18px}.donut span{font-size:8px;color:#8c9791}.service-legend{flex:1}.service-legend>div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;margin:11px 0}.service-legend i{width:7px;height:7px;border-radius:50%}.s1{background:#00aa5b}.s2{background:#4b8fe2}.s3{background:#9d6ade}.s4{background:#f0a23b}.service-legend span{font-size:9px;font-weight:700;display:flex;flex-direction:column}.service-legend small{font-size:7px;color:#9ba49f;font-weight:400;margin-top:2px}.service-legend strong{font-size:9px}.activity-panel{padding:0}.activity-panel .panel-head{padding:18px 19px 14px}.text-button{border:0;background:none;color:#009e54;font-size:9px;font-weight:700}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;background:#fafbfa;color:#8e9993;font-size:8px;letter-spacing:.4px;padding:10px 18px;border-top:1px solid #edf0ee;border-bottom:1px solid #edf0ee}td{font-size:9px;padding:11px 18px;border-bottom:1px solid #f0f2f1;color:#647169}tbody tr:last-child td{border-bottom:0}td:first-child strong,td:nth-child(5) strong{color:#344139}.service-badge,.mini-avatar{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:7px;margin-right:8px;font-size:7px;font-weight:800}.service-badge{color:#fff}.goride{background:#00aa5b}.gocar{background:#448ade}.gofood{background:#e04b55}.gosend{background:#9b67db}.mini-avatar{background:#eef3f0;color:#66746c;border-radius:50%}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:12px;font-size:8px;font-weight:700}.status i{width:4px;height:4px;border-radius:50%}.status.selesai{background:#eaf8f1;color:#009b52}.status.selesai i{background:#00aa5b}.status.diproses{background:#fff5e7;color:#c87b15}.status.diproses i{background:#e89a32}.status.dibatalkan{background:#fdeeed;color:#d65751}.status.dibatalkan i{background:#e35d57}.sidebar-overlay{display:none}

@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.service-panel{min-height:270px}.donut-wrap{justify-content:center}.service-legend{max-width:230px}}
@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:28px}.mobile-brand{display:flex;margin-bottom:55px}.sidebar{transform:translateX(-100%);transition:.25s;box-shadow:15px 0 30px rgba(17,37,27,.12)}.sidebar.open{transform:translateX(0)}.sidebar-close{display:grid;margin-left:auto;font-size:25px;color:#6e7973}.sidebar-overlay{position:fixed;z-index:25;inset:0;background:rgba(11,27,19,.35)}.sidebar-overlay.open{display:block}.app-content{margin-left:0}.menu-toggle{display:grid}.topbar{padding:0 18px;height:65px}.main-content{padding:22px 18px}.page-heading{align-items:flex-start;gap:18px}.heading-actions .secondary-button{display:none}.topbar-profile>div:last-child{display:none}.stats-grid{grid-template-columns:1fr 1fr}.page-heading h1{font-size:21px}.primary-button.small{font-size:0;width:39px;padding:0}.primary-button.small svg{margin:0}.donut-wrap{margin-top:28px}.topbar-profile{padding-left:14px}.notification{margin-right:12px}}
@media(max-width:480px){.login-card h2{font-size:28px}.mobile-brand{margin-bottom:42px}.stats-grid{grid-template-columns:1fr}.page-heading>div>p:last-child{max-width:230px}.heading-actions{align-self:center}.donut-wrap{flex-direction:column}.service-legend{width:100%;display:grid;grid-template-columns:1fr 1fr}.activity-panel{margin-left:-1px;margin-right:-1px}}

/* GoTo MyAds report states */
.service-badge.sms{background:#00aa5b}.service-badge.mms{background:#448ade}.service-badge.ussd{background:#e04b55}.service-badge.messaging{background:#9b67db}
.status.aktif{background:#eaf8f1;color:#009b52}.status.aktif i{background:#00aa5b}
.status.dihentikan{background:#fdeeed;color:#d65751}.status.dihentikan i{background:#e35d57}
.trend.neutral{color:#4b6558;background:#eef3f0}
.summary-list{display:grid;gap:12px;margin-top:22px}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid #edf1ee;border-radius:12px;background:#fafcfb}
.summary-row span{font-size:11px;color:#70807a;font-weight:600}
.summary-row strong{font-size:15px;color:#193027}
.service-legend.compact>div{grid-template-columns:8px 1fr}
.event-pill{display:inline-grid;place-items:center;padding:7px 10px;border-radius:999px;background:#eef7f2;color:#0c8f50;font-size:8px;font-weight:800}
.empty-state{text-align:center;color:#93a09a;padding:24px 18px!important}
.filter-panel{margin-bottom:16px}
.filter-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px}
.password-form{grid-template-columns:1fr;max-width:540px}
.filter-form label{display:flex;flex-direction:column;gap:7px}
.filter-form span{font-size:10px;font-weight:700;color:#68756f}
.filter-form input,.filter-form select{height:42px;border:1px solid #d9e1dc;border-radius:10px;padding:0 12px;background:#fff;color:#20312a}
.filter-actions{display:flex;align-items:flex-end;gap:10px}
.password-form .filter-actions{align-items:stretch}
.filter-submit{height:42px;padding:0 16px}
.filter-reset{height:42px;padding:0 16px;text-decoration:none;justify-content:center}
.upload-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-top:18px}
.upload-helper{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;font-size:12px;color:#6c7a73}
.upload-helper--stack{display:block}
.upload-helper a{color:#0c8f50;font-weight:700;text-decoration:none}
.upload-helper a:hover{text-decoration:underline}
.upload-type-list{margin:8px 0 0 18px;padding:0;color:#20312a}
.upload-type-list li{margin:4px 0}
.upload-field{display:flex;flex-direction:column;gap:7px;min-width:min(100%,380px);flex:1}
.upload-field span{font-size:10px;font-weight:700;color:#68756f}
.upload-field input[type=file]{height:42px;border:1px solid #d9e1dc;border-radius:10px;padding:8px 12px;background:#fff;color:#20312a}
.upload-submit{height:42px;padding:0 16px}
.flash-message{margin-top:18px;padding:12px 14px;border-radius:10px;font-size:12px;font-weight:600}
.flash-message--success{background:#eaf8f1;color:#0f8d50;border:1px solid #cbead9}
.flash-message--error{background:#fff0ef;color:#cb433b;border:1px solid #f3c7c3}
.role-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800}
.role-pill--admin{background:#eaf4ff;color:#2f7acf}
.role-pill--user{background:#eef7f2;color:#0c8f50}
.danger-button{height:32px;padding:0 12px;border:1px solid #f1c5c2;border-radius:9px;background:#fff3f2;color:#cb433b;font-size:10px;font-weight:800;cursor:pointer}
.danger-button:hover{background:#ffe7e4}
.table-note{font-size:10px;color:#8a9791;font-weight:700}
.pagination-wrap{padding:18px}
.pagination-wrap nav{display:flex;justify-content:flex-end}
.pagination-wrap svg{width:14px;height:14px}
.report-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.report-pagination__meta{font-size:12px;color:#6c7a73}
.report-pagination__links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.report-pagination__button{min-width:36px;height:36px;padding:0 12px;border:1px solid #d9e1dc;border-radius:10px;background:#fff;color:#264036;text-decoration:none;display:grid;place-items:center;font-size:12px;font-weight:700}
.report-pagination__button:hover{border-color:#00aa5b;color:#00aa5b}
.report-pagination__button.is-current{background:#00aa5b;border-color:#00aa5b;color:#fff}
.report-pagination__button.is-disabled{background:#f3f6f4;color:#9da8a3;border-color:#e5ebe7}
.report-pagination__ellipsis{color:#93a09a;font-size:12px}
.event-summary-card{position:relative;overflow:hidden}
.event-summary-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:currentColor;opacity:.18}
.event-summary-card--green{color:#00a659}.event-summary-card--blue{color:#4289dc}.event-summary-card--purple{color:#855bd8}.event-summary-card--orange{color:#e99527}.event-summary-card--rose{color:#d94f70}.event-summary-card--teal{color:#119c8d}
.event-summary-sublist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #edf1ee}
.event-summary-subitem{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;background:#fafcfb;min-height:96px;border:1px solid #f1f4f2;text-align:center}
.event-summary-subitem__label{display:block;font-size:12px;font-weight:700;color:#253630;line-height:1.45;word-break:normal;overflow-wrap:normal;text-align:center}
.event-summary-subitem small{display:block;font-size:10px;color:#8a9791;line-height:1.4}
.event-summary-subitem strong{font-size:28px;line-height:1;color:#16221d;letter-spacing:-.8px}
.trend-green{background:#eaf8f1;color:#008c4b}.trend-blue{background:#eaf4ff;color:#2f7acf}.trend-purple{background:#f2edff;color:#7a4fe0}.trend-orange{background:#fff2df;color:#dd8a16}.trend-rose{background:#fff0f4;color:#cc4266}.trend-teal{background:#e9fbf8;color:#0e8579}
@media(max-width:1050px){.filter-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media(max-width:760px){.event-summary-sublist{grid-template-columns:1fr}}
@media(max-width:480px){.filter-form{grid-template-columns:1fr}.filter-actions{flex-direction:column;align-items:stretch}.upload-form{align-items:stretch}.report-pagination{align-items:flex-start}.report-pagination__button{min-width:32px;height:32px;padding:0 10px}}

