body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.calendar-app{box-sizing:border-box;color:#1d2939;background:#f5f7fb;min-height:100vh;padding:24px}.app-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.delete-mode-toggle{color:#b42318;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff4f3;border:1px solid #fda29b;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;display:inline-flex}.delete-mode-toggle input{accent-color:#d92d20}.month-switch{align-items:center;gap:12px;display:flex}h1{margin:0;font-size:24px}button{color:#1d2939;cursor:pointer;background:#e4e7ec;border:none;border-radius:10px;padding:8px 14px}.import-btn{color:#1d2939;cursor:pointer;background:#e4e7ec;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.import-btn input{display:none}.lock-btn{color:#fff;cursor:pointer;background:#0ba5ec;border:none;border-radius:10px;padding:8px 14px;font-size:14px}.secondary-btn{color:#344054;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:8px 14px;font-size:14px}.create-btn{color:#fff;background:#1570ef}.staff-tip{color:#344054;text-align:left;margin:0 0 12px}.staff-relink-banner{color:#93370d;text-align:left;background:#fffaeb;border:1px solid #fec84b;border-radius:10px;margin:0 0 12px;padding:10px 14px;font-size:14px;line-height:1.5}.calendar-board{background:#d0d5dd;border:1px solid #d0d5dd}.weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.weekday{text-align:center;background:#f9fafb;padding:12px 0;font-weight:600}.week-block{margin-top:1px}.week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.day-cell{box-sizing:border-box;background:#fff;min-height:76px;padding:8px}.day-cell.muted{color:#98a2b3;background:#f8fafc}.day-number{margin-bottom:6px;font-size:12px}.project-line{color:#1d4ed8;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#bfdbfe;border:none;border-radius:0;justify-content:flex-start;align-items:center;height:24px;padding-inline:10px;font-size:12px;display:flex;position:absolute;overflow:hidden}.project-line.start{border-top-left-radius:8px;border-bottom-left-radius:8px}.project-line.end{border-top-right-radius:8px;border-bottom-right-radius:8px}.project-line.continued-left{border-top-left-radius:2px;border-bottom-left-radius:2px}.project-line.continued-right{border-top-right-radius:2px;border-bottom-right-radius:2px}.project-line.continued-left:before{content:"<";color:#1d4ed8;margin-right:4px}.project-line.continued-right:after{content:">";color:#1d4ed8;margin-left:4px}.project-line.delete-mode{color:#b42318;outline-offset:1px;background:#fee4e2;outline:2px dashed #f04438}.project-line.delete-mode.continued-left:before,.project-line.delete-mode.continued-right:after{color:#b42318}.week-lines{background:#fff;border-top:1px solid #eaecf0;position:relative}.modal-mask{background:#0f172a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.project-modal{background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:min(760px,100%);max-height:90vh;padding:20px;display:flex;overflow:auto}.project-modal label,.project-modal fieldset{flex-direction:column;gap:6px;display:flex}input[type=text],input:not([type]){border:1px solid #d0d5dd;border-radius:10px;padding:8px 10px}.date-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.switch-row{background:#f9fafb;border:1px solid #eaecf0;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}fieldset{border:1px solid #eaecf0;border-radius:10px;padding:10px 12px}.select-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;display:grid}.select-grid label{flex-direction:row;align-items:center}.picked-summary{background:#f9fafb;border:1px dashed #d0d5dd;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;font-size:14px;display:flex}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.danger-btn{color:#fff;cursor:pointer;background:#d92d20;border:none;border-radius:10px;margin-right:auto;padding:8px 14px}.details-modal .detail-item{line-height:1.6}@media (width<=768px){.calendar-app{padding:10px}.date-row,.select-grid{grid-template-columns:1fr}}
