 :root{--ink:#101c35;--muted:#6e788a;--line:#e8ecf1;--paper:#fff;--canvas:#f5f7fa;--mint:#66e0ba;--gold:#f6c85f;--danger:#d95d5d}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Tahoma,"Segoe UI",sans-serif;font-size:15px}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;flex:none;background:#101c35;color:#edf4ff;padding:27px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-size:23px;font-weight:800;padding:0 10px 42px}.brand small{display:block;font-size:11px;color:#9ba9c2;font-weight:500;letter-spacing:.04em;direction:ltr;text-align:right}.brand-mark{height:34px;width:34px;display:grid;place-items:center;background:var(--mint);color:var(--ink);border-radius:10px;font-weight:800}.sidebar nav{display:grid;gap:7px}.nav-link{border:0;background:transparent;color:#aebbd0;font:inherit;text-align:right;padding:12px 13px;border-radius:9px;cursor:pointer}.nav-link span{display:inline-block;width:27px;font-size:19px;vertical-align:-2px}.nav-link:hover,.nav-link.active{background:#223253;color:#fff}.nav-link.active{box-shadow:inset -3px 0 var(--mint)}.sidebar-foot{margin-top:auto;border-top:1px solid #2a3a5b;padding:19px 9px 0;color:#9ba9c2;font-size:12px;line-height:1.8}.online-dot{width:8px;height:8px;background:var(--mint);border-radius:50%;display:inline-block;margin-left:6px}.main{width:100%;padding:38px max(32px,5vw);overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}h1,h2,h3,p{margin:0}.eyebrow{font-size:12px;letter-spacing:.06em;color:var(--muted);font-weight:600}h1{font-size:30px;margin-top:4px}h2{font-size:19px}h3{font-size:15px}.primary,.secondary,.text-btn,.icon-btn{font:inherit;cursor:pointer}.primary{border:0;border-radius:9px;background:var(--ink);color:white;padding:11px 17px;font-weight:600}.primary:hover{background:#223253}.secondary{border:1px solid #d9dfe8;border-radius:9px;background:white;color:var(--ink);padding:10px 17px}.text-btn{color:#166a57;background:transparent;border:0;padding:5px;font-weight:600}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.stat-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px}.stat-card{padding:21px;display:grid;gap:8px}.stat-card strong{font-size:27px;letter-spacing:-.04em}.stat-card>span:last-child{font-size:12px;color:var(--muted)}.stat-label{font-weight:600;font-size:13px;color:var(--muted)}.stat-card.accent{background:#e5faf2;border-color:#cef2e5}.panel{padding:23px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.panel-head p{margin-top:4px;color:var(--muted);font-size:13px}.invoice-list{border-top:1px solid var(--line)}.invoice-row{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr auto;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:15px 7px;cursor:pointer}.invoice-row:hover{background:#f7faf9}.invoice-number{font-weight:700}.subtext{font-size:12px;color:var(--muted);margin-top:3px}.amount{font-weight:700}.status{font-size:12px;padding:5px 8px;background:#e7f8f1;border-radius:20px;color:#176a57;justify-self:start}.empty-state{padding:31px 0;text-align:center;color:var(--muted)}.view{display:none}.view.active-view{display:block}.section-actions{display:flex;justify-content:space-between;margin-bottom:20px;gap:16px}.search{background:white;border:1px solid var(--line);border-radius:9px;padding:8px 12px;display:flex;align-items:center;gap:8px;min-width:min(390px,100%)}.search input{border:0;outline:none;width:100%;font:inherit;background:transparent}.table-panel{padding-bottom:8px}.data-table{width:100%;border-collapse:collapse;text-align:right}.data-table th{font-size:12px;color:var(--muted);font-weight:500;padding:0 9px 12px}.data-table td{padding:14px 9px;border-top:1px solid var(--line)}.data-table tr[data-id]{cursor:pointer}.data-table tr[data-id]:hover{background:#f7faf9}.customer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:13px}.customer-card{border:1px solid var(--line);border-radius:11px;padding:17px;cursor:pointer;position:relative}.customer-card:hover{border-color:#acdccc;background:#fcfffe}.customer-card h3{margin-bottom:8px}.customer-card p{font-size:13px;color:var(--muted);line-height:1.8}.customer-card button{position:absolute;left:10px;top:10px;border:0;background:transparent;color:var(--muted);font-size:17px;cursor:pointer}.modal{border:0;border-radius:16px;padding:0;width:min(700px,calc(100vw - 28px));box-shadow:0 20px 80px #10204035;color:var(--ink)}.modal::backdrop{background:#101c3575}.modal form,.modal>div{padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.modal-head h2{margin-top:4px}.icon-btn{border:0;background:#f1f4f8;border-radius:8px;width:32px;height:32px;font-size:23px;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.invoice-bottom>label{display:grid;gap:7px;font-weight:600;font-size:13px}.full{grid-column:1/-1}input,select,textarea{font:inherit;color:var(--ink);padding:10px 11px;border:1px solid #d9dfe8;border-radius:8px;outline:none;background:white;width:100%}input:focus,select:focus,textarea:focus{border-color:#55ba9c;box-shadow:0 0 0 3px #66e0ba33}textarea{resize:vertical}.modal-actions{display:flex;gap:9px;justify-content:flex-start;border-top:1px solid var(--line);padding-top:19px;margin-top:23px}.invoice-modal{width:min(820px,calc(100vw - 28px))}.line-items{margin-top:24px}.line-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.line-row{display:grid;grid-template-columns:1fr 105px 135px 32px;gap:8px;margin-bottom:8px}.delete-line{border:0;background:transparent;color:#9ba4b5;font-size:20px;cursor:pointer}.delete-line:hover{color:var(--danger)}.invoice-bottom{display:grid;grid-template-columns:1fr 195px;gap:18px;align-items:end;margin-top:20px}.total-box{background:#e5faf2;border-radius:10px;padding:14px}.total-box span{display:block;color:#397a6b;font-size:12px}.total-box strong{font-size:21px}.print-modal{width:min(740px,calc(100vw - 28px))}.print-sheet{padding:17px 6px}.print-top{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:17px;margin-bottom:20px}.print-brand{font-size:25px;font-weight:800;direction:ltr}.print-brand small{font-size:12px;color:var(--muted);display:block}.print-meta{font-size:13px;color:var(--muted);line-height:2}.print-customer{background:#f6f8fa;padding:13px;border-radius:8px;margin-bottom:17px}.print-table{width:100%;border-collapse:collapse}.print-table th{background:var(--ink);color:white;padding:9px;text-align:right;font-size:13px}.print-table td{padding:10px 8px;border-bottom:1px solid var(--line)}.print-total{text-align:left;margin-top:17px;font-size:18px;font-weight:800}.print-notes{margin-top:25px;color:var(--muted);font-size:13px;border-top:1px solid var(--line);padding-top:13px}#toast{position:fixed;bottom:24px;left:24px;background:var(--ink);color:white;padding:11px 16px;border-radius:8px;transform:translateY(80px);opacity:0;transition:.25s;z-index:10}#toast.show{transform:translateY(0);opacity:1}@media(max-width:720px){.app-shell{display:block}.sidebar{width:auto;padding:15px;display:block}.brand{padding:0 6px 15px}.sidebar nav{display:flex;overflow:auto}.nav-link{white-space:nowrap}.sidebar-foot{display:none}.main{padding:24px 16px}.topbar{margin-bottom:22px}.stats{grid-template-columns:1fr}.invoice-row{grid-template-columns:1fr auto}.invoice-row>*:nth-child(3),.invoice-row>*:nth-child(4){display:none}.section-actions{display:grid}.search{min-width:0}.form-grid,.invoice-bottom{grid-template-columns:1fr}.line-row{grid-template-columns:1fr 80px 105px 28px}.data-table{min-width:600px}.table-panel{overflow:auto}}
@media print{body>*:not(#print-dialog){display:none!important}#print-dialog{display:block!important;position:static;border:0;width:100%;box-shadow:none}.no-print{display:none!important}}.danger{border:1px solid #f0b9b9;border-radius:9px;background:#fff4f4;color:#b53737;padding:10px 17px;font:inherit;cursor:pointer;margin-left:auto}.danger:hover{background:#ffe8e8}.services-list{margin-top:20px}.package-controls{margin:12px 0;padding:16px;border:1px solid #d7e4e1;background:#f8fffc;border-radius:10px}.package-controls>label{display:grid;gap:7px;font-weight:600;font-size:13px}.package-group{margin-top:16px}.package-group h4{font-size:13px;margin:0 0 8px;color:#397a6b}.check-option{display:flex;align-items:center;gap:7px;padding:6px 0;font-size:13px;color:#334155}.check-option input[type=checkbox]{width:auto}.addon-price{width:120px;padding:6px 8px;margin-right:auto;font-size:12px}.package-btn{border:1px solid #bfe8da;background:#effbf6;color:#176a57;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
@font-face{font-family:BYekan;src:url('../Plugins/fonts/BYekan.ttf') format('truetype');font-display:swap}
body{font-family:BYekan,Tahoma,"Segoe UI",sans-serif}.tools-return{display:block;color:#aebbd0;text-decoration:none;font-size:13px;padding:0 13px 18px}.tools-return:hover{color:#fff}
strong,.amount,.invoice-number,.data-table td,.invoice-row,.stat-card strong,.total-box strong,.print-meta,.print-table td,.print-total,input[type=number],input[type=date],#invoice-number{font-family:Arial,"Segoe UI",sans-serif!important;font-variant-numeric:lining-nums tabular-nums}
.brand-logo{width:34px;height:34px;object-fit:contain}.print-brand{display:flex;align-items:center;gap:9px}.print-brand::before{content:"";display:inline-block;width:30px;height:30px;background:url('../Plugins/logo/ipragma-logo.png') center/contain no-repeat}
.invoice-modal{width:min(1080px,calc(100vw - 40px))}.line-row{grid-template-columns:minmax(280px,1fr) 105px 135px 42px 58px}.package-btn{font-size:18px;line-height:1}.delete-line{border:1px solid #f0b9b9!important;background:#fff4f4!important;color:#b53737!important;border-radius:7px!important;font:12px BYekan,Tahoma,sans-serif!important;padding:0 8px!important;height:42px}.delete-line:hover{background:#ffe5e5!important}
.close-package{width:32px!important;height:32px!important;border:1px solid #d9dfe8!important;border-radius:8px!important;background:#fff!important;font-size:0!important}.close-package::after{content:'×';font:24px/1 Arial,sans-serif;color:#475569}.package-actions{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid #d7e4e1}.package-actions .confirm-package{display:inline-flex;align-items:center;gap:7px}.package-actions .confirm-package::before{content:'+';font:20px/1 Arial,sans-serif}
.package-hidden{display:none!important}
.package-btn{font-size:0!important}.package-btn::after{content:'☰';font:20px/1 Arial,sans-serif;color:#176a57}
.included-print{margin:10px 0 0;padding-right:20px;color:#516071;font-size:12px;line-height:1.8}.included-print li{padding:1px 0}
.lux-invoice{font-family:Arial,sans-serif;color:#0c1a3a;padding:32px;background:#fff;direction:ltr}.lux-invoice header{height:92px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #ded7ef;position:relative}.lux-invoice header img{width:46px;height:46px;object-fit:contain}.lux-invoice header b{font-size:25px}.lux-invoice header small{display:block;color:#69728c}.lux-invoice .diag{position:absolute;right:0;top:0;width:38%;height:48px;background:#5d2d9b;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}.lux-invoice .invoice-head{padding:28px 0}.lux-invoice h1{font:700 38px Georgia,serif;margin:0}.lux-invoice .invoice-head p{line-height:1.7}.lux-invoice .parties,.lux-invoice .bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lux-invoice .parties>div,.lux-invoice .bottom>div{background:#f6f5fb;padding:18px;border-radius:8px}.lux-invoice label{font-size:11px;letter-spacing:2px}.lux-invoice h2{margin:6px 0;font-size:18px}.lux-invoice p{margin:5px 0;line-height:1.55}.lux-invoice table{width:100%;border-collapse:collapse;margin:20px 0}.lux-invoice th{background:#45207c;color:#fff;padding:11px;text-align:left}.lux-invoice td{padding:10px;border-bottom:1px solid #dedfeb}.lux-invoice td ul{margin:7px 0 0;padding-left:18px;color:#66708a;font-size:12px}.type-tag{background:#d8f8e8;color:#126543;border-radius:15px;padding:4px 8px;font-size:11px}.lux-invoice .grand{border-top:1px solid #ccd0df;padding-top:10px;font-size:18px}.lux-invoice footer{margin-top:25px;padding-top:13px;border-top:1px solid #5d2d9b;color:#665b83;font-size:11px;text-align:right}@media print{.lux-invoice{padding:22px}.lux-invoice .diag{background:#5d2d9b!important}}
.print-modal{width:min(1180px,calc(100vw - 32px));background:#fff}.lux-invoice{max-width:1040px;margin:auto;min-height:1400px;padding:54px 58px 38px;background:#fff;position:relative;overflow:hidden}.lux-invoice:before{content:"";position:absolute;top:0;right:0;width:42%;height:96px;background:#5c2d9c;clip-path:polygon(33% 0,100% 0,100% 100%,0 100%)}.lux-invoice:after{content:"";position:absolute;bottom:-30px;left:-28px;width:130px;height:130px;background:#5c2d9c;border-radius:0 100% 0 0}.lux-invoice header{height:86px;border:0}.lux-invoice header img{width:38px;height:38px}.lux-invoice header b{font-size:20px}.lux-invoice .diag{display:none}.lux-invoice .invoice-head{padding:35px 0 25px;border-bottom:1px solid #c8b5e4}.lux-invoice h1{font:700 30px Georgia,serif;letter-spacing:.04em}.lux-invoice .parties{margin-top:25px}.lux-invoice .parties>div,.lux-invoice .bottom>div{background:#f7f4fc;border-radius:4px}.lux-invoice table{margin:25px 0}.lux-invoice th{background:#4b237e}.lux-invoice footer{position:relative;z-index:1;margin-top:32px}.print-modal .modal-actions{position:sticky;bottom:0;background:#fff;padding:16px 25px}

/* Dashboard invoice action */
.invoice-row .text-btn {
  display: inline-flex;
  min-width: 72px;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  justify-self: start;
  padding: 7px 16px;
  border: 1px solid #b9dfd3;
  border-radius: 8px;
  background: #f1fbf7;
  color: #126b55;
  font-family: BYekan, Tahoma, "Segoe UI", sans-serif !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.invoice-row .text-btn:hover {
  border-color: #126b55;
  background: #126b55;
  color: #fff;
  transform: translateY(-1px);
}
.invoice-row .text-btn:focus-visible {
  outline: 3px solid rgba(18, 107, 85, .2);
  outline-offset: 2px;
}
.invoice-row-actions {
  display: flex;
  align-items: center;
  justify-self: start;
  gap: 8px;
}
.invoice-pdf-btn {
  min-height: 36px;
  padding: 7px 13px;
  border: 1px solid #101c35;
  border-radius: 8px;
  background: #101c35;
  color: #fff;
  cursor: pointer;
  font-family: BYekan, Tahoma, "Segoe UI", sans-serif !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
}
.invoice-pdf-btn:hover { background: #27385d; border-color: #27385d; }
.invoice-pdf-btn:focus-visible { outline: 3px solid rgba(16, 28, 53, .22); outline-offset: 2px; }
.invoice-delete-btn { border: 1px solid #f0b9b9; border-radius: 7px; background: #fff4f4; color: #b53737; padding: 7px 13px; font: 13px BYekan,Tahoma,sans-serif; cursor: pointer; white-space: nowrap; }
.invoice-delete-btn:hover { background: #ffe5e5; }
.invoice-delete-btn:focus-visible { outline: 3px solid rgba(181,55,55,.18); outline-offset: 2px; }
.status { font-family: BYekan,Tahoma,sans-serif !important; }
.status-proforma { background: #fff3d6; color: #976100; }
.invoice-table-actions { display: flex; align-items: center; gap: 8px; }
.invoice-edit-btn { border: 1px solid #bfe8da; border-radius: 7px; background: #effbf6; color: #176a57; padding: 7px 13px; font: 13px BYekan,Tahoma,sans-serif; cursor: pointer; white-space: nowrap; }
.invoice-edit-btn:hover { background: #dcf7ed; }
.packages-management { margin-top: 20px; }
.packages-management textarea { min-height: 118px; direction: ltr; text-align: left; font-family: Arial,"Segoe UI",sans-serif; font-size: 13px; line-height: 1.55; }
.package-card { cursor: pointer; }
.package-card-actions { display: flex; gap: 8px; margin-top: 14px; }
.package-card .package-card-actions button { position: static; width: auto; height: auto; font-size: 13px; }
.invoice-meta { grid-template-columns: repeat(3, 1fr); }
.invoice-meta .full { grid-column: 1 / -1; }
@media(max-width:720px) { .invoice-meta { grid-template-columns: 1fr; } }
.package-row-editors { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.package-editor-section { border: 1px solid #d7e4e1; border-radius: 10px; padding: 14px; background: #f8fffc; }
.package-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.package-editor-heading h3 { color: #176a57; }
.package-entry-labels,.package-entry-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 58px; gap: 8px; align-items: center; }
.package-entry-labels { grid-template-columns: minmax(0,1fr) minmax(0,1fr) 58px; color: var(--muted); font-size: 12px; padding: 0 2px 6px; }
.package-entry-labels span:first-child { text-align: right; }
.package-entry-labels span:nth-child(2) { text-align: left; direction: ltr; }
.package-entry-row { margin-top: 8px; }
.package-entry-row input { min-width: 0; padding: 8px 9px; font-size: 13px; }
.package-entry-row .invoice-delete-btn { padding: 7px 8px; }
.packages-management label[hidden] { display: none !important; }
.invoice-discount-label { display: grid; gap: 4px; margin-bottom: 10px; color: #397a6b; font-size: 12px; }
.invoice-discount-label input { padding: 7px 8px; font: 13px Arial,"Segoe UI",sans-serif; }
@media(max-width:860px) { .package-row-editors { grid-template-columns: 1fr; } }
.invoice-pdf-export { position: fixed; top: 0; left: -30000px; width: 210mm; pointer-events: none; }
.invoice-pdf-export .ipragma-invoice { margin: 0 !important; box-shadow: none !important; }
@media(max-width:720px) { .invoice-row-actions { gap: 5px; } .invoice-pdf-btn { padding: 7px 9px; } }
