/* Compact calendar controls deliberately use plain surfaces, not decorative frames. */
body.atlas-calendar-open #main.cal-page{border:0!important;outline:0!important;box-shadow:none!important;padding:4px 8px 20px!important}
#main.cal-page .cal-head{gap:6px;flex-wrap:nowrap;margin:0 0 2px}
#main.cal-page .cal-head h1{font-size:16px;margin:0}
#main.cal-page :is(.cal-head,.cal-controls) button{min-height:36px;height:36px;padding:5px 9px;font-size:13px;border-radius:8px}
#main.cal-page .cal-controls{flex-wrap:nowrap;gap:6px;margin-bottom:4px}
#main.cal-page .cal29-month-title{flex:1;text-align:left;background:none;border:0;font-size:20px;font-weight:750;color:var(--ink)}
#main.cal-page .cal-controls .cal29-month-title{font-size:20px;height:38px}
#main.cal-page .cal29-overlay{padding:0 6px;margin:0 0 5px;border:0;background:none;box-shadow:none;border-radius:0}
#main.cal-page .cal29-overlay summary{padding:6px 0;font-size:12px;min-height:28px}
#main.cal-page .cal-body{gap:10px}
#main.cal-page .cal-grid{border:0;grid-auto-rows:var(--cal-row-height,110px)}
#main.cal-page .cal-cell{min-height:0;padding:2px 1px;border:0;border-top:1px solid color-mix(in srgb,var(--line) 45%,transparent);background:none;overflow:hidden}
#main.cal-page .cal-cell.cal-selected{outline:0;background:color-mix(in srgb,var(--ink) 5%,transparent)}
#main.cal-page .cal-weekday{padding:3px 0;font-size:11px}
#main.cal-page .cal-day-button{min-height:29px;height:29px;gap:0;font-size:12px;line-height:15px}
#main.cal-page .cal-day-button strong{font-weight:500}
#main.cal-page .cal-lunar{font-size:9px;line-height:12px}
#main.cal-page .cal-day-button .cal-festival+span{display:none}
#main.cal-page .cal-day-button>span:nth-of-type(2){display:none}
#main.cal-page .cal29-today strong{background:var(--ink);color:var(--paper);border-radius:20px;min-width:18px}
#main.cal-page .cal-event{min-height:14px;height:14px;line-height:14px;font-size:10px;padding:0 2px;margin-top:1px;border-radius:2px;border-left-width:2px}
#main.cal-page .cal-more{min-height:14px;line-height:14px;font-size:9px;padding:0 2px}
#main.cal-page .cal-agenda h2{font-size:14px;margin:8px 0}
#main.cal-page .cal-item{padding:9px 10px;margin:5px 0;gap:3px;font-size:14px;border-radius:8px}
#main.cal-page .cal-notice{font-size:11px;margin:6px 0}
/* Reset the intrinsic width of WebKit native date/time editors, including shared forms. */
#modal input:is([type=date],[type=time],[type=datetime-local]),#main input:is([type=date],[type=time],[type=datetime-local]){box-sizing:border-box;min-inline-size:0!important;max-inline-size:100%!important;width:100%;padding-inline:6px;overflow:hidden}
#modal input::-webkit-date-and-time-value{text-align:left;min-width:0}
#modal.r10-operation-page :is(.form-grid,.ws-editor){min-width:0}
#modal.r10-operation-page :is(.form-grid label,.date-control){min-width:0;max-width:100%}
#modal.r10-operation-page .form-grid{gap:8px}
#modal.r10-operation-page #modal-body{padding:12px 14px 16px}
#modal.r10-operation-page #modal-body :is(p,h3){margin-block:9px}
#modal.cal29-modal #modal-body{font-size:14px;line-height:1.45;max-width:760px;padding:12px 16px 18px}
#modal.cal29-modal :is(header,footer){padding:10px 16px}
#modal.cal29-modal header h2{font-size:20px}
#modal.cal29-modal #modal-close{width:36px;height:36px;min-height:36px;padding:0;border:0;outline:0;box-shadow:none;background:none}
#modal.cal29-modal .cal-editor{display:block;max-width:none}
#modal.cal29-modal .cal-editor>.form-grid{display:flex;flex-direction:column;gap:0}
#modal.cal29-modal .cal-editor label{display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:4px;margin:0}
#modal.cal29-modal .cal-editor :is(input,select,textarea){box-sizing:border-box;min-width:0!important;max-width:100%;font-size:16px;min-height:36px;padding:6px 8px;border-radius:6px}
#modal.cal29-modal .cal-editor>label:first-of-type input{font-size:21px;font-weight:650;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;margin-bottom:8px}
#modal.cal29-modal .cal-editor .cal29-switch{flex-direction:row;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
#modal.cal29-modal .cal-editor .cal29-switch{flex-direction:row-reverse}
#modal.cal29-modal .cal-editor input[type=checkbox]{width:20px!important;height:20px;min-height:20px;padding:0;flex:none}
#modal.cal29-modal .cal-editor .cal29-date-row{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(85px,.6fr);align-items:center;gap:6px;padding:7px 0;border-bottom:1px solid var(--line)}
#modal.cal29-modal .cal29-date-row label{min-width:0;overflow:hidden}
#modal.cal29-modal .cal29-date-row input{height:36px;width:100%;font-size:14px}
#modal.cal29-modal .cal-editor :is(details,.cal-full-field){margin:0;padding:7px 0;border-bottom:1px solid var(--line)}
#modal.cal29-modal summary{font-size:14px;min-height:32px;padding:5px 0;cursor:pointer}
#modal.cal29-modal .cal-editor textarea{min-height:95px}
#modal.cal29-modal .cal-editor .cal29-row-button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);padding:10px 0;font-size:14px;min-height:42px}
#modal.cal29-modal [hidden]{display:none!important}
#modal.cal29-detail .cal29-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
#modal.cal29-detail .cal29-time-pair>div{display:flex;flex-direction:column;gap:2px}
#modal.cal29-detail .cal29-time-pair small{font-size:12px;color:var(--muted)}
#modal.cal29-detail .cal29-time-pair strong{font-size:25px;font-weight:650}
#modal.cal29-detail .cal29-meta{margin:0}
#modal.cal29-detail .cal29-meta>div{display:flex;gap:12px;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
#modal.cal29-detail .cal29-meta dt{color:var(--muted);flex:none}
#modal.cal29-detail .cal29-meta dd{margin:0;text-align:right;font-size:13px;overflow-wrap:anywhere}
#modal.cal29-detail .cal-content{padding:10px 0;border:0;background:none;box-shadow:none;border-radius:0}
#modal.cal29-detail .cal-checklist{gap:0}
#modal.cal29-detail .cal-checklist label{font-size:14px;min-height:40px;border-bottom:1px solid var(--line)}
#modal.cal29-detail .cal-files{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
#modal.cal29-detail .cal-file{padding:8px;display:flex;flex-direction:column;gap:4px;font-size:12px;border-radius:8px}
#modal.cal29-detail .cal-file img{height:100px;width:100%;object-fit:contain}
.cal29-sheet{width:min(560px,calc(100vw - 16px));max-height:80dvh;position:fixed;inset:auto 0 0;margin:0 auto;border-radius:18px 18px 0 0;background:var(--paper);color:var(--ink);padding:0;overflow:auto}
.cal29-sheet[open]{top:auto!important;bottom:0!important;max-height:80dvh!important}
.cal29-sheet.cal29-picker[open]{top:calc(var(--viewport-top,0px) + 92px)!important;bottom:auto!important;border-radius:16px}
.cal29-sheet header{position:sticky;top:0;align-items:center;background:var(--paper);padding:12px 16px}
.cal29-sheet button{min-height:36px;background:var(--surface-2,var(--bg));color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 10px}
.cal29-sheet footer{position:sticky;bottom:0;background:var(--paper);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.cal29-todos{padding:8px 12px;max-height:52dvh;overflow:auto}
.cal29-todo-row{display:flex;align-items:center;gap:3px;margin:5px 0;padding:5px;background:var(--bg);border-radius:8px}
.cal29-todo-row input{min-width:0;width:0;flex:1;font-size:16px;padding:5px;border:0;border-radius:4px}
.cal29-todo-row button{padding:3px 6px;min-width:28px}
.cal29-grip{touch-action:none;cursor:grab}
.cal29-moving{opacity:.5}
.cal29-live-sheet .cal-checklist{padding:8px 16px 24px;gap:0}
.cal29-live-sheet .cal-check{padding:8px 0;min-height:40px;border-bottom:1px solid var(--line);font-size:16px}
.cal29-wheels{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}
.cal29-wheels select{height:200px;text-align:center;font-size:23px;line-height:36px;background:var(--bg);color:var(--ink);border:0;border-radius:12px;width:100%}
.cal29-wheels option{padding:5px}
@media(min-width:1100px){#main.cal-page .cal-grid{grid-auto-rows:minmax(115px,calc((100svh - 260px)/var(--cal-weeks,5)))}#main.cal-page .cal-event{font-size:12px;height:17px;line-height:17px}}
@media(max-height:500px){#main.cal-page .cal-grid{grid-auto-rows:112px}}
