.moi-native-control{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0!important;clip-path:inset(50%)!important;pointer-events:none!important}
.moi-date-control,.moi-file-control{position:relative;min-width:0;width:100%}
.moi-control-trigger{display:flex;align-items:center;justify-content:space-between;min-height:43px;width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface,#fff);color:var(--ink);font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer}
.moi-control-trigger:hover{border-color:var(--ink)}
.moi-control-trigger:focus-visible{outline:0;border-color:var(--ink);background:var(--brand-soft)}
.moi-date-control:focus-within .moi-control-trigger{border-color:var(--ink);background:var(--brand-soft)}
.moi-control-trigger:disabled{opacity:.5;cursor:not-allowed}
.moi-date-control .moi-control-trigger::after{content:'';width:16px;height:16px;margin-left:8px;flex-shrink:0;background:var(--muted);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E") center/contain no-repeat}
.moi-date-control .moi-control-trigger.is-empty{color:var(--muted)}
.moi-date-control.is-open{z-index:35}
.moi-date-popup{position:absolute;top:calc(100% + 7px);left:0;width:min(320px,calc(100vw - 32px));padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 18px 45px #00000020}
.moi-date-control.is-end .moi-date-popup{left:auto;right:0}
.moi-date-popup[hidden]{display:none}
.moi-calendar-head{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;margin-bottom:10px;text-align:center}
.moi-calendar-head strong{font-size:13px;font-weight:700}
.moi-calendar-head button,.moi-calendar-foot button{border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.moi-calendar-head button{width:32px;height:32px;font-size:22px;line-height:1}
.moi-calendar-head button:hover,.moi-calendar-foot button:hover{background:var(--brand-soft)}
.moi-calendar-head button:disabled,.moi-calendar-foot button:disabled{opacity:.35;cursor:not-allowed}
.moi-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.moi-calendar-weekday{display:grid;place-items:center;height:28px;color:var(--muted);font-size:10px}
.moi-calendar-grid button{display:grid;place-items:center;min-width:0;height:34px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:11px;cursor:pointer}
.moi-calendar-grid button.outside{color:var(--muted)}
.moi-calendar-grid button:hover:not(:disabled),.moi-calendar-grid button:focus-visible{background:var(--brand-soft)}
.moi-calendar-grid button:focus-visible{outline:0;box-shadow:inset 0 0 0 1px var(--ink)}
.moi-calendar-grid button[aria-selected="true"]{background:var(--ink);color:var(--surface,#fff)}
.moi-calendar-grid button[aria-selected="true"]:focus-visible{box-shadow:inset 0 0 0 1px var(--surface,#fff)}
.moi-calendar-grid button:disabled{opacity:.3;cursor:not-allowed}
.moi-calendar-foot{display:flex;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
.moi-calendar-foot button{padding:6px 9px;font-size:11px}
.moi-file-control{display:flex;align-items:center;gap:11px;min-height:62px;padding:9px 12px;border:1px dashed var(--line);border-radius:11px;background:var(--surface,#fff)}
.moi-file-control.is-dragging{border-color:var(--ink);background:var(--brand-soft)}
.moi-file-control.has-file{border-style:solid}
.moi-file-control .moi-control-trigger{width:auto;min-height:36px;flex:none;padding:7px 11px}
.moi-file-status{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.moi-file-control.has-file .moi-file-status{color:var(--ink)}
@media(max-width:420px){.moi-file-control{align-items:stretch;flex-direction:column;gap:6px}.moi-file-control .moi-control-trigger{justify-content:center}}
