/* Mitumba Shop Manager — stylesheet extracted from original index.html */

:root{
  --g9:#1a3a2a;--g8:#1e4d35;--g7:#2d6a4f;--g6:#40916c;--g5:#52b788;
  --g4:#74c69d;--g2:#d8f3dc;--g1:#f0faf3;
  --gold:#e9c46a;--goldd:#c49a3c;--red:#e63946;--orange:#f4a261;
  --w:#fefefe;--gr0:#f8f9fa;--gr1:#f1f3f5;--gr2:#e9ecef;
  --gr4:#adb5bd;--gr6:#6c757d;--gr8:#343a40;
  /* Shadows are tinted with the darkest green so they sit softly on the page */
  --sh:0 1px 2px rgba(26,58,42,.05),0 4px 16px rgba(26,58,42,.06);
  --shl:0 12px 40px rgba(26,58,42,.16);
  --shg:0 4px 14px rgba(64,145,108,.28);
  --ring:0 0 0 3px rgba(82,183,136,.22);
  --line:1px solid rgba(26,58,42,.06);
  --r:16px;--rs:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,sans-serif;background:linear-gradient(180deg,var(--g1) 0,var(--gr0) 380px) no-repeat,var(--gr0);color:var(--gr8);min-height:100vh;font-size:15px;-webkit-font-smoothing:antialiased}
button:focus-visible,a:focus-visible{outline:2px solid var(--g5);outline-offset:2px}

/* APP */
#app{display:flex;flex-direction:column;min-height:100vh}
header{background:linear-gradient(135deg,var(--g9),var(--g7));padding:0 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;height:56px;box-shadow:0 2px 14px rgba(26,58,42,.25)}
.htitle{font-family:Arial,sans-serif;font-weight:800;font-size:1.15rem;color:var(--w);letter-spacing:-.5px}
.htitle span{color:var(--gold)}
.hsubtitle{font-size:.75rem;font-weight:400;opacity:.7;letter-spacing:1px;text-transform:uppercase;color:var(--w)}
.hbtns{display:flex;gap:8px;align-items:center}@media(max-width:520px){.hsubtitle{font-size:.55rem;letter-spacing:.5px}.hbtnlabel{display:none}}
.ibtn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:var(--rs);padding:7px 11px;color:var(--w);cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:5px;transition:all .2s;text-decoration:none}
.ibtn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.24)}

/* NAV */
nav{background:rgba(254,254,254,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);display:flex;overflow-x:auto;border-bottom:1px solid var(--gr2);box-shadow:0 2px 10px rgba(26,58,42,.04);position:sticky;top:56px;z-index:99;-webkit-overflow-scrolling:touch;padding:0 8px}
nav::-webkit-scrollbar{display:none}
.ntab{flex:none;padding:15px 14px 13px;border:none;background:none;cursor:pointer;font-family:Arial,sans-serif;font-size:.83rem;font-weight:500;color:var(--gr6);white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.ntab:hover{color:var(--g7)}
.ntab.on{color:var(--g7);border-bottom-color:var(--g6);font-weight:600}
.more-panel{display:none;flex-wrap:wrap;gap:8px;background:var(--w);border-bottom:1px solid var(--gr2);box-shadow:var(--sh);padding:12px 16px}
.more-panel.open{display:flex}
.more-item{padding:9px 15px;border:1px solid var(--gr2);border-radius:999px;background:var(--w);color:var(--gr6);cursor:pointer;font-size:.83rem;font-weight:500;transition:all .2s}
.more-item:hover{background:var(--g1);border-color:var(--g2);color:var(--g7)}
.more-item.on{background:linear-gradient(135deg,var(--g6),var(--g7));border-color:transparent;color:var(--w);box-shadow:var(--shg)}
.pmonth{font-size:.85rem;font-weight:700;color:var(--g7);text-align:right;white-space:nowrap;background:var(--g1);border:1px solid var(--g2);padding:7px 13px;border-radius:999px}
/* Phones: show Dashboard, Purchases and "More"; the rest go in the panel */
.ntab.mob{display:none}
@media(max-width:768px){
  .ntab.desk{display:none}
  .ntab.mob{display:block}
}
@media(min-width:769px){
  .more-panel{display:none!important}
}

/* MAIN */
main{flex:1;padding:20px 16px;max-width:800px;margin:0 auto;width:100%}
.pg{display:none}
.pg.on{display:block;animation:pgin .25s ease}
@keyframes pgin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* CARDS */
.card{background:var(--w);border-radius:var(--r);padding:20px;box-shadow:var(--sh);border:var(--line);margin-bottom:16px}
.ctitle{font-family:Arial,sans-serif;font-size:1rem;font-weight:400;color:var(--gr6);margin-bottom:16px;display:flex;align-items:center;gap:8px}

/* STAT GRID */
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.sbox{background:linear-gradient(135deg,var(--g1),var(--w) 70%);border-radius:var(--r);padding:16px 16px 16px 18px;box-shadow:var(--sh);border:var(--line);border-left:4px solid var(--g5);transition:transform .2s,box-shadow .2s}
.sbox:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(26,58,42,.05),0 8px 22px rgba(26,58,42,.08)}
.sbox.red{border-left-color:var(--red);background:linear-gradient(135deg,rgba(230,57,70,.07),var(--w) 70%)}
.sbox.gold{border-left-color:var(--gold);background:linear-gradient(135deg,rgba(233,196,106,.14),var(--w) 70%)}
.sbox.ora{border-left-color:var(--orange);background:linear-gradient(135deg,rgba(244,162,97,.12),var(--w) 70%)}
.slabel{font-size:.74rem;color:var(--g8);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.sval{font-family:Arial,sans-serif;font-size:1.35rem;font-weight:700;color:var(--g8);letter-spacing:-.3px}
.sval.red{color:var(--red)}
.sval.gold{color:var(--goldd)}

/* PERSONAL DRAW */
.pdraw{background:linear-gradient(135deg,var(--g8),var(--g6));border-radius:var(--r);padding:24px;margin-bottom:16px;text-align:center;box-shadow:var(--shl)}
.pdraw .plabel{color:var(--g2);font-size:.82rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}
.pdraw .pamount{font-family:Arial,sans-serif;font-size:2.4rem;font-weight:700;color:var(--gold);margin-bottom:4px}
.pdraw .psub{color:var(--g2);font-size:.8rem}

/* Shop name box */
.pdraw-shop{background:var(--w);border-radius:var(--r);padding:18px 22px;margin-bottom:16px;box-shadow:var(--sh);border:var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.pdraw-shop #pgHeader{color:var(--g9);font-size:1.25rem;font-weight:800;letter-spacing:-.4px}
.pdraw-shop .shop-sub{color:var(--gr6);font-size:.85rem;margin-top:3px}
.pdraw-shop .shop-icon{flex:none;width:52px;height:52px;border-radius:14px;background:transparent;color:var(--g6);display:flex;align-items:center;justify-content:center}
.pdraw-shop .shop-icon svg{width:30px;height:30px}

/* Money-for-personal-use box — light green */
.pdraw-money{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--g1),var(--g2));border:1px solid var(--g2);border-radius:var(--r);padding:26px 24px;margin-bottom:16px;text-align:center;box-shadow:var(--sh)}
.pdraw-money::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.35);pointer-events:none}
.pdraw-money .plabel{position:relative;color:var(--g8);font-size:.82rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.pdraw-money .pamount{position:relative;font-family:Arial,sans-serif;font-size:2.4rem;font-weight:700;color:var(--g7);margin-bottom:4px;letter-spacing:-.5px}

/* FORMS */
.fg{margin-bottom:14px}
.fl{display:block;font-size:.8rem;font-weight:400;color:var(--gr6);margin-bottom:6px}
.fi,.fs{width:100%;padding:11px 14px;border:1.5px solid var(--gr2);border-radius:var(--rs);font-family:Arial,sans-serif;font-size:.95rem;background:var(--w);color:var(--gr8);outline:none;transition:border-color .2s,box-shadow .2s}
.fi:hover,.fs:hover{border-color:var(--g2)}
.fi:focus,.fs:focus{border-color:var(--g5);box-shadow:var(--ring)}
.fi::placeholder{color:var(--gr4)}
.fi.err,.fs.err{border-color:var(--red) !important;background:#fff5f5;box-shadow:0 0 0 3px rgba(230,57,70,.12)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fhint{font-size:.76rem;color:var(--gr4);margin-top:5px}

/* BUTTONS */
.btn{padding:12px 20px;border:none;border-radius:var(--rs);cursor:pointer;font-family:Arial,sans-serif;font-weight:700;font-size:.88rem;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.btn:active{transform:translateY(0)}
.bp{background:linear-gradient(135deg,var(--g6),var(--g7));color:var(--w);box-shadow:var(--shg)}
.bp:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(64,145,108,.34);filter:brightness(1.04)}
.bs{background:var(--gr1);color:var(--gr8)}
.bs:hover{background:var(--gr2)}
.bd{background:var(--red);color:var(--w);box-shadow:0 4px 14px rgba(230,57,70,.22)}
.bd:hover{transform:translateY(-1px);filter:brightness(1.05)}
.bsm{padding:7px 13px;font-size:.78rem}
.bfull{width:100%;justify-content:center}

/* TABLES */
.twrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:separate;border-spacing:0;min-width:480px}
th{background:var(--g1);color:var(--g8);font-family:Arial,sans-serif;font-size:.74rem;text-transform:uppercase;letter-spacing:.6px;padding:11px 12px;text-align:left;border-bottom:1px solid var(--g2)}
th:first-child{border-top-left-radius:var(--rs)}
th:last-child{border-top-right-radius:var(--rs)}
td{padding:11px 12px;border-bottom:1px solid var(--gr1);font-size:.87rem;color:var(--gr8);vertical-align:middle;transition:background .15s}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--g1)}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.2px}
.bg{background:var(--g2);color:var(--g8)}
.bb{background:#dbeafe;color:#1e40af}
.br{background:#fee2e2;color:#991b1b}
.bo{background:#fef3c7;color:#92400e}

/* STOCK ROWS */
.srow{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--gr1)}
.srow:last-child{border-bottom:none}
.sname{flex:1;font-weight:600;color:var(--gr8)}
.sqty{font-family:Arial,sans-serif;font-weight:700;font-size:1.1rem;min-width:46px;text-align:right;color:var(--g8)}
.sbwrap{flex:2;background:var(--gr1);border-radius:999px;height:10px;overflow:hidden}
.sbar{height:100%;border-radius:999px;transition:width .5s ease}
.sbar.ok{background:linear-gradient(90deg,var(--g4),var(--g6))}
.sbar.low{background:linear-gradient(90deg,var(--gold),var(--orange))}
.sbar.out{background:var(--red)}

/* SETTINGS */
.stitle{font-family:Arial,sans-serif;font-size:1rem;font-weight:400;color:var(--gr6);margin-bottom:16px;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--gr2)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}

/* MONTH BAR */
.mbar{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch;justify-content:center}
.mbar::-webkit-scrollbar{display:none}
.mchip{flex:none;padding:6px 14px;border-radius:20px;border:none;background:var(--gr1);color:var(--gr6);cursor:pointer;font-size:.82rem;font-weight:500;transition:all .2s}
.mchip.on{background:var(--gr6);color:var(--w)}
.mchip.today:not(.on){color:var(--red)}

/* EMPTY */
.empty{text-align:center;padding:36px 20px;color:var(--gr6)}
.empty .ei{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;background:var(--g1);border:1px solid var(--g2);display:flex;align-items:center;justify-content:center;font-size:2.1rem}
.empty p{font-size:.92rem}

/* MODAL */
.moverlay{position:fixed;inset:0;background:rgba(26,58,42,.45);z-index:1000;display:flex;align-items:flex-end;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.modal{background:var(--w);border-radius:22px 22px 0 0;width:100%;max-width:520px;margin:0 auto;padding:24px 20px 32px;max-height:92vh;overflow-y:auto;box-shadow:var(--shl);animation:sup .28s ease}
@keyframes sup{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:600px){
  .moverlay{align-items:center;padding:24px}
  .modal{border-radius:20px;padding:26px 26px 28px;animation:pop .22s ease}
}
.mtitle{font-family:Arial,sans-serif;font-weight:700;font-size:1.1rem;color:var(--g8);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--gr1);display:flex;justify-content:space-between;align-items:center}
.mclose{background:var(--gr1);border:none;border-radius:var(--rs);padding:6px 11px;cursor:pointer;font-size:1rem;line-height:1;transition:background .2s}
.mclose:hover{background:var(--gr2)}

/* FINANCIAL LINE ITEMS (used on Dashboard's Revenue/Costs/Loan cards) */
.fline{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--gr1)}
.fline:last-child{border-bottom:none}
.flab{font-size:.88rem;color:var(--gr6)}
.fval{font-family:Arial,sans-serif;font-weight:600;font-size:.93rem;color:var(--gr8)}
.ftot{background:linear-gradient(135deg,var(--g1),var(--w));margin:4px -20px 0;padding:13px 20px;border-radius:var(--rs);border-bottom:none}
.ftot .flab{font-weight:700;color:var(--g8)}
.ftot .fval{color:var(--g7);font-size:1.05rem}
.fcost .fval{color:var(--red)}
.lprog{background:var(--gr1);border-radius:999px;height:12px;overflow:hidden;margin:10px 0}
.lbar{background:linear-gradient(90deg,var(--g4),var(--g6));height:100%;border-radius:999px;transition:width .5s ease}

/* BUNDLE ITEMS */
.brow{display:grid;grid-template-columns:1fr 80px 32px;gap:6px;margin-bottom:8px;align-items:center}
.badd{background:none;border:1.5px dashed var(--g4);color:var(--g6);border-radius:var(--rs);padding:9px;width:100%;cursor:pointer;font-size:.84rem;font-weight:600;margin-bottom:12px;transition:all .2s}
.badd:hover{background:var(--g1);border-color:var(--g5);color:var(--g7)}
.cat-row{margin-bottom:14px}
.cat-field{min-width:0}
.cat-input{display:flex;align-items:stretch}
.cat-input .fi{flex:1;min-width:0;border-top-right-radius:0;border-bottom-right-radius:0}
.cat-del{flex:none;padding:0 12px;border:1.5px solid var(--gr2);border-left:none;border-radius:0 var(--rs) var(--rs) 0;background:#fff5f5;color:var(--red);cursor:pointer;font-size:.95rem;transition:all .2s}
.cat-del:hover{background:#fee2e2}
.bdel{background:none;border:none;color:var(--gr4);cursor:pointer;font-size:1.1rem;padding:0 4px;transition:color .2s}
.bdel:hover{color:var(--red)}

/* PREVIEW */
.preview{background:var(--g1);border:1px solid var(--g2);border-radius:var(--rs);padding:12px 14px;margin-bottom:14px;font-size:.84rem;color:var(--g7)}

/* TOAST */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--g8);color:var(--w);padding:12px 22px;border-radius:999px;font-size:.87rem;font-weight:500;z-index:9000;box-shadow:var(--shl);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;transform:translateX(-50%) translateY(8px)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* SALE DETAILS */
.saleDetail{font-size:.82rem;color:var(--gr6);margin-top:4px}
.saleNote{background:var(--g1);padding:8px 10px;border-left:3px solid var(--g5);border-radius:6px;font-size:.8rem;color:var(--g7);margin-top:6px;font-style:italic}

/* UTILS */
.dim{opacity:.45}
.fb{display:flex;justify-content:space-between;align-items:center}
.tg{color:var(--g6)}
.tr{color:var(--red)}
.fw7{font-weight:700}
.mb0{margin-bottom:0}
@media(max-width:400px){.sgrid,.frow,.cgrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
