/* ============================================================
   NewPrintPortal - Warm Coral Theme
   Dark/Light Mode Support
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;500;600;700;800&family=Geist+Mono:wght@400;500;600;700&display=swap');

:root {
  --bg:#faf8f6;--bg2:#fcfaf8;--white:#ffffff;
  --pr:#e06c4e;--pr-l:#fff1ec;--pr-m:#f4a58a;--pr-d:#9a3412;
  --tx:#292524;--tx2:#78716c;--tx3:#a8a29e;
  --bd:#e7e5e4;--bd2:#f5f5f4;
  --red:#dc2626;--grn:#16a34a;--amb:#ca8a04;
  --shd:0 1px 3px rgba(0,0,0,0.04);--shd2:0 4px 16px rgba(0,0,0,0.06);
  --rad:10px;
}
[data-theme="dark"] {
  --bg:#141210;--bg2:#1c1916;--white:#231f1b;
  --pr:#f4a58a;--pr-l:rgba(244,165,138,0.08);--pr-m:#f4a58a;--pr-d:#fff1ec;
  --tx:#e7e5e4;--tx2:#a8a29e;--tx3:#57534e;
  --bd:rgba(255,255,255,0.06);--bd2:rgba(255,255,255,0.03);
  --red:#f87171;--grn:#4ade80;--amb:#fbbf24;
  --shd:0 1px 3px rgba(0,0,0,0.2);--shd2:0 4px 16px rgba(0,0,0,0.3);
}

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Figtree',sans-serif;background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased;transition:background 0.3s,color 0.3s;}
a{color:var(--pr);text-decoration:none;}
a:hover{text-decoration:underline;}

/* ===== SIDEBAR ===== */
.layout{display:flex;min-height:100vh;}
.sidebar{width:240px;height:100vh;position:fixed;background:var(--bg2);border-right:1px solid var(--bd);display:flex;flex-direction:column;z-index:10;transition:all 0.3s;}
.sb-logo{padding:18px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:10px;}
.sb-logo-icon{width:34px;height:34px;border-radius:8px;background:var(--pr);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;}
[data-theme="dark"] .sb-logo-icon{color:#111;}
.sb-logo-text{font-size:15px;font-weight:700;color:var(--tx);letter-spacing:-0.3px;}
.sb-logo-text b{color:var(--pr);}

.sb-nav{flex:1;padding:10px;overflow-y:auto;}
.sb-label{font-size:10px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:1.8px;padding:12px 12px 6px;}
.sb-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;font-size:13px;font-weight:500;color:var(--tx2);cursor:pointer;transition:all 0.15s;margin-bottom:1px;text-decoration:none;}
.sb-item:hover{background:var(--bd2);color:var(--tx);text-decoration:none;}
.sb-item.active{background:var(--pr-l);color:var(--pr-d);font-weight:600;}
.sb-item .icon{width:20px;text-align:center;font-size:15px;}
.sb-item .count{margin-left:auto;font-size:10px;font-weight:700;background:var(--pr);color:#fff;padding:1px 7px;border-radius:10px;}
[data-theme="dark"] .sb-item .count{color:#111;}

.sb-toggle{padding:10px 14px;border-top:1px solid var(--bd);}
.toggle-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px;border-radius:8px;background:var(--bd2);border:1px solid var(--bd);cursor:pointer;font-size:12px;font-weight:600;color:var(--tx2);font-family:inherit;transition:all 0.2s;}
.toggle-btn:hover{background:var(--pr-l);color:var(--pr);}

.sb-user{padding:14px 16px;border-top:1px solid var(--bd);display:flex;align-items:center;gap:10px;}
.sb-avatar{width:32px;height:32px;border-radius:8px;background:var(--pr);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;}
[data-theme="dark"] .sb-avatar{color:#111;}
.sb-uname{font-size:12px;font-weight:600;color:var(--tx);}
.sb-urole{font-size:10px;color:var(--tx3);}

/* ===== MAIN ===== */
.main{flex:1;margin-left:240px;padding:24px 28px;transition:all 0.3s;}

/* Header */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;}
.page-header h1{font-size:22px;font-weight:700;color:var(--tx);letter-spacing:-0.5px;}
.page-header p{color:var(--tx3);font-size:13px;margin-top:2px;}
.header-right{display:flex;align-items:center;gap:8px;}
.wallet-pill{display:flex;align-items:center;gap:5px;background:var(--pr-l);border:1px solid var(--pr-m);padding:8px 16px;border-radius:8px;font-family:'Geist Mono',monospace;font-size:13px;font-weight:600;color:var(--pr-d);}
[data-theme="dark"] .wallet-pill{border-color:rgba(255,255,255,0.08);}
.bell-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--bd);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;position:relative;transition:all 0.2s;}
.bell-btn:hover{box-shadow:var(--shd2);}
.bell-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;background:var(--red);border-radius:50%;}

/* Stats Cards */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;}
.stat-card{background:var(--white);border:1px solid var(--bd);border-radius:var(--rad);padding:18px 20px;transition:all 0.25s;}
.stat-card:hover{box-shadow:var(--shd2);transform:translateY(-1px);}
.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--pr-l);}
.stat-change{font-size:10px;font-weight:700;color:var(--grn);}
.stat-change.down{color:var(--amb);}
.stat-val{font-size:24px;font-weight:700;color:var(--tx);letter-spacing:-0.5px;}
.stat-label{font-size:12px;color:var(--tx3);margin-top:2px;}

/* Section Header */
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.sec-head h2{font-size:15px;font-weight:700;color:var(--tx);letter-spacing:-0.2px;}
.sec-head a{font-size:11px;color:var(--pr);font-weight:600;}

/* Service Cards */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:24px;}
.svc-card{background:var(--white);border:1px solid var(--bd);border-radius:var(--rad);padding:18px 14px;text-align:center;cursor:pointer;transition:all 0.25s;text-decoration:none;display:block;color:var(--tx);}
.svc-card:hover{box-shadow:var(--shd2);transform:translateY(-2px);border-color:var(--pr-m);text-decoration:none;}
.svc-card .svc-icon{font-size:24px;margin-bottom:8px;display:block;}
.svc-card .svc-name{font-size:12px;font-weight:700;margin-bottom:3px;}
.svc-card .svc-price{font-family:'Geist Mono',monospace;font-size:12px;font-weight:600;color:var(--pr);}
.svc-card .svc-desc{font-size:10px;color:var(--tx3);margin-top:3px;}
.svc-card.inactive{opacity:0.4;pointer-events:none;}

/* Table */
.tbl-wrap{background:var(--white);border:1px solid var(--bd);border-radius:var(--rad);overflow:hidden;margin-bottom:24px;}
.tbl-wrap table{width:100%;border-collapse:collapse;}
.tbl-wrap th{text-align:left;padding:10px 16px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--tx3);border-bottom:1px solid var(--bd);background:var(--bg);}
.tbl-wrap td{padding:11px 16px;font-size:13px;color:var(--tx2);border-bottom:1px solid var(--bd2);}
.tbl-wrap tr:last-child td{border:none;}
.tbl-wrap tr:hover td{background:var(--bd2);}

.mono{font-family:'Geist Mono',monospace;font-size:11px;color:var(--tx3);}
.amt-cr{font-family:'Geist Mono',monospace;font-size:12px;font-weight:600;color:var(--grn);}
.amt-db{font-family:'Geist Mono',monospace;font-size:12px;font-weight:600;color:var(--red);}
.time-col{font-size:11px;color:var(--tx3);}

/* Badges */
.badge{display:inline-block;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:700;}
.badge-ok{background:rgba(22,163,74,0.08);color:var(--grn);}
.badge-pn{background:rgba(202,138,4,0.08);color:var(--amb);}
.badge-fl{background:rgba(220,38,38,0.08);color:var(--red);}
.badge-pr{background:var(--pr-l);color:var(--pr);}

/* Cards */
.card{background:var(--white);border:1px solid var(--bd);border-radius:var(--rad);overflow:hidden;transition:all 0.3s;}
.card-header{padding:14px 18px;font-size:14px;font-weight:700;color:var(--tx);border-bottom:1px solid var(--bd);}
.card-body{padding:18px;}

/* Forms */
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:12px;font-weight:600;color:var(--tx);margin-bottom:6px;}
.form-control{width:100%;padding:10px 14px;border:1px solid var(--bd);border-radius:8px;font-size:13px;color:var(--tx);background:var(--white);font-family:inherit;transition:all 0.2s;outline:none;}
.form-control:focus{border-color:var(--pr);box-shadow:0 0 0 3px var(--pr-l);}
.form-control::placeholder{color:var(--tx3);}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2378716c' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:all 0.2s;text-decoration:none;}
.btn:hover{text-decoration:none;}
.btn-primary{background:var(--pr);color:#fff;border-color:var(--pr);}
.btn-primary:hover{opacity:0.9;box-shadow:0 4px 12px rgba(224,108,78,0.2);}
[data-theme="dark"] .btn-primary{color:#111;}
.btn-secondary{background:var(--bd2);color:var(--tx2);border-color:var(--bd);}
.btn-secondary:hover{background:var(--bd);color:var(--tx);}
.btn-success{background:var(--grn);color:#fff;}
.btn-danger{background:var(--red);color:#fff;}
.btn-sm{padding:6px 12px;font-size:11px;}
.btn-block{width:100%;}

/* Alerts */
.alert{padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px;border:1px solid transparent;}
.alert-success{background:rgba(22,163,74,0.08);color:var(--grn);border-color:rgba(22,163,74,0.15);}
.alert-danger{background:rgba(220,38,38,0.08);color:var(--red);border-color:rgba(220,38,38,0.15);}
.alert-warning{background:rgba(202,138,4,0.08);color:var(--amb);border-color:rgba(202,138,4,0.15);}
.alert-info{background:var(--pr-l);color:var(--pr-d);border-color:rgba(244,165,138,0.15);}

/* Footer */
.footer{margin-left:240px;padding:0 28px 28px;}
.ft-features{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.ft-box{border:1px solid var(--bd);border-radius:var(--rad);padding:18px 16px;background:var(--white);transition:all 0.25s;}
.ft-box:hover{border-color:var(--pr-m);box-shadow:var(--shd2);transform:translateY(-1px);}
.ft-box-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.ft-box-ic{font-size:18px;}
.ft-box-title{font-size:13px;font-weight:700;color:var(--tx);}
.ft-box-desc{font-size:11px;color:var(--tx3);line-height:1.5;}
.ft-bottom{border-top:1px solid var(--bd);padding-top:16px;display:flex;align-items:center;justify-content:space-between;}
.ft-copy{font-size:11px;color:var(--tx3);}
.ft-copy b{color:var(--pr);font-weight:700;}
.ft-links{display:flex;gap:16px;}
.ft-links a{font-size:11px;color:var(--tx3);text-decoration:none;}
.ft-links a:hover{color:var(--pr);}

/* Auth Pages */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px;}
.auth-box{width:100%;max-width:420px;background:var(--white);border:1px solid var(--bd);border-radius:16px;padding:32px;box-shadow:var(--shd2);}
.auth-logo{text-align:center;margin-bottom:24px;}
.auth-logo h1{font-size:22px;font-weight:800;color:var(--tx);}
.auth-logo h1 b{color:var(--pr);}
.auth-logo p{font-size:12px;color:var(--tx3);margin-top:4px;}

/* Info Box (for service result) */
.result-box{background:var(--white);border:2px solid var(--grn);border-radius:var(--rad);padding:20px;margin-bottom:20px;}
.result-box h3{color:var(--grn);margin-bottom:12px;font-size:16px;}
.result-table{width:100%;}
.result-table td{padding:8px 12px;border-bottom:1px solid var(--bd2);font-size:13px;}
.result-table td:first-child{font-weight:600;color:var(--tx);width:40%;}
.result-table td:last-child{color:var(--tx2);}

/* Quick Amounts */
.quick-amounts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.quick-amt{padding:8px 16px;border:1px solid var(--bd);border-radius:8px;font-family:'Geist Mono',monospace;font-size:12px;font-weight:700;cursor:pointer;background:var(--white);color:var(--tx);transition:all 0.2s;}
.quick-amt:hover,.quick-amt.active{background:var(--pr);color:#fff;border-color:var(--pr);}

/* QR Modal */
.qr-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);z-index:9999;display:flex;align-items:center;justify-content:center;}
.qr-modal{background:var(--white);border-radius:16px;padding:28px;max-width:400px;width:90%;text-align:center;}

/* Pagination */
.pagination{display:flex;gap:4px;margin-top:16px;}
.pagination a,.pagination span{padding:6px 12px;border:1px solid var(--bd);border-radius:6px;font-size:12px;color:var(--tx2);text-decoration:none;}
.pagination a:hover{background:var(--bd2);}
.pagination .active{background:var(--pr);color:#fff;border-color:var(--pr);}

/* Links Grid */
.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:24px;}
.link-card{background:var(--white);border:1px solid var(--bd);border-radius:var(--rad);padding:16px;display:flex;align-items:center;gap:12px;transition:all 0.2s;text-decoration:none;color:var(--tx);}
.link-card:hover{border-color:var(--pr-m);box-shadow:var(--shd2);transform:translateY(-1px);text-decoration:none;}
.link-icon{font-size:24px;}
.link-info h4{font-size:13px;font-weight:700;color:var(--tx);}
.link-info p{font-size:10px;color:var(--tx3);margin-top:2px;}

/* Announcement Banner */
.announce-bar{background:var(--pr-l);border:1px solid var(--pr-m);border-radius:var(--rad);padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
[data-theme="dark"] .announce-bar{border-color:rgba(255,255,255,0.08);}
.announce-bar .a-icon{font-size:18px;}
.announce-bar .a-text{font-size:12px;color:var(--tx);}
.announce-bar .a-text b{color:var(--pr);}

/* Usage Chart */
.chart-wrap{background:var(--white);border:1px solid var(--bd);border-radius:var(--rad);padding:20px;margin-bottom:24px;height:250px;}

/* Responsive */
@media(max-width:1024px){
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .services-grid{grid-template-columns:repeat(3,1fr);}
  .ft-features{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .sidebar{display:none;}
  .main,.footer{margin-left:0;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .ft-features{grid-template-columns:1fr;}
  .page-header{flex-direction:column;gap:12px;}
}
