@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&display=swap";:root{--bg: #f5f5f5;--border: #e0e0e0;--primary: #1a1a1a;--primary-hover: #333333;--accent: #e8654a;--accent-light: #f0826e;--text: #111111;--muted: #666666;--surface: #ffffff;--font-heading: "DM Sans", system-ui, sans-serif;--font-label: "DM Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--radius: 2px;--shadow: 0 2px 24px rgba(0, 0, 0, .06);--shadow-hover: 0 8px 40px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:300;font-size:15px;line-height:1.6;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:var(--primary);padding:0 2.5rem;border-bottom:1px solid var(--primary-hover)}.header-inner{max-width:1100px;margin:0 auto;height:72px;display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;flex-direction:column;line-height:1;gap:2px}.wordmark-script{font-family:var(--font-heading);font-style:italic;font-weight:300;font-size:1.65rem;color:var(--accent-light);letter-spacing:.02em}.wordmark-sub{font-family:var(--font-label);font-weight:300;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:#ffffff8c}.btn-primary{font-family:var(--font-body);font-weight:400;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--primary);background:transparent;border:1px solid var(--accent);padding:.55rem 1.4rem;cursor:pointer;border-radius:var(--radius);transition:background .2s,color .2s}.btn-primary:hover{background:var(--accent);color:var(--primary)}.app-main{flex:1;min-width:0;max-width:1100px;padding:3rem 2.5rem;display:flex;flex-direction:column;gap:3rem}.section-title{font-family:var(--font-heading);font-weight:300;font-size:2rem;color:var(--primary);letter-spacing:.02em;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.page-heading{font-family:var(--font-heading);font-weight:300;font-size:2.5rem;color:var(--primary);letter-spacing:.02em;line-height:1.2}.page-eyebrow{font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .25rem}.new-event-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 2.5rem;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr auto;gap:1.25rem;align-items:end;max-width:760px}.field{display:flex;flex-direction:column;gap:0}.field label{display:block;font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:.95rem;font-weight:300;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .85rem;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary-hover);box-shadow:0 0 0 3px #0000000f}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath fill='%23666666' d='M0 0l4 5 4-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2rem;cursor:pointer}.field textarea{resize:none;min-height:4.5rem}.new-event-form>button[type=submit]{font-family:var(--font-body);font-weight:500;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--surface);background:var(--primary);border:none;border-radius:var(--radius);padding:.72rem 1.6rem;cursor:pointer;transition:background .2s;white-space:nowrap}.new-event-form>button[type=submit]:hover{background:var(--primary-hover)}.event-list-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.event-list h2{font-family:var(--font-heading);font-weight:300;font-size:2rem;color:var(--primary)}.event-list ul{list-style:none;display:flex;flex-direction:column;gap:.75rem}.event-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s;animation:fadeIn .25s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.event-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.event-card>a{display:flex;width:100%;align-items:center;justify-content:space-between;text-decoration:none;color:inherit}.event-name{font-family:var(--font-heading);font-size:1.25rem;font-weight:400;color:var(--text);letter-spacing:.01em}.event-date{font-family:var(--font-body);font-size:.8rem;font-weight:300;letter-spacing:.1em;color:var(--muted)}.empty-state{font-family:var(--font-heading);font-style:italic;font-size:1.1rem;color:var(--muted);padding:2.5rem 0;text-align:center;border:1px dashed var(--border);border-radius:var(--radius)}.app-body{display:flex;flex:1}.hamburger-btn{display:none;background:none;border:none;color:var(--accent-light);cursor:pointer;padding:.25rem;margin-right:.75rem}.sidenav{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:2rem 0;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 72px)}.sidenav-links{display:flex;flex-direction:column}.sidenav-link{font-family:var(--font-body);font-size:.85rem;font-weight:400;color:var(--text);text-decoration:none;padding:.6rem 1.5rem;transition:color .15s,border-color .15s;border-left:3px solid transparent}.sidenav-link:hover{color:var(--primary)}.sidenav-link--active{color:var(--primary);border-left-color:var(--accent);font-weight:500}.sidenav-heading{font-family:var(--font-label);font-size:.65rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding:.25rem 1.5rem .5rem}.sidenav-event-link{font-weight:400}.sidenav-sublink{padding-left:2.25rem;font-size:.8rem}.sidenav-count{color:var(--muted);font-weight:400}.sidenav-event{display:flex;flex-direction:column;margin-top:.5rem}.countdown{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem}.countdown-number{font-family:var(--font-body);font-size:1.5rem;font-weight:500;color:var(--accent);line-height:1}.countdown-label{font-family:var(--font-label);font-size:.65rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:.15rem}.sidenav-footer{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.5rem 0;border-top:1px solid var(--border)}.sidenav-email{font-family:var(--font-body);font-size:.75rem;font-weight:300;color:var(--muted)}.sidenav-backdrop{display:none}@media (max-width: 640px){.new-event-form{grid-template-columns:1fr}.app-main{padding:2rem 1.25rem}.hamburger-btn{display:flex;align-items:center}.sidenav{position:fixed;top:0;left:0;bottom:0;z-index:100;min-height:100vh;transform:translate(-100%);transition:transform .25s ease;box-shadow:none}.sidenav--open{transform:translate(0);box-shadow:4px 0 24px #00000026}.sidenav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#0000004d}.header-inner{height:56px}.wordmark-script{font-size:1.35rem}.wordmark-sub{font-size:.5rem}.event-detail .form-row{flex-direction:column;gap:0}.vibe-tags{gap:.35rem}.vibe-tag{min-height:36px}}.event-detail{max-width:760px}.back-link{display:inline-block;font-family:var(--font-body);font-size:.7rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:2rem}.back-link:hover{text-decoration:underline}.event-detail .event-date{font-family:var(--font-heading);font-size:1.15rem;font-weight:300;letter-spacing:.02em;color:var(--primary);margin-top:.25rem;margin-bottom:2rem}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.event-detail section h2{font-family:var(--font-heading);font-weight:300;font-size:1.4rem;color:var(--primary)}.detail-nav{display:flex;align-items:center;gap:1.5rem;margin-bottom:2.5rem}.detail-nav-link{font-family:var(--font-body);font-size:.75rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--primary);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--accent);border-radius:var(--radius);transition:background .2s,color .2s}.detail-nav-link:hover{background:var(--accent);color:var(--primary)}.event-details-section{background:var(--surface);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem}.event-detail>section:not(.event-details-section){background:var(--surface);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem}.event-details-section h2{font-family:var(--font-heading);font-weight:300;font-size:1.4rem;color:var(--primary);margin-bottom:1.5rem}.event-details-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.event-details-header h2{margin:0}.event-details-card{display:flex;flex-direction:column;gap:1rem}.details-row{display:flex;gap:2rem}.details-field{display:flex;flex-direction:column;gap:.2rem;flex:1}.details-label{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.details-value{font-family:var(--font-body);font-size:.95rem;color:var(--text);white-space:pre-line}.details-empty{font-family:var(--font-body);font-size:.95rem;color:var(--muted);font-style:italic}.vibe-tag--readonly{cursor:default}.event-detail fieldset{border:none;padding:0;margin-bottom:1.75rem}.event-detail fieldset legend{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding-bottom:.5rem;border-bottom:1px solid var(--border);width:100%;margin-bottom:1rem}.event-detail .form-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;flex:1}.event-detail .form-field label{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.event-detail .form-field input,.event-detail .form-field select,.event-detail .form-field textarea{font-family:var(--font-body);font-size:.95rem;font-weight:300;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .65rem;transition:border-color .2s;width:100%}.event-detail .form-field input:focus,.event-detail .form-field select:focus,.event-detail .form-field textarea:focus{outline:none;border-color:var(--accent)}.event-detail .form-field input:disabled,.event-detail .form-field select:disabled,.event-detail .form-field textarea:disabled{opacity:.6;cursor:not-allowed}.event-detail .form-row{display:flex;gap:1rem;margin-bottom:.75rem}.event-detail .form-row .form-field{margin-bottom:0}.vibe-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.vibe-tag{display:inline-flex;align-items:center;gap:.35rem;background:var(--accent);color:#fff;font-family:var(--font-body);font-size:.7rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .65rem;border-radius:var(--radius)}.vibe-tag button{background:none;border:none;color:#fff;font-size:.85rem;cursor:pointer;padding:0;line-height:1;opacity:.8;transition:opacity .2s}.vibe-tag button:hover{opacity:1}.vibe-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.vibe-suggestion{font-family:var(--font-body);font-size:.65rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--primary);background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .75rem;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.vibe-suggestion:hover{border-color:var(--accent);background:var(--accent);color:#fff}.vibe-custom{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.vibe-custom input{font-family:var(--font-body);font-size:.95rem;font-weight:300;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .65rem;flex:1;transition:border-color .2s}.vibe-custom input:focus{outline:none;border-color:var(--accent)}.vibe-custom button{font-family:var(--font-body);font-size:.85rem;font-weight:400;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .85rem;cursor:pointer;transition:border-color .2s,color .2s}.vibe-custom button:hover{border-color:var(--accent);color:var(--accent)}.task-list{list-style:none}.task-card{display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.task-card:last-child{border-bottom:none}.task-card--header{border-bottom:2px solid var(--border);padding-bottom:.5rem}.task-card--header span{font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.task-due-date{font-family:var(--font-body);font-size:.8rem;font-weight:300;color:var(--muted);min-width:7rem;flex-shrink:0}.task-name{flex:1;font-family:var(--font-heading);font-size:1.1rem;color:var(--text)}.task-assignee{font-family:var(--font-body);font-size:.8rem;font-weight:300;color:var(--muted);min-width:7rem;flex-shrink:0;text-align:right}.task-status-header{min-width:7rem;text-align:center}.task-status{font-family:var(--font-body);font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;padding:5px 12px;border-radius:20px;min-width:7rem;text-align:center}.task-status--todo{background:var(--border);color:var(--muted)}.task-status--in_progress{background:#e8654a1f;color:var(--accent)}.task-status--done{background:#1a1a1a14;color:var(--primary)}select.task-status{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath fill='%23666666' d='M0 0l4 5 4-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:24px}select.task-status:focus{box-shadow:0 0 0 2px #00000026}.event-detail .task-section--overdue h2,.task-section--overdue .task-due-date{color:#c0392b}.task-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.task-header h1{margin-bottom:0}.task-header__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-top:.45rem}.task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 1.5rem;flex-wrap:wrap}.task-toolbar__filters{display:flex;align-items:center;gap:1rem}.task-toolbar__label{font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.task-toolbar__actions{display:flex;align-items:center;gap:.5rem}.more-menu{position:relative}.more-menu__dropdown{position:absolute;right:0;top:100%;margin-top:.25rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 2px 8px #00000014;min-width:180px;z-index:10}.more-menu__item{display:block;width:100%;padding:.6rem 1rem;font-family:var(--font-body);font-size:.85rem;color:var(--text);background:none;border:none;text-align:left;cursor:pointer}.more-menu__item:hover{background:var(--border)}.filter-checkbox{display:flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;cursor:pointer}.filter-checkbox--todo{color:var(--muted)}.filter-checkbox--in_progress{color:var(--accent)}.filter-checkbox--done{color:var(--primary)}.event-name-display,.event-name-edit{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.event-name-edit input{font-family:var(--font-heading);font-size:2rem;font-weight:300;color:var(--primary);letter-spacing:.02em;padding:.25rem .5rem}.btn-icon-edit{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--muted);display:flex;align-items:center;border-radius:var(--radius);transition:color .2s}.btn-icon-edit:hover{color:var(--primary)}.btn-text{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-body);font-size:.75rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .2s}.btn-text:hover{color:var(--text)}.btn-text--save:hover{color:var(--primary)}.timeline{max-width:900px}.timeline-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.timeline-header h1{margin-bottom:0}.timeline-header__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-top:.45rem}.btn-icon{background:none;border:1px solid var(--border);padding:.45rem;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:color .2s,border-color .2s}.btn-icon:hover{color:var(--accent);border-color:var(--accent)}.timeline h1{margin-bottom:1.5rem}.cal-grid-wrapper{position:relative}.cal-grid{display:grid;grid-template-columns:60px 1fr;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.cal-gutter{grid-column:1 / 2;font-family:var(--font-body);font-size:.7rem;font-weight:400;color:var(--muted);text-align:right;padding-right:.75rem;transform:translateY(-.5em);pointer-events:none}.cal-gridline{grid-column:2 / 3;border-top:1px solid var(--border);pointer-events:none}.cal-block{border-radius:var(--radius);padding:.4rem .5rem;overflow:hidden;display:flex;flex-direction:column;gap:.15rem;border-left:3px solid rgba(0,0,0,.15);box-shadow:0 1px 2px #00000014;transition:box-shadow .15s,opacity .15s;min-height:0}.cal-block:hover{box-shadow:0 2px 8px #00000026}.cal-block--dragging{box-shadow:0 4px 16px #0003}.cal-block__title{font-family:var(--font-heading);font-size:.85rem;color:#000c;line-height:1.3}.cal-block__location{font-weight:300;color:#00000080}.cal-now-line{grid-column:1 / -1;border-top:2px solid #e04040;pointer-events:none;z-index:50;position:relative}.cal-now-line:before{content:"";position:absolute;left:56px;top:-5px;width:8px;height:8px;background:#e04040;border-radius:50%}.cal-popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px #00000026;padding:1rem 1.25rem;width:300px;display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 2rem);overflow-y:auto}.cal-popover input,.cal-popover textarea,.cal-popover select{font-family:var(--font-body);font-size:.9rem;font-weight:300;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem;outline:none;width:100%;transition:border-color .2s,box-shadow .2s}.cal-popover input:focus,.cal-popover textarea:focus,.cal-popover select:focus{border-color:var(--primary-hover);box-shadow:0 0 0 3px #0000000f}.cal-popover textarea{resize:none;min-height:2.5rem}.cal-popover__label{display:block;font-family:var(--font-body);font-size:.6rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.2rem}.cal-popover__actions{display:flex;align-items:center;gap:1rem;margin-top:.25rem}.cal-color-swatches{display:flex;gap:.35rem;flex-wrap:wrap}.cal-color-swatch{width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid rgba(0,0,0,.15);cursor:pointer;padding:0;transition:box-shadow .15s}.cal-color-swatch:hover{box-shadow:0 0 0 2px #00000040}.cal-color-swatch--selected{box-shadow:inset 0 0 0 2px #00000080}.cal-input-error{border-color:#a04040!important}.cal-input-error:focus{border-color:#a04040!important;box-shadow:0 0 0 3px #a040401a!important}.cal-error-text{font-family:var(--font-body);font-size:.7rem;font-weight:400;color:#a04040;margin-top:.15rem}.cal-time-row{display:flex;align-items:center;gap:.4rem}.cal-time-row input{flex:1;min-width:0}.cal-ampm-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;flex-shrink:0}.cal-ampm-toggle button{font-family:var(--font-body);font-size:.65rem;font-weight:400;letter-spacing:.05em;padding:.35rem .5rem;border:none;background:var(--bg);color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.cal-ampm-toggle button:first-child{border-right:1px solid var(--border)}.cal-ampm-toggle button:hover{color:var(--text)}.cal-ampm-toggle button.active{background:var(--text);color:var(--surface);font-weight:500}.cal-hint{font-family:var(--font-body);font-size:.8rem;color:var(--muted);margin-bottom:1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:0 12px 48px #00000026;max-width:520px;width:90vw;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem 0}.modal-header h2{font-family:var(--font-heading);font-weight:300;font-size:1.5rem;color:var(--primary)}.modal-close{background:none;border:none;font-size:1.2rem;color:var(--muted);cursor:pointer;padding:.25rem}.modal-close:hover{color:var(--text)}.modal-subtitle{font-family:var(--font-body);font-size:.85rem;font-weight:300;color:var(--muted);padding:.5rem 2rem 1rem}.modal-body{overflow-y:auto;padding:0 2rem;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:1.25rem 2rem;border-top:1px solid var(--border)}.modal-footer__right{display:flex;gap:1rem;align-items:center;margin-left:auto}.modal-footer .btn-primary:disabled{opacity:.4;cursor:not-allowed}.required{color:var(--accent);margin-left:.15em}.modal-body fieldset{border:none;padding:0;margin-bottom:1.25rem}.modal-body fieldset legend{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding-bottom:.5rem;border-bottom:1px solid var(--border);width:100%;margin-bottom:1rem}.modal-body .form-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;flex:1}.modal-body .form-field label{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.modal-body .form-field input,.modal-body .form-field select,.modal-body .form-field textarea{font-family:var(--font-body);font-size:.95rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.modal-body .form-row{display:flex;gap:1rem}.modal-body label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.modal-body .field label{display:block;margin-bottom:.15rem}.modal-body label input,.modal-body label select,.modal-body label textarea{font-family:var(--font-body);font-size:.95rem;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--text);padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.default-task-row{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border);cursor:pointer}.default-task-row:last-child{border-bottom:none}.default-task-row--duplicate{opacity:.5;cursor:default}.default-task-info{display:flex;flex-direction:column;gap:.1rem}.default-task-name{font-family:var(--font-heading);font-size:1rem;color:var(--text)}.default-task-name--duplicate{text-decoration:line-through}.default-task-date{font-family:var(--font-body);font-size:.75rem;font-weight:300;color:var(--muted)}.default-task-duplicate{font-family:var(--font-body);font-size:.75rem;font-weight:400;color:var(--accent)}.empty-state-cta{text-align:center;padding:3rem 1rem;border:1px dashed var(--border);border-radius:var(--radius)}.empty-state-icon{font-size:2rem;margin-bottom:.5rem}.empty-state-cta h3{font-family:var(--font-heading);font-weight:300;font-size:1.4rem;color:var(--primary);margin-bottom:.25rem}.empty-state-cta>p{font-family:var(--font-body);font-size:.85rem;font-weight:300;color:var(--muted);margin-bottom:1.25rem}.empty-state-alt{font-family:var(--font-body);font-size:.8rem;font-weight:300;color:var(--muted);margin-top:.75rem}.photo-shot-list-page{max-width:48rem;margin:0 auto;padding:1rem}.photo-shot-list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.photo-group{border:1px solid var(--border-color, #ddd);border-radius:.5rem;margin-bottom:1rem;overflow:hidden}.photo-group-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--surface-color, #f9f9f9)}.photo-group-header h2{font-size:1rem;margin:0;flex:1}.photo-group-header .group-shot-count{font-size:.85rem;color:#888}.photo-group-actions{display:flex;gap:.25rem}.photo-group-body{padding:.5rem 1rem}.photo-shot-row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border-color, #eee)}.photo-shot-row:last-child{border-bottom:none}.photo-shot-description{flex:1;cursor:pointer}.photo-shot-notes{font-size:.85rem;color:#888;font-style:italic;margin-left:1.5rem;padding-bottom:.25rem}.photo-shot-actions{display:flex;gap:.25rem}.photo-add-shot-btn,.photo-add-group-btn{margin-top:.5rem}.photo-print-actions{display:flex;gap:.5rem;margin-top:1.5rem;justify-content:center}.photo-reorder-btn{background:none;border:1px solid #ccc;border-radius:.25rem;padding:.15rem .4rem;cursor:pointer;font-size:.8rem;line-height:1}.photo-reorder-btn:hover{background:#eee}.photo-reorder-btn:disabled{opacity:.3;cursor:default}.photo-print-header,.photo-shot-checkbox{display:none}@media (max-width: 640px){.photo-group-header{flex-wrap:wrap;gap:.25rem;padding:.5rem .75rem}.photo-group-header h2{font-size:.9rem}.photo-reorder-btn{font-size:.7rem;padding:.1rem .3rem}.photo-group-actions .btn-text--danger{font-size:.65rem}.photo-shot-row{gap:.25rem;font-size:.85rem}.photo-shot-actions .btn-text--danger{font-size:.65rem}}.run-of-show{display:none}@media print{.app-header,.back-link,.timeline-toolbar,.timeline-header__actions,.sidenav,.hamburger-btn,.btn-icon-edit,.btn-icon-delete,.cal-popover,.cal-now-line,.cal-hint,.photo-shot-list-toolbar,.photo-shot-actions,.photo-group-actions,.photo-add-shot-btn,.photo-add-group-btn,.photo-print-actions,.cal-grid,.cal-grid-wrapper,.empty-state{display:none}.timeline{max-width:100%}.timeline .page-heading{font-size:1.2rem;margin:0 0 .4rem}.run-of-show{display:block;list-style:none;padding:0;margin:.25rem 0 0;font-family:Georgia,Times New Roman,serif}.run-of-show__item{display:grid;grid-template-columns:8rem 1fr;grid-template-rows:auto auto;column-gap:.75rem;padding:.3rem 0;border-bottom:1px solid #ddd;break-inside:avoid}.run-of-show__time{grid-column:1;grid-row:1;font-size:.75rem;color:#555;white-space:nowrap}.run-of-show__title{grid-column:2;grid-row:1;font-weight:600;font-size:.8rem}.run-of-show__location{grid-column:2;grid-row:2;font-size:.7rem;color:#666;font-style:italic}.run-of-show__notes{grid-column:2;grid-row:3;font-size:.65rem;color:#777;margin:.1rem 0 0}.photo-shot-list-page{font-family:Georgia,Times New Roman,serif;max-width:100%;padding:0}.photo-print-header{display:block;text-align:center;margin-bottom:2rem;border-bottom:2px solid #333;padding-bottom:1rem}.photo-print-header h1{font-size:1.5rem;margin:0 0 .25rem}.photo-print-header p{font-size:.9rem;color:#555;margin:0}.photo-group{break-inside:avoid;margin-bottom:1.5rem}.photo-group-header h2{font-size:1.1rem;border-bottom:1px solid #999;padding-bottom:.25rem;margin-bottom:.5rem}.photo-shot-row{display:flex;align-items:baseline;gap:.5rem;padding:.2rem 0}.photo-shot-checkbox{display:inline-block;width:1rem;height:1rem;border:1.5px solid #333;flex-shrink:0}.photo-shot-description{font-size:.95rem}.photo-shot-notes{font-size:.8rem;font-style:italic;color:#666;margin-left:1.5rem}}.guest-list-page{max-width:100%}.guest-stats{display:flex;flex-wrap:wrap;gap:1rem;padding:0 0 .75rem;margin-top:.75rem;margin-bottom:1rem;border-bottom:1px solid var(--border);font-family:var(--font-body);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.guest-stats span{white-space:nowrap}.guest-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 1.5rem;flex-wrap:wrap}.guest-toolbar__filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.guest-toolbar__label{font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.guest-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.guest-header h1{margin-bottom:0}.guest-header__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-top:.45rem}.guest-settings-menu{position:relative}.guest-settings-menu__dropdown{position:absolute;right:0;top:100%;margin-top:.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #00000014;z-index:10;min-width:180px;padding:.25rem 0}.guest-settings-menu__dropdown button{display:block;width:100%;text-align:left;padding:.5rem .75rem;background:none;border:none;font-family:var(--font-body);font-size:.85rem;cursor:pointer;color:var(--color-text)}.guest-settings-menu__dropdown button:hover{background:var(--color-bg-hover, #f5f5f5)}.guest-toolbar__right,.sort-buttons{display:flex;align-items:center;gap:.5rem}.sort-btn{font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.25rem .5rem;cursor:pointer;transition:all .15s ease}.sort-btn:hover{color:var(--text);border-color:var(--text)}.sort-btn--active{color:var(--text);border-color:var(--text);font-weight:600}.guest-group-filter{font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.guest-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.85rem}.guest-table thead{border-bottom:2px solid var(--border)}.guest-table th{font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;padding:.5rem .75rem;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.guest-table th:hover{color:var(--text)}.guest-table th.sort-active{color:var(--text);font-weight:600}.guest-table__actions-col{width:40px}.guest-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.guest-table tr:last-child td{border-bottom:none}.guest-table td:hover{background:#00000005}.guest-table td input[type=text],.guest-table td select{font-family:var(--font-body);font-size:.85rem;padding:.2rem .4rem;border:1px solid var(--primary);border-radius:var(--radius);width:100%;box-sizing:border-box;background:var(--surface);color:var(--text)}.guest-table td input[type=text]:focus,.guest-table td select:focus{outline:none;box-shadow:0 0 0 2px #00000026}.guest-row__actions{text-align:center;width:40px}.column-chooser{position:relative}.column-chooser__dropdown{position:absolute;top:100%;left:0;z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.5rem;min-width:180px;display:flex;flex-direction:column;gap:.25rem}.column-chooser__option{display:flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.8rem;color:var(--text);padding:.25rem;cursor:pointer}.column-chooser__option:hover{background:#00000008;border-radius:var(--radius)}.mobile-only{display:none}.rsvp-status--attending{background:#1a1a1a14;color:var(--primary)}.rsvp-status--declined{background:#a040401a;color:#a04040}.rsvp-status--maybe{background:#e8654a1f;color:var(--accent)}.rsvp-status--pending{background:var(--border);color:var(--muted)}.cell-warning{background-color:#fce8e8}.btn-text--danger{color:#a04040}.btn-text--danger:hover{color:#7a2020}.btn-icon-delete{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--muted);display:flex;align-items:center;border-radius:var(--radius);transition:color .2s}.btn-icon-delete:hover{color:#7a2020}.new-guest-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.group-list{list-style:none;padding:0;margin:0 0 1rem}.group-row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.group-row:last-child{border-bottom:none}.group-row__reorder{display:flex;flex-direction:column;gap:.1rem}.group-row__reorder button{background:none;border:none;cursor:pointer;font-size:.6rem;padding:.1rem .3rem;color:var(--text-muted);line-height:1}.group-row__reorder button:hover:not(:disabled){color:var(--text)}.group-row__reorder button:disabled{opacity:.3;cursor:default}.group-row__name{flex:1;border:1px solid transparent;padding:.3rem .5rem;font-size:.95rem;border-radius:4px;background:transparent}.group-row__name:focus{border-color:var(--border);outline:none;background:var(--surface)}.group-add-row{display:flex;gap:.5rem}.group-add-row input{flex:1}.contact-list-page{max-width:900px}.contact-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.85rem}.contact-table thead{border-bottom:2px solid var(--border)}.contact-table th{font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;padding:.5rem .75rem;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.contact-table th:hover{color:var(--text)}.contact-table th.sort-active{color:var(--text);font-weight:600}.contact-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.contact-table tr:last-child td{border-bottom:none}.contact-table td:hover{background:#00000005}.contact-table td input[type=text],.contact-table td input[type=tel],.contact-table td input[type=email],.contact-table td select{font-family:var(--font-body);font-size:.85rem;padding:.2rem .4rem;border:1px solid var(--primary);border-radius:var(--radius);width:100%;box-sizing:border-box}.contact-table td input[type=text]:focus,.contact-table td input[type=tel]:focus,.contact-table td input[type=email]:focus,.contact-table td select:focus{outline:none;box-shadow:0 0 0 2px #00000026}.contact-table__actions-col{width:40px}.contact-table .guest-row__actions{text-align:center}.new-contact-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}@media (max-width: 768px){.contact-table thead{display:none}.contact-table tbody{display:block}.contact-table tr.guest-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.contact-table tr.guest-row:last-child{border-bottom:none}.contact-table td{display:none;border-bottom:none;padding:0}.contact-table td[data-column=companyName]{display:block;flex:1;font-family:var(--font-heading);font-size:1.1rem}.contact-table td[data-column=contactName]{display:block;font-size:.8rem;color:var(--muted)}.contact-table td[data-column=type]{display:block;font-family:var(--font-label);font-size:.7rem;letter-spacing:.04em;padding:.15rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--muted);margin-left:auto}.contact-table .guest-row__actions{display:block}.mobile-only{display:flex}.column-chooser,.guest-table thead{display:none}.guest-table tbody{display:block}.guest-table tr.guest-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.guest-table tr.guest-row:last-child{border-bottom:none}.guest-table td{display:none;border-bottom:none;padding:0}.guest-table td[data-column=name]{display:block;flex:1;font-family:var(--font-heading);font-size:1.1rem}.guest-table td[data-column=group]{display:block;font-family:var(--font-label);font-size:.7rem;letter-spacing:.04em;padding:.15rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--muted)}.guest-table td[data-column=rsvp]{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;padding:3px 8px;border-radius:20px;margin-left:auto}.guest-table .guest-row__actions{display:block}}@media (max-width: 640px){.guest-stats{gap:.5rem}.guest-toolbar{flex-direction:column;align-items:stretch}.task-card--header{display:none}.task-card{flex-wrap:wrap;gap:.3rem}.task-card .task-name{order:-1;flex-basis:100%;font-weight:600;font-size:1rem;margin-bottom:.15rem}.task-card .task-due-date{min-width:auto;flex:1}.task-card .task-assignee{display:none}.task-card select.task-status,.task-card .task-status{min-width:auto;font-size:.72rem;padding:3px 20px 3px 10px}.guest-stats{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .5rem;font-size:.7rem}}.mood-board-page{max-width:800px}.mood-board-description{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1rem}.mood-board-description--editing{display:block;margin-bottom:1rem}.mood-board-description--editing textarea{width:100%;min-height:4rem}.mood-board-description__text{margin:0;color:var(--text);line-height:1.5}.mood-board-description__text strong{font-weight:600}.mood-board-description__text a{color:var(--green);text-decoration:underline}.mood-board-description__placeholder{margin:0;color:var(--text-muted);font-style:italic}.mood-board-description__actions{display:flex;gap:.5rem;margin-top:.5rem}.new-pin-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.pin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s,transform .2s}.pin-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.pin-card__image{cursor:pointer;aspect-ratio:4 / 3;overflow:hidden;background:var(--bg)}.pin-card__image img{width:100%;height:100%;object-fit:cover;display:block}.pin-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.8rem;color:var(--muted);background:var(--bg)}.pin-card__caption{padding:.75rem 1rem;font-family:var(--font-heading);font-size:1rem;color:var(--text);cursor:pointer}.pin-card__details{padding:0 1rem .75rem;font-family:var(--font-body);font-size:.85rem;color:var(--text)}.pin-card__details p{margin-bottom:.5rem}.pin-card__actions{display:flex;gap:.75rem;margin-top:.5rem}.pin-edit-form{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.palette-section{margin-bottom:2rem}.palette-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.palette-heading{font-family:var(--font-heading);font-weight:300;font-size:1.2rem;color:var(--text);margin:0}.palette-empty{padding:1.5rem 1rem}.palette-row{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-start}.palette-swatch{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:64px}.palette-swatch__color{width:48px;height:48px;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;transition:transform .2s}.palette-swatch__color:hover{transform:scale(1.1)}.palette-swatch__name{font-family:var(--font-heading);font-size:.8rem;color:var(--text);text-align:center}.palette-swatch__hex{font-family:var(--font-body);font-size:.7rem;color:var(--muted);text-transform:uppercase}.palette-swatch__actions{display:flex;gap:.25rem;margin-top:.25rem;flex-wrap:wrap;justify-content:center}.palette-add-btn{width:48px;height:48px;border-radius:var(--radius);border:1px dashed var(--border);background:transparent;color:var(--muted);font-size:1.5rem;cursor:pointer;transition:border-color .2s,color .2s;display:flex;align-items:center;justify-content:center}.palette-add-btn:hover{border-color:var(--primary);color:var(--primary)}.palette-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.palette-form__preview{width:40px;height:40px;border-radius:var(--radius);border:1px solid var(--border);flex-shrink:0}.palette-form__actions{display:flex;gap:.5rem;align-items:center}@media (max-width: 900px){.pin-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.pin-grid{grid-template-columns:1fr}.mood-board-toolbar{flex-direction:column;align-items:stretch}}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;z-index:1100;animation:toast-in .3s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.packing-list-page{max-width:800px}.packing-progress{margin:1rem 0}.packing-progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:.4rem}.packing-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.packing-progress-text{font-family:var(--font-label);font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.packing-toolbar{display:flex;gap:.75rem;margin-bottom:1.5rem}.packing-category{margin-bottom:1.25rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.packing-category__header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--surface)}.packing-category__toggle{font-size:.7rem;padding:0;min-width:auto}.packing-category__name{font-family:var(--font-heading);font-weight:400;font-size:1rem;cursor:pointer;flex:1}.packing-category__edit{display:flex;align-items:center;gap:.5rem;flex:1}.packing-category__edit input{font-family:var(--font-heading);font-size:1rem;padding:.2rem .4rem;border:1px solid var(--border);border-radius:var(--radius);flex:1}.packing-category__count{font-family:var(--font-label);font-size:.75rem;color:var(--muted);text-transform:uppercase}.packing-category__actions{display:flex;gap:.25rem}.packing-category__items{padding:0 1rem}.packing-category__empty{padding:.75rem 0;color:var(--muted);font-size:.85rem;font-style:italic}.packing-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.packing-item:last-child{border-bottom:none}.packing-item--packed .packing-item__name{text-decoration:line-through;color:var(--muted)}.packing-item__check{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1}.packing-item__check input[type=checkbox]{accent-color:var(--accent)}.packing-item__name{font-family:var(--font-body);font-size:.95rem}.packing-item__assigned{font-family:var(--font-label);font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.packing-item__notes{font-family:var(--font-body);font-size:.8rem;color:var(--muted);width:100%;padding-left:1.75rem}.packing-item__delete{opacity:0;transition:opacity .15s}.packing-item:hover .packing-item__delete{opacity:1}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.decor-list-page{max-width:800px}.task-progress{margin:1.25rem 0}.task-progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.task-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.decor-progress{margin:1.25rem 0}.decor-progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.decor-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.decor-toolbar{display:flex;gap:.75rem;margin-bottom:1.75rem}.decor-category{margin-bottom:1.5rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.decor-category__header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--surface)}.decor-category__toggle{font-size:.7rem;padding:0;min-width:auto}.decor-category__name{font-family:var(--font-heading);font-weight:400;font-size:1rem;cursor:pointer;flex:1}.decor-category__edit{display:flex;align-items:center;gap:.5rem;flex:1}.decor-category__edit input{font-family:var(--font-heading);font-size:1rem;padding:.2rem .4rem;border:1px solid var(--border);border-radius:var(--radius);flex:1}.decor-category__count{font-family:var(--font-label);font-size:.75rem;color:var(--muted);text-transform:uppercase}.decor-category__actions{display:flex;gap:.25rem}.decor-category__items{padding:.25rem 1.25rem}.decor-category__empty{padding:1rem 0;color:var(--muted);font-size:.85rem;font-style:italic}.decor-item{display:grid;grid-template-columns:1fr auto auto auto auto auto;align-items:center;gap:.5rem .75rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.decor-item:last-child{border-bottom:none}.decor-item__name{font-family:var(--font-body);font-size:.95rem;flex:1}.decor-item__name--editable{cursor:pointer}.decor-item__name--editable:hover{color:var(--accent)}.decor-item__quantity{font-family:var(--font-label);font-size:.8rem;color:var(--muted);text-align:right;min-width:2rem}.decor-item__status{font-family:var(--font-label);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .6rem;border-radius:999px;border:none;cursor:pointer;min-width:5.5rem;text-align:center}.decor-item__status--needed{background:#dc26261f;color:#b91c1c}.decor-item__status--ordered{background:#ca8a041f;color:#a16207}.decor-item__status--received{background:#16a34a1f;color:#15803d}.decor-item__vendor{font-family:var(--font-body);font-size:.8rem;color:var(--muted);min-width:6rem;text-align:right}.decor-item__delete{opacity:0;transition:opacity .15s}.decor-item:hover .decor-item__delete{opacity:1}.decor-item__actions{display:flex}.decor-item__actions .btn-text{padding:0 .15rem;font-size:.85rem;line-height:1}.decor-item__actions .btn-text:disabled{opacity:.25;cursor:default}.decor-form-submit{margin-top:1rem;margin-bottom:1rem}.catering-page{max-width:800px}.catering-stats{display:flex;flex-wrap:wrap;gap:1rem;padding:0 0 .75rem;margin-bottom:1rem;border-bottom:1px solid var(--border);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.catering-stat{display:flex;gap:.35rem;align-items:baseline}.catering-stat-label{color:var(--muted)}.catering-stat-value{color:var(--text)}.catering-section{margin-bottom:2.5rem}.catering-section h2{font-family:var(--font-heading);font-size:1rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}.caterer-slots{display:flex;flex-direction:column;gap:1rem}.caterer-slot{display:flex;align-items:baseline;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.caterer-slot strong{min-width:120px;font-size:.85rem}.caterer-assigned{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.caterer-detail{font-size:.8rem;color:var(--muted)}.caterer-unassigned{display:flex;align-items:baseline;gap:.75rem;color:var(--muted);font-style:italic}.menu-list{list-style:none;margin-bottom:1rem}.menu-item{display:flex;align-items:baseline;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.menu-item:last-child{border-bottom:none}.menu-add-form{display:flex;gap:.5rem;align-items:center;margin-top:.75rem}.menu-add-form input{flex:1;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.85rem}.vendor-meal-list{list-style:none}.vendor-meal-item{display:flex;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.vendor-meal-name{min-width:140px;font-size:.9rem}.vendor-meal-input{flex:1;padding:.35rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.85rem}.contact-picker-list{list-style:none}.contact-picker-item{display:block;width:100%;text-align:left;padding:.75rem 1rem;border:none;background:none;cursor:pointer;font-family:var(--font-body);font-size:.9rem;border-bottom:1px solid var(--border)}.contact-picker-item:hover{background:var(--bg)}.ceremony-page{max-width:800px}.ceremony-section{margin-bottom:2.5rem}.ceremony-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.ceremony-section-title{font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--border);flex:1}.ceremony-logistics-grid{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin:0}.ceremony-logistics-grid dt{font-weight:600;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.ceremony-logistics-grid dd{margin:0;color:var(--text)}.ceremony-logistics-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ceremony-field{display:flex;flex-direction:column;gap:.3rem}.ceremony-field input,.ceremony-field select,.ceremony-field textarea{font-size:.95rem;font-weight:300;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .65rem;width:100%;transition:border-color .2s,box-shadow .2s}.ceremony-field input:focus,.ceremony-field select:focus,.ceremony-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0000000f}.ceremony-field textarea{min-height:80px;resize:vertical}.ceremony-field--full{grid-column:1 / -1}.ceremony-field-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.ceremony-form-actions{grid-column:1 / -1;display:flex;gap:.75rem;margin-top:.5rem}.ceremony-empty{color:var(--muted);font-style:italic}.ceremony-list{list-style:none;padding:0;margin:0 0 1rem}.ceremony-list-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.ceremony-list-item-content{display:flex;align-items:baseline;gap:.75rem;flex:1;min-width:0}.ceremony-list-role{font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-shrink:0}.ceremony-list-names{color:var(--text)}.ceremony-list-notes{color:var(--muted);font-size:.85rem;font-style:italic}.ceremony-list-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.btn-icon-move{background:none;border:none;color:var(--muted);cursor:pointer;padding:.125rem .25rem;font-size:.7rem;line-height:1;transition:color .15s}.btn-icon-move:hover:not(:disabled){color:var(--primary)}.btn-icon-move:disabled{opacity:.3;cursor:default}@media (max-width: 640px){.ceremony-logistics-form,.ceremony-logistics-grid{grid-template-columns:1fr}.ceremony-logistics-grid dt{margin-top:.5rem}.ceremony-list-item{flex-direction:column;align-items:flex-start;gap:.5rem}.ceremony-add-form{flex-direction:column}.ceremony-add-form .ceremony-field,.ceremony-add-form select,.ceremony-add-form input{width:100%}}.view-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.view-toggle__btn{font-family:var(--font-body);font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;padding:.35rem .75rem;border:none;background:var(--surface);color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.view-toggle__btn:hover{color:var(--primary)}.view-toggle__btn--active{background:var(--primary);color:var(--surface)}.calendar__nav{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.calendar__month-label{font-family:var(--font-heading);font-size:1.1rem;font-weight:400;color:var(--primary);min-width:10rem;text-align:center}.calendar__today-btn{margin-left:auto}.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.calendar__day-header{font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;padding:.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.calendar__day{min-height:8.5rem;padding:.35rem;background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.2rem}.calendar__day:nth-child(7n){border-right:none}.calendar__day--outside{background:var(--bg)}.calendar__day--outside .calendar__day-number{color:var(--border)}.calendar__day--today{background:#e8654a0a;box-shadow:inset 0 0 0 2px var(--accent)}.calendar__day-number{font-family:var(--font-body);font-size:.75rem;font-weight:400;color:var(--muted);line-height:1;margin-bottom:.15rem}.calendar__pill{display:block;width:100%;text-align:left;font-family:var(--font-body);font-size:.65rem;font-weight:400;padding:.15rem .35rem;border-radius:3px;border:none;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.calendar__pill--todo{background:var(--border);color:var(--muted)}.calendar__pill--in_progress{background:#e8654a1f;color:var(--accent)}.calendar__pill--done{background:#1a1a1a14;color:var(--primary);text-decoration:line-through}.calendar__pill:hover{opacity:.8}.calendar__more{font-family:var(--font-body);font-size:.6rem;color:var(--muted);padding:0 .35rem;cursor:pointer;background:none;border:none}.calendar__more:hover{color:var(--accent)}.calendar{position:relative}.calendar-popover{position:absolute;z-index:20;width:200px;max-height:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.calendar-popover__header{font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--primary);margin-bottom:.25rem}.calendar-popover__list{display:flex;flex-direction:column;gap:.2rem}.calendar__pill[draggable=true]{cursor:grab}.calendar__pill[draggable=true]:active{cursor:grabbing}.calendar__day--drag-over{background:#e8654a14;box-shadow:inset 0 0 0 2px var(--accent)}@media (max-width: 640px){.calendar__day{min-height:3.5rem;padding:.2rem}.calendar__pill{font-size:0;padding:0;width:8px;height:8px;border-radius:50%;display:inline-block}.calendar__more{font-size:.55rem}.calendar__day-header{font-size:.6rem;padding:.3rem}.calendar-popover{position:fixed;bottom:0;left:0;right:0;top:auto;width:100%;max-height:50vh;border-radius:var(--radius) var(--radius) 0 0}}.member-list{max-width:600px}.member-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.85rem;margin-bottom:2rem}.member-table thead{border-bottom:2px solid var(--border)}.member-table th{font-family:var(--font-body);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;padding:.5rem .75rem}.member-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.member-table tr:last-child td{border-bottom:none}.member-table select{font-family:var(--font-body);font-size:.8rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.role-badge{font-family:var(--font-label);font-size:.7rem;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px;text-transform:capitalize}.role-badge--owner{background:#e8654a1f;color:var(--accent)}.role-badge--collaborator{background:#1a1a1a14;color:var(--primary)}.role-badge--viewer{background:var(--border);color:var(--muted)}.invite-link-display{font-family:monospace;font-size:.8rem;background:var(--bg);padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;margin-bottom:.75rem}@media (max-width: 640px){.member-table th:nth-child(3),.member-table td:nth-child(3){display:none}}.share-role-picker{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem}.share-role-picker label{font-family:var(--font-body);font-size:.85rem;color:var(--text)}.share-role-picker select{font-family:var(--font-body);font-size:.85rem;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.share-reset-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.share-reset-warning{font-family:var(--font-body);font-size:.8rem;color:var(--danger, #c0392b);margin-bottom:.5rem}.sort-controls{display:flex;align-items:center;gap:.4rem}.sort-controls__select{font-family:var(--font-body);font-size:.75rem;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer}.sort-controls__direction{font-family:var(--font-body);font-size:.85rem;line-height:1;padding:.3rem .45rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.sort-controls__direction:hover{color:var(--primary)}.task-card--clickable{cursor:pointer}.task-card--clickable:hover{background:var(--surface-hover, #f8f8f8)}.tip-list{list-style:none;padding:0;margin:1rem 0}.tip-item{display:flex;gap:1rem;align-items:center;border-bottom:1px solid var(--color-border, #e5e5e5);padding:.75rem 0}.tip-item--clickable{cursor:pointer}.tip-item--clickable:hover{background:var(--surface-hover, #f8f8f8)}.tip-name{flex:1;font-weight:500}.tip-role{flex:1;color:var(--color-muted, #888)}.tip-amount{font-weight:600;min-width:4rem;text-align:right}.tip-total{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-top:2px solid var(--color-border, #e5e5e5);font-weight:600;font-size:1.1rem}.tip-total-amount{min-width:4rem;text-align:right}.new-tip-form{margin:1rem 0}
