/* Bangla calendar picker (public/js/tools.js, input[data-cal]) */
.cp{position:relative}
.cp-btn{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:0 16px;border-radius:16px;border:2px solid #dfe3f0;background:#fff;color:#1d2a5a;font:800 19px var(--head);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}
.cp-btn:hover,.cp.open .cp-btn{border-color:#1d2a5a;box-shadow:0 0 0 4px rgba(29,42,90,.08)}
.cp-btn svg{flex:none;color:#c7081e}.cp-btn i{margin-left:auto;font-style:normal;color:#8a94b8;font-size:14px}.cp.empty .cp-v{color:#8a94b8;font-weight:700}
.cp-pop{position:absolute;z-index:60;top:calc(100% + 8px);left:0;width:min(340px,92vw)}
.cp-sheet{padding:14px;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.22);border:1px solid #eef0f6}
.cp-ttl{display:none;margin:0 0 10px;font:800 17px var(--head);color:#1d2a5a;text-align:center}
.cp-head{display:flex;gap:6px;align-items:center;margin-bottom:8px}
.cp-head select{flex:1;min-width:0;height:42px;border:1px solid #dfe3f0;border-radius:12px;padding:0 8px;font:700 16px var(--head);color:#1d2a5a;background:#f6f8ff}
.cp-nav{flex:none;width:40px;height:42px;border:0;border-radius:12px;background:#1d2a5a;color:#fff;font:700 22px/1 sans-serif;cursor:pointer}
.cp-wd,.cp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cp-wd span{font:700 12.5px var(--head);color:#8a94b8;padding:4px 0}.cp-wd .fr{color:#c7081e}
.cp-grid button{height:40px;border:0;border-radius:12px;background:none;font:700 16px var(--head);color:#1f2937;cursor:pointer}
.cp-grid button:hover{background:#eef1fb}.cp-grid button.fr{color:#c7081e}.cp-grid button.td{box-shadow:inset 0 0 0 2px #f6b21a}
.cp-grid button.on{background:#1d2a5a;color:#fff}.cp-grid button:disabled{opacity:.3;cursor:default}
.cp-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px}
.cp-foot button{flex:1;height:42px;border-radius:12px;border:1px solid #dfe3f0;background:#fff;font:700 15px var(--head);color:#1d2a5a;cursor:pointer}.cp-foot .cp-ok{background:#c7081e;border-color:#c7081e;color:#fff}
@media (max-width:640px){.cp-pop{position:fixed;inset:0;width:auto;z-index:2000;display:flex;align-items:flex-end;background:rgba(15,23,42,.45)}.cp-pop[hidden]{display:none}
.cp-sheet{width:100%;border-radius:24px 24px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.cp-ttl{display:block}.cp-grid button{height:46px}body.cp-lock{overflow:hidden}body.cp-lock .tabbar{display:none!important}}
