:root{
  --pip-primary:#0a5a73;
  --pip-sunday:#ffeded;
  --pip-weekday:#eef5ff;
}
.pip-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu}
.pip-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.pip-btn{background:var(--pip-primary);color:#fff;border:none;border-radius:10px;padding:8px 12px;cursor:pointer}
.pip-range{margin-left:auto;margin-right:8px}
.pip-day{background:#f6f8fb;border:1px solid #dfe3ea;border-radius:14px;padding:14px}
.pip-day.sunday{box-shadow:0 0 0 2px var(--pip-sunday) inset}
.pip-day.weekday{box-shadow:0 0 0 2px var(--pip-weekday) inset}
.pip-day-h{font-weight:600;margin-bottom:8px;color:#28323d;display:flex;align-items:center;gap:8px}
.pip-day-h .right{margin-left:auto;display:flex;align-items:center;gap:8px}
.pip-hour .time{background:#0a5a73;color:#fff;padding:8px 14px;border-radius:12px;min-width:64px;text-align:center;font-weight:600}
.pip-bubble{background:#fff;border:1px solid #e3e7ee;border-radius:16px;padding:12px 14px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin:8px 0}
.pip-bubble-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.pip-olist{display:flex;flex-direction:column;gap:8px;counter-reset:intc}
.pip-olist .pip-int{position:relative;padding-left:36px;display:flex;align-items:flex-start;gap:10px}
.pip-olist .pip-int::before{content: counter(intc) ". ";counter-increment:intc;position:absolute;left:8px;top:10px;color:#55606d;font-weight:600}
.pip-int .pill{flex:1;background:#fff;border:1px solid #dfe3ea;border-radius:12px;padding:10px 12px;white-space:normal;word-break:break-word;line-height:1.45}
.pip-int textarea.pill{min-height:44px;height:auto;resize:none;overflow:hidden}
.pip-wrap .pip-handle{cursor:grab; user-select:none; background:#f0f3f6;border:1px dashed #c0c7d1;border-radius:8px;padding:8px 6px}
.pip-icon{border:none;background:#fff;border:1px solid #d7dce2;border-radius:14px;cursor:pointer;padding:6px 10px}
.pip-add-center{display:flex;justify-content:center;margin:10px 0 0}
.pip-public-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}
.pip-public-header #pip-public-info{font-weight:700}
.pip-wrap .pip-olist .pip-int{display:grid;grid-template-columns: 28px 1fr auto auto;grid-column-gap:10px;align-items:start}
.pip-olist .pip-int .pill{width:100%}
.pip-wrap .pip-int textarea.pill{min-width:100%}
.pip-icon{background:#fff;border:1px solid #b9c3cf;color:#1d2833;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.pip-icon:hover{background:#f3f6fb}
.pip-btn{background:linear-gradient(#2563eb,#1e40af); border:none; color:#fff; border-radius:12px; padding:10px 14px; font-weight:600; letter-spacing:.2px; box-shadow:0 2px 6px rgba(0,0,0,.12);}
.pip-btn:hover{filter:brightness(1.05)}
.pip-btn:active{transform:translateY(1px)}
.pip-save{background:linear-gradient(#16a34a,#15803d) !important}
.pip-today{background:linear-gradient(#0ea5e9,#0369a1) !important}
.pip-hour .time, .pip-bubble .time{background:var(--pip-primary);}
.pip-day{background:#f7f9fc}
.pip-day.sunday{box-shadow:0 0 0 3px var(--pip-sunday) inset}
.pip-day.weekday{box-shadow:0 0 0 3px var(--pip-weekday) inset}
.pip-day-h .title{font-weight:700}
.pip-day.weekday .title{color:var(--pip-dayname-weekday-color); font-size:var(--pip-dayname-weekday-size);}
.pip-day.sunday .title{color:var(--pip-dayname-holiday-color); font-size:var(--pip-dayname-holiday-size);}
.pip-day-h .type-toggle{display:inline-flex; gap:6px; margin-left:auto; align-items:center}
.pip-switch{display:inline-flex; border:1px solid #cfd6de; border-radius:10px; overflow:hidden}
.pip-switch button{background:#fff; border:none; padding:6px 10px; cursor:pointer}
.pip-switch button.active{background:#e8eef9; font-weight:700}
.pip-day.sunday{box-shadow:0 0 0 3px var(--pip-holiday-border) inset}
.pip-card.sunday{box-shadow:0 0 0 3px var(--pip-holiday-border) inset}
.pip-day.weekday{box-shadow:0 0 0 3px var(--pip-weekday) inset}
.pip-card.weekday{box-shadow:0 0 0 3px var(--pip-weekday) inset}
.pip-day-h .title{font-weight:700}
.pip-day.sunday .title{color:var(--pip-dayname-holiday-color); font-size:var(--pip-dayname-holiday-size); font-weight:var(--pip-holiday-font-weight); font-variant: var(--pip-holiday-font-variant);}
.pip-day.weekday .title{color:var(--pip-dayname-weekday-color); font-size:var(--pip-dayname-weekday-size);}
.pip-card .title{font-weight:700; padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid #e3e7ee;}
.pip-card.sunday .title{color:var(--pip-dayname-holiday-color); font-size:var(--pip-dayname-holiday-size); font-weight:var(--pip-holiday-font-weight); font-variant: var(--pip-holiday-font-variant);}
.pip-card.weekday .title{color:var(--pip-dayname-weekday-color); font-size:var(--pip-dayname-weekday-size);}
.pip-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.pip-btn{background:#1f4fff;color:#fff;border:none;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:600}
.pip-btn:hover{filter:brightness(1.05)}
.pip-range{margin-left:auto}
.pip-olist .pip-int{display:grid;grid-template-columns:28px 1fr auto auto;gap:10px;align-items:start}
.pip-handle{cursor:grab; user-select:none; background:#f0f3f6;border:1px dashed #c0c7d1;border-radius:8px;padding:8px 6px; text-align:center}
.pip-int textarea.pill{min-height:44px;height:auto;resize:none;overflow:hidden;width:100%}
.pip-add-center{display:flex;justify-content:center;margin:10px 0 0}
.pip-icon{border:1px solid #b9c3cf;background:#fff;color:#1d2833;border-radius:12px;padding:6px 10px;cursor:pointer}
.pip-bubble .time{background:var(--pip-primary);color:#fff;padding:8px 14px;border-radius:12px;font-weight:700;min-width:64px;text-align:center}
.pip-card{background:#fff;border:1px solid #e3e7ee;border-radius:16px;padding:12px 14px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin:10px 0}
.pip-bubble{background:#fff;border:1px solid #e3e7ee;border-radius:14px;padding:10px 12px;margin:8px 0}
.pip-bubble .time{background:var(--pip-primary);color:#fff;border-radius:10px;padding:6px 10px;display:inline-block;font-weight:700;min-width:56px;text-align:center}
.pip-olist{display:flex;flex-direction:column;gap:8px;counter-reset:intc}
.pip-olist .pip-int{position:relative;padding-left:0}
.pip-olist .pip-int .pill{background:#fff;border:1px solid #dfe3ea;border-radius:10px;padding:8px 10px;white-space:normal;word-break:break-word;line-height:1.45}
.pip-public{width:100%}
.pip-public .pip-card{width:100%}
.pip-public.pip-fullbleed{position:relative; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important}
.pip-public .pip-olist .pip-int{display:block}
.pip-public .pip-olist .pip-int .pill{display:block;width:100%;white-space:normal;word-break:break-word}
.pip-public .pip-olist{display:flex;flex-direction:column;gap:8px;counter-reset:intc}
.pip-public .pip-olist .pip-int{position:relative;padding-left:2.2em}
.pip-public .pip-olist .pip-int::before{ content: counter(intc) "."; counter-increment:intc; position:absolute; left:.4em; top:50%; transform:translateY(-50%); font-weight:700; color:#667085; }
.pip-public .pip-olist .pip-int .pill{margin:0}
.pip-card .pip-empty{border:1px dashed #d6dde8;border-radius:10px;padding:10px 12px;color:#667085;background:#fbfdff}
.pip-public-header{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.pip-calhost{position:relative}
.pip-cal{position:absolute;z-index:20;background:#fff;border:1px solid #e3e7ee;border-radius:14px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);margin-top:6px}
.pip-cal-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.pip-cal-title{font-weight:700;flex:1;text-transform:capitalize}
.pip-cal-grid{display:flex;flex-direction:column;gap:6px}
.pip-cal-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.pip-cal-row.heads > *{text-align:center;font-weight:600;color:#667085}
.pip-cal-cell{background:#f8fbff;border:1px solid #e2e8f0;border-radius:10px;padding:6px 0;font-weight:600;cursor:pointer}
.pip-cal-cell.muted{opacity:.5}
.pip-cal-row.active-week .pip-cal-cell{background:#fff7e6;border-color:#f5c97a}
.pip-cal{background:#ffffff;border:1px solid #dfe6f2;box-shadow:0 12px 28px rgba(17,24,39,.14);}
.pip-cal-h .pip-icon{background:#f1f5ff;border:1px solid #c7d2fe;border-radius:12px;padding:6px 10px;color:#1e3a8a;font-weight:700}
.pip-cal-h .pip-icon:hover{background:#e6eeff}
.pip-cal-title{color:#0f172a}
.pip-cal-cell{background:#f8fbff;border:1px solid #dbe3f0;color:#0f172a}
.pip-cal-cell:hover{background:#eef5ff;border-color:#c9d6ef}
.pip-cal-cell.muted{opacity:.45}
.pip-cal-row.active-week .pip-cal-cell{background:#fff3d6;border-color:#f3c870;box-shadow:inset 0 0 0 1px #f1b94a}
.pip-btn.pip-today{background:linear-gradient(#3b82f6,#1d4ed8)!important}
.pip-wrap .pip-olist .pip-int{grid-template-columns: 28px 1fr auto auto}
.pip-wrap .pip-handle{margin-right:6px}
.pip-wrap .pip-olist{counter-reset: none !important}
.pip-wrap .pip-olist .pip-int{padding-left:0 !important}
.pip-wrap .pip-olist .pip-int::before{content:none !important}
.pip-ann-wrap .pip-header { border-bottom: 1px solid #dce1e7; padding-bottom: 10px; }
.pip-ann-editor { margin-top: 20px; background: #fdfdfd; border: 1px solid #dce1e7; border-radius: 8px; padding: 0 20px 20px; }
.pip-ann-meta { padding: 16px 0; border-bottom: 1px solid #e7eaf0; margin-bottom: 16px; }
.pip-ann-meta h2 { margin: 0 0 10px; padding: 0; }
.pip-ann-label { font-size: 16px; padding: 8px 12px; border-radius: 8px; border: 1px solid #c9d2de; width: 100%; max-width: 500px; }
.pip-ann-section { margin-bottom: 24px; }
.pip-ann-section h3 { margin-top: 0; color: #2c3338; }
.pip-ann-content { line-height: 1.6; }
.pip-bubble-label { background-color: var(--pip-ann-bubble-label-bg); color: var(--pip-ann-bubble-label-text); padding: 6px 12px; border-radius: 10px; font-weight: 700; font-size: 14px; display: inline-block; }
.pip-ann-content { padding-top: 8px; }
.pip-public .pip-card .pip-bubble-announcement { background: var(--pip-ann-bubble-bg); }