/* Shared modal presentation. Opening, saving and validation stay with each feature. */
:root { --ic-sheet-bg:#f6f7f9;--ic-sheet-ink:#111827;--ic-sheet-muted:#526075;--ic-sheet-line:#d7dde7;--ic-sheet-soft:#e6eaf1;--ic-sheet-accent:#6558ee;--ic-sheet-on-accent:#fff; }
.dark { --ic-sheet-bg:#171a21;--ic-sheet-ink:#f4f6fa;--ic-sheet-muted:#a7b0c0;--ic-sheet-line:#303641;--ic-sheet-soft:#232a35;--ic-sheet-accent:#818cf8;--ic-sheet-on-accent:#11141b; }
html.ic-sheet-lock { overflow:hidden; }
[data-ic-sheet-root] { position:fixed!important;inset:0!important;padding:0!important;overflow:hidden!important;z-index:140!important; }
[data-ic-sheet-root][data-ic-sheet-open] { background:rgb(0 0 0 / .58)!important; }
[data-ic-sheet-panel][data-ic-sheet-panel] {
 box-sizing:border-box!important;position:absolute!important;top:auto!important;right:auto!important;bottom:0!important;left:50%!important;
 translate:-50% 0;transform:none!important;margin:0!important;width:min(100%,640px)!important;max-width:640px!important;
 height:auto!important;min-height:0!important;max-height:calc(100dvh - max(24px,env(safe-area-inset-top)))!important;
 overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;
 border:1px solid var(--ic-sheet-line)!important;border-bottom:0!important;border-radius:24px 24px 0 0!important;
 background:var(--ic-sheet-bg)!important;color:var(--ic-sheet-ink)!important;
 padding:20px 20px calc(20px + env(safe-area-inset-bottom))!important;box-shadow:0 -12px 60px rgb(0 0 0 / .25)!important;
 --modal-title:var(--ic-sheet-ink);--modal-text:var(--ic-sheet-ink);--modal-muted:var(--ic-sheet-muted);--modal-border:var(--ic-sheet-line);
 --modal-bg:var(--ic-sheet-bg);--modal-btn-primary:var(--ic-sheet-accent);--modal-focus:var(--ic-sheet-accent);
}
dialog[data-ic-sheet-panel] { position:fixed!important; }
dialog[data-ic-sheet-panel]:not([open]) { display:none; }
dialog[data-ic-sheet-panel]::backdrop { background:rgb(0 0 0 / .58);backdrop-filter:blur(3px); }
[data-ic-sheet-panel][data-ic-sheet-vendor] { --ic-sheet-accent:#ffd84d;--ic-sheet-on-accent:#11141b; }
[data-ic-sheet-panel][data-ic-sheet-wide] { width:min(100%,960px)!important;max-width:960px!important; }
[data-ic-sheet-panel] > form { padding:0!important;margin:0!important; }
[data-ic-sheet-panel] .ic-sheet-handle { display:block;width:38px;height:4px;border-radius:9px;margin:-8px auto 12px;background:var(--ic-sheet-muted);opacity:.6;touch-action:none;cursor:grab; }
[data-ic-sheet-panel] .ic-sheet-heading { position:sticky;top:-20px;z-index:4;background:var(--ic-sheet-bg);min-height:44px;padding-block:8px; }
[data-ic-sheet-panel] :is(h2,h3) { color:var(--ic-sheet-ink);letter-spacing:normal; }
[data-ic-sheet-panel] .ic-sheet-actions {
 position:sticky!important;bottom:calc(-20px - env(safe-area-inset-bottom));z-index:5;display:flex!important;flex-wrap:wrap!important;
 gap:10px!important;justify-content:flex-end!important;align-items:center!important;background:var(--ic-sheet-bg)!important;
 margin-top:16px!important;padding:14px 0 calc(14px + env(safe-area-inset-bottom))!important;border-top:0!important;
}
[data-ic-sheet-panel] :is(button,a.ui-btn,a.modal-btn) { border-radius:12px;min-height:44px;letter-spacing:normal!important;text-transform:none!important;font-weight:600;font-size:14px;line-height:1.35;box-shadow:none; }
[data-ic-sheet-panel] [data-ic-sheet-action] { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px!important;border:1px solid transparent!important;border-radius:12px!important;font-size:14px!important;font-weight:650!important;line-height:1.35;box-shadow:none!important;text-decoration:none; }
[data-ic-sheet-panel] [data-ic-sheet-action=primary] { background:var(--ic-sheet-accent)!important;color:var(--ic-sheet-on-accent)!important; }
[data-ic-sheet-panel] [data-ic-sheet-action=secondary] { background:var(--ic-sheet-soft)!important;color:var(--ic-sheet-ink)!important; }
[data-ic-sheet-panel] [data-ic-sheet-action=danger] { background:#b42336!important;color:#fff!important; }
[data-ic-sheet-panel] [data-ic-sheet-action] :is(span,svg) { color:inherit!important; }
[data-ic-sheet-panel] button:disabled { opacity:.45!important;cursor:not-allowed; }
[data-ic-sheet-panel] :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--ic-sheet-accent)!important;outline-offset:3px;box-shadow:none!important; }
[data-ic-sheet-panel] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { border:1px solid var(--ic-sheet-line)!important;border-radius:12px!important;box-shadow:none!important;background:var(--ic-sheet-bg);color:var(--ic-sheet-ink);min-height:44px; }
[data-ic-sheet-panel] .ic-sheet-close { display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:12px!important;background:var(--ic-sheet-soft)!important;color:var(--ic-sheet-ink)!important; }
[data-ic-sheet-panel].ic-sheet-enter { animation:ic-sheet-enter .24s ease-out; }
@keyframes ic-sheet-enter { from {translate:-50% 100%;opacity:.4} to {translate:-50% 0;opacity:1} }
@media(max-width:640px) { [data-ic-sheet-panel] .ic-sheet-actions > :is(button,a) { flex:1 1 140px; } }
@media(prefers-reduced-motion:reduce) { [data-ic-sheet-panel].ic-sheet-enter { animation:none; } }
