*{box-sizing:border-box}
body{
    margin:0;
    font-family:Tahoma,Arial,sans-serif;
    background:#f7f8fb;
    color:#243043;
    direction:rtl;
}
a{text-decoration:none;color:inherit}
.topbar{
    background:#fff;
    border-bottom:1px solid #e7e9ef;
    position:sticky;top:0;z-index:10;
}
.nav{
    max-width:1250px;margin:auto;
    display:flex;align-items:center;justify-content:space-between;
    gap:18px;padding:14px 20px;
}
.brand{font-weight:800;font-size:21px;color:#1f5a45}
.brand span{color:#d3a919}
.navlinks{display:flex;gap:8px;flex-wrap:wrap}
.navlinks a{
    padding:9px 12px;border-radius:10px;color:#526071;font-size:14px
}
.navlinks a:hover,.navlinks a.active{background:#eef6f2;color:#1f5a45}
.container{max-width:1250px;margin:24px auto;padding:0 20px}
.page-title{
    display:flex;align-items:center;justify-content:space-between;
    gap:14px;margin-bottom:18px
}
h1,h2,h3{margin:0}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card{
    background:#fff;border:1px solid #e9ebf0;border-radius:16px;
    padding:18px;box-shadow:0 5px 18px rgba(28,39,55,.04)
}
.stat .label{font-size:13px;color:#7a8594;margin-bottom:8px}
.stat .num{font-size:25px;font-weight:800;color:#263445}
.stat .small{font-size:12px;color:#98a0aa;margin-top:6px}
.table-card{background:#fff;border:1px solid #e9ebf0;border-radius:16px;overflow:hidden}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{padding:13px 14px;text-align:right;border-bottom:1px solid #eef0f4;font-size:14px}
th{background:#fafbfc;color:#697586;font-weight:700}
tr:hover td{background:#fcfdfd}
.btn{
    display:inline-flex;align-items:center;justify-content:center;
    border:0;border-radius:10px;padding:10px 14px;cursor:pointer;
    background:#1f5a45;color:#fff;font-size:14px
}
.btn:hover{opacity:.9}
.btn-secondary{background:#eef2f5;color:#364152}
.btn-warning{background:#d3a919;color:#fff}
.btn-danger{background:#bd3f4d}
.btn-sm{padding:7px 10px;font-size:12px}
.form-card{background:#fff;border:1px solid #e9ebf0;border-radius:16px;padding:20px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:13px;color:#566273;font-weight:700}
input,select,textarea{
    width:100%;border:1px solid #dfe3e9;border-radius:10px;
    padding:11px 12px;background:#fff;font-family:inherit;font-size:14px
}
input:focus,select:focus,textarea:focus{outline:none;border-color:#1f5a45}
textarea{min-height:90px;resize:vertical}
.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}
.badge-cash{background:#e8f6ee;color:#217346}
.badge-loan{background:#fff2d9;color:#9b6900}
.badge-paid{background:#e8f6ee;color:#217346}
.badge-due{background:#fdebed;color:#a93643}
.section{margin-top:20px}
.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px}
.alert-success{background:#e8f6ee;color:#1e6c42}
.alert-error{background:#fdebed;color:#9d3441}
.invoice-items{display:flex;flex-direction:column;gap:10px}
.item-row{
    display:grid;grid-template-columns:2fr .8fr 1fr 1fr auto;
    gap:10px;align-items:end;padding:12px;background:#fafbfc;
    border-radius:12px;border:1px solid #eceff3
}
.summary{
    margin-top:16px;margin-right:auto;max-width:360px;
    background:#fafbfc;border:1px solid #eceff3;border-radius:12px;padding:14px
}
.summary-row{display:flex;justify-content:space-between;padding:7px 0}
.summary-row.total{font-weight:800;font-size:17px;border-top:1px solid #e4e7eb;margin-top:6px;padding-top:12px}
.profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.muted{color:#7c8795;font-size:13px}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){
    .nav{align-items:flex-start;flex-direction:column}
    .grid{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .field.full{grid-column:auto}
    .page-title{align-items:flex-start;flex-direction:column}
    .item-row{grid-template-columns:1fr 1fr}
    .item-row .product-field{grid-column:1/-1}
    .item-row .remove-wrap{grid-column:1/-1}
    .container{padding:0 12px;margin-top:16px}
}
@media print{
    .topbar,.no-print,.btn{display:none!important}
    body{background:#fff}
    .container{max-width:none;margin:0;padding:0}
    .card,.table-card,.form-card{box-shadow:none;border-color:#ddd}
}

/* ===== Candyland v2: mobile-first/PWA/login ===== */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{padding-bottom:0}
button,input,select,textarea{font-size:16px}
.brand{display:flex;align-items:center;gap:9px}
.brand b{color:#d3a919}
.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff7d9}
.nav-actions{display:flex;align-items:center;gap:8px}
.logout-link{font-size:12px;color:#697586;padding:8px 10px;border-radius:9px;background:#f4f6f8}
.btn-install{background:#d3a919;padding:8px 10px;font-size:12px}
.mobile-bottom-nav,.mobile-invoice-list{display:none}
.search-card{display:flex;gap:10px;margin-bottom:14px;background:#fff;border:1px solid #e9ebf0;border-radius:14px;padding:10px}
.search-box{position:relative;flex:1}
.search-box input{padding-right:38px;padding-left:38px;height:44px}
.search-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:22px;color:#7d8794}
.clear-search{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:22px;color:#8f98a4}
.search-result-line{font-size:13px;color:#697586;margin:0 4px 12px}
.text-danger{color:#aa3643!important}.text-success{color:#217346!important}
.empty-state{background:#fff;border:1px dashed #dfe3e9;border-radius:14px;padding:28px;text-align:center;color:#7a8594}
.login-body{min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#eef6f2,#f8fafb);padding:18px;display:grid;place-items:center}
.login-shell{width:100%;max-width:430px}
.login-card{background:#fff;border:1px solid #e5e9ed;border-radius:22px;padding:28px;box-shadow:0 20px 50px rgba(32,55,48,.09);text-align:center}
.login-logo{width:70px;height:70px;border-radius:22px;background:#fff7d9;display:grid;place-items:center;margin:0 auto 14px;font-size:34px}
.login-card h1{font-size:28px;color:#1f5a45;margin-bottom:4px}.login-card p{color:#7a8594;font-size:13px;margin:0 0 20px}
.login-card .field{text-align:right}.login-btn{width:100%;margin-top:18px;min-height:46px}.login-hint{font-size:12px;color:#98a0aa;margin-top:14px}

@media(max-width:720px){
  body{padding-bottom:78px;background:#f5f7f9}
  .topbar{position:sticky;top:0;z-index:40}
  .nav{padding:10px 12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}
  .brand{font-size:16px}.brand-mark{width:30px;height:30px;border-radius:9px}
  .desktop-nav{display:none!important}.logout-link{font-size:0;width:34px;height:34px;padding:0;display:grid;place-items:center}.logout-link:after{content:'↪';font-size:18px}
  .btn-install{font-size:11px;padding:8px}
  .container{padding:0 10px;margin:14px auto}
  .page-title{margin-bottom:12px;gap:10px}.page-title h1{font-size:21px}.page-title .btn{width:100%}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .card{padding:13px;border-radius:14px}.stat .label{font-size:11px}.stat .num{font-size:17px;line-height:1.35;word-break:break-word}
  .form-card{padding:13px;border-radius:14px}.form-grid{gap:11px}.field{gap:5px}
  input,select,textarea{min-height:44px;padding:10px;border-radius:10px}
  textarea{min-height:82px}
  .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions .btn{width:100%;min-height:42px}
  .table-card{border-radius:14px}.desktop-table{display:none}
  .mobile-invoice-list{display:grid;gap:9px}
  .mobile-invoice-card{display:block;background:#fff;border:1px solid #e6e9ee;border-radius:14px;padding:13px;box-shadow:0 4px 14px rgba(28,39,55,.035)}
  .mic-top,.mic-meta,.mic-money{display:flex;justify-content:space-between;gap:8px;align-items:center}.mic-top{margin-bottom:8px}.mic-meta{font-size:11px;color:#7a8594;padding-bottom:10px;border-bottom:1px solid #eef0f3}.mic-money{padding-top:10px}.mic-money>div{display:flex;flex-direction:column;gap:2px}.mic-money small{font-size:10px;color:#8e98a5}.mic-money strong{font-size:14px}
  .search-card{position:sticky;top:58px;z-index:25;padding:7px;border-radius:12px;box-shadow:0 7px 20px rgba(20,38,31,.05)}.search-card .btn{width:auto;min-width:68px;padding:8px 10px}.search-box input{height:42px}
  .item-row{grid-template-columns:1fr 1fr;padding:9px;gap:8px}.item-row .product-field{grid-column:1/-1}.item-row .remove-wrap{grid-column:1/-1}.item-row .remove-wrap .btn{width:100%}
  .summary{max-width:none;margin:12px 0 0}
  .profile-head{flex-direction:column}.section{margin-top:14px}
  .mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;right:0;left:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid #dfe3e9;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-shadow:0 -8px 25px rgba(20,35,30,.08)}
  .mobile-bottom-nav a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#697586;font-size:17px;min-height:48px}.mobile-bottom-nav small{font-size:9px;white-space:nowrap}.mobile-bottom-nav .mobile-add span{width:34px;height:34px;border-radius:12px;background:#1f5a45;color:white;display:grid;place-items:center;font-size:23px;line-height:1}.mobile-bottom-nav .mobile-add small{color:#1f5a45;font-weight:700}
  .login-body{padding:12px}.login-card{padding:22px 16px;border-radius:18px}.login-card h1{font-size:24px}
}

@media(max-width:380px){
  .grid{grid-template-columns:1fr}.nav-actions{gap:4px}.btn-install{max-width:90px;white-space:normal;line-height:1.15}
}

/* ===== Candyland v3: client-level debt settlement ===== */
.client-picker-card{max-width:760px}
.debt-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#1f5a45,#2c7259);color:#fff;border-radius:18px;padding:22px;box-shadow:0 12px 28px rgba(31,90,69,.16)}
.debt-hero .muted{color:rgba(255,255,255,.72)}
.debt-total{text-align:left;display:flex;flex-direction:column;gap:4px}.debt-total span{font-size:12px;color:rgba(255,255,255,.75)}.debt-total strong{font-size:30px;line-height:1.2}
.account-summary-grid{margin-top:12px}
.pay-panel{background:#fff;border:1px solid #e7eaee;border-radius:18px;padding:18px}.pay-panel-head{margin-bottom:14px}.pay-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pay-option{border:1px solid #e6e9ed;border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fbfcfd}.pay-option h3{margin:5px 0 3px}.pay-option p{margin:0;color:#7a8594;font-size:12px;line-height:1.6}.pay-option>strong{font-size:24px;color:#a93643}.pay-icon{width:38px;height:38px;border-radius:12px;background:#eef6f2;color:#1f5a45;display:grid;place-items:center;font-size:20px;font-weight:800}.pay-all-box{background:#f4faf7;border-color:#dcece4}.pay-all-btn{margin-top:auto}.debt-clear{font-size:16px;text-align:center}
.loan-list{display:grid;gap:10px}.loan-card{background:#fff;border:1px solid #e7eaee;border-radius:14px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;transition:.18s ease}.loan-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(31,50,43,.06)}.loan-card-main{display:flex;flex-direction:column;gap:5px}.loan-card-main span{font-size:12px;color:#7a8594}.loan-values{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:18px;text-align:left}.loan-values div{display:flex;flex-direction:column;gap:3px}.loan-values small{font-size:10px;color:#9099a5}.loan-values b{font-size:14px}.loan-values .due b{color:#a93643}
@media(max-width:720px){
  .client-picker-card{padding:10px}.debt-hero{padding:16px;border-radius:15px;align-items:flex-start}.debt-hero h2{font-size:20px}.debt-total strong{font-size:22px}.debt-total span{font-size:10px}
  .account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pay-panel{padding:12px;border-radius:14px}.pay-options{grid-template-columns:1fr}.pay-option{padding:13px}.pay-option>strong{font-size:20px}.pay-option .btn{width:100%;min-height:44px}
  .loan-card{grid-template-columns:1fr;gap:10px;padding:12px}.loan-values{grid-template-columns:repeat(3,1fr);gap:8px;text-align:right}.loan-values b{font-size:12px}.loan-values small{font-size:9px}
}
@media(max-width:380px){.debt-hero{flex-direction:column}.debt-total{text-align:right}.account-summary-grid{grid-template-columns:1fr 1fr}.loan-values{grid-template-columns:1fr}.loan-values div{flex-direction:row;justify-content:space-between;align-items:center}}
