:root{--green:#2f6b2f;--green2:#3f8f3f;--bg:#f3f5f2;--panel:#fff;--text:#172018;--muted:#66706a;--border:#d8ded8;--danger:#c62828;--warn:#b9651b;--ok:#227a3b;--blue:#246b8f;--shadow:0 10px 28px rgba(20,35,25,.08);--radius:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hide{display:none!important}
.topbar{height:64px;background:linear-gradient(90deg,var(--green),var(--green2));color:#fff;display:flex;align-items:center;gap:14px;padding:0 18px;position:sticky;top:0;z-index:40;box-shadow:0 3px 16px rgba(0,0,0,.18)}
.brand{font-weight:950;font-size:18px;display:flex;gap:10px;align-items:center;white-space:nowrap}.logo{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.site-nav{display:flex;gap:8px;align-items:center}.site-nav a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:9px;font-weight:800;opacity:.9}.site-nav a.active,.site-nav a:hover{background:rgba(255,255,255,.16);opacity:1}
.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.user-badge{font-size:13px;font-weight:800;background:rgba(255,255,255,.14);padding:7px 10px;border-radius:999px}
.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:9px 12px;font-weight:850;display:inline-flex;align-items:center;gap:6px}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.light{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}.btn.danger{background:#fff1f2;border-color:#fecdd3;color:var(--danger)}.btn.ok{background:#ecfdf3;border-color:#bbf7d0;color:var(--ok)}.btn.warn{background:#fffbeb;border-color:#fed7aa;color:var(--warn)}.btn.blue{background:var(--blue);border-color:var(--blue);color:#fff}.btn.small{font-size:12px;padding:6px 9px;border-radius:8px}.menu{display:none}
.center-card{max-width:540px;margin:70px auto;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:26px;text-align:center}
.layout{display:flex;min-height:calc(100vh - 64px)}.sidebar{width:250px;background:#fff;border-right:1px solid var(--border);padding:14px;position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto;flex-shrink:0}
.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:900;margin:14px 8px 8px}.sidebar button{width:100%;border:0;background:transparent;color:#344035;display:flex;gap:10px;align-items:center;text-align:left;border-radius:11px;padding:10px 11px;font-weight:800;margin:2px 0}.sidebar button:hover{background:#f2f5f2}.sidebar button.active{background:#eef7ee;color:var(--green)}
.app{flex:1;max-width:1500px;width:100%;padding:22px}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}h1{font-size:30px;margin:0 0 5px}h2{font-size:18px;margin:0 0 12px}.sub{color:var(--muted);margin:0;font-size:14px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stat{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:16px}.stat span{display:block;font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.stat strong{display:block;font-size:25px;margin-top:6px}
.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar input{min-width:320px;flex:1}.card{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:16px}.grid{display:grid;gap:14px}.quick{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.quick button{padding:15px;text-align:left}.quick b{display:block}.quick span{font-size:12px;color:var(--muted)}
input,select,textarea{border:1px solid #b9c3b9;border-radius:10px;padding:10px 11px;background:#fff;outline:none;width:100%}textarea{min-height:82px;resize:vertical}label{display:block;font-size:12px;font-weight:900;color:#344035;margin:0 0 5px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:1040px}th{font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8faf8;padding:11px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:12px 11px;border-bottom:1px solid #edf1ed;font-size:14px;vertical-align:middle}tr:last-child td{border-bottom:0}.right{text-align:right}.muted{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:26px}
.badge{display:inline-flex;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:900;white-space:nowrap}.badge.Draft{background:#f2f4f2;color:#5f6b62}.badge.Sent,.badge.Open,.badge.Unpaid{background:#fffaeb;color:#b54708}.badge.Partially-Received{background:#eff6ff;color:#1d4ed8}.badge.Received,.badge.Closed,.badge.Paid,.badge.Active{background:#ecfdf3;color:#027a48}.badge.Cancelled,.badge.Inactive{background:#fef3f2;color:#b42318}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,18,.58);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal{background:#fff;width:min(1120px,100%);max-height:92vh;overflow:auto;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.32)}.modal-head{background:linear-gradient(90deg,var(--green),var(--green2));color:white;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-radius:18px 18px 0 0}.x{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);color:white}.modal-body{padding:18px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.full{grid-column:1/-1}.line-box{border:1px solid var(--border);border-radius:12px;overflow:auto;background:white}.line-box table{min-width:900px;box-shadow:none;border-radius:0}.summary{margin-left:auto;width:min(390px,100%);background:#f8faf8;border:1px solid var(--border);border-radius:12px;padding:12px;margin-top:14px}.sum-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e3e8e3;padding:6px 0}.sum-row:last-child{border-bottom:0;font-size:18px;font-weight:950;color:var(--green)}
.activity-item{padding:9px 0;border-bottom:1px solid #edf1ed;font-size:14px}.activity-item:last-child{border-bottom:0}.toast{position:fixed;right:18px;bottom:18px;background:#101810;color:white;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);z-index:200;font-weight:800}
@media(max-width:980px){.menu{display:inline-flex}.site-nav{display:none}.sidebar{position:fixed;left:-280px;top:64px;bottom:0;height:auto;z-index:50;transition:left .2s;box-shadow:var(--shadow)}body.menu-open .sidebar{left:0}.layout{display:block}.app{padding:14px}.stats{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:repeat(2,1fr)}.page-head{flex-direction:column}.form-grid{grid-template-columns:1fr}.toolbar input{min-width:0}}
@media(max-width:560px){.brand span:last-child,.user-badge{display:none}.app{padding:12px}.stats,.quick{grid-template-columns:1fr}.modal-backdrop{padding:0;align-items:stretch}.modal{border-radius:0;max-height:100vh}.modal-head{border-radius:0}}
@media print{body{background:#fff}.topbar,.sidebar,.head-actions,.toolbar,.no-print{display:none!important}.layout{display:block}.app{padding:0;max-width:none}.card,.table-wrap{box-shadow:none}}
