/* Unified Jalali date picker for accounting forms and reports. */
.qp-accounting-date { position:relative; width:100%; min-width:0; direction:rtl; color:var(--ui-text); font-family:inherit; }
.qp-accounting-date__control { position:relative; display:flex; align-items:center; width:100%; min-height:44px; color:var(--ui-text); background:var(--ui-surface); border:1px solid var(--ui-border); border-radius:10px; transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease; }
.qp-accounting-date__control:hover { border-color:color-mix(in srgb,var(--ui-primary) 42%,var(--ui-border)); }
.qp-accounting-date:focus-within .qp-accounting-date__control { border-color:var(--ui-primary); box-shadow:0 0 0 3px var(--ui-primary-soft); }
.qp-accounting-date.has-error .qp-accounting-date__control { border-color:var(--ui-danger); box-shadow:0 0 0 3px var(--ui-danger-soft); }
.qp-accounting-date.is-disabled { opacity:.62; }
.qp-accounting-date__control>i { position:absolute; inset-inline-start:13px; z-index:1; color:var(--ui-primary); pointer-events:none; }
.qp-accounting-date__control input { width:100%!important; min-width:0; height:42px!important; margin:0!important; padding:0 42px!important; direction:ltr; text-align:center; color:var(--ui-text)!important; background:transparent!important; border:0!important; border-radius:10px!important; outline:0!important; box-shadow:none!important; font:inherit; font-size:13px!important; font-weight:650; letter-spacing:.035em; font-variant-numeric:tabular-nums; }
.qp-accounting-date__control input::placeholder { color:var(--ui-subtle); font-weight:400; letter-spacing:0; }
.qp-accounting-date__control input:disabled { cursor:not-allowed; }
.qp-accounting-date__trigger { position:absolute; inset-inline-end:6px; width:31px; height:31px; display:grid; place-items:center; color:var(--ui-muted); background:var(--ui-surface-alt); border:0; border-radius:7px; cursor:pointer; }
.qp-accounting-date__trigger:hover { color:var(--ui-primary); background:var(--ui-primary-soft); }
.qp-accounting-date__trigger:disabled { cursor:not-allowed; }
.qp-accounting-date__error { display:flex; align-items:center; gap:6px; margin-top:6px; color:var(--ui-danger); font-size:10px; line-height:1.7; }

.qp-accounting-date__panel { display:none; position:fixed; inset:auto; z-index:2147483000; width:344px; max-width:calc(100vw - 20px); margin:0; padding:0; direction:rtl; color:var(--ui-text); background:var(--ui-surface); border:1px solid var(--ui-border); border-radius:16px; box-shadow:var(--ui-shadow-pop); overflow:auto; overscroll-behavior:contain; font-family:inherit; }
.qp-accounting-date__panel:popover-open { display:block; animation:qp-date-enter .15s ease-out; }
.qp-accounting-date__panel.is-fallback-open { display:block; animation:qp-date-enter .15s ease-out; }
.qp-accounting-date__panel::backdrop { background:transparent; }
.qp-accounting-date__topbar { position:sticky; top:0; z-index:2; display:grid; grid-template-columns:34px minmax(0,1fr) 34px; align-items:center; gap:8px; padding:12px; background:color-mix(in srgb,var(--ui-surface) 94%,transparent); border-bottom:1px solid var(--ui-border); backdrop-filter:blur(12px); }
.qp-accounting-date__nav { width:34px; height:34px; display:grid; place-items:center; color:var(--ui-muted); background:var(--ui-surface-alt); border:1px solid transparent; border-radius:9px; cursor:pointer; }
.qp-accounting-date__nav:hover { color:var(--ui-primary); background:var(--ui-primary-soft); border-color:color-mix(in srgb,var(--ui-primary) 28%,transparent); }
.qp-accounting-date__heading { display:grid; justify-items:center; gap:1px; min-height:36px; padding:3px 10px; color:var(--ui-text); background:transparent; border:0; border-radius:9px; cursor:pointer; font:inherit; font-size:13px; font-weight:750; }
.qp-accounting-date__heading:hover { background:var(--ui-surface-alt); }
.qp-accounting-date__heading small { color:var(--ui-muted); font-size:8px; font-weight:500; }
.qp-accounting-date__week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); padding:10px 12px 5px; color:var(--ui-muted); font-size:9px; text-align:center; }
.qp-accounting-date__week span { padding:4px 0; }
.qp-accounting-date__week .is-friday { color:var(--ui-danger); }
.qp-accounting-date__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; padding:5px 12px 12px; outline:0; }
.qp-accounting-date__day { position:relative; min-width:0; height:39px; display:grid; place-items:center; align-content:center; gap:0; color:var(--ui-text); background:transparent; border:1px solid transparent; border-radius:9px; cursor:pointer; font:inherit; font-size:11px; font-weight:600; transition:background-color .12s ease,color .12s ease,border-color .12s ease,transform .12s ease; }
.qp-accounting-date__day:hover:not(:disabled) { color:var(--ui-primary); background:var(--ui-primary-soft); border-color:color-mix(in srgb,var(--ui-primary) 25%,transparent); transform:translateY(-1px); }
.qp-accounting-date__day:focus-visible { outline:2px solid var(--ui-primary); outline-offset:1px; }
.qp-accounting-date__day.is-adjacent { color:var(--ui-subtle); opacity:.55; }
.qp-accounting-date__day.is-friday:not(.is-selected) { color:var(--ui-danger); }
.qp-accounting-date__day.is-today { border-color:color-mix(in srgb,var(--ui-primary) 54%,transparent); }
.qp-accounting-date__day.is-selected { color:var(--ui-on-primary); background:var(--ui-primary); border-color:var(--ui-primary); box-shadow:0 5px 14px color-mix(in srgb,var(--ui-primary) 24%,transparent); }
.qp-accounting-date__day:disabled { color:var(--ui-subtle); opacity:.28; cursor:not-allowed; }
.qp-accounting-date__day small { position:absolute; inset-inline:2px; bottom:1px; font-size:5px; font-weight:500; }
.qp-accounting-date__choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding:14px; }
.qp-accounting-date__choice-grid--years { grid-template-columns:repeat(3,minmax(0,1fr)); }
.qp-accounting-date__choice-grid button { min-height:43px; padding:8px; color:var(--ui-text); background:var(--ui-surface-alt); border:1px solid var(--ui-border); border-radius:9px; cursor:pointer; font:inherit; font-size:11px; }
.qp-accounting-date__choice-grid button:hover:not(:disabled) { color:var(--ui-primary); background:var(--ui-primary-soft); border-color:var(--ui-primary); }
.qp-accounting-date__choice-grid button.is-selected { color:var(--ui-on-primary); background:var(--ui-primary); border-color:var(--ui-primary); }
.qp-accounting-date__choice-grid button:disabled { opacity:.3; cursor:not-allowed; }
.qp-accounting-date__footer { display:flex; align-items:center; gap:7px; min-height:48px; padding:9px 12px; color:var(--ui-muted); background:var(--ui-surface-alt); border-top:1px solid var(--ui-border); font-size:8px; }
.qp-accounting-date__footer>span { flex:1; text-align:center; }
.qp-accounting-date__today,.qp-accounting-date__clear { display:inline-flex; align-items:center; gap:5px; min-height:30px; padding:5px 8px; color:var(--ui-primary); background:var(--ui-primary-soft); border:0; border-radius:7px; cursor:pointer; font:inherit; font-size:9px; font-weight:650; white-space:nowrap; }
.qp-accounting-date__clear { color:var(--ui-danger); background:var(--ui-danger-soft); }

@keyframes qp-date-enter { from { opacity:0; transform:translateY(-5px) scale(.985); } to { opacity:1; transform:none; } }
@media(max-width:520px) {
    .qp-accounting-date__panel { border-radius:14px; }
    .qp-accounting-date__day { height:38px; }
    .qp-accounting-date__footer>span { display:none; }
}
@media(prefers-reduced-motion:reduce) { .qp-accounting-date__panel:popover-open,.qp-accounting-date__panel.is-fallback-open { animation:none; } }
@media print { .qp-accounting-date__panel { display:none!important; } }

/* Neutralize legacy page wrappers so the shared control stays identical in every module. */
html body :is(.qp-datepicker-box,.qp-datepicker-wrap,.qp-date-wrap,.qp-date-field):has(> .qp-accounting-date) {
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    transform:none!important;
}
html body .qp-accounting-date .qp-accounting-date__control input {
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:42px!important;
    margin:0!important;
    padding:0 42px!important;
    line-height:normal!important;
    color:var(--ui-text)!important;
    background:transparent!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
    text-align:center!important;
}
