@page{size:auto;margin:12mm 12mm 16mm;@bottom-center{content:"Page " counter(page) " of " counter(pages);font-size:9pt;color:#000;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@media print{html,body,#root,main{min-height:0!important;height:auto!important;background:#fff!important;color:#000!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.site-header,.site-footer,.print-controls,.btn,.skip-link,.ad-slot,.ad-slot-container,[data-testid=ad-slot],.modal-backdrop,.consent-banner,[data-testid=planner-toolbar],[data-testid=multi-select-toolbar],[data-testid=d1-toast],nav,aside{display:none!important}.print-plan-page{max-width:100%!important;padding:0!important;margin:0!important;background:#fff!important;color:#000!important}.print-spatial-overview{page-break-after:always!important;break-after:page!important}.print-bed-card{page-break-inside:avoid!important;break-inside:avoid!important;margin-bottom:16px}.print-bed-card:last-child{margin-bottom:0!important}.print-table tr,.print-timeline-section{page-break-inside:avoid!important;break-inside:avoid!important}.print-plan-page>:last-child,.print-summary-section,.print-integrity-notice{margin-bottom:0!important;padding-bottom:0!important;break-after:auto!important;page-break-after:auto!important;page-break-inside:avoid!important;break-inside:avoid!important}}@media print{.print-plan-page{max-width:none!important;width:100%!important;padding:0!important}.print-spatial-overview-map{max-height:150mm!important;max-width:100%!important;width:auto!important;margin:0 auto!important}}:root{--color-bg: #faf7f0;--color-surface: #ffffff;--color-surface-subtle: #f4f0e8;--color-surface-hover: #fcfbfa;--color-primary: #1f4d2e;--color-primary-hover: #194025;--color-primary-pressed: #163820;--color-primary-subtle: #e8f1eb;--color-on-primary: #ffffff;--color-ink: #1c1f1a;--color-ink-secondary: #3d4438;--color-muted: #5a6155;--color-accent: #b5532f;--color-accent-hover: #9e4524;--color-accent-subtle: #fbf0ea;--color-on-accent: #ffffff;--color-danger: #a8322d;--color-danger-hover: #8f2925;--color-danger-subtle: #fdedec;--color-on-danger: #ffffff;--color-warn-bg: #fef6e6;--color-warn-border: #d9822b;--color-warn-text: #8c531b;--color-info-bg: #e8f1eb;--color-info-text: #1f4d2e;--color-border: #8a8f84;--color-border-light: #d6d8d2;--color-border-subtle: #e5e7e2;--color-ad-bg: #efece4;--color-mod-approved-bg: #e8f1eb;--color-mod-approved-text: #1f4d2e;--color-mod-pending-bg: #fef6e6;--color-mod-pending-text: #8c531b;--color-mod-held-bg: #fef6e6;--color-mod-held-text: #8c531b;--color-mod-rejected-bg: #fdedec;--color-mod-rejected-text: #a8322d;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: clamp(1.125rem, 1.05rem + .375vw, 1.25rem);--fs-xl: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--fs-2xl: clamp(1.5rem, 1.3rem + 1vw, 2rem);--fs-3xl: clamp(1.875rem, 1.6rem + 1.375vw, 2.5rem);--lh-tight: 1.2;--lh-snug: 1.35;--lh-body: 1.5;--lh-loose: 1.65;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(28, 31, 26, .05);--shadow-sm: 0 1px 3px rgba(28, 31, 26, .08);--shadow-md: 0 4px 12px rgba(28, 31, 26, .08);--shadow-lg: 0 8px 24px rgba(28, 31, 26, .12);--shadow-overlay: 0 12px 32px rgba(28, 31, 26, .2);--z-base: 1;--z-sticky: 100;--z-drawer: 150;--z-overlay: 200;--z-modal: 500;--z-toolbar: 1000;--z-drawer-panel: 1050;--z-toast: 1200;--z-skip-link: 10000;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--square-panel-width: 360px;--planner-ad-column-width: 200px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--app-bar-height, 64px);scroll-padding-bottom:80px}body{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-regular);background-color:var(--color-bg);color:var(--color-ink);line-height:var(--lh-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}[role=gridcell]:focus-visible,[role=gridcell]:focus{outline:3px solid var(--color-primary, #1F4D2E);outline-offset:-3px}::selection{background-color:var(--color-primary-subtle);color:var(--color-primary-pressed)}h1,h2,h3,h4,h5,h6{color:var(--color-ink);line-height:var(--lh-tight);font-weight:var(--fw-bold);margin-top:0;margin-bottom:var(--space-3);letter-spacing:-.015em}h1{font-size:var(--fs-3xl);font-weight:var(--fw-bold)}h2{font-size:var(--fs-2xl);margin-top:var(--space-8)}h3{font-size:var(--fs-xl);margin-top:var(--space-4)}h4{font-size:var(--fs-lg);margin-top:var(--space-3)}p{margin-top:0;margin-bottom:var(--space-3);color:var(--color-ink)}small{font-size:var(--fs-xs)}strong,b{font-weight:var(--fw-bold)}a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.skip-link{position:absolute;top:-60px;left:var(--space-4);background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-2) var(--space-4);z-index:var(--z-skip-link);text-decoration:none;font-weight:var(--fw-semibold);font-size:var(--fs-sm);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-4);outline:3px solid var(--color-accent);outline-offset:2px}img,svg{max-width:100%;height:auto;vertical-align:middle}hr{border:0;border-top:1px solid var(--color-border-light);margin:var(--space-6) 0}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{background-color:var(--color-surface-subtle);padding:.1em .35em;border-radius:var(--radius-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1;text-decoration:none;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;min-height:40px;min-width:40px;box-sizing:border-box;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none}.btn-primary,a.btn-primary,.site-header a.btn-primary,.mobile-nav-panel a.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled),a.btn-primary:hover:not(:disabled),.site-header a.btn-primary:hover,.mobile-nav-panel a.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff;text-decoration:none}.btn-primary:visited,a.btn-primary:visited,.site-header a.btn-primary:visited,.mobile-nav-panel a.btn-primary:visited,.btn-primary:active:not(:disabled),a.btn-primary:active:not(:disabled),.site-header a.btn-primary:active,.site-header a.btn-primary.active,.mobile-nav-panel a.btn-primary:active,.mobile-nav-panel a.btn-primary.active,.site-header a.btn-primary[aria-current=page],.mobile-nav-panel a.btn-primary[aria-current=page]{color:#fff}.btn-secondary{background-color:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-subtle);border-color:var(--color-ink);color:var(--color-ink);text-decoration:none}.btn-accent{background-color:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent);text-decoration:none}.btn-danger{background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover);color:var(--color-on-danger);text-decoration:none}.btn-ghost{background-color:transparent;color:var(--color-ink);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-subtle);color:var(--color-primary);text-decoration:none}.btn-sm{min-height:32px;min-width:32px;padding:var(--space-1) var(--space-3);font-size:var(--fs-xs)}.btn-lg{min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--fs-md)}.btn-block{display:flex;width:100%}.plan-list-create-btn{width:100%;min-height:44px}@media(min-width:640px){.plan-list-create-btn{width:auto}}.plan-name-btn{display:inline-flex!important;align-items:center;max-width:100%}@media(max-width:639.98px){.planner-mobile-chrome .plan-name-btn,.planner-mobile-chrome [data-testid=plan-name-btn],.planner-mobile-chrome [data-testid=plan-name-text]{display:none!important}}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.form-group{margin-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-ink);display:flex;align-items:center;justify-content:space-between}.form-hint{font-size:var(--fs-xs);color:var(--color-muted)}.form-error{font-size:var(--fs-xs);color:var(--color-danger);font-weight:var(--fw-medium)}.form-input,.form-select,.form-textarea{font-family:inherit;font-size:var(--fs-sm);line-height:var(--lh-body);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-ink);min-height:40px;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px var(--color-primary-subtle)}.form-textarea{min-height:100px;resize:vertical}.form-input[readonly],.form-textarea[readonly]{background-color:var(--color-ad-bg);color:var(--color-muted);cursor:default}.form-checkbox{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.card{background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.card-subtle{background-color:var(--color-surface-subtle);border-color:var(--color-border-subtle)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.4;background-color:var(--color-info-bg);color:var(--color-primary);border:1px solid var(--color-primary);white-space:nowrap}.badge-warn{background-color:var(--color-warn-bg);color:var(--color-warn-text);border-color:var(--color-warn-border)}.badge-danger{background-color:var(--color-danger-subtle);color:var(--color-danger);border-color:var(--color-danger)}.badge-muted{background-color:var(--color-ad-bg);color:var(--color-muted);border-color:var(--color-border)}.badge-approved{background-color:var(--color-mod-approved-bg);color:var(--color-mod-approved-text);border-color:var(--color-primary)}.badge-pending,.badge-held{background-color:var(--color-mod-held-bg);color:var(--color-mod-held-text);border-color:var(--color-warn-border)}.badge-rejected{background-color:var(--color-mod-rejected-bg);color:var(--color-mod-rejected-text);border-color:var(--color-danger)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-left:4px solid var(--color-primary);margin-bottom:var(--space-4);font-size:var(--fs-sm);line-height:var(--lh-body)}.alert-info{background-color:var(--color-info-bg);border-left-color:var(--color-primary);color:var(--color-ink)}.alert-warn{background-color:var(--color-warn-bg);border-left-color:var(--color-warn-border);color:var(--color-warn-text)}.alert-danger{background-color:var(--color-danger-subtle);border-left-color:var(--color-danger);color:var(--color-danger)}.tab-group{display:flex;gap:var(--space-2);border-bottom:2px solid var(--color-border-light);margin-bottom:var(--space-4);overflow-x:auto}.tab-item{padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast)}.tab-item:hover{color:var(--color-primary)}.tab-item[aria-selected=true],.tab-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.breadcrumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--color-muted);margin-bottom:var(--space-4);flex-wrap:wrap}.breadcrumbs a{color:var(--color-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-primary);text-decoration:underline}.breadcrumbs-separator{color:var(--color-border);-webkit-user-select:none;user-select:none}.data-table-container{width:100%;overflow-x:auto;margin-top:var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-sm)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);text-align:left}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light)}.data-table th{background-color:var(--color-surface-subtle);font-weight:var(--fw-semibold);color:var(--color-ink);white-space:nowrap}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:var(--color-surface-hover)}.ad-slot{background-color:var(--color-ad-bg);border:1px dashed var(--color-border);color:var(--color-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;box-sizing:border-box;margin:var(--space-6) auto;border-radius:var(--radius-xs);scroll-margin-top:80px}.planner-ad-bottom .ad-slot{margin-top:0}.ad-slot-728x90{width:728px;height:90px;min-height:90px;max-width:100%}.ad-slot-300x250{width:300px;height:250px;min-height:250px;max-width:100%}.ad-slot-300x600{width:300px;height:600px;min-height:600px;max-width:100%}.ad-slot-320x100{width:320px;height:100px;min-height:100px;max-width:100%}.ad-slot ins.adsbygoogle{display:block;width:100%;max-width:100%;box-sizing:border-box}.consent-banner{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);box-shadow:var(--shadow-lg);max-width:100%;box-sizing:border-box}.consent-banner:not(.consent-banner-planner){position:fixed;bottom:0;left:0;right:0;width:100%;z-index:var(--z-toast, 1200)}.consent-banner .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.consent-privacy-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;white-space:nowrap;box-sizing:border-box}.consent-banner-planner{position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;transform:none!important;z-index:10!important;margin-top:var(--space-3);clear:both}.consent-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);box-sizing:border-box;overflow-wrap:break-word;word-break:break-word}.bed-chips-container{display:flex;gap:var(--space-2);flex-wrap:wrap;max-width:100%;box-sizing:border-box}.toast-notification{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background-color:var(--color-ink);color:var(--color-bg);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);display:flex;align-items:center;gap:var(--space-4);font-size:var(--fs-sm);z-index:var(--z-toast);border-left:4px solid var(--color-accent);max-width:calc(100vw - 32px);box-sizing:border-box;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.toast-notification a,.toast-notification button{color:#f8b195;font-weight:var(--fw-bold);text-decoration:underline;background:none;border:none;cursor:pointer;padding:0}.d4-stacked-card{background:var(--color-surface);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.spinner{animation:spin 1s linear infinite;display:inline-block;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--color-surface-subtle) 25%,var(--color-border-subtle) 50%,var(--color-surface-subtle) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border-light);border-radius:var(--radius-md);margin:var(--space-4) 0}.empty-state-icon{margin-bottom:var(--space-3);color:var(--color-muted)}.empty-state-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin-bottom:var(--space-2);color:var(--color-ink)}.empty-state-desc{font-size:var(--fs-sm);color:var(--color-muted);max-width:48ch;margin:0 auto var(--space-4)}.error-state{text-align:center;padding:var(--space-8) var(--space-4);background:var(--color-danger-subtle);border:1px solid var(--color-danger);border-radius:var(--radius-md);margin:var(--space-4) 0}.error-state-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-danger);margin-bottom:var(--space-2)}.error-state-desc{font-size:var(--fs-sm);color:var(--color-ink);max-width:48ch;margin:0 auto var(--space-4)}.modal-backdrop{position:fixed;inset:0;background-color:#1c1f1a99;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1050);padding:var(--space-4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-sizing:border-box}.modal-card{width:100%;max-width:520px;background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);padding:var(--space-6);border:1px solid var(--color-border-light);box-sizing:border-box}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--space-3)}.modal-header h2{font-size:var(--fs-xl);margin:0;color:var(--color-ink)}.modal-body{margin-bottom:var(--space-4)}.modal-footer{display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center;margin-top:var(--space-5);border-top:1px solid var(--color-border-light);padding-top:var(--space-4)}.modal-card:focus-visible,.modal-card *:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media(max-width:767px){.modal-backdrop{align-items:flex-end!important;padding:0!important}.modal-backdrop>.card,.modal-card,[data-testid=add-bed-modal],[data-testid=resize-bed-modal],[data-testid=confirm-modal],[data-testid=ai-suggest-modal]{width:100%!important;max-width:100%!important;max-height:85vh!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;margin:0!important;box-shadow:var(--shadow-overlay)!important}[data-testid=square-panel]{width:100%!important;max-width:100%!important;max-height:calc(100vh - 200px)!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;margin:0!important;box-shadow:var(--shadow-overlay)!important}}.planner-mobile-chrome{display:flex;flex-direction:column;width:100%;box-sizing:border-box;margin-bottom:var(--space-2)}.planner-appbar{height:56px;min-height:56px;max-height:56px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-2);background-color:var(--color-surface);border-bottom:1px solid var(--color-border-light);box-sizing:border-box}.planner-appbar>*{min-width:0}.segmented-control{display:flex;width:100%;height:44px;min-height:44px;max-height:44px;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-sizing:border-box}.segmented-btn{flex:1;height:44px;min-height:44px;border-radius:0;border:none;background-color:transparent;color:var(--color-ink);font-weight:var(--fw-medium);font-size:var(--fs-sm);cursor:pointer;padding:0 var(--space-3);display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast);text-decoration:none}.segmented-btn:hover:not(:disabled){background-color:var(--color-surface-subtle);color:var(--color-ink)}.segmented-btn-active{background-color:var(--color-surface-subtle);color:var(--color-primary);font-weight:var(--fw-bold)}.canvas-controls-wrapper{pointer-events:none}.canvas-controls-wrapper button,.canvas-controls-wrapper [role=group] button{pointer-events:auto;min-height:44px;min-width:44px}.canvas-add-bed-fab{min-height:44px;min-width:44px;border-radius:var(--radius-full, 9999px);box-shadow:var(--shadow-lg);font-weight:var(--fw-bold)}.canvas-control-btn{min-height:44px;min-width:44px;background-color:#ffffffeb;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}@media(max-width:639.98px){.toast-notification{padding:var(--space-2) var(--space-3)}.toast-notification .d1-toast-body{align-items:center;justify-content:space-between}.toast-notification .d1-toast-body.d1-toast-body-stacked{flex-direction:column;align-items:stretch}.toast-notification .d1-toast-actions{justify-content:flex-end}.planner-container{padding-left:0!important;padding-right:0!important;padding-top:0!important}}.inline-name-pencil-btn{transition:background-color .15s ease,transform .1s ease}.inline-name-pencil-btn:hover{background-color:var(--color-bg-hover, rgba(0, 0, 0, .06))}.inline-name-pencil-btn:active{background-color:var(--color-bg-active, rgba(0, 0, 0, .14));transform:scale(.95)}.inline-name-pencil-btn:focus-visible{outline:3px solid var(--color-primary, #1F4D2E);outline-offset:2px;box-shadow:0 0 0 2px #fff,0 0 0 5px var(--color-primary, #1F4D2E)}.plan-name-btn:hover{background-color:var(--color-bg-hover, rgba(0, 0, 0, .05))}.plan-name-btn:active{background-color:var(--color-bg-active, rgba(0, 0, 0, .1))}.plan-name-btn:focus-visible{outline:2px solid var(--color-primary, #1F4D2E);outline-offset:2px}@media print{.site-header,.site-footer,.skip-link,.ad-slot-container,.ad-slot,.print-controls,.modal-backdrop,[data-testid=planner-toolbar],[data-testid=multi-select-toolbar],[data-testid=d1-toast]{display:none!important}body,html{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.print-plan-page{max-width:100%!important;padding:0!important;margin:0!important}.print-bed-card{page-break-inside:avoid!important;break-inside:avoid!important}.card{box-shadow:none!important;border:1px solid #000000!important}a{color:#000!important;text-decoration:underline!important}}[data-testid=empty-square-mark]{color:#5a6155!important}.multi-crop-picker-input::placeholder{color:#c5ccc6!important;opacity:1!important}[data-testid=planting-date-input]::placeholder,[data-testid=planting-date-input]:disabled::placeholder,[data-testid=planting-date-input][disabled]::placeholder{color:#5a6155!important;opacity:1!important;-webkit-text-fill-color:#5A6155}.multi-crop-picker-input:focus,.multi-crop-picker-input:focus-visible{outline:2px solid #ffffff!important;outline-offset:2px!important}#square-notes-input,#square-yield-input,[data-testid=square-notes-input],[data-testid=square-yield-input]{min-height:44px;box-sizing:border-box}.select-squares-btn{position:relative;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.select-squares-btn[aria-pressed=true]{background-color:#2d5a27;color:#fff;border-color:#2d5a27}.select-squares-btn[data-tooltip]:hover:after,.select-squares-btn[data-tooltip]:focus-visible:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1c1f1a;color:#fff;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;padding:6px 8px;border-radius:4px;z-index:1200;pointer-events:none}.square-field-mixed{color:var(--color-muted, #5A6155);font-style:italic}.square-panel-status-date{min-width:0}.square-panel-status-date>div{min-width:0}@media(max-width:400px){.square-panel-status-date{grid-template-columns:1fr!important}}.planner-ad-column{display:none;flex:0 0 var(--planner-ad-column-width, 200px);width:var(--planner-ad-column-width, 200px);min-width:var(--planner-ad-column-width, 200px);max-width:var(--planner-ad-column-width, 200px);box-sizing:border-box;padding:8px 8px 8px 16px}.square-panel-docked,.square-panel-docked-slot{flex:0 0 var(--square-panel-width, 360px);width:var(--square-panel-width, 360px);min-width:var(--square-panel-width, 360px);max-width:var(--square-panel-width, 360px);box-sizing:border-box;align-self:flex-start}.square-panel-docked-slot{pointer-events:none}@media(min-width:1440px){.planner-ad-column{display:block}}@media print{.planner-ad-column{display:none!important}}.planner-ad-column .ad-slot{border-color:#5a6155}.privacy-collect-table{width:100%}.privacy-collect-table th:nth-child(3),.privacy-collect-table td:nth-child(3){min-width:12rem;width:28%}@media(max-width:700px){.privacy-collect-table,.privacy-collect-table thead,.privacy-collect-table tbody,.privacy-collect-table tr,.privacy-collect-table th,.privacy-collect-table td{display:block;width:100%}.privacy-collect-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.privacy-collect-table td{padding-top:4px;padding-bottom:8px}.privacy-collect-table tr{margin-bottom:16px;border-bottom:1px solid var(--color-border, #E8E4D9)}}.modal-card{display:flex;flex-direction:column;max-height:min(800px,100vh - 32px);overflow:hidden}.modal-card .modal-body{overflow-y:auto;min-height:0;flex:1 1 auto}.modal-card .modal-footer{position:sticky;bottom:0;flex-shrink:0;background:var(--color-surface, #fff)}.modal-footer .btn,.modal-card .btn:not(.btn-sm){min-height:44px}.square-close-btn{background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border, #8A8F84);border-radius:var(--radius-sm, 4px);color:var(--color-muted, #5A6155)}.square-close-btn:hover{background-color:var(--color-surface-subtle, #F5F3EC);border-color:var(--color-ink, #1C1F1A)}.square-close-btn:focus-visible{outline:3px solid var(--color-primary, #1f4d2e);outline-offset:2px}.ai-suggest-close-btn,.modal-header [data-testid=ai-cancel-x-btn]{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border, #8A8F84);border-radius:var(--radius-sm, 4px);color:var(--color-muted, #5A6155)}.ai-suggest-close-btn:hover,.modal-header [data-testid=ai-cancel-x-btn]:hover{background-color:var(--color-surface-subtle, #F5F3EC);border-color:var(--color-ink, #1C1F1A)}.ai-suggest-close-btn:focus-visible,.modal-header [data-testid=ai-cancel-x-btn]:focus-visible{outline:3px solid var(--color-primary, #1f4d2e);outline-offset:2px}.ai-suggest-config{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-4)}[data-testid=ai-scope-summary]{display:none}@media(max-width:700px){.ai-suggest-config{grid-template-columns:1fr}.ai-suggest-config select{width:100%;max-width:100%}[data-testid=ai-suggest-modal].has-preview{max-height:calc(100dvh - 8px)!important}[data-testid=ai-suggest-modal].has-preview .ai-scope-block.is-compact [data-testid=ai-scope-summary]{display:block}[data-testid=ai-suggest-modal].has-preview .ai-scope-block.is-compact [data-testid=ai-scope-radiogroup],[data-testid=ai-suggest-modal].has-preview .ai-scope-block.is-compact [data-testid=ai-scope-label],[data-testid=ai-suggest-modal].has-preview .ai-scope-block.is-compact [data-testid=ai-scope-notice]{display:none}[data-testid=ai-suggest-modal].has-preview .ai-scope-block.is-compact{margin-bottom:var(--space-2)}[data-testid=ai-diff-preview] .ai-proposal-table-wrap{min-height:8.5rem}}@media(max-width:700px){.privacy-collect-table td[data-label]:before{content:attr(data-label);display:block;font-weight:var(--fw-semibold, 600);font-size:var(--fs-sm, .875rem);color:var(--color-ink, #1C1F1A);margin:8px 0 4px}.privacy-collect-table td[data-label]:first-child:before{margin-top:0}}:root{--site-header-h: 64px}.app-shell{min-height:100vh;display:flex;flex-direction:column}#main-content{flex:1 0 auto}.container{width:100%;max-width:1200px;margin:0 auto;padding:var(--space-4);box-sizing:border-box}.container-narrow{width:100%;max-width:760px;margin:0 auto;padding:var(--space-4);box-sizing:border-box}.prose{max-width:68ch;line-height:var(--lh-loose)}.prose p{margin-bottom:var(--space-4)}.prose h2{margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h3{margin-top:var(--space-6);margin-bottom:var(--space-2)}.site-header{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--color-surface);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-fast)}.header-inner{max-width:1200px;margin:0 auto;min-height:64px;padding:var(--space-2) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:relative}.wordmark{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;box-sizing:border-box;transition:opacity var(--transition-fast)}.wordmark:hover{opacity:.9;text-decoration:none}.site-nav{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.site-nav a{color:var(--color-ink);text-decoration:none;font-weight:var(--fw-semibold);font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box;border-radius:var(--radius-sm);border-bottom:2px solid transparent;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.site-nav a:hover{color:var(--color-primary);background-color:var(--color-primary-subtle);text-decoration:none}.site-nav a[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:var(--color-primary-subtle)}.site-header a.btn-primary,.site-nav a.btn-primary,.mobile-nav-panel a.btn-primary,.site-header a.btn-primary:visited,.site-nav a.btn-primary:visited,.mobile-nav-panel a.btn-primary:visited,.site-header a.btn-primary:active,.site-nav a.btn-primary:active,.mobile-nav-panel a.btn-primary:active,.site-header a.btn-primary.active,.site-nav a.btn-primary.active,.mobile-nav-panel a.btn-primary.active,.site-header a.btn-primary[aria-current=page],.site-nav a.btn-primary[aria-current=page],.mobile-nav-panel a.btn-primary[aria-current=page]{color:#fff;background-color:var(--color-primary);border-bottom-color:transparent;text-decoration:none}.site-header a.btn-primary:hover,.site-nav a.btn-primary:hover,.mobile-nav-panel a.btn-primary:hover{color:#fff;background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);border-bottom-color:var(--color-primary-hover);text-decoration:none}.mobile-menu-toggle{display:none;background:transparent;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer;color:var(--color-ink);min-height:40px;min-width:40px;align-items:center;justify-content:center}.mobile-menu-toggle:hover{background-color:var(--color-surface-subtle)}.mobile-nav-panel{display:none}@media(max-width:768px){.mobile-menu-toggle{display:inline-flex}.site-nav.desktop-nav{display:none}.mobile-nav-panel{display:flex;flex-direction:column;width:100%;background-color:var(--color-surface);border-top:1px solid var(--color-border-light);padding:var(--space-3) var(--space-4);gap:var(--space-2);box-shadow:var(--shadow-md)}.mobile-nav-panel a{padding:var(--space-3);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-ink);text-decoration:none;border-radius:var(--radius-sm);min-height:44px;display:flex;align-items:center;box-sizing:border-box}.mobile-nav-panel a:hover,.mobile-nav-panel a[aria-current=page]{background-color:var(--color-primary-subtle);color:var(--color-primary)}}.site-footer{background-color:#161815;color:#d6d8d2;padding:var(--space-8) var(--space-4) var(--space-6);border-top:1px solid #2b2e28;font-size:var(--fs-sm);margin-top:auto;max-width:100%;box-sizing:border-box;overflow-wrap:break-word}.footer-inner{max-width:1200px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-8)}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-6)}}@media(max-width:540px){.footer-grid{grid-template-columns:1fr}}.footer-col h3,.footer-col h4,.footer-col .footer-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:#fff;margin-top:0;margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em}.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.footer-col a{color:#d6d8d2;text-decoration:none;transition:color var(--transition-fast)}.footer-col a:hover{color:#fff;text-decoration:underline}.footer-bottom{border-top:1px solid #2b2e28;padding-top:var(--space-4);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:var(--fs-xs);color:#8a8f84}.footer-links{display:flex;gap:var(--space-4);flex-wrap:wrap}.footer-links a,.footer-links button{color:#faf7f0;text-decoration:underline;text-underline-offset:2px}.footer-links a:hover,.footer-links button:hover{color:#fff}.hero{padding:var(--space-8) 0;display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:center}@media(min-width:1024px){.hero{grid-template-columns:1.2fr 1fr}}.hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.hero-preview-bed{background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.grid-4x4-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--color-border);border:1px solid var(--color-border)}.cell-preview{background:#fdfaf5;padding:var(--space-2);min-height:52px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:var(--fs-xs);text-align:center}.feature-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin:var(--space-6) 0}@media(min-width:640px){.feature-grid{grid-template-columns:repeat(3,1fr)}}.article-cards-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-top:var(--space-4)}@media(min-width:640px){.article-cards-grid{grid-template-columns:repeat(3,1fr)}}.forum-item{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light)}.forum-post{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.post-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;gap:var(--space-2)}.post-author{display:flex;align-items:center;gap:var(--space-2)}.author-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-ad-bg);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);color:var(--color-primary);font-size:var(--fs-xs)}.post-actions{display:flex;gap:var(--space-2);align-items:center}.planner-container{width:100%;max-width:100%;overflow-x:clip;overflow-y:visible;box-sizing:border-box}.canvas-viewport{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);box-sizing:border-box;scroll-padding-top:var(--app-bar-height, 64px);scroll-padding-bottom:80px}@media(max-width:767px){.planner-toolbar{flex-direction:column;align-items:stretch;gap:var(--space-3)}.planner-toolbar-group{flex-wrap:wrap;justify-content:space-between}}.footer-legal-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 4px;box-sizing:border-box;line-height:1.2}.footer-links{display:flex;gap:8px}
