.cal32-sheet{position:fixed;inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:var(--paper);color:var(--ink);box-sizing:border-box}
.cal32-sheet::backdrop{background:rgb(0 0 0 / .45)}
.cal32-sheet>form{display:flex;flex-direction:column;height:100%;margin:0}
.cal32-sheet header{display:flex;align-items:center;gap:10px;flex:none;padding:8px 14px;padding-top:max(8px,env(safe-area-inset-top));border-bottom:1px solid var(--line)}
.cal32-sheet h2{font-size:19px;margin:0;flex:1}.cal32-sheet h3{font-size:13px;margin:15px 0 7px;color:var(--muted)}
.cal32-sheet button{color:inherit;font:inherit;cursor:pointer}.cal32-sheet header button{border:0;background:transparent;font-size:26px;min-height:36px;min-width:36px}
.cal32-content{overflow:auto;flex:1;min-height:0;padding:12px 14px;overscroll-behavior:contain}
.cal32-sheet footer{padding:8px 14px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);text-align:right}
.cal32-sheet footer button{padding:8px 20px;border-radius:9px;border:1px solid var(--line);background:var(--accent);color:var(--accent-ink,#fff)}
.cal32-sheet .cal32-row,#modal .cal32-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%;box-sizing:border-box;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 3px;margin:0;background:transparent;color:var(--ink);font-size:15px;min-height:44px}
.cal32-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
#modal .cal32-entry>span:last-child{font-size:13px;color:var(--muted);text-align:right;max-width:70%;overflow-wrap:anywhere}
.cal32-options{overflow:hidden;border:1px solid var(--line);border-radius:10px;padding:0 10px;margin-bottom:12px}
.cal32-options>button{display:flex;width:100%;justify-content:space-between;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;text-align:left;font-size:16px}
.cal32-options [aria-pressed=true]{color:var(--accent)}
.cal32-inline{display:flex;align-items:center;gap:8px;min-width:0}
.cal32-sheet :is(input,select){min-width:0;max-width:100%;box-sizing:border-box;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px;min-height:34px}
.cal32-sheet input[type=number]{width:76px}.cal32-sheet input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:none;accent-color:var(--accent)}
.cal32-date{display:block;max-width:155px;min-width:0;overflow:hidden}.cal32-date input{width:100%;min-width:0}
.cal32-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:10px 0}.cal32-grid.cal32-months{grid-template-columns:repeat(4,minmax(0,1fr))}
.cal32-grid button{padding:8px 0;min-height:36px;border:1px solid var(--line);border-radius:6px;background:transparent}
.cal32-grid [aria-pressed=true]{background:var(--accent);color:var(--accent-ink,#fff)}
.cal32-help{font-size:12px;line-height:1.5;color:var(--muted);margin:7px 0}
.cal32-error{font-size:13px;color:var(--danger,#d74a5d);margin:0;padding:0 14px}.cal32-error:empty{display:none}
.cal32-custom-time{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:8px}.cal32-custom-time button{border:1px solid var(--line);border-radius:8px;background:transparent;padding:5px 12px}
.cal32-todo-sheet .cal32-content{padding:8px 12px}.cal32-todo-row{display:grid;grid-template-columns:minmax(0,1fr) 32px 36px;align-items:center;gap:4px;padding:4px 0}
.cal32-todo-row input{width:100%;padding:8px}.cal32-todo-row button{border:0;background:transparent;font-size:24px;min-height:38px;padding:0}
.cal32-grip{touch-action:none;user-select:none;cursor:grab}.cal32-moving{background:var(--paper);outline:1px solid var(--accent);opacity:.85}
.cal32-drop-before{box-shadow:0 -2px var(--accent)}.cal32-moving{position:relative;z-index:2}
@media(min-width:800px){.cal32-sheet{max-width:600px;left:50%;right:auto;transform:translateX(-50%)}}
.cal32-grip{font-size:0!important}.cal32-grip::before{content:'';display:inline-block;width:12px;height:18px;background:radial-gradient(circle,var(--muted) 1.6px,transparent 2px) 0 0/6px 6px;vertical-align:middle}
