:root{--color-bg:#f5f6f4;--color-surface:#fff;--color-border:#dcdfd9;--color-text:#1f2a1c;--color-muted:#6b756a;--color-primary:#2f6b3a;--color-primary-dark:#234f2b;--color-danger:#b3261e;--color-danger-bg:#fbeceb;--color-warning:#8a5a00;--color-warning-bg:#fdf3e0;--radius:6px;--spacing:12px}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}h1{margin:0 0 var(--spacing);font-size:1.4rem}h2{margin:1.5rem 0 .5rem;font-size:1.1rem}h3{margin:1rem 0 .5rem;font-size:1rem}button,input,select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);padding:6px 10px}button{cursor:pointer;background:var(--color-primary);color:#fff;border-color:var(--color-primary)}button:hover{background:var(--color-primary-dark)}button:disabled{background:var(--color-border);border-color:var(--color-border);color:var(--color-muted);cursor:not-allowed}.link-danger{color:var(--color-danger);background:0 0;border:none;padding:2px 4px}.link-danger:hover{background:var(--color-danger-bg)}a{color:var(--color-primary)}.button{background:var(--color-primary);color:#fff;border-radius:var(--radius);padding:6px 12px;text-decoration:none;display:inline-block}table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px;font-size:.9rem}th{background:#eef1ec;font-weight:600}tr:last-child td{border-bottom:none}.muted{color:var(--color-muted)}.muted-row{color:var(--color-muted);opacity:.7}.row-actions{gap:8px;display:flex}.row-danger{background:var(--color-danger-bg)}.row-warning{background:var(--color-warning-bg)}.tag{border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-block}.tag-danger{background:var(--color-danger);color:#fff}.tag-warning{background:var(--color-warning);color:#fff}.error{color:var(--color-danger);font-size:.9rem}.notice{color:var(--color-primary-dark);font-size:.9rem}.warning-text{color:var(--color-warning);font-size:.75rem}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:10px 14px;font-size:.9rem}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning)}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:24px;padding:10px 20px;display:flex}.navbar-brand{color:var(--color-primary-dark);font-weight:700}.navbar-links{flex:1;gap:16px;display:flex}.navbar-links a{color:var(--color-text);border-radius:var(--radius);padding:4px 8px;font-size:.9rem;text-decoration:none}.navbar-links a.active{color:var(--color-primary-dark);background:#e4ede1;font-weight:600}.navbar-user{align-items:center;gap:10px;font-size:.9rem;display:flex}.badge{color:var(--color-primary-dark);text-transform:uppercase;background:#e4ede1;border-radius:999px;padding:1px 8px;font-size:.7rem}.app-content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:20px}.page-loading{text-align:center;color:var(--color-muted);padding:40px}.page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.empty-state{text-align:center;color:var(--color-muted);padding:60px 20px}.login-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:12px;width:320px;padding:32px;display:flex}.login-form h1{text-align:center;color:var(--color-primary-dark);font-size:1.1rem}.login-form label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.form{flex-direction:column;gap:12px;max-width:480px;display:flex}.form label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.form-inline{flex-flow:wrap;align-items:flex-end;max-width:none;margin-bottom:1rem}.inline-add{gap:8px;display:flex}.filters{align-items:center;gap:16px;margin-bottom:1rem;display:flex}.checkbox-label{align-items:center;gap:6px;font-size:.9rem;display:flex}.pos-page table input{width:70px}.medicine-search{margin-bottom:1rem;position:relative}.medicine-search input{width:100%;max-width:400px}.medicine-search-results{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);z-index:10;max-width:400px;max-height:240px;margin:4px 0 0;padding:0;list-style:none;position:absolute;overflow-y:auto;box-shadow:0 4px 12px #00000014}.medicine-search-results li button{text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;border-radius:0;flex-direction:column;padding:8px 12px;display:flex}.medicine-search-results li button:hover:not(:disabled){background:#eef1ec}.medicine-name{font-weight:600}.medicine-meta{color:var(--color-muted);font-size:.75rem}.cart{margin:1rem 0}.cart-totals{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-width:320px;margin-top:12px;margin-left:auto;padding:12px 16px;font-size:.9rem}.cart-totals>div{justify-content:space-between;padding:2px 0;display:flex}.cart-total-final{border-top:1px solid var(--color-border);margin-top:6px;font-size:1.05rem;font-weight:700;padding-top:6px!important}.pos-checkout-form{flex-wrap:wrap;align-items:center;gap:10px;margin-top:1rem;display:flex}.invoice-actions{gap:10px;margin-bottom:16px;display:flex}.invoice-sheet{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-width:640px;padding:24px}.invoice-meta{justify-content:space-between;margin:4px 0;font-size:.85rem;display:flex}.invoice-totals{max-width:280px;margin-top:16px;margin-left:auto;font-size:.9rem}.invoice-totals>div{justify-content:space-between;padding:2px 0;display:flex}.invoice-total-final{border-top:1px solid var(--color-border);margin-top:6px;font-weight:700;padding-top:6px!important}@media print{.navbar,.no-print{display:none!important}.app-content{max-width:none;padding:0}.invoice-sheet{box-shadow:none;border:none}}
