.ap-planner-wrapper{--ap-bg-light:#fffafb;--ap-card-bg:#ffffff;--ap-border-color:#e2e8f0;--ap-text-primary:#1e293b;--ap-text-secondary:#475569;--ap-accent-coral:#f43f5e;--ap-accent-rose:#fda4af;--ap-status-on-track:#10b981;--ap-status-on-track-bg:#ecfdf5;--ap-status-tight:#f59e0b;--ap-status-tight-bg:#fffbeb;--ap-status-urgent:#ef4444;--ap-status-urgent-bg:#fef2f2;width:100%;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;box-sizing:border-box;-webkit-tap-highlight-color:#fff0}.ap-planner{width:100%;max-width:620px;color:var(--ap-text-primary)}.ap-planner *{box-sizing:border-box;max-width:100%}.ap-header{text-align:center;margin-bottom:28px}.ap-title{font-size:2.2rem;background:linear-gradient(135deg,var(--ap-accent-coral) 0%,var(--ap-accent-rose) 100%);-webkit-background-clip:text;-webkit-text-fill-color:#fff0;margin:0 0 8px 0;font-weight:800;letter-spacing:-.5px}.ap-subtitle{color:var(--ap-text-secondary);margin:0;font-size:.95rem;line-height:1.5}.ap-card{background:radial-gradient(circle at 10% 20%,rgb(244 63 94 / .05) 0%,transparent 50%),radial-gradient(circle at 90% 80%,rgb(253 164 175 / .05) 0%,transparent 50%),#fafaf9;border:1px solid var(--ap-border-color);border-radius:20px;padding:28px 10px}.ap-form{display:grid;grid-template-columns:2fr 1.5fr;gap:16px;margin-bottom:24px}.ap-form-full{grid-column:span 2}@media (max-width:520px){.ap-form{grid-template-columns:1fr}.ap-form-full{grid-column:span 1}}.ap-form-group{display:flex;flex-direction:column;gap:6px}.ap-form-group label{font-size:.75rem;font-weight:700;color:var(--ap-text-secondary);text-transform:uppercase;letter-spacing:.75px}.ap-planner-wrapper input,.ap-planner-wrapper select{width:100%;padding:10px 14px;border:1px solid var(--ap-border-color);border-radius:10px;font-size:.9rem;font-weight:600;color:var(--ap-text-primary);background:#f8fafc;outline:none;transition:all 0.25s ease}.ap-planner-wrapper input:focus,.ap-planner-wrapper select:focus{border-color:var(--ap-accent-coral);background:#fff;box-shadow:0 0 0 3px rgb(244 63 94 / .15)}.ap-custom-milestone-section{border-top:1px dashed var(--ap-border-color);padding-top:20px;margin-top:24px;margin-bottom:28px}.ap-custom-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:flex-end}.ap-custom-full{grid-column:span 2}@media (max-width:520px){.ap-custom-form{grid-template-columns:1fr}.ap-custom-full{grid-column:span 1}}.ap-planner-wrapper .ap-add-btn{background:linear-gradient(135deg,var(--ap-accent-coral) 0%,var(--ap-accent-rose) 100%)!important;color:#ffffff!important;border:none!important;padding:10px 18px!important;border-radius:10px!important;font-size:0.9rem!important;font-weight:700!important;cursor:pointer!important;transition:opacity 0.2s!important;white-space:nowrap;text-transform:none!important;letter-spacing:normal!important;width:100%}.ap-planner-wrapper .ap-add-btn:hover{opacity:0.9!important}.ap-planner-wrapper .ap-add-btn:active{transform:scale(.98)}.ap-summary-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;background:#f8fafc;border:1px solid var(--ap-border-color);border-radius:16px;padding:18px;margin-bottom:28px;align-items:center}@media (max-width:480px){.ap-summary-grid{grid-template-columns:1fr}}.ap-summary-left{display:flex;flex-direction:column;gap:4px}.ap-days-out{font-size:1rem;font-weight:800;color:var(--ap-text-primary);line-height:1.1}.ap-pace-badge{padding:4px 10px;border-radius:30px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.75px;width:fit-content;margin-top:4px}.ap-progress-container{display:flex;flex-direction:column;gap:6px}.ap-progress-text{display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;color:var(--ap-text-secondary)}.ap-progress-track{width:100%;height:8px;background:#e2e8f0;border-radius:10px;overflow:hidden}.ap-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--ap-accent-coral),var(--ap-accent-rose));border-radius:10px;transition:width 0.3s ease}.ap-timeline-section{border-top:1px solid var(--ap-border-color);padding-top:20px}.ap-timeline-title{font-size:.8rem;font-weight:800;color:var(--ap-text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.ap-timeline{position:relative;padding-left:28px}.ap-timeline::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e2e8f0}.ap-timeline-item{position:relative;margin-bottom:24px;display:flex;align-items:flex-start;gap:16px;justify-content:space-between}.ap-timeline-item:last-child{margin-bottom:0}.ap-timeline-item::before{content:'';position:absolute;left:-24px;top:4px;width:10px;height:10px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;z-index:2;transition:background 0.25s,border-color 0.25s}.ap-timeline-item.completed::before{background:var(--ap-accent-coral);box-shadow:0 0 0 3px rgb(244 63 94 / .15)}.ap-checkbox{padding:0;flex:0 0 18px;width:18px;height:18px;accent-color:var(--ap-accent-coral);cursor:pointer;margin-top:2px}.ap-item-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ap-item-title{font-weight:700;font-size:.9rem;color:var(--ap-text-primary);transition:color 0.2s}.ap-timeline-item.completed .ap-item-title{text-decoration:line-through;color:var(--ap-text-secondary)}.ap-item-desc{font-size:.8rem;color:var(--ap-text-secondary);line-height:1.4}.ap-item-date{font-size:.75rem;font-weight:800;color:var(--ap-accent-coral);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.ap-delete-milestone-btn{background:none;border:none;color:var(--ap-status-urgent);font-size:1.2rem;font-weight:700;cursor:pointer;padding:0 4px;margin-left:auto;transition:transform 0.15s;line-height:1;flex-shrink:0}.ap-delete-milestone-btn:hover{transform:scale(1.2)}.ap-empty-state{text-align:center;padding:24px;border:1px dashed var(--ap-border-color);border-radius:12px;color:var(--ap-text-secondary);font-size:.9rem;font-weight:500}.ap-error-banner{padding:12px;border-radius:10px;font-size:.85rem;font-weight:600;text-align:center;background:var(--ap-status-urgent-bg);color:var(--ap-status-urgent);border:1px solid rgb(239 68 68 / .15);margin-bottom:20px}.ap-helper-text{margin:10px 0 0;padding:10px;font-size:.7rem;line-height:1.5;color:var(--ap-text-secondary);background:rgb(244 63 94 / .05);border-left:3px solid var(--ap-accent-coral);border-radius:8px}