:root{
  --ink:#17131d;--muted:#746f7d;--line:#e7e1ec;--bg:#f6f4f9;--card:#fff;
  --purple:#24113d;--purple2:#3b1d64;--accent:#6d3cab;--soft:#eee7f7;
  --ok:#147d55;--okbg:#e9f7f0;--warn:#a55b0a;--warnbg:#fff5e8;--bad:#b4233f;--badbg:#fff0f3;
  --shadow:0 12px 40px rgba(34,18,55,.08);--radius:22px;
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11px}.nowrap{white-space:nowrap}
.topbar{height:72px;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:30;box-shadow:0 8px 26px rgba(31,13,53,.16)}.brand{font-weight:800;letter-spacing:-.02em;font-size:21px}.brand span{opacity:.68;font-weight:500}.top-actions{display:flex;gap:10px;align-items:center}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);font-size:13px}.hamb{display:none;background:transparent;color:#fff;border:0;font-size:28px;padding:0}
.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{background:#1e1429;color:#eee7f7;padding:22px 14px;position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#9d90ad;padding:8px 12px}.nav a{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:12px;color:#d9d0e2;margin:3px 0;font-weight:650;font-size:14px}.nav a:hover,.nav a.active{background:#342343;color:#fff}.nav-dot{width:8px;height:8px;border-radius:50%;background:#7d6a91}.nav a.active .nav-dot{background:#c7a5f6}.sidebar-footer{margin-top:26px;padding:14px 12px;border-top:1px solid #3e3049;color:#9f93aa;font-size:12px}
.main{padding:28px;min-width:0}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.page-title h1{margin:0 0 6px;font-size:28px;letter-spacing:-.03em}.page-title p{margin:0;color:var(--muted)}
.grid{display:grid;gap:16px}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.flat{box-shadow:none}.stat .k{font-size:13px;color:var(--muted);margin-bottom:10px}.stat .v{font-size:32px;font-weight:800;letter-spacing:-.04em}.stat .sub{font-size:12px;color:var(--muted);margin-top:7px}.statusbar{height:4px;border-radius:999px;background:var(--soft);margin-top:14px;overflow:hidden}.statusbar span{display:block;height:100%;background:var(--accent)}
.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.btn.primary{background:var(--purple);color:#fff}.btn.primary:hover{background:var(--purple2)}.btn.secondary{background:var(--soft);color:var(--purple2)}.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.danger{background:var(--badbg);color:var(--bad)}.btn.ok{background:var(--okbg);color:var(--ok)}.btn.sm{padding:8px 11px;font-size:12px;border-radius:9px}.btn.block{width:100%}.btn:disabled{opacity:.48;cursor:not-allowed}
.input,.select,.textarea{width:100%;border:1px solid #d9d2df;background:#fff;border-radius:12px;padding:11px 12px;outline:none;color:var(--ink)}.textarea{min-height:92px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#8f68be;box-shadow:0 0 0 4px rgba(109,60,171,.1)}label.field{display:block}.field .label{display:block;font-size:12px;font-weight:750;color:#5f5868;margin:0 0 7px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .wide{grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.toolbar .filters{display:flex;gap:8px;flex-wrap:wrap}.search{min-width:230px}
.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #eee9f2;vertical-align:middle}th{background:#faf8fc;color:#5e5666;font-size:11px;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.badge.ok{background:var(--okbg);color:var(--ok)}.badge.warn{background:var(--warnbg);color:var(--warn)}.badge.bad{background:var(--badbg);color:var(--bad)}.badge.neutral{background:#f1eef4;color:#655d6d}.badge.purple{background:var(--soft);color:var(--purple2)}
.notice{border-radius:14px;padding:12px 14px;font-size:13px;margin:0 0 16px}.notice.ok{background:var(--okbg);color:#0e6845}.notice.bad{background:var(--badbg);color:#9d1d37}.notice.warn{background:var(--warnbg);color:#8d4a05}.notice.info{background:var(--soft);color:#4a2a70}
.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.login-hero{background:linear-gradient(145deg,#1c0c32,#3d1d67);color:#fff;padding:64px;display:flex;flex-direction:column;justify-content:space-between}.login-hero h1{font-size:56px;line-height:.98;letter-spacing:-.055em;max-width:600px;margin:0}.login-hero p{font-size:18px;line-height:1.6;color:#ded2eb;max-width:590px}.hero-mark{width:58px;height:58px;border-radius:18px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;background:rgba(255,255,255,.08);font-weight:900;font-size:24px}.login-panel{display:flex;align-items:center;justify-content:center;padding:28px}.login-card{width:min(430px,100%);background:#fff;padding:32px;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.login-card h2{font-size:28px;margin:0 0 8px;letter-spacing:-.03em}.login-card .sub{color:var(--muted);margin-bottom:24px}.seg{display:grid;grid-template-columns:1fr 1fr;background:#f1edf5;padding:4px;border-radius:12px;margin-bottom:18px}.seg label{padding:9px 10px;text-align:center;border-radius:9px;font-size:13px;font-weight:750;cursor:pointer}.seg input{display:none}.seg label:has(input:checked){background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);color:var(--purple)}.stack{display:grid;gap:13px}
.emp-shell{max-width:560px;margin:0 auto;min-height:100vh;background:#f7f5fa;box-shadow:0 0 0 1px #eee7f4}.emp-head{background:linear-gradient(150deg,#21103a,#402066);color:#fff;padding:24px 20px 78px;position:relative}.emp-head .brand{font-size:18px}.emp-profile{margin:-52px 16px 0;background:#fff;border-radius:22px;padding:18px;position:relative;z-index:2;box-shadow:var(--shadow);border:1px solid var(--line)}.profile-row{display:flex;gap:14px;align-items:center}.avatar{width:60px;height:60px;border-radius:18px;background:var(--soft);display:grid;place-items:center;color:var(--purple2);font-weight:900;font-size:20px;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.profile-row h2{font-size:18px;margin:0 0 4px}.profile-row p{margin:0;color:var(--muted);font-size:13px}.emp-main{padding:16px 16px 88px}.today{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line);margin-top:14px}.today .t{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.today .x{font-weight:800;margin-top:5px;font-size:14px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.quick{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.quick strong{font-size:15px}.quick span{color:var(--muted);font-size:12px}.quick.accent{background:var(--purple);color:#fff;border-color:var(--purple)}.quick.accent span{color:#d7c7e6}.emp-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);z-index:50;padding:7px 4px max(7px,env(safe-area-inset-bottom))}.emp-nav a{padding:6px 3px;text-align:center;color:#81798a;font-size:10px;font-weight:750}.emp-nav a.active{color:var(--purple)}.emp-nav i{display:block;width:7px;height:7px;border-radius:50%;background:currentColor;margin:0 auto 5px}
.mobile-title{background:var(--purple);color:#fff;padding:18px 18px 20px;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px}.mobile-title a{font-size:22px}.mobile-title h1{font-size:18px;margin:0}.mobile-body{padding:16px 16px 88px;max-width:560px;margin:auto}.mobile-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:12px}.mobile-card h3{margin:0 0 10px;font-size:15px}.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #ece6f0}.kv:last-child{border-bottom:0}.kv span:first-child{color:var(--muted);font-size:12px}.kv strong{font-size:12px;text-align:right}.attendance-state{text-align:center;padding:8px 0 14px}.attendance-state .ring{width:94px;height:94px;margin:0 auto 14px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--purple);font-weight:900}.attendance-state h2{margin:0 0 6px;font-size:20px}.attendance-state p{margin:0;color:var(--muted);font-size:13px}.camera-box{aspect-ratio:1/1;max-width:310px;margin:0 auto;background:#17131d;border-radius:22px;overflow:hidden;position:relative}.camera-box video,.camera-box img{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-box img.final{transform:none}.camera-hint{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;background:rgba(0,0,0,.5);padding:8px 10px;border-radius:10px;font-size:11px;text-align:center}.gps-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;margin:12px 0}.gps-row{display:flex;justify-content:space-between;gap:12px}.gps-row b{font-size:13px}.gps-row span{font-size:12px;color:var(--muted);text-align:right}.progress{height:7px;background:#eee9f1;border-radius:999px;overflow:hidden;margin-top:10px}.progress span{height:100%;display:block;background:var(--accent);width:0;transition:.3s}
.modal-backdrop{position:fixed;inset:0;background:rgba(18,10,25,.48);z-index:100;display:grid;place-items:center;padding:16px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h3{margin:0}.xbtn{border:0;background:#f2eef5;border-radius:9px;width:34px;height:34px}.divider{height:1px;background:var(--line);margin:16px 0}.empty{text-align:center;padding:30px 12px;color:var(--muted)}.version{font-size:11px;color:#998fa3;margin-top:18px}.footer-note{font-size:11px;color:#8e8796;text-align:center;padding:18px}
@media(max-width:1000px){.grid.stats{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:1fr 1fr}}@media(max-width:760px){.topbar{height:62px;padding:0 16px}.hamb{display:block}.shell{display:block;min-height:calc(100vh - 62px)}.sidebar{position:fixed;top:62px;left:-280px;width:260px;height:calc(100vh - 62px);z-index:60;transition:.22s}.sidebar.open{left:0}.main{padding:18px 14px}.page-title{align-items:center}.page-title h1{font-size:23px}.grid.stats,.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.login-wrap{grid-template-columns:1fr}.login-hero{display:none}.login-panel{min-height:100vh;padding:16px}.login-card{padding:24px}.search{min-width:0;width:100%}.toolbar{align-items:stretch}.toolbar .filters{width:100%}.toolbar .filters>*{flex:1 1 140px}.table-wrap{border-radius:12px}.pill.hide-mobile{display:none}}

/* ===== Absenku v2.0 Premium additions ===== */
html.modal-open,html.modal-open body{overflow:hidden}
.server-clock{display:flex;align-items:center;gap:10px;padding:7px 11px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.07)}
.server-clock strong{font-size:14px;line-height:1}.server-clock span{display:block;font-size:9px;opacity:.68;margin-top:3px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.zi-date-input{cursor:pointer!important;background:#fff!important;padding-right:42px!important;background-image:linear-gradient(45deg,transparent 50%,#6d3cab 50%),linear-gradient(135deg,#6d3cab 50%,transparent 50%)!important;background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important}
.zi-date-input:focus{border-color:#8f68be!important;box-shadow:0 0 0 4px rgba(109,60,171,.1)!important}
.zi-date-backdrop{position:fixed;inset:0;z-index:999;background:rgba(18,8,29,.58);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px;animation:ziFade .16s ease}
.zi-date-modal{width:min(430px,100%);background:#fff;border:1px solid rgba(82,48,112,.14);border-radius:28px;padding:20px;box-shadow:0 30px 90px rgba(25,10,40,.34);animation:ziPop .18s ease}
.zi-date-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.zi-date-head strong{display:block;font-size:22px;letter-spacing:-.04em;margin-top:3px}.zi-date-kicker{font-size:10px;letter-spacing:.12em;color:#786f82;font-weight:900}.zi-date-close{width:38px;height:38px;border:0;border-radius:12px;background:#f2edf6;color:#4b2c68;font-size:24px;display:grid;place-items:center}
.zi-date-toolbar{display:grid;grid-template-columns:42px 1fr 42px;gap:10px;align-items:center;margin:18px 0 14px}.zi-date-toolbar>button{height:40px;border:1px solid #e6deec;border-radius:12px;background:#fff;color:#41255d;font-weight:850}.zi-date-toolbar>button:first-child,.zi-date-toolbar>button:last-child{font-size:24px;line-height:1}.zi-date-center{font-size:13px!important;background:#f8f5fa!important}
.zi-weekdays,.zi-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.zi-weekdays{margin-bottom:7px}.zi-weekdays span{font-size:10px;color:#8b8292;font-weight:800;text-align:center;padding:6px 0}.zi-day{aspect-ratio:1;border:0;border-radius:12px;background:transparent;color:#26202c;font-size:13px;font-weight:750}.zi-day:hover{background:#f3edf8}.zi-day.today{box-shadow:inset 0 0 0 1px #8f68be;color:#5c2f86}.zi-day.selected{background:#3b1d64;color:#fff;box-shadow:none}.zi-day.blank{pointer-events:none}
.zi-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.zi-month{border:1px solid #e8e0ed;background:#fff;border-radius:14px;padding:14px 8px;font-size:12px;font-weight:800}.zi-month:hover{background:#f6f1fa}.zi-month.today{border-color:#8f68be;color:#5c2f86}.zi-month.selected{background:#3b1d64;border-color:#3b1d64;color:#fff}
.zi-date-actions{display:flex;gap:9px;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid #eee8f1}.zi-date-actions .btn{font-size:11px}
@keyframes ziPop{from{transform:scale(.96) translateY(8px);opacity:.4}to{transform:none;opacity:1}}@keyframes ziFade{from{opacity:0}to{opacity:1}}

.billing-hero{background:linear-gradient(145deg,#1e0c34,#46216e);color:#fff;border-radius:24px;padding:22px;box-shadow:0 18px 50px rgba(43,20,68,.16)}
.billing-hero .eyebrow{font-size:10px;font-weight:900;letter-spacing:.13em;color:#d9c8e8}.billing-hero h2{margin:7px 0 8px;font-size:25px;letter-spacing:-.04em}.billing-hero p{margin:0;color:#d9cce5;font-size:12px;line-height:1.6}.money-big{font-size:30px;font-weight:900;letter-spacing:-.045em}
.payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pay-method{position:relative;border:1px solid #e7dfed;background:#fff;border-radius:16px;padding:14px;cursor:pointer;transition:.16s}.pay-method:hover{border-color:#a582c4;transform:translateY(-1px)}.pay-method input{position:absolute;opacity:0}.pay-method:has(input:checked){border-color:#6d3cab;box-shadow:0 0 0 3px rgba(109,60,171,.1);background:#fbf9fd}.pay-method b{display:block;font-size:13px;margin-bottom:4px}.pay-method span{font-size:11px;color:#807787}.pay-method .method-tag{display:inline-flex;margin-top:8px;border-radius:999px;background:#f0e8f7;color:#5a2f82;padding:4px 7px;font-size:9px;font-weight:900;letter-spacing:.04em}
.qris-preview{background:#fff;border:1px solid #e7dfed;border-radius:22px;padding:18px;text-align:center}.qris-preview img{width:min(290px,100%);aspect-ratio:1;object-fit:contain;background:#fff;border-radius:16px;border:1px solid #ede6f2}.qris-preview small{display:block;color:#82798a;margin-top:10px;line-height:1.55}
.payment-info{display:grid;gap:8px}.payment-info .pay-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #eee7f2;border-radius:14px;padding:12px;background:#fbf9fc}.pay-row span{font-size:11px;color:#756d7d}.pay-row strong{font-size:12px;text-align:right}.copy-mini{border:0;background:#eee6f6;color:#5c2f86;border-radius:9px;padding:6px 8px;font-size:9px;font-weight:900}
.payment-status-card{border-radius:20px;padding:18px;border:1px solid #e8e0ed;background:#fff}.payment-status-card.pending{border-color:#ebd8bc;background:#fffaf2}.payment-status-card.paid{border-color:#cce9dc;background:#f5fcf8}.payment-status-card.failed{border-color:#efd1d8;background:#fff7f8}.payment-status-card h3{margin:0 0 7px;font-size:18px}.payment-status-card p{margin:0;color:#746b7a;font-size:12px;line-height:1.6}
.gateway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gateway-btn{border:1px solid #e4dbe9;background:#fff;border-radius:16px;padding:14px 10px;font-weight:850;color:#3f2556;min-height:68px}.gateway-btn:hover{background:#f7f2fa;border-color:#a987c7}.gateway-btn span{display:block;font-size:9px;color:#887e8f;font-weight:700;margin-top:4px}
.proof-thumb{width:72px;height:72px;object-fit:cover;border-radius:12px;border:1px solid #e8e0ed;background:#faf8fb}.file-input{position:relative;border:1px dashed #bda8ce;background:#faf7fc;border-radius:16px;padding:16px;text-align:center}.file-input input{width:100%;margin-top:8px;font-size:12px}
.invoice-card{display:block;background:#fff;border:1px solid #e9e2ed;border-radius:18px;padding:15px;margin-bottom:10px}.invoice-card:hover{border-color:#bca5cf}.invoice-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.invoice-card h3{margin:0 0 4px;font-size:14px}.invoice-card p{margin:0;color:#7c7483;font-size:11px}.invoice-bottom{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-top:14px;padding-top:12px;border-top:1px dashed #ebe4ef}.invoice-bottom strong{font-size:16px}.invoice-bottom small{color:#8a8190}
.payment-settings-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.setting-section{border:1px solid #e7e0eb;border-radius:18px;padding:17px;background:#fff}.setting-section h3{margin:0 0 4px;font-size:15px}.setting-section>p{margin:0 0 15px;color:#7a7181;font-size:11px;line-height:1.6}.method-setting{border-top:1px solid #eee8f1;padding-top:13px;margin-top:13px}.method-setting:first-of-type{border-top:0;padding-top:0;margin-top:0}
.switchline{display:flex;justify-content:space-between;align-items:center;gap:14px}.switchline b{font-size:12px}.switch{position:relative;width:42px;height:24px;display:inline-block}.switch input{opacity:0;width:0;height:0}.switch i{position:absolute;inset:0;border-radius:999px;background:#d9d2de;transition:.2s}.switch i:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.switch input:checked+i{background:#6d3cab}.switch input:checked+i:after{transform:translateX(18px)}
.security-note{display:flex;gap:12px;align-items:flex-start;border:1px solid #e5d9ee;background:#faf6fd;border-radius:16px;padding:13px}.security-note:before{content:"";width:9px;height:9px;border-radius:50%;background:#6d3cab;margin-top:4px;flex:0 0 auto}.security-note b{display:block;font-size:11px}.security-note span{display:block;font-size:10px;color:#7a7080;line-height:1.5;margin-top:3px}
.countdown{font-variant-numeric:tabular-nums;font-size:24px;font-weight:900;color:#552b7c;letter-spacing:-.03em}.auto-qr{width:min(310px,100%);aspect-ratio:1;object-fit:contain;background:#fff;border-radius:18px;border:1px solid #e7e0eb;padding:9px}

@media(max-width:760px){.server-clock{display:none}.payment-settings-grid{grid-template-columns:1fr}.gateway-grid{grid-template-columns:1fr 1fr}.payment-methods{grid-template-columns:1fr}.zi-date-modal{border-radius:24px;padding:17px}.zi-month-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== Absenku v2.1 Compact Calendar + Modern Time Picker ===== */
.zi-picker-backdrop{position:fixed;inset:0;z-index:999;background:rgba(20,10,31,.42);backdrop-filter:blur(3px);display:grid;place-items:center;padding:14px;animation:ziFade .14s ease}
.zi-date-modal,.zi-time-modal{width:min(326px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:visible;background:#fff;border:1px solid rgba(82,48,112,.14);border-radius:19px;padding:13px;box-shadow:0 24px 70px rgba(25,10,40,.28);animation:ziPop .16s ease}
.zi-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 1px 7px}.zi-picker-head strong{display:block;font-size:15px;letter-spacing:-.025em;margin-top:2px}.zi-picker-kicker{display:block;font-size:8px;line-height:1.1;letter-spacing:.13em;color:#84798b;font-weight:900}.zi-picker-close{width:30px;height:30px;border:0;border-radius:9px;background:#f3eef6;color:#4b2c68;font-size:19px;line-height:1;display:grid;place-items:center}
.zi-date-toolbar{position:relative;display:grid;grid-template-columns:32px 1fr 32px;gap:7px;align-items:center;margin:7px 0 8px}.zi-date-toolbar>button{height:32px;border:1px solid #e8e1ec;border-radius:9px;background:#fff;color:#41255d;font-weight:900;font-size:19px;line-height:1}.zi-period{height:32px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #e8e1ec;border-radius:9px;background:#faf8fb;padding:0 7px;color:#34233f}.zi-period>span{font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}.zi-year-wrap{position:relative;flex:0 0 auto}.zi-year-button{height:24px;display:flex;align-items:center;gap:5px;border:0;border-radius:7px;background:#ece4f3;color:#512c72;padding:0 7px;font-size:10px;font-weight:900}.zi-year-button i{font-style:normal;font-size:10px;transform:translateY(-1px)}
.zi-year-menu{position:absolute;z-index:12;top:28px;right:0;width:76px;max-height:176px;overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e3d9e9;border-radius:10px;padding:4px;box-shadow:0 12px 32px rgba(37,17,53,.22);scrollbar-width:thin}.zi-year-option{width:100%;height:29px;border:0;border-radius:7px;background:transparent;color:#45364e;font-size:10px;font-weight:800}.zi-year-option:hover{background:#f2ecf6}.zi-year-option.selected{background:#3b1d64;color:#fff}
.zi-weekdays,.zi-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.zi-weekdays{margin-bottom:3px}.zi-weekdays span{font-size:8px;color:#918898;font-weight:850;text-align:center;padding:4px 0}.zi-day{width:100%;aspect-ratio:1;border:0;border-radius:8px;background:transparent;color:#2d2632;font-size:10px;font-weight:780}.zi-day:hover{background:#f3edf8}.zi-day.today{box-shadow:inset 0 0 0 1px #8f68be;color:#5c2f86}.zi-day.selected{background:#3b1d64;color:#fff;box-shadow:none}.zi-day.blank{pointer-events:none}
.zi-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.zi-month{border:1px solid #e8e0ed;background:#fff;border-radius:9px;padding:9px 5px;font-size:9px;font-weight:850}.zi-month:hover{background:#f6f1fa}.zi-month.today{border-color:#8f68be;color:#5c2f86}.zi-month.selected{background:#3b1d64;border-color:#3b1d64;color:#fff}
.zi-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid #eee8f1}.zi-mini-action{height:30px;border:0;border-radius:9px;padding:0 10px;background:#efe7f6;color:#5b3180;font-size:9px;font-weight:900}.zi-mini-action.ghost{background:#f5f2f7;color:#6f6576}.zi-mini-action.primary{background:#3b1d64;color:#fff}
.zi-date-input,.zi-time-input{cursor:pointer!important;background-color:#fff!important;padding-right:39px!important;background-image:linear-gradient(45deg,transparent 50%,#6d3cab 50%),linear-gradient(135deg,#6d3cab 50%,transparent 50%)!important;background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important}.zi-time-input{font-variant-numeric:tabular-nums;letter-spacing:.02em}

.zi-time-modal{width:min(296px,calc(100vw - 30px));padding:13px}.zi-time-display{height:54px;margin:4px 0 3px;border-radius:13px;background:linear-gradient(145deg,#24113d,#47226f);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-variant-numeric:tabular-nums}.zi-time-display b{font-size:27px;letter-spacing:-.04em}.zi-time-display span{font-size:23px;opacity:.58;transform:translateY(-1px)}.zi-time-labels{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:center;margin:8px 0 3px}.zi-time-labels span{font-size:8px;color:#8d8392;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.zi-time-wheels{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px}.zi-time-wheels:after{content:"";pointer-events:none;position:absolute;left:4px;right:4px;top:50%;height:40px;transform:translateY(-50%);border:1px solid #d8c9e4;border-radius:10px;background:rgba(239,231,246,.5)}.zi-time-wheel{position:relative;z-index:1;height:132px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;border:1px solid #ebe4ef;border-radius:11px;background:linear-gradient(#faf8fb,#fff 29%,#fff 71%,#faf8fb)}.zi-time-wheel::-webkit-scrollbar{display:none}.zi-wheel-pad{height:46px}.zi-wheel-item{display:block;width:100%;height:40px;scroll-snap-align:center;border:0;background:transparent;color:#8b8290;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;position:relative;z-index:2}.zi-wheel-item.selected{color:#3b1d64;font-size:17px;font-weight:950}
.zi-time-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #eee8f1}.zi-time-actions>div{display:flex;gap:6px}

@media(max-width:760px){.zi-date-modal{width:min(316px,calc(100vw - 24px));padding:12px;border-radius:18px}.zi-time-modal{width:min(286px,calc(100vw - 28px));padding:12px;border-radius:18px}.zi-month-grid{grid-template-columns:repeat(3,1fr)}.zi-picker-backdrop{padding:12px}.zi-day{font-size:10px}.zi-year-menu{max-height:160px}}
