.feature-ways {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px auto 0;max-width:960px;text-align:left}
.feature-way {padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--p1);color:var(--tx);text-align:left}
.feature-way b {display:block;font-size:14px;margin-bottom:7px}.feature-way span{display:block;font-size:12px;line-height:1.6;color:var(--tx2)}
.feature-way:hover{border-color:var(--br2)}.editor-features{display:flex;gap:8px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--p1)}
.feature-dialog{width:min(1120px,calc(100% - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--line);border-radius:23px;background:var(--p1);color:var(--tx);padding:28px;font-family:Manrope,sans-serif;overscroll-behavior:contain}
.feature-dialog::backdrop{background:#040717be;backdrop-filter:blur(5px)}.feature-dialog h2{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:5px 0 10px}.feature-dialog h3{font-size:17px;margin:22px 0 12px}
.feature-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.feature-kicker{font-size:10px;letter-spacing:.13em;color:var(--br2)}.feature-lead{font-size:13px;color:var(--tx2);line-height:1.7;margin:0 0 20px;max-width:800px}
.feature-dialog :is(input,select,textarea){font:inherit;box-sizing:border-box;max-width:100%;min-width:0;color:var(--tx);border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:10px;font-size:13px}
.feature-dialog textarea{width:100%;resize:vertical;line-height:1.6}.feature-dialog input[type=checkbox]{width:auto;accent-color:var(--br1)}.feature-dialog input[type=file]{width:100%}.feature-dialog button:disabled{opacity:.5;cursor:not-allowed}
.feature-field{display:grid;gap:7px;font-size:12px;color:var(--tx2);margin-bottom:13px}.feature-field input,.feature-field select{width:100%}.feature-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.feature-row .feature-field{flex:1;min-width:130px}
.feature-note{font-size:11px;line-height:1.65;color:var(--tx2);margin:10px 0}.feature-status{font-size:13px;line-height:1.6;margin:12px 0;min-height:20px;overflow-wrap:anywhere}.feature-status.error{color:#ff9caa}.site-light .feature-status.error{color:#b02040}
.feature-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}.feature-panel{padding:18px;border:1px solid var(--line);border-radius:15px;min-width:0}.feature-panel h3:first-child{margin-top:0}
.feature-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.feature-actions p{margin:0 auto 0 0;font-size:12px;color:var(--tx2)}
.feature-sheet-port{width:100%;overflow:hidden;border-radius:10px;background:#fff;margin:14px 0}.feature-sheet-port>.sheet{margin:0!important;box-shadow:none;pointer-events:none}
.feature-table-wrap{overflow:auto;max-height:480px}.feature-table{border-collapse:collapse;width:100%;font-size:12px;min-width:570px}.feature-table td,.feature-table th{border:1px solid var(--line);padding:7px;text-align:left}.feature-table th{background:var(--p2);color:var(--tx2)}.feature-table textarea{min-width:100px;min-height:55px;resize:vertical;font-size:12px;padding:7px}.feature-table .uncertain{outline:2px solid #e7ae47;outline-offset:-2px}
.photo-stage{background:#080b14;border:1px solid var(--line);border-radius:12px;min-height:120px;max-height:370px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:12px 0}.photo-stage canvas{max-width:100%;max-height:360px;object-fit:contain}.photo-progress{width:100%;accent-color:var(--br1)}
.live-list{display:grid;gap:8px;margin-top:15px}.live-list button{text-align:left;justify-content:flex-start}.live-changes{padding-left:20px;font-size:12px;line-height:1.7;max-height:180px;overflow:auto}.live-link{width:100%;font-size:12px!important}.live-owner-secret{border:1px dashed var(--line);border-radius:10px;padding:12px;margin-top:15px}.live-owner-secret summary{cursor:pointer;font-size:12px;color:var(--tx2)}.live-changed{outline:2px solid #dd9829!important;outline-offset:-2px}.live-editor-banner{padding:12px 20px;background:var(--p2);border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px}.live-editor-banner[hidden]{display:none}
.family-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px}.family-members{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.family-member{border:1px solid var(--line);padding:8px 10px;border-radius:20px;font-size:12px;background:var(--p2);color:var(--tx)}.family-member i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--member)}.family-event-list{display:grid;gap:8px;max-height:410px;overflow:auto;margin:15px 0}.family-event-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-left:4px solid var(--member);border-radius:10px;padding:10px;font-size:12px}.family-event-row>span{flex:1;overflow-wrap:anywhere}.family-event-row small{display:block;color:var(--tx2);line-height:1.5;margin-top:4px}.family-event-row .btn{padding:7px}.family-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sheet.family-sheet{display:flex;flex-direction:column;width:297mm;height:210mm;min-height:210mm;padding:7mm;gap:12px;--paper-w:297mm;--paper-h:210mm;background:white;color:#23323a;transform-origin:top left;font-family:Manrope,sans-serif;box-sizing:border-box}
.family-sheet .family-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid #dce3e8;padding-bottom:9px}.family-sheet h2{font:600 24px/1.2 Manrope,sans-serif;margin:0;color:#23323a}.family-sheet .family-meta{font:400 11px/1.4 Manrope,sans-serif;color:#586777}.family-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font:500 11px/1.5 Manrope,sans-serif}.family-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--member);margin-right:5px}.family-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;flex:1;min-height:0}.family-day{min-width:0}.family-day h3{font:600 12px/1.4 Manrope,sans-serif;text-align:center;background:#eef2f6;border-radius:6px;padding:6px;margin:0 0 8px;color:#34435c}.family-entry{border:1px solid #dee5eb;border-left:3px solid var(--member);background:color-mix(in srgb,var(--member) 7%,white);border-radius:6px;padding:7px;margin-bottom:7px;overflow-wrap:anywhere}.family-entry b{display:block;font:500 14px/1.35 Manrope,sans-serif;color:#263342}.family-entry .family-time{font:400 13.33px/1.3 Manrope,sans-serif;color:#374a60;margin-bottom:4px}.family-entry small{display:block;font:400 11px/1.4 Manrope,sans-serif;color:#536170;margin-top:3px}.family-sheet footer{font:400 9px Manrope,sans-serif;color:#586777;display:flex;justify-content:space-between;margin-top:auto}.family-quiet{font:400 10px/1.5 Manrope,sans-serif;color:#758192;text-align:center;margin-top:16px}
@media(max-width:760px){.feature-ways{grid-template-columns:1fr}.feature-split,.family-layout{grid-template-columns:minmax(0,1fr)}.feature-dialog{padding:20px 15px;width:calc(100% - 12px);max-height:calc(100dvh - 12px);border-radius:17px}.feature-dialog h2{font-size:24px}.feature-dialog :is(input,textarea,select){font-size:16px}.feature-panel{padding:13px}.editor-features{padding:10px;flex-wrap:nowrap;overflow:auto}.editor-features .btn{flex-shrink:0}.feature-actions .btn{flex:1}.feature-table textarea{font-size:16px}.family-event-list{max-height:300px}}
@media print{#printHost>.sheet{break-after:page}#printHost>.sheet:last-child{break-after:auto}.feature-dialog,.editor-features,.live-editor-banner{display:none!important}}
.feature-dialog [hidden],.photo-stage[hidden]{display:none!important}
.feature-dialog summary{cursor:pointer;font-size:12px;line-height:1.6;padding:10px 0}
.family-member[aria-pressed=true]{border-color:var(--member);box-shadow:inset 0 0 0 1px var(--member)}
.family-form-panel{margin-top:14px}.family-file{position:relative;cursor:pointer;overflow:hidden}.family-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
#familyMeasure{position:absolute;left:-20000px;top:0;width:297mm;pointer-events:none;visibility:hidden}
.family-heading h2{overflow-wrap:anywhere;max-width:75%}.family-legend span{overflow-wrap:anywhere;max-width:240px}
.family-week{flex-shrink:0}.family-sheet .family-entry{break-inside:avoid}
@media print{#familyMeasure{display:none!important}}

.family-layout>div{min-width:0}

/* Comfortable entry on a phone, one decision at a time. */
.family-input-ways{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px}.family-input-ways [aria-pressed=true]{border-color:var(--br1);background:var(--p2)}
.family-entry-dialog{max-width:730px}.fe-steps{display:flex;gap:8px;list-style:none;padding:0;margin:20px 0 26px}.fe-steps li{flex:1;padding:9px 5px;border-bottom:2px solid var(--line);font-size:12px;color:var(--tx2)}.fe-steps [aria-current=step]{border-color:var(--br1);color:var(--tx)}
.fe-review-event{padding:16px;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:var(--p2)}.fe-review-event .feature-field:last-child{margin-bottom:0}.fe-day h3{text-transform:capitalize}.fe-footer{position:sticky;bottom:-28px;background:var(--p1);padding:16px 0 8px;z-index:3}.fe-footer .primary{margin-left:auto}
#photoDialog .feature-table textarea{min-height:76px;line-height:1.45;resize:vertical}#photoDialog .feature-table th{position:sticky;top:0;z-index:1}#photoDialog .feature-table td:first-child,#photoDialog .feature-table th:first-child{position:sticky;left:0;background:var(--p1)}
@media(max-width:760px){.fe-footer{bottom:-20px}.family-entry-dialog .feature-row .feature-field{min-width:110px}.family-input-ways .btn{flex:1}.fe-review-event{padding:12px}.fe-steps li{font-size:11px}}
