/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#f7f3ec;--foreground:#1f2422}*{box-sizing:border-box}html{min-height:100%}body{background:linear-gradient(135deg, #2f7d781f, transparent 34%), linear-gradient(315deg, #c25a3a1f, transparent 30%), var(--background);min-height:100%;color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}.calendar-app{--accent:#2f7d78;--soft:#dff4ef;--ink:#173b39;min-height:100vh;padding:24px}.workspace{grid-template-columns:minmax(240px,300px) minmax(520px,650px);justify-content:center;gap:5px;max-width:100%;margin:0 auto;display:grid}.control-panel{background:#fffcf6eb;border:1px solid #1f24221a;border-radius:8px;align-self:start;padding:20px;box-shadow:0 24px 70px #251f181f}.calendar-surface{background:#fffefa;border:1px solid #1f24221f;border-radius:8px;width:100%;min-width:0;margin:0;overflow:hidden;box-shadow:0 24px 70px #251f1824}.calendar-photo{background:var(--soft);border-bottom:1px solid #1f24221a;justify-content:center;margin:0;padding:16px;display:flex}.calendar-photo img{object-fit:contain;background:#fffefa;border-radius:8px;width:auto;max-width:800px;height:auto;max-height:800px;display:block}.calendar-photo.wide img{width:100%}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:800}.calendar-title-input{border:0;border-bottom:2px solid var(--accent);color:var(--ink);background:0 0;outline:0;width:100%;min-width:0;padding:0 0 8px;font-size:1.55rem;font-weight:850;line-height:1.1}.panel-block,.event-form{border-top:1px solid #1f24221a;margin-top:22px;padding-top:20px}.block-label{color:#5d645f;margin-bottom:10px;font-size:.82rem;font-weight:800;display:block}.theme-grid{gap:8px;display:grid}.photo-upload{background:var(--accent);color:#fffefa;border-radius:8px;justify-content:center;align-items:center;min-height:44px;font-size:.92rem;font-weight:850;display:flex;position:relative;overflow:hidden}.photo-upload input{opacity:0;position:absolute;inset:0}.photo-preview{gap:10px;margin-top:12px;display:grid}.photo-preview img{object-fit:contain;background:#fffefa;border:1px solid #1f24221f;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:800px}.photo-preview button{color:#2d332f;background:#ece5d9;border:0;border-radius:8px;min-height:40px;font-weight:850}.photo-hint{color:#5c6660;margin:10px 0 0;font-size:.84rem;line-height:1.45}.share-panel{gap:10px;display:grid}.share-panel label{color:#4f5752;gap:6px;font-size:.8rem;font-weight:800;display:grid}.share-panel input{color:#202421;background:#fff;border:1px solid #1f242229;border-radius:8px;outline:0;min-width:0;padding:11px 12px}.share-panel input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.share-panel input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}}.share-id,.share-message{color:#5c6660;overflow-wrap:anywhere;margin:0;font-size:.84rem;line-height:1.45}.share-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.share-actions button{color:#2d332f;background:#ece5d9;border:0;border-radius:8px;min-height:40px;padding:8px;font-size:.82rem;font-weight:850}.theme-swatch{text-align:left;background:#eef7f5;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px;font-size:.9rem;font-weight:800;display:flex}.theme-swatch.active{border-color:currentColor;box-shadow:inset 0 0 0 1px}.theme-swatch span{border-radius:999px;flex:none;width:18px;height:18px;display:inline-block}.event-form{gap:12px;display:grid}.event-form label{color:#4f5752;gap:6px;font-size:.8rem;font-weight:800;display:grid}.event-form input,.event-form textarea{color:#202421;background:#fff;border:1px solid #1f242229;border-radius:8px;outline:0;min-width:0;padding:11px 12px}.event-form input:focus,.event-form textarea:focus,.calendar-title-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.event-form input:focus,.event-form textarea:focus,.calendar-title-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}}.event-form textarea{resize:vertical;min-height:82px}.event-form .color-picker{height:42px;padding:4px}.primary-button,.quick-actions button,.month-controls button{border:0;border-radius:8px;font-weight:850}.primary-button{background:var(--accent);color:#fffefa;min-height:46px}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.quick-actions button{color:#2d332f;background:#ece5d9;min-height:42px;padding:8px;font-size:.88rem}.calendar-header{background:linear-gradient(90deg, var(--soft), #fffefa 70%), #fffefa;border-bottom:1px solid #1f24221a;justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.calendar-header h1{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:clamp(1.7rem,3vw,3.2rem);line-height:1.02}.month-controls{background:#ffffffb3;border:1px solid #1f24221f;border-radius:8px;grid-template-columns:42px minmax(140px,auto) 42px;align-items:center;min-height:48px;display:grid}.month-controls strong{color:var(--ink);text-align:center;white-space:nowrap;font-size:1rem}.month-controls button{color:var(--accent);background:0 0;width:42px;height:46px;font-size:1.7rem;line-height:1}.calendar-grid{grid-template-columns:repeat(7,minmax(74px,1fr));width:100%;margin:0 auto;padding:14px;display:grid}.weekday{color:#69716d;text-align:center;padding:10px 8px;font-size:.84rem;font-weight:850}.day-cell{color:#202421;text-align:left;background:#fffefa;border:1px solid #1f242217;align-content:start;gap:8px;min-height:64px;padding:10px;display:grid;overflow:hidden}.day-cell:not(.empty):hover{background:var(--soft)}@supports (color:color-mix(in lab, red, red)){.day-cell:not(.empty):hover{background:color-mix(in srgb, var(--soft) 45%, #fffefa)}}.day-cell.empty{background:#f5f0e8}.day-cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.day-number{color:var(--ink);border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-weight:850;display:inline-flex}.today .day-number{background:var(--accent);color:#fff}.event-color-stack{flex-wrap:wrap;align-content:start;gap:3px;min-width:0;display:flex}.event-color-mark{border-radius:999px;width:100%;height:7px;display:block}.more-events{color:#28302b;text-overflow:ellipsis;white-space:nowrap;background:#ece5d9;border-radius:999px;padding:2px 6px;font-size:.75rem;font-weight:750;line-height:1.25;display:block;overflow:hidden}.month-event-section{border-top:1px solid #1f24221a;gap:16px;padding:22px 24px 26px;display:grid}.month-event-heading h2{color:var(--ink);margin:0;font-size:1.25rem}.month-event-cards{grid-template-columns:1fr;gap:10px;display:grid}.month-event-card{background:#fff;border:1px solid #1f24221a;border-radius:8px;grid-template-columns:44px 1fr 30px;align-items:start;gap:10px;padding:12px;display:grid}.agenda-date{background:var(--soft);color:var(--ink);text-align:center;border-radius:6px;padding:6px 4px;font-size:.78rem;font-weight:850}.month-event-card h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:.96rem}.month-event-card p,.empty-state{color:#5c6660;margin:0;font-size:.85rem;line-height:1.45}.month-event-card button{color:#626b65;background:#f2eee6;border:0;border-radius:6px;width:30px;height:30px;font-size:1.15rem;line-height:1}@media (max-width:1120px){.workspace{grid-template-columns:260px 1fr}.calendar-surface{width:100%}}@media (max-width:780px){.calendar-app{padding:12px}.workspace{grid-template-columns:1fr}.calendar-header{flex-direction:column;align-items:stretch;padding:18px}.month-controls{grid-template-columns:42px 1fr 42px}.calendar-grid{grid-template-columns:repeat(7,minmax(42px,1fr));width:100%;padding:8px;overflow-x:auto}.calendar-photo{padding:10px}.day-cell{min-height:56px;padding:7px}.event-color-mark{height:6px}.month-event-section{padding:18px}.month-event-cards{grid-template-columns:1fr}}@media print{@page{margin:7mm;size:A4 landscape}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body{background:#fff;height:auto;margin:0;overflow:hidden}.calendar-app{padding:0}.workspace{max-width:none;display:block}.control-panel{display:none}.calendar-surface{box-shadow:none;page-break-after:avoid;page-break-before:avoid;page-break-inside:avoid;border:0;border-radius:0;width:100%;max-height:196mm;overflow:hidden}.calendar-header{min-height:17mm;padding:4mm 0}.calendar-header h1{font-size:18pt}.eyebrow{margin-bottom:1mm;font-size:7pt}.calendar-photo{background:#fff;justify-content:center;max-height:42mm;padding:0 0 3mm;display:flex}.calendar-photo img{object-fit:contain;border-radius:0;width:auto;max-width:100%;height:auto;max-height:42mm}.month-controls button{display:none}.month-controls{background:#fff;min-height:11mm}.month-controls strong{font-size:11pt}.calendar-grid{grid-template-columns:repeat(7,1fr);width:100%;padding:0}.weekday{padding:1.5mm 1mm;font-size:8pt}.day-cell{page-break-inside:avoid;gap:1mm;min-height:9.5mm;padding:1.5mm}.day-number{width:5mm;height:5mm;font-size:8pt}.event-color-stack{gap:.4mm}.event-color-mark{height:1.2mm}.more-events{border-radius:2mm;padding:.8mm 1mm;font-size:6.5pt}.month-event-section{gap:2mm;padding:3mm 0 0}.month-event-heading h2{font-size:10pt}.month-event-cards{grid-template-columns:repeat(3,1fr);gap:1.5mm;max-height:28mm;overflow:hidden}.month-event-card{grid-template-columns:12mm 1fr 0;gap:1.5mm;padding:1.5mm}.month-event-card button{display:none}.month-event-card h3{margin-bottom:.5mm;font-size:7pt}.month-event-card p,.empty-state{font-size:6.5pt;line-height:1.25}.agenda-date{padding:1mm .5mm;font-size:6.5pt}}
