/* ToolCMS V3.1.82 (c) ToolWorld https://www.toolworld.cn/ */
*{box-sizing:border-box;margin:0;padding:0}
body{margin:0;padding:0;font-family:inherit;background:transparent;color:var(--text-1,#333);font-size:14px;line-height:1.6}
.life-period-container{max-width:100%;margin:0 auto;padding:16px}
.life-period-form{display:flex;gap:12px;background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius,14px);padding:16px;flex-wrap:wrap}
.life-period-field{flex:1;min-width:130px}
.life-period-label{display:block;font-weight:600;font-size:13px;color:var(--text-2,#555);margin-bottom:7px}
.life-period-input{width:100%;padding:9px 11px;border:1px solid var(--border,#d1d5db);border-radius:var(--radius-sm,8px);font-size:14px;background:var(--bg-card,#fff);color:var(--text-1,#333);outline:none}
.life-period-input:focus{border-color:#ec4899}
.life-period-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.life-period-btn{padding:8px 16px;border:1px solid var(--border,#d1d5db);border-radius:var(--radius-sm,8px);background:var(--bg-card,#fff);color:var(--text-1,#333);cursor:pointer;font-size:13px}
.life-period-btn:hover{background:var(--primary-light)}

.life-period-btn-primary{background:#ec4899;color:#fff;border-color:#ec4899;font-weight:700}
.life-period-btn-primary:hover{background:var(--primary-light);color:var(--primary)}

.life-period-message{margin-bottom:10px;padding:8px 11px;border-radius:var(--radius-sm,8px);font-size:13px;display:none}
.life-period-message.show{display:block}
.life-period-message.error{background:var(--error-bg,#fee2e2);color:var(--error,#991b1b)}
.life-period-message.success{background:rgba(236,72,153,.1);color:#be185d}
.life-period-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.life-period-chip{flex:1;min-width:140px;background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius,12px);padding:12px 14px;text-align:center}
.life-period-chip b{display:block;font-size:18px;color:#be185d;margin-top:3px}
.life-period-chip span{font-size:12px;color:var(--text-2,#666)}
.life-period-calbox{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius,14px);padding:16px}
.life-period-calhead{text-align:center;font-weight:700;font-size:15px;margin-bottom:10px}
.life-period-weekrow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:var(--text-3,#94a3b8);margin-bottom:6px}
.life-period-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.life-period-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:13px;background:var(--bg-soft,#f8fafc);color:var(--text-1,#333)}
.life-period-cell.blank{background:transparent}
.life-period-cell.p{background:#fecdd3;color:#9f1239;font-weight:700}
.life-period-cell.f{background:#fde68a;color:#92400e}
.life-period-cell.o{background:var(--primary);color:var(--primary-hover);font-weight:700;border:2px solid var(--primary)}
.life-period-cell.s{background:#d1fae5;color:#065f46}
.life-period-cell.today{outline:2px solid var(--text-1,#333)}
.life-period-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--text-2,#555);align-items:center}
.life-period-dot{width:11px;height:11px;border-radius:3px;display:inline-block;margin-right:4px}
.life-period-dot-p{background:#fecdd3}
.life-period-dot-f{background:#fde68a}
.life-period-dot-o{background:var(--primary)}
.life-period-dot-s{background:#d1fae5}
.life-period-note{margin-top:14px;font-size:12px;color:var(--text-3,#94a3b8);line-height:1.6;padding:10px 12px;background:var(--bg-soft,#f8fafc);border-radius:var(--radius-sm,8px)}
.life-period-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-light,#f1f5f9);font-size:12px;color:var(--text-3,#94a3b8)}
.life-period-footer-right{margin-left:auto}
@media(max-width:640px){.life-period-form{flex-direction:column}.life-period-cell{font-size:11px}.life-period-footer{flex-direction:column;gap:4px;text-align:center}}
