.planner-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;padding-block:58px 40px;align-items:center}.planner-hero h1{font-size:clamp(43px,6vw,72px)}.planner-hero .lead{max-width:640px;font-size:17px}.planner-hero-note{display:flex;align-items:center;gap:22px;background:#e8eee3;border:1px solid #d9e2d3;border-radius:8px;padding:25px}.planner-hero-note p{font-size:13px;line-height:1.8;margin:0;color:#55665b}.planner-stamp{display:grid;place-items:center;flex-shrink:0;width:68px;height:68px;border:1px solid #7b9881;border-radius:50%;font:40px var(--serif);color:#315c50;transform:rotate(-12deg)}.planner-shell{padding-bottom:30px;min-height:400px}.planner-footnote{max-width:900px;padding-block:18px 50px;font-size:12px;color:#6b786e}.planner-footnote a{text-decoration:underline;text-underline-offset:3px}.planner-loading{padding:36px;border:1px solid #d7dfd2;border-radius:8px;background:#edf0e8}.planner-empty{border:1px dashed #c5d1c1;border-radius:9px;padding:48px 28px;background:#fffdf7;text-align:center}.planner-empty h2{font-size:36px}.planner-empty p{max-width:540px;margin:12px auto 22px;color:#6b766d;font-size:14px}.planner-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.planner-topbar h2{font:38px var(--serif);margin:6px 0}.planner-topbar p{margin:0;color:#6b786e;font-size:13px}.planner-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.planner-actions .button,.planner-card .button,.planner-nav button{font-size:12px;min-height:38px;cursor:pointer}.planner-actions button,.planner-card button,.planner-form button,.planner-dialog button{font-family:inherit}.planner-small-btn{border:1px solid #cbd6c9;background:#fffdf7;color:#355548;border-radius:5px;padding:9px 12px;font-size:12px;cursor:pointer;min-height:38px}.planner-small-btn:hover{background:#e5eddf}.planner-small-btn[disabled]{opacity:.45;cursor:default}.planner-danger{border-color:#d6bcb1;color:#915846}.planner-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.planner-card{padding:24px;border:1px solid #d6dfd1;background:#fffdf7;border-radius:8px;box-shadow:0 4px 14px rgba(38,60,45,.035);min-width:0}.planner-card h3{font:27px var(--serif);margin:8px 0 12px;overflow-wrap:anywhere}.planner-card p{font-size:13px;color:#5e7063;overflow-wrap:anywhere}.planner-card .planner-meta{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:12px;color:#586c5c;margin-block:10px 20px}.planner-tag{display:inline-flex;padding:4px 9px;border-radius:99px;background:#e6eee0;color:#46624d;font-size:10px;font-weight:700;letter-spacing:.03em}.planner-tag-warning{background:#f3e9d6;color:#866337}.planner-tag-muted{background:#eceae2;color:#6a7369}.planner-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px}.planner-nav{display:flex;flex-direction:column;gap:7px;align-self:start;padding:10px;background:#e9eee4;border:1px solid #dbe2d4;border-radius:7px;position:sticky;top:15px}.planner-nav button{text-align:left;border:0;border-radius:5px;background:transparent;padding:13px 14px;color:#526759;font-weight:600;cursor:pointer}.planner-nav button[aria-current=page]{background:#315c50;color:#fffdf7}.planner-section h2{font:34px var(--serif);margin-block:0 18px}.planner-section h3{font:24px var(--serif)}.planner-stack{display:grid;gap:15px}.planner-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.planner-summary .planner-card{padding:20px}.planner-summary strong{display:block;font:36px var(--serif);margin:8px 0;color:#315c50}.planner-summary p{margin:0;font-size:12px}.planner-warning-list{padding:18px 22px;background:#f5eddd;border:1px solid #e1d0b5;border-radius:6px;color:#776043;font-size:13px;margin-block:22px}.planner-warning-list ul{padding-left:18px;margin-bottom:0}.planner-warning-list li{margin-block:5px}.planner-row-index{color:#8b9b88;font-size:11px;font-weight:700;letter-spacing:.15em}.planner-connection{margin-top:18px;padding-top:16px;border-top:1px solid #e1e6dc;display:grid;gap:4px;font-size:12px;color:#687c6a}.planner-booking-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}.planner-booking-info span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#7a8c7c;margin-bottom:4px}.planner-booking-info strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.planner-notice{padding:17px 20px;background:#f5e6dc;border:1px solid #dfbba6;border-radius:6px;color:#80513f;font-size:13px;margin-bottom:20px}.planner-notice[hidden]{display:none}.planner-save{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-block:12px 18px;padding:12px 16px;background:#e9eee4;border-radius:6px;font-size:12px;color:#47624d}.planner-save[data-state=failed],.planner-save[data-state=conflict]{background:#f5e6dc;color:#80513f}.planner-save .planner-actions{margin-left:auto}.planner-form{display:grid;gap:19px}.planner-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.planner-field{display:grid;gap:6px;min-width:0}.planner-field>span,.planner-field label{font-size:12px;font-weight:600;color:#526457}.planner-field input,.planner-field select,.planner-field textarea{width:100%;border:1px solid #cbd5c7;border-radius:5px;background:#fffefa;min-height:44px;padding:10px 12px;font:inherit;font-size:14px;color:#33493b}.planner-field textarea{resize:vertical;min-height:90px;font-family:inherit;font-size:14px}.planner-field input:focus,.planner-field textarea:focus,.planner-field select:focus{outline:3px solid #315c50;border-color:#759878}.planner-field small,.planner-help{font-size:11px;line-height:1.6;color:#586c5c}.planner-field-full{grid-column:1/-1}.planner-form fieldset{border:1px solid #d7dfd0;border-radius:6px;padding:17px;margin:0}.planner-form legend{font-size:13px;font-weight:700;color:#536a58;padding:0 7px}.planner-check{display:flex;align-items:center;gap:10px;font-size:13px;color:#526759}.planner-check input{width:16px;height:16px;accent-color:#315c50}.planner-checkbox-list{display:grid;gap:10px}.planner-field-error{padding:12px;background:#f8e6dc;color:#844e3d;font-size:13px;border-radius:5px}.planner-field-error[hidden]{display:none}.planner-dialog{width:min(760px,calc(100% - 28px));max-height:90svh;border:1px solid #c3d0bd;border-radius:9px;background:#f8f6ef;color:#344b3d;padding:28px;box-shadow:0 24px 80px rgba(34,49,38,.2);overflow-y:auto}.planner-dialog::backdrop{background:rgba(27,43,32,.45)}.planner-dialog h2{font:34px var(--serif);margin:0 0 20px}.planner-dialog .planner-actions{justify-content:flex-end;padding-top:8px;border-top:1px solid #dce3d4}.planner-traveler{display:flex;gap:13px;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid #e1e6db;font-size:13px}.planner-traveler:last-child{border:0}.planner-card .planner-long-note{white-space:pre-wrap}.planner-shell button:focus-visible,.planner-dialog button:focus-visible{outline:3px solid #315c50;outline-offset:3px}.planner-shell button[disabled],.planner-dialog button[disabled]{opacity:.5;cursor:default}
@media(max-width:900px){.planner-hero{grid-template-columns:1fr;gap:20px}.planner-hero-note{max-width:570px}.planner-workspace{grid-template-columns:1fr}.planner-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:4px}.planner-nav button{flex:1;white-space:nowrap;text-align:center;padding:10px}.planner-summary{gap:10px}.planner-topbar{align-items:flex-start}}
@media(max-width:600px){.planner-hero{padding-top:40px}.planner-hero h1{font-size:48px}.planner-hero-note{padding:18px}.planner-stamp{width:50px;height:50px;font-size:29px}.planner-trip-grid,.planner-form-grid{grid-template-columns:1fr}.planner-summary{grid-template-columns:1fr}.planner-summary .planner-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.planner-topbar{flex-direction:column}.planner-save .planner-actions{margin-left:0;width:100%}.planner-dialog{padding:20px}.planner-dialog h2{font-size:29px}.planner-card{padding:20px}.planner-booking-info{grid-template-columns:1fr}.planner-nav button{font-size:11px;min-width:65px}}
.planner-budget-state{display:inline-flex;border-radius:99px;background:#e4eddf;color:#365846;padding:7px 13px;font-size:12px;font-weight:700;margin:0 0 18px}.planner-budget-partial{background:#f1e7d3;color:#7c6338}.planner-budget-costs{margin-block:24px}.planner-table-wrap{max-width:100%;overflow:auto;margin-block:14px}.planner-budget-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.planner-budget-table th,.planner-budget-table td{padding:11px 12px;border-bottom:1px solid #dfe5d9;vertical-align:top;overflow-wrap:anywhere;min-width:110px}.planner-budget-table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#748270;background:#eef1e8;font-weight:600}.planner-budget-table tbody th{font-weight:600;color:#526759}.planner-budget-panel{margin-block:18px;border:1px solid #d7dfd0;border-radius:8px;padding:18px 22px;background:#f7f7ee}.planner-budget-panel summary{cursor:pointer;color:#395b47;font-size:14px;font-weight:600}.planner-budget-panel[open] summary{margin-bottom:18px}.planner-budget-panel .planner-card{margin-block:15px}.planner-budget-gap{padding:9px 12px;background:#f4ead8;border-radius:5px;color:#7d6237!important;font-size:12px!important}.planner-refund-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #e2e6da;margin-top:14px;padding-top:14px;font-size:12px}.planner-financial-preview{padding:12px 15px;border:1px solid #cedac7;background:#eaf0e3;border-radius:5px;font-size:12px;color:#48634e}.planner-budget-costs .planner-card h3{font-size:25px}.planner-section>.planner-card{margin-block:18px}.planner-summary strong{font-size:clamp(22px,2.1vw,32px);overflow-wrap:anywhere}.planner-form-grid[hidden],.planner-checkbox-list[hidden]{display:none}
@media(max-width:600px){.planner-budget-panel{padding:16px}.planner-budget-table th,.planner-budget-table td{padding:9px;min-width:100px}.planner-summary strong{font-size:24px}}
.planner-review-date{max-width:220px;margin-block:8px 18px}.planner-attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:18px 24px}.planner-attention-grid h3{font-size:23px;margin-top:0}.planner-attention-item{padding-block:10px;border-top:1px solid #e1e6dc}.planner-attention-item .planner-small-btn{border:0;background:transparent;padding:3px 0;text-align:left;min-height:30px;overflow-wrap:anywhere}.planner-attention-item p{margin:5px 0}.planner-linked-tasks{display:grid;gap:9px;margin-top:18px;padding-top:14px;border-top:1px solid #dde5d5;font-size:12px;color:#536b58}.planner-linked-tasks .planner-small-btn{padding:6px 9px;min-height:31px}.planner-deadline{font-weight:600}.planner-source-link{display:inline-block;margin-bottom:16px;font-size:13px;color:#315c50;text-decoration:underline;text-underline-offset:3px}.planner-section>.planner-field,.planner-section>.planner-form-grid{max-width:520px;margin-block:14px}.planner-section>.planner-stack{margin-top:20px}.planner-attention-grid .planner-card{padding:20px}.planner-section .planner-long-note{white-space:pre-wrap}
@media(max-width:700px){.planner-attention-grid{grid-template-columns:1fr}.planner-nav button{flex:1 0 20%}}
.planner-table-scroll{max-width:100%;overflow-x:auto}.planner-check-table{width:100%;border-collapse:collapse;font-size:.85rem}.planner-check-table th,.planner-check-table td{padding:9px 12px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line,#d8ded6)}.planner-check-table th{font-weight:600}.planner-time-result{padding:14px;border-radius:12px;background:#f2f5ef;overflow-wrap:anywhere}.planner-time-result p:last-child{margin-bottom:0}.planner-section>section+section{margin-top:32px;border-top:1px solid var(--line,#d8ded6);padding-top:24px}
.planner-printing{overflow:hidden}
#planner-print{position:fixed;inset:0;z-index:1000;overflow:auto;background:#eef0e8;padding:24px;color:#192a22}
.planner-print-controls{max-width:820px;margin:0 auto 24px}.planner-print-controls p{font-size:14px}
.planner-print-page{box-sizing:border-box;max-width:820px;margin:auto;background:#fff;padding:40px;font-family:Arial,sans-serif;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.planner-print-page h1{font-size:28px;line-height:1.2}.planner-print-page h2{font-size:21px;border-bottom:1px solid #666;padding-bottom:6px;margin-top:28px}.planner-print-page h3{font-size:16px;margin:0 0 4px}.planner-print-page p{margin:4px 0;white-space:pre-wrap}
.planner-print-row{border-bottom:1px solid #ddd;padding:12px 0}.planner-print-status{font-weight:bold}.planner-print-warning,.planner-print-warnings{border:2px solid #765421;padding:12px;margin:16px 0}.planner-print-square{font-family:Arial,sans-serif}
@media(max-width:600px){#planner-print{padding:12px}.planner-print-page{padding:20px}}
@media print{
  body.planner-printing{overflow:visible!important;margin:0!important;padding:0!important;background:white!important}
  body.planner-printing>*:not(#planner-print){display:none!important}
  #planner-print{position:static!important;inset:auto!important;display:block!important;overflow:visible!important;width:auto!important;height:auto!important;max-height:none!important;padding:0!important;background:white!important}
  .planner-print-controls{display:none!important}
  .planner-print-page{display:block!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;color:#000!important;font-size:10pt;line-height:1.4;overflow:visible!important}
  .planner-print-page h1{font-size:20pt}.planner-print-page h2{font-size:15pt}.planner-print-page h3{font-size:11pt}
  .planner-print-page h1,.planner-print-page h2,.planner-print-page h3{break-after:avoid-page;page-break-after:avoid}
  .planner-print-page p{orphans:3;widows:3;overflow-wrap:anywhere;max-height:none;overflow:visible}
  .planner-print-section,.planner-print-row,.planner-print-warnings{break-inside:auto;page-break-inside:auto}
  .planner-print-row{box-decoration-break:clone}.planner-print-warning{break-inside:avoid-page}
}

#planner-print button:focus-visible{outline:3px solid #315c50;outline-offset:3px}

.planner-section-menu{position:sticky;top:15px;align-self:start;min-width:0}.planner-section-menu>summary{display:none}.planner-section-menu .planner-nav{position:static}.planner-section h2:focus{outline:3px solid #315c50;outline-offset:5px}
@media(max-width:900px){.planner-section-menu{position:static}.planner-section-menu>summary{display:list-item;cursor:pointer;padding:13px 16px;border:1px solid #cbd6c9;border-radius:6px;background:#e9eee4;color:#315c50;font-size:14px;font-weight:600}.planner-section-menu>summary:focus-visible{outline:3px solid #315c50;outline-offset:3px}.planner-section-menu[open]>summary{margin-bottom:8px}}
.planner-storage-controls{display:flex;justify-content:flex-end;padding-top:24px;margin-top:24px;border-top:1px solid #d7dfd2}.planner-storage-controls button{max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere}
