:root{--font-inter:"Inter";box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.pv-switch{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:9999;display:flex;gap:2px;padding:3px;border-radius:999px;background:#0f172ae6;box-shadow:0 6px 20px #0004;font:600 11px/1 system-ui,sans-serif}
.pv-switch button{border:0;background:transparent;color:#cbd5e1;padding:8px 13px;border-radius:999px;cursor:pointer}
.pv-switch button.on{background:#fff;color:#0f172a}.dp-pop{position:fixed;z-index:50000;width:288px;padding:12px;border:1px solid #e3e8ef;border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.22);font-family:Inter,system-ui,sans-serif;font-size:13px;color:#203047}.dp-head{display:grid;grid-template-columns:32px 1fr 86px 32px;gap:6px;align-items:center;margin-bottom:8px}.dp-head select{height:32px;padding:0 6px;border:1px solid #e3e8ef;border-radius:8px;background:#fff;color:inherit;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.dp-nav{height:32px;border:1px solid #e3e8ef;border-radius:8px;background:#fff;color:#203047;font-size:19px;line-height:1;cursor:pointer}.dp-nav:hover{background:#f4f8ff}.dp-nav:disabled{opacity:.35;cursor:not-allowed}.dp-dow,.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.dp-dow span{padding:4px 0;color:#8a96a8;font-size:11px;font-weight:700}.dp-day{height:34px;border:0;border-radius:8px;background:transparent;color:inherit;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer}.dp-day:hover{background:#eef3fc}.dp-day.is-today{box-shadow:inset 0 0 0 1.5px #3675da;color:#1f4f9f;font-weight:700}.dp-day.is-focus:not(.is-sel){background:#eef3fc}.dp-day.is-sel{background:#3675da;color:#fff;font-weight:700}.dp-day:disabled{background:none;color:#c9d1dc;cursor:not-allowed}.dp-foot{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #eef1f5}.dp-link{padding:5px 8px;border:0;border-radius:7px;background:none;color:#3675da;font-family:inherit;font-size:13px;font-weight:650;cursor:pointer}.dp-link:hover{background:#f4f8ff}.dp-link:disabled{color:#c9d1dc;cursor:not-allowed;background:none}@media (pointer:fine){input[type=date]:not([data-native-date]){padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233675da' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 11px center!important;background-size:17px!important;cursor:pointer}input[type=date]:not([data-native-date])::-webkit-calendar-picker-indicator{display:none}input[type=date]:disabled{cursor:not-allowed}}.fin-edit-wrap{display:contents}.gd-backdrop{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.45);font-family:Inter,system-ui,sans-serif}.gd-dialog{width:min(440px,100%);padding:22px;border-radius:16px;background:#fff;color:#203047;box-shadow:0 24px 60px rgba(15,23,42,.3)}.gd-dialog h3{margin:0 0 8px;font-size:17px;font-weight:700}.gd-dialog p{margin:0 0 18px;color:#5b6678;font-size:14px;line-height:1.5}.gd-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.gd-btn{min-height:38px;padding:0 15px;border-radius:9px;border:1px solid #d8e0ea;background:#fff;color:#203047;font:600 13.5px Inter,system-ui,sans-serif;cursor:pointer}.gd-btn:focus-visible{outline:3px solid rgba(54,117,218,.35);outline-offset:1px}.gd-primary{border-color:#3675da;background:#3675da;color:#fff}.gd-primary:hover{background:#2c63bd}.gd-danger{border-color:#f1c9c9;color:#b13a3a}.gd-danger:hover{background:#fdf1f1}.sync-badge{position:fixed;right:12px;bottom:12px;z-index:9999;display:flex;align-items:center;gap:7px;max-width:min(360px,calc(100vw - 24px));padding:7px 12px;border-radius:999px;background:#0f172a;color:#fff;font:600 12px/1.3 Inter,system-ui,sans-serif;box-shadow:0 6px 20px rgba(15,23,42,.25)}.sync-badge i{flex:none;width:8px;height:8px;border-radius:50%;background:#94a3b8}.sync-badge.is-saved i{background:#34d399}.sync-badge.is-saving i,.sync-badge.is-loading i{background:#fbbf24}.sync-badge.is-error i{background:#f87171}@media (max-width:700px){.sync-badge{bottom:64px}}
