:root{
  --green:#1F8A3B; --green-d:#176b2e; --ink:#1f2937; --muted:#6b7280;
  --line:#e5e7eb; --bg:#f4f6f5; --card:#fff; --radius:12px;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',system-ui,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}
a{color:var(--green);text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.content{padding-top:22px;padding-bottom:40px}

/* topbar */
.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.topbar .wrap{display:flex;align-items:center;gap:18px;height:60px}
.brand{font-family:'Poppins';font-weight:700;font-size:19px;color:var(--green)}
.brand span{color:var(--ink);font-weight:600}
.mainnav{display:flex;gap:18px;flex:1}
.mainnav a{color:var(--ink);font-weight:500;padding:6px 2px;border-bottom:2px solid transparent}
.mainnav a:hover{color:var(--green);border-color:var(--green)}
.userbox{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.coswitch select{padding:6px 10px;border:1px solid #d1d5db;border-radius:8px;font:inherit;font-size:13px;font-weight:600;color:var(--green);background:#f0faf3;max-width:170px}
.cotag{font-family:'Inter';font-size:13px;font-weight:500;color:var(--muted);margin-left:6px}

/* headings */
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.page-head h1{font-family:'Poppins';font-size:24px;margin:0}
.card-h{font-family:'Poppins';font-size:15px;margin:0 0 12px;color:var(--ink)}

/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:760px){.grid2{grid-template-columns:1fr}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.stat-val{font-family:'Poppins';font-size:20px;font-weight:600;margin-top:4px}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:14px}
.newbtns{display:flex;gap:8px;flex-wrap:wrap}
.filters{display:flex;gap:8px}
.filters input,.filters select{min-width:0}

/* forms */
label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}
label:first-child{margin-top:0}
.hint{font-weight:400;color:var(--muted);font-size:11px}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid #d1d5db;border-radius:9px;font:inherit;font-size:14px;background:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(31,138,59,.15)}
textarea{resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.chk{display:flex;align-items:center;gap:8px;font-weight:500;margin-top:10px}
.chk input{width:auto}
.form-actions{display:flex;gap:10px;align-items:center;margin-top:16px}

/* buttons */
.btn{display:inline-block;border:1px solid transparent;border-radius:9px;padding:9px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:center}
.btn-sm{padding:6px 11px;font-size:13px}
.btn-lg{padding:12px 22px;font-size:15px}
.btn-block{width:100%}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{background:var(--green-d)}
.btn-outline{background:#fff;border-color:var(--green);color:var(--green)}
.btn-outline:hover{background:#f0faf3}
.btn-ghost{background:#f3f4f6;color:var(--ink)}
.btn-ghost:hover{background:#e5e7eb}

/* tables */
table.grid,table.items{width:100%;border-collapse:collapse}
table.grid th,table.items th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:8px 10px;border-bottom:2px solid var(--line)}
table.grid td,table.items td{padding:10px;border-bottom:1px solid #f0f1f0;vertical-align:middle}
.r{text-align:right}.c{text-align:center}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,Menlo,monospace;font-size:13px}
.small{font-size:12px}.muted{color:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:24px}
.link{color:var(--green);font-weight:600;font-size:13px;margin-left:8px}
.link-danger{color:#dc2626}
.linkbtn{background:none;border:0;color:var(--green);font-weight:600;font-size:13px;cursor:pointer;margin-left:8px;padding:0}
.linkbtn.link-danger{color:#dc2626}

/* items editor */
table.items input{padding:7px 8px}
.w70{width:70px}.w90{width:90px}.w110{width:110px}.num{text-align:right}
.itdetails{margin-top:5px;font-size:12.5px;color:#4b5563;min-height:34px;line-height:1.4}
.items-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.xrow{background:#fee2e2;color:#b91c1c;border:0;border-radius:6px;width:26px;height:26px;font-size:16px;cursor:pointer}
.totals{max-width:320px;margin-left:auto;margin-top:14px}
.trow{display:flex;justify-content:space-between;align-items:center;padding:5px 0}
.trow input{width:120px}
.trow.grand{border-top:2px solid var(--green);margin-top:6px;padding-top:10px;font-family:'Poppins';font-size:18px;color:var(--green)}

/* template & colour pick */
.tpl-pick{display:flex;gap:8px;flex-wrap:wrap}
.tpl{padding:8px 14px;border:1px solid #d1d5db;border-radius:9px;background:#fff;cursor:pointer;font-weight:600;font-size:13px}
.tpl.on{border-color:var(--green);background:#f0faf3;color:var(--green)}
.color-pick{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.swatch{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d1d5db;cursor:pointer;padding:0}
.swatch.on{box-shadow:0 0 0 2px var(--green)}
#customcol{width:42px;height:34px;padding:2px}

/* pills & status */
.pill{display:inline-block;padding:2px 9px;border-radius:14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;background:#e5f3e9;color:var(--green)}
.pill-invoice{background:#e5f3e9;color:var(--green)}
.pill-quotation{background:#e0edff;color:#2563eb}
.pill-credit_note{background:#fdeafe;color:#a21caf}
.status{display:inline-block;padding:2px 9px;border-radius:14px;font-size:11px;font-weight:600}
.status-draft{background:#f3f4f6;color:#4b5563}
.status-sent{background:#fef3c7;color:#92400e}
.status-paid{background:#dcfce7;color:#166534}
.status-cancelled{background:#fee2e2;color:#991b1b}

/* alerts */
.alert{padding:11px 14px;border-radius:9px;margin-bottom:16px;font-size:14px}
.alert-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.alert-err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}

/* reset details */
.rstd{display:inline-block}
.rstd summary{list-style:none;cursor:pointer}
.resetform{display:flex;gap:6px;margin-top:6px}

/* footer */
.foot{text-align:center;color:var(--muted);font-size:12px;padding:24px 0}

/* login */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#1F8A3B 0%,#0f5a25 100%)}
.login-card{background:#fff;border-radius:16px;padding:34px 30px;width:340px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.login-brand{font-family:'Poppins';font-weight:700;font-size:24px;color:var(--green);text-align:center}
.login-brand span{color:var(--ink)}
.login-sub{text-align:center;color:var(--muted);font-size:13px;margin:4px 0 18px}
.login-card .btn{margin-top:18px}
