@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-sans:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}@font-face{font-family:Tajawal;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dd994fbf464986f0-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e97026df054cf2a3-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/63a79a6cf340c5d2-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f15f45d13243c643-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1ebb550cd0a67fc6-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ce401babc0566bc1-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tajawal Fallback;src:local("Arial");ascent-override:67.93%;descent-override:37.71%;line-gap-override:21.13%;size-adjust:94.66%}.__className_4beeb2{font-family:Tajawal,Tajawal Fallback;font-style:normal}.__variable_4beeb2{--font-arabic:"Tajawal","Tajawal Fallback"}:root{--ink:#123c39;--ink-soft:#2c534f;--sage:#6b8f6e;--porcelain:#f6f4ee;--porcelain-2:#efebe1;--gold:#a9791f;--gold-soft:#f1e3c2;--line:#ddd7c8;--coral:#b5473f;--green:#2f8f6b;--white:#ffffff;--radius:14px;--shadow:0 2px 10px rgba(18,60,57,0.07)}.stype{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:9px;font-weight:700;padding:2px 7px;border-radius:5px;letter-spacing:.04em}.stype.charge{background:#b5473f18;color:var(--coral)}.stype.payment{background:#2f8f6b18;color:var(--green)}.link-tag{font-family:var(--font-mono),"IBM Plex Mono",monospace}.dir-table{width:100%;border-collapse:collapse;font-size:13.5px}.dir-table th{text-align:start;padding:12px 16px;font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:10px;font-weight:600;letter-spacing:.09em;color:#8a9691;background:var(--porcelain);border-bottom:1px solid var(--line)}.dir-table td{padding:13px 16px;border-bottom:1px solid var(--porcelain-2);vertical-align:middle}.dir-table tbody tr:last-child td{border-bottom:none}.dir-table tr.clickable:hover td{background:#faf9f5;cursor:pointer}.dir-table .balance-amt{font-size:13.5px}.dir-table .doc-name{font-size:13.5px;line-height:1.35}*{box-sizing:border-box}body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--font-sans),"Plus Jakarta Sans","IBM Plex Sans Arabic",sans-serif;-webkit-font-smoothing:antialiased}html[dir=rtl] body{font-family:var(--font-arabic),"IBM Plex Sans Arabic","Tajawal",sans-serif}a{color:inherit}.app-shell{display:flex;min-height:100vh;width:100%}.app-main{flex:1 1;min-width:0}.app-sidebar{width:224px;flex-shrink:0;background:var(--ink);color:#dce6e2;display:flex;flex-direction:column;padding:20px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brand-row{display:flex;align-items:center;gap:11px;padding:0 4px 22px}.notif-bell{position:relative;-webkit-margin-start:auto;margin-inline-start:auto;background:rgba(246,244,238,.08);border:none;color:#dce6e2;width:34px;height:34px;border-radius:9px;cursor:pointer;font-size:15px;flex-shrink:0}.notif-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--coral);border:1.5px solid var(--ink)}.notif-panel{position:absolute;top:56px;inset-inline-start:16px;width:260px;max-height:360px;overflow-y:auto;background:white;border-radius:14px;box-shadow:0 10px 40px rgba(18,60,57,.25);z-index:250;padding:10px}.notif-panel .np-row{padding:10px;border-bottom:1px solid var(--porcelain-2);font-size:12px;color:var(--ink-soft)}.notif-panel .np-row:last-child{border-bottom:none}.notif-panel .np-row.unread{background:var(--gold-soft);border-radius:8px}.notif-panel .np-meta{color:#8a9691;font-size:10.5px;margin-top:3px}.user-panel{position:absolute;bottom:64px;inset-inline-start:0;inset-inline-end:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;z-index:20}.brand-logo{width:38px;height:38px;border-radius:10px;background:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:var(--ink);flex-shrink:0;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-name{font-weight:700;font-size:14px;line-height:1.25;color:var(--porcelain)}.brand-tag{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;color:#7fa197;margin-top:2px}.nav-list{display:flex;flex-direction:column;gap:2px;flex:1 1}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-weight:500;font-size:13.5px;color:#a7c1b8;cursor:pointer;text-decoration:none}.nav-item:hover{background:rgba(246,244,238,.05);color:#dce6e2}.nav-item.active{background:rgba(246,244,238,.1);font-weight:600;color:var(--porcelain)}.nav-dot{width:7px;height:7px;border-radius:50%;background:transparent;border:1.5px solid #4c6e68;flex-shrink:0}.nav-item.active .nav-dot{background:var(--gold);border-color:var(--gold)}.nav-badge{-webkit-margin-start:auto;margin-inline-start:auto;font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:10.5px;color:#9dbbb0;background:rgba(246,244,238,.08);padding:1px 7px;border-radius:9px}.nav-item.active .nav-badge{color:var(--ink);background:var(--gold)}.nav-section-gap{height:10px}.user-widget{gap:10px;padding:12px;border-radius:11px;background:rgba(0,0,0,.16);position:relative}.user-avatar,.user-widget{display:flex;align-items:center}.user-avatar{width:34px;height:34px;border-radius:50%;background:var(--sage);justify-content:center;font-weight:700;font-size:13px;color:var(--porcelain);flex-shrink:0}.user-info{min-width:0;flex:1 1}.user-name{font-weight:600;font-size:12.5px;color:var(--porcelain);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.06em;color:#7fa197}.lang-pill{flex-shrink:0;display:flex;background:rgba(246,244,238,.08);border-radius:20px;overflow:hidden;font-size:10px;font-weight:700}.lang-pill button{border:none;background:none;color:#7fa197;padding:5px 8px;cursor:pointer;font-family:inherit}.lang-pill button.active{background:var(--gold);color:var(--ink)}.page{max-width:1040px;margin:0 auto;padding:20px 32px 60px;width:100%}.page-header{padding:26px 32px 4px}.page-header h1{margin:0;font-size:26px}.greet,.page-header h1{font-weight:800;letter-spacing:-.01em}.greet{font-size:24px;margin-bottom:4px}.greet-sub{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:12px;color:#6e8781;margin-bottom:22px}.overdue-banner{display:flex;align-items:center;gap:10px;background:var(--coral);color:white;border-radius:12px;padding:13px 16px;font-size:13.5px;font-weight:600;margin-bottom:18px;text-decoration:none}.overdue-banner .count{font-weight:800;font-size:16px}.overdue-banner .count,.section-label{font-family:var(--font-mono),"IBM Plex Mono",monospace}.section-label{font-size:10px;letter-spacing:.08em;color:#8a9691;margin:22px 0 10px;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.action-card{display:block;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .12s,box-shadow .12s}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(18,60,57,.12)}.ac-count{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:26px;font-weight:800}.ac-label{font-size:13px;font-weight:600;margin-top:4px}.ac-sub{font-size:11.5px;color:#8a9691;margin-top:2px}.quick-links{display:flex;flex-wrap:wrap;gap:8px}.quick-link{display:inline-block;padding:9px 15px;border-radius:20px;border:1.5px solid var(--line);background:white;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;text-decoration:none}.quick-link:hover{border-color:var(--ink);color:var(--ink)}.empty-state{background:white;border:1px dashed var(--line);border-radius:var(--radius);padding:26px;text-align:center;color:#8a9691;font-size:13px}.primary-button{display:inline-block;padding:9px 16px;border-radius:10px;border:none;background:var(--ink);color:var(--porcelain);font-size:13px;font-weight:700;cursor:pointer;text-decoration:none}.primary-button:hover{background:var(--ink-soft)}.top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-title,.top-row h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.01em}.page-sub,.sub{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:12px;color:#6e8781;margin-top:6px}.back-link{font-size:12.5px;color:#6e8781;display:inline-block;margin-bottom:14px;text-decoration:none}.back-link:hover{color:var(--ink)}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:none;border-radius:11px;background:var(--ink);color:var(--porcelain);font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 2px 10px rgba(18,60,57,.18);text-decoration:none;font-family:inherit}.btn-primary:hover{background:var(--ink-soft)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:none;border:1px solid var(--line);color:var(--ink-soft);border-radius:9px;padding:9px 14px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.btn-danger-ghost{background:none;border:1px solid #e5c9c6;color:var(--coral);border-radius:9px;padding:9px 14px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}.btn-danger-ghost:hover{background:#b5473f0d}.icon-btn{border:1px solid var(--line);background:white;border-radius:8px;width:30px;height:30px;font-size:12px;cursor:pointer;flex-shrink:0}.icon-btn.danger{color:var(--coral);border-color:#e5c9c6}.toolbar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.search-box{position:relative;flex:1 1;max-width:340px}.search-box span{position:absolute;inset-inline-start:13px;top:50%;transform:translateY(-50%);color:#8fa39d}.search-box input{width:100%;padding:11px 14px 11px 34px;border:1px solid var(--line);border-radius:10px;background:white;font-size:13.5px;font-family:inherit}html[dir=rtl] .search-box input{padding:11px 34px 11px 14px}html[dir=rtl] .search-box span{inset-inline-start:auto;inset-inline-end:13px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:16px}.card.table-card{padding:0;overflow:hidden}.card h3{margin:0 0 12px;font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.card h3 .hint{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:11px;color:#8a9691;font-weight:500}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:16px}@media (max-width:620px){.grid2{grid-template-columns:1fr}}.field-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid var(--porcelain-2)}.field-row:last-child{border-bottom:none}.field-row span:first-child{color:#6e8781}.field-row span:last-child{font-weight:600}table.data-table{width:100%;border-collapse:collapse;font-size:13.5px}table.data-table th{text-align:start;padding:12px 16px;font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:10px;font-weight:600;letter-spacing:.09em;color:#8a9691;background:var(--porcelain);border-bottom:1px solid var(--line);text-transform:uppercase}table.data-table td{padding:13px 16px;border-bottom:1px solid var(--porcelain-2)}table.data-table tr:last-child td{border-bottom:none}table.data-table tr.clickable:hover td{background:#faf9f5;cursor:pointer}.row-title{font-weight:700}.row-sub{font-size:11.5px;color:#8a9691;margin-top:2px}.balance{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-weight:700}.balance.owed{color:var(--coral)}.balance.clear{color:#6e8781}.tag-badge{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:9.5px;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:6px;display:inline-block}.tag-custom{background:var(--gold-soft);color:#6b4e12}.tag-primary{background:var(--porcelain-2);color:var(--ink-soft)}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:#5c6d69;margin-bottom:5px;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border-radius:9px;border:1.5px solid var(--line);font-family:inherit;font-size:13.5px;background:var(--porcelain);color:var(--ink)}.field textarea{min-height:70px;resize:vertical}.form-actions{display:flex;gap:10px;margin-top:16px}.form-actions a,.form-actions button{flex:1 1;text-align:center;padding:11px;text-decoration:none}.btn-cancel,.btn-create,.form-actions a,.form-actions button{border-radius:9px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}.btn-cancel,.btn-create{padding:11px 18px}.btn-cancel{background:none;border:1px solid var(--line);color:var(--ink-soft)}.btn-create{background:var(--ink);border:none;color:white}.error-text{color:var(--coral)}.error-text,.success-text{font-size:12.5px;margin-top:6px}.success-text{color:#2f8f6b}.modal-overlay{position:fixed;inset:0;background:rgba(18,60,57,.32);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:white;border-radius:16px;padding:26px 28px;width:420px;max-width:100%;box-shadow:0 10px 40px rgba(18,60,57,.25);max-height:90vh;overflow-y:auto}.modal h2{margin:0 0 4px;font-size:18px;font-weight:800}.modal .hint{font-size:12px;color:#8a9691;margin-bottom:18px}.status-badge{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 13px;border-radius:8px;display:inline-block}.transitions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.t-btn{padding:10px 15px;border-radius:10px;border:1.5px solid var(--ink);background:white;color:var(--ink);font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-family:inherit}.t-btn.primary,.t-btn:hover{background:var(--ink);color:white}.t-btn.primary:hover{background:#0d302d}.t-btn:disabled{opacity:.6;cursor:not-allowed}.no-transitions{color:#8a9691;font-size:12.5px;padding:8px 0}.design-note{background:var(--gold-soft);color:#6b4e12;border-radius:10px;padding:12px 14px;font-size:12.5px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.design-note a,.design-note button{flex-shrink:0;border:none;background:var(--ink);color:white;padding:8px 13px;border-radius:8px;font-weight:700;font-size:12px;cursor:pointer;text-decoration:none;font-family:inherit}.override-toggle{font-size:12px;color:var(--coral);cursor:pointer;font-weight:600;margin-top:14px;display:inline-block;background:none;border:none;padding:0;font-family:inherit}.override-box{margin-top:12px;padding-top:14px;border-top:1px dashed var(--line)}.override-warn{font-size:11px;color:var(--coral);margin-bottom:10px}.btn-override{width:100%;padding:11px;border:none;border-radius:9px;background:var(--coral);color:white;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}.btn-override:hover{background:#9c3a33}.history-row{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--porcelain-2);font-size:12px}.history-row:last-child{border-bottom:none}.history-dot{width:7px;height:7px;border-radius:50%;background:var(--sage);margin-top:5px;flex-shrink:0}.history-dot.override{background:var(--coral)}.history-main{flex:1 1}.history-meta{color:#8a9691;font-size:11px;margin-top:2px}.override-flag{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:9px;font-weight:700;background:#b5473f18;color:var(--coral);padding:1px 6px;border-radius:5px;-webkit-margin-start:6px;margin-inline-start:6px}.switch{position:relative;width:38px;height:22px;background:#d8cba5;border-radius:20px;cursor:pointer;flex-shrink:0;border:none;padding:0}.switch.on{background:var(--sage)}.switch:after{content:"";position:absolute;top:2.5px;inset-inline-start:2.5px;width:17px;height:17px;background:white;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.25)}.switch.on:after{inset-inline-start:auto;inset-inline-end:2.5px}.list-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.list-row{display:block;padding:14px 18px;border-bottom:1px solid var(--porcelain-2);text-decoration:none;color:inherit}.list-row:last-child{border-bottom:none}.list-row:hover{background:#faf9f5}.list-row-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.list-row-meta{margin-top:4px;font-size:13px;color:#6e8781}.balance-box{text-align:end}.balance-label{font-size:9.5px;letter-spacing:.08em;color:#8a9691}.balance-amt,.balance-label{font-family:var(--font-mono),"IBM Plex Mono",monospace}.balance-amt{font-size:22px;font-weight:700;margin-top:3px}.balance-amt.owed{color:var(--coral)}.portal-link{display:flex;align-items:center;gap:8px;background:var(--porcelain);border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:11.5px;color:var(--ink-soft);margin-top:4px;word-break:break-all}.link-actions{display:flex;gap:8px;margin-top:8px}.link-actions button{flex:1 1}.clinic-row{display:flex;align-items:flex-start;gap:10px;background:var(--porcelain);border:1px solid var(--line);border-radius:10px;padding:12px 13px;margin-bottom:9px}.clinic-main{flex:1 1;min-width:0}.clinic-name{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.clinic-addr,.clinic-sec{font-size:12px;color:#6e8781;margin-top:4px}.btn-add-clinic{width:100%;padding:10px;border:1.5px dashed var(--sage);border-radius:9px;background:none;color:var(--ink-soft);font-weight:700;font-size:12.5px;cursor:pointer;margin-top:4px;font-family:inherit}.clinic-form{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.odonto{background:#fbfcfc;border:1px solid var(--line);border-radius:12px;padding:16px 10px 14px;margin:10px 0}.quad-labels{display:flex;justify-content:space-between;font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:9.5px;color:#aab3b4;letter-spacing:.06em;padding:0 4px 8px}.arch-row{display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap}.arch-row.lower{align-items:flex-start}.quad{display:flex;gap:3px}.midline{width:0;border-left:1px dashed #d3dadb;align-self:stretch;margin:0 8px}.tooth-col{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.tooth-col:disabled{cursor:not-allowed}.tooth-num{font-family:var(--font-mono),"IBM Plex Mono",monospace;font-size:9.5px;color:#7c8688}.tooth-num.active{font-weight:700;color:var(--ink)}.tooth-shape{border:1.5px solid #ccd5d7;border-radius:5px 5px 8px 8px;background:#ffffff;box-sizing:border-box;transition:.12s}.tooth-shape.selected{border-color:var(--ink);background:rgba(18,60,57,.13)}.tooth-shape.taken{opacity:.45;cursor:not-allowed}.occlusal-divider{height:1px;background:linear-gradient(90deg,transparent,#e0e6e7 12%,#e0e6e7 88%,transparent);margin:14px 0}.clear-all{display:block;margin:10px auto 0;border:none;background:none;color:var(--coral);font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit}.unit-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:20px;border:1.5px solid var(--line);background:var(--porcelain);font-size:12.5px;font-weight:600}.unit-chip.active{background:var(--ink);color:white;border-color:var(--ink)}.part-card{border:1.5px solid #e4ddce;border-radius:10px;padding:12px;margin-top:10px;background:#fff}.part-card.active{border-color:#0f766e;background:#f7fbfa}.part-card input:not([type=checkbox]),.part-card select{width:100%;padding:10px 12px;border-radius:9px;border:1.5px solid var(--line);font-family:inherit;font-size:13.5px;background:var(--porcelain);color:var(--ink)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--porcelain);padding:24px}.login-card{width:100%;max-width:360px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 28px}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.login-brand img{height:30px;border-radius:6px}.login-brand span{font-weight:800;font-size:18px;color:var(--ink);letter-spacing:-.01em}.notif-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notif-row.unread{background:var(--gold-soft)}.notif-row.unread .list-row-meta{color:#6b4e12}.unauthorized-shell{max-width:420px;margin:15vh auto;text-align:center;padding:0 24px}.unauthorized-shell h1{font-size:22px;margin-bottom:10px}.unauthorized-shell p{color:#6e8781;font-size:14px}.file-row{justify-content:space-between}.file-row,.file-row-actions{display:flex;align-items:center;gap:10px}.file-row-actions{flex-shrink:0}.mat-sub{font-size:11px;color:#8a9895;margin-top:1px}.hint-box{border-radius:10px;padding:10px 13px;font-size:12px;margin-bottom:14px}.auto-note,.hint-box{background:var(--gold-soft);color:#6b4e12}.auto-note{display:flex;align-items:center;gap:7px;border-radius:9px;padding:9px 11px;font-size:11.5px;margin-top:4px}.empty-note{background:white;border:1px dashed var(--line);border-radius:var(--radius);padding:26px;text-align:center;color:#8a9691;font-size:13px}.cp-tabs{display:flex;gap:6px;padding:2px 0 12px;overflow-x:auto;align-items:center}.cp-tab{flex-shrink:0;padding:8px 14px;border-radius:20px;border:1.5px solid var(--line);background:white;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;color:var(--ink-soft)}.cp-tab.active{background:var(--ink);color:white;border-color:var(--ink)}.subview-tabs{display:flex;gap:4px;padding:0 0 14px;border-bottom:1px solid var(--line);margin-bottom:16px}.subview-tab{padding:9px 4px;-webkit-margin-end:18px;margin-inline-end:18px;font-size:13px;font-weight:700;color:#8a9895;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.subview-tab.active{color:var(--ink);border-color:var(--gold)}.mat-row{background:white;border:1px solid var(--line);border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);margin-bottom:8px}.drag{color:#c7c2b4;font-size:14px;cursor:-webkit-grab;cursor:grab;flex-shrink:0}.mat-info{flex:1 1;min-width:0}.mat-label{font-weight:700;font-size:13.5px}.mat-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.add-form{background:white;border:1.5px dashed var(--sage);border-radius:12px;padding:14px;margin-top:6px}.map-row{background:white;border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-bottom:8px;box-shadow:var(--shadow)}.map-row .part-name{font-weight:700;font-size:13px;margin-bottom:6px}.map-preview{margin-top:8px;font-size:12px;color:#5c6d69;background:var(--porcelain);border-radius:8px;padding:7px 10px}.price-group{margin-bottom:16px}.price-group-title{font-weight:700;font-size:13px;margin-bottom:8px;color:var(--ink-soft)}.price-row{background:white;border:1px solid var(--line);border-radius:10px;padding:9px 12px;display:flex;align-items:center;gap:10px;margin-bottom:7px;box-shadow:var(--shadow)}.price-row .mname{flex:1 1;font-size:13px;font-weight:600}.price-row .method-badge{font-size:10.5px;background:var(--porcelain-2);color:#8a9895;padding:2px 8px;border-radius:10px;font-weight:700}.price-row input{width:90px;padding:7px 9px;border-radius:8px;border:1.5px solid var(--line);font-family:inherit;font-size:13px;text-align:end;background:var(--porcelain)}.cat-manage-row{background:white;border:1px solid var(--line);border-radius:11px;padding:9px 11px;display:flex;align-items:center;gap:9px;margin-bottom:8px;box-shadow:var(--shadow)}.cat-manage-row input{flex:1 1;padding:8px 10px;border-radius:8px;border:1.5px solid var(--line);font-family:inherit;font-size:13px;background:var(--porcelain)}.cat-add-row{display:flex;gap:8px;margin-top:10px}.cat-add-row input{flex:1 1;padding:9px 11px;border-radius:9px;border:1.5px dashed var(--sage);font-family:inherit;font-size:13px}.cat-add-row button{padding:0 16px;border:none;border-radius:9px;background:var(--ink);color:white;font-weight:700;font-size:12.5px;cursor:pointer}.extra-row{display:flex;align-items:center;gap:8px;background:var(--porcelain);border:1px solid var(--line);border-radius:9px;padding:9px 11px;margin-bottom:7px;font-size:12.5px}.extra-row .desc{flex:1 1;font-weight:600}.extra-row .amt{font-weight:700}.extra-row .amt,.extra-row .date{font-family:IBM Plex Mono,monospace}.extra-row .date{font-size:11px;color:#8a9691}.add-extra-form{display:flex;gap:8px;margin-top:10px}.add-extra-form input{flex:1 1;padding:9px 11px;border-radius:8px;border:1.5px dashed var(--sage);font-family:inherit;font-size:12.5px}.add-extra-form input.amt-input{flex:none;width:100px;text-align:right}.add-extra-form button{padding:0 16px;border:none;border-radius:8px;background:var(--ink);color:white;font-weight:700;font-size:12px;cursor:pointer}.portal-app{max-width:560px;margin:0 auto;min-height:100vh;background:var(--porcelain);display:flex;flex-direction:column;box-shadow:0 0 0 1px var(--line)}@media (min-width:640px){body:has(.portal-app){background:var(--ink);background-image:radial-gradient(circle at 50% -10%,#1b514c 0,var(--ink) 62%);padding:28px 16px}.portal-app{min-height:calc(100vh - 56px);border-radius:18px;box-shadow:0 18px 48px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.07)}.portal-app .lab-header{border-radius:18px 18px 0 0}}.lab-header{background:var(--ink);color:var(--porcelain);padding:16px 18px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.lab-header .row{gap:11px}.lab-header .row,.lab-logo{display:flex;align-items:center}.lab-logo{width:40px;height:40px;border-radius:10px;background:var(--gold);justify-content:center;font-weight:800;font-size:16px;color:var(--ink);flex-shrink:0;overflow:hidden}.lab-logo-img{width:100%;height:100%;object-fit:cover}.lab-name{font-weight:700;font-size:15px;line-height:1.3}.lab-sub{font-size:11.5px;color:#b9cfc9;margin-top:1px}.wa-btn{-webkit-margin-start:auto;margin-inline-start:auto;background:#25d366;color:#08341c;border:none;border-radius:20px;padding:8px 13px;font-weight:800;font-size:11.5px;cursor:pointer;align-items:center;gap:5px;text-decoration:none}.portal-lang,.wa-btn{display:flex;flex-shrink:0}.portal-lang{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:20px;overflow:hidden;font-size:11px;font-weight:700;-webkit-margin-start:8px;margin-inline-start:8px}.portal-lang button{border:none;background:none;color:#b9cfc9;padding:6px 10px;cursor:pointer}.portal-lang button.active{background:var(--gold);color:var(--ink)}.portal-main{flex:1 1;padding:16px 16px 40px}.portal-footer{padding:14px 8px 26px}.platform-footer,.portal-footer{text-align:center;font-size:10.5px;color:#9aa6a2}.platform-footer{padding:18px 8px 26px}.platform-footer b{color:#6b7a76}.chip{padding:7px 13px;border-radius:20px;border:1.5px solid var(--line);background:white;font-size:12px;font-weight:700;cursor:pointer;color:var(--ink-soft);white-space:nowrap}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.sla-badge{font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:6px;-webkit-margin-start:6px;margin-inline-start:6px;text-transform:uppercase;white-space:nowrap}.sla-due{background:#f1e3c2;color:#6b4e12}.sla-overdue{background:#b5473f18;color:var(--coral)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.btn-block{width:100%}@media (max-width:720px){.grid3{grid-template-columns:1fr}}.modal-actions{display:flex;gap:10px;margin-top:18px}.modal-actions button{flex:1 1;padding:11px;border-radius:9px;font-weight:700;font-size:13.5px;cursor:pointer}.row2{display:flex;gap:10px}.row2>*{flex:1 1}.statement-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--porcelain-2);font-size:12.5px}.statement-row:last-child{border-bottom:none}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;left:0;top:0;width:100%;margin:0;box-shadow:none;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print{display:none!important}.app-shell,.main,body,html{height:auto!important;overflow:visible!important}}