.navbar{background:linear-gradient(90deg,#2b1f18,#553622 55%,#7f5127);box-shadow:0 10px 26px #2b1f182e;color:#fff;padding:15px 0}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 20px}.nav-logo{color:#fff4e8;font-size:24px;font-weight:700;text-decoration:none}.nav-menu{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0;padding:0}.nav-item{margin:0}.nav-link{border-radius:999px;color:#fff4e8;font-size:16px;padding:8px 12px;text-decoration:none;transition:opacity .3s ease,background-color .3s ease}.nav-link.active,.nav-link:hover{background-color:#fff4e82e;opacity:1}.nav-auth{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.nav-user{color:#ffe7cd;font-size:14px}@media (max-width:768px){.nav-container{flex-direction:column;gap:15px}.nav-menu{flex-direction:column;gap:10px;text-align:center}}.site-home{display:flex;flex-direction:column;gap:48px;justify-content:center;min-height:calc(100vh - 110px);padding:24px 0 48px}.site-home-hero{background:radial-gradient(circle at top left,#ffdead73,#0000 36%),linear-gradient(135deg,#261710,#4b2a1a 45%,#7a4a1e);border-radius:32px;box-shadow:0 30px 60px #2617103d;color:#fff7ed;padding:56px 48px 44px}.site-home-kicker{color:#f8d9a8;font-size:12px;letter-spacing:.22em;margin:0 0 12px;text-transform:uppercase}.site-home-hero h1{font-size:clamp(2.6rem,6vw,4.8rem);font-weight:700;line-height:.95;margin:0}.project-grid-section{display:flex;justify-content:center}.project-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.project-tile{background:linear-gradient(180deg,#fff8ecf5,#f4e8d8f5),#fff;border:1px solid #73472624;border-radius:28px;box-shadow:0 14px 30px #623d1f1f;color:#392316;display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:24px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.project-tile:hover{border-color:#73472647;box-shadow:0 22px 42px #623d1f2e;transform:translateY(-6px)}.project-tile-icon{font-size:2.6rem}.project-tile-title{font-size:1.25rem;font-weight:700;line-height:1.2}.project-tile-tagline{color:#7b5b46;font-size:.96rem}@media (max-width:960px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.site-home{gap:28px;padding-top:8px}.site-home-hero{border-radius:24px;padding:36px 24px 28px}.project-grid{grid-template-columns:1fr}.project-tile{min-height:150px}}.home-container{padding:40px 20px}.hero-section{background:linear-gradient(135deg,#2f2118,#6c4423 60%,#947149);border-radius:20px;color:#fff;margin-bottom:50px;padding:60px 20px;text-align:center}.project-breadcrumb{color:#f8d9a8;font-size:12px;letter-spacing:.2em;margin:0 0 12px;text-transform:uppercase}.hero-section h1{font-size:48px;margin-bottom:20px}.subtitle{color:#fff4e8;font-size:20px;line-height:1.6;margin:0 auto 20px;max-width:700px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:28px}.features-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:0}.feature-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px;text-align:center;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-icon{font-size:48px;margin-bottom:15px}.feature-card h3{color:#2c5530;font-size:22px;margin-bottom:10px}.feature-card p{color:#666;line-height:1.5}.welcome-back{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:50px;padding:40px;text-align:center}.welcome-back h2{color:#2c5530;margin-bottom:15px}.welcome-back p{color:#666;font-size:18px}.authenticated-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:24px}@media (max-width:768px){.hero-section h1{font-size:36px}.subtitle{font-size:18px}.authenticated-actions,.hero-actions{align-items:stretch;flex-direction:column}}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.family-tree-container{margin:0 auto;max-width:1200px}.family-tree-container h1{color:#2c5530;margin-bottom:10px}.subtitle{color:#666;font-size:16px;margin-bottom:30px}.tree-warning{background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;color:#92400e;font-size:14px;margin-bottom:20px;padding:12px 14px}.tree-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px;text-align:center}.stat-card h3{color:#2c5530;font-size:48px;margin-bottom:10px}.stat-card p{color:#666;font-size:16px}.tree-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px}.tree-list h2{color:#2c5530;margin-bottom:20px}.tree-member{border-bottom:1px solid #eee;color:#333;font-size:16px;padding:12px}.tree-member:last-child{border-bottom:none}.tree-member strong{color:#2c5530}.tree-canvas{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;height:72vh;min-height:520px;overflow:hidden;width:100%}.react-flow__node.member-node{background:#f0fff4;border:2px solid #2f855a;border-radius:10px;box-shadow:0 2px 8px #00000014;color:#1f2937;font-size:13px;line-height:1.35;max-width:260px;min-width:210px;padding:10px 12px;text-align:center}.react-flow__node.member-node.deceased{background:#f3f4f6;border-color:#6b7280;color:#374151}.react-flow__node.couple-node{background:#fff7ed;border:2px solid #b45309;border-radius:999px;box-shadow:none;height:16px;min-height:16px;min-width:16px;padding:0;width:16px}.tree-toolbar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:10px}.tree-layout-toggle{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:6px 14px;transition:background .15s,border-color .15s,color .15s}.tree-layout-toggle:hover{background:#f3f4f6;border-color:#9ca3af}.tree-layout-toggle.active{background:#f0fff4;border-color:#2f855a;color:#2f855a;font-weight:600}.tree-legend{align-items:center;color:#4b5563;display:flex;flex-wrap:wrap;font-size:14px;gap:16px;margin-top:14px}.legend-item{align-items:center;display:inline-flex;gap:8px}.legend-dot{border-radius:999px;display:inline-block;height:12px;width:12px}.legend-dot.living{background:#2f855a}.legend-dot.deceased{background:#6b7280}.legend-line{border-top:2px solid #2f855a;display:inline-block;height:0;vertical-align:middle;width:34px}.legend-line.marriage{border-top-color:#b45309;border-top-style:dashed}@media (max-width:768px){.tree-canvas{height:68vh;min-height:460px}}.family-members-container{margin:0 auto;max-width:1200px}.members-toolbar{grid-gap:12px;align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:grid;gap:12px;grid-template-columns:1fr auto auto;margin-bottom:16px;padding:16px}.members-search,.members-sort{border:1px solid #d0d5dd;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.view-toggle{display:flex;gap:8px}.members-summary{color:#475467;font-size:14px;margin-bottom:16px}.member-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.member-form h2{color:#2c5530;margin-bottom:25px}.form-error{color:#b42318;font-size:14px;margin-top:10px}.helper-text{color:#666;display:block;font-size:12px;margin-top:6px}.member-form .compact-checkbox-row{gap:10px}.member-form .compact-checkbox-row .checkbox-group label{align-items:center;display:inline-flex;gap:6px;margin-bottom:0}.btn-link{background:#0000;border:0;color:#0b63ce;cursor:pointer;font-size:13px;margin-top:8px;padding:0;text-align:left}.btn-link:hover{text-decoration:underline}.quick-add-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.quick-add-modal{background:#fff;border-radius:10px;box-shadow:0 8px 24px #0003;padding:24px;width:min(640px,100%)}.quick-add-modal h3{color:#2c5530;margin-bottom:16px;margin-top:0}.edit-modal{max-height:90vh;overflow-y:auto}.quick-add-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.members-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.members-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow-x:auto}.members-table{border-collapse:collapse;width:100%}.members-table td,.members-table th{border-bottom:1px solid #eaecf0;padding:12px;text-align:left;vertical-align:top}.members-table thead th{background:#f8faf9;color:#2c5530;font-weight:600}.members-table tbody tr:hover{background:#f9fbfa}.sort-button{color:inherit}.name-link,.sort-button{background:#0000;border:0;cursor:pointer;font:inherit;padding:0}.name-link{color:#1f5f3b;font-weight:600;margin:0;text-align:left}.name-link:hover{text-decoration:underline}.pagination-controls{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:16px}.member-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:transform .2s ease}.member-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.member-card h3{color:#2c5530;font-size:20px;margin-bottom:10px}.maiden-name{color:#666;font-size:14px;font-style:italic;margin-bottom:8px}.member-card p{color:#555;font-size:14px;margin:5px 0}.biography{border-top:1px solid #eee;line-height:1.5;margin-top:10px;padding-top:10px}.name-fields{display:flex;flex-direction:column;gap:16px}.name-fields .form-group{flex:0 0 auto}.name-fields label{color:#344054;display:block;font-weight:500;margin-bottom:8px}.name-fields input{border:1px solid #d0d5dd;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.relationships-section{border-top:1px solid #eaecf0;display:flex;flex-direction:column;gap:16px;margin-top:30px;padding-top:30px}.relationship-row{grid-gap:16px;align-items:start;background:#f8faf9;border-left:4px solid #2c5530;border-radius:8px;display:grid;gap:16px;grid-template-columns:320px 1fr;padding:14px}.relationship-left{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:auto 1fr}.relationship-toggle-label{align-items:center;color:#344054;cursor:pointer;display:flex;font-weight:500;gap:10px;margin:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.relationship-toggle-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.stored-value-field{align-items:center;background:#fff;border:1px solid #d0d5dd;border-radius:6px;color:#555;display:flex;font-size:14px;min-height:40px;padding:10px 12px;white-space:normal;word-break:break-word}.stored-value-field:empty{color:#999;font-style:italic}.relationship-right{min-height:40px}.relationship-controls{display:flex;flex-direction:column;gap:12px}.relationship-select{background:#fff;border:1px solid #d0d5dd;border-radius:6px;font-size:14px;min-height:100px;padding:10px 12px;width:100%}.relationship-select.single-select{min-height:40px}.relationship-controls .form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.relationship-controls .form-group{display:flex;flex-direction:column;gap:6px}.relationship-controls label{color:#344054;font-size:14px;font-weight:500}.relationship-controls input[type=date],.relationship-controls input[type=text],.relationship-controls select,.relationship-controls textarea{border:1px solid #d0d5dd;border-radius:6px;font-size:14px;padding:10px 12px}.relationship-controls textarea{resize:vertical}@media (max-width:900px){.members-toolbar{grid-template-columns:1fr}.view-toggle{justify-content:flex-start}.relationships-section{gap:12px}.relationship-controls .form-row,.relationship-left,.relationship-row{grid-template-columns:1fr}}.photos-container{margin:0 auto;max-width:1200px}.upload-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.upload-form h2{color:#2c5530;margin-bottom:25px}.photos-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.photo-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:default;overflow:hidden;transition:transform .2s ease}.photo-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.photo-placeholder{background:linear-gradient(135deg,#f0f0f0,#e0e0e0);color:#999;flex-direction:column}.photo-image,.photo-placeholder{align-items:center;display:flex;height:200px;justify-content:center}.photo-image{background:#f0f0f0;overflow:hidden}.photo-image img{display:block;height:100%;object-fit:contain;width:100%}.photo-placeholder span{font-size:64px;margin-bottom:10px}.photo-filename{color:#666;font-size:12px;padding:0 10px;text-align:center;word-break:break-word}.photo-info{padding:15px}.photo-status{border-radius:999px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.2px;margin:0 0 8px;padding:3px 8px}.photo-status-content{background:#e7f7ec;color:#1f7a3f}.photo-status-blob-url{background:#fff4dd;color:#8a5a00}.photo-status-error{background:#fde8e8;color:#9b1c1c}.photo-info h3{color:#2c5530;font-size:18px;margin-bottom:6px}.photo-info p{color:#555;font-size:14px;margin:5px 0}.member-name{color:#2f3a33;font-weight:500}.photo-edit-button{margin-top:10px}.photo-modal-overlay{align-items:center;background:#0a120d99;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.photo-modal{background:#fff;border-radius:12px;box-shadow:0 18px 40px #00000040;max-height:90vh;overflow:auto;width:min(960px,100%)}.photo-modal-header{align-items:center;border-bottom:1px solid #e5e8e6;display:flex;justify-content:space-between;padding:18px 22px}.photo-modal-header h2{color:#2c5530;margin:0}.photo-modal-body{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:20px 22px 24px}.photo-modal-preview{background:#f4f7f5;border-radius:10px;min-height:280px;overflow:hidden}.photo-modal-preview img{background:#f0f2f1;height:100%;max-height:450px;object-fit:contain;width:100%}.photo-modal-form{display:flex;flex-direction:column}.photo-modal-meta{background:#fafcfb;border:1px solid #e8ece9;border-radius:8px;margin-top:8px;padding:10px 12px}.photo-modal-meta p{font-size:13px;margin:4px 0}.photo-modal-actions{display:flex;gap:10px;justify-content:space-between;margin-top:14px}@media (max-width:900px){.photo-modal-body{grid-template-columns:1fr}}.upload-info{border-top:1px solid #eee;color:#999;font-size:12px;margin-top:10px;padding-top:10px}.stories-container{margin:0 auto;max-width:900px}.story-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.story-form h2{color:#2c5530;margin-bottom:25px}.stories-list{display:flex;flex-direction:column;gap:20px}.story-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px;transition:box-shadow .2s ease}.story-card:hover{box-shadow:0 4px 8px #00000026}.story-card h2{color:#2c5530;font-size:24px;margin-bottom:15px}.story-member{color:#666;font-size:14px;font-weight:500;margin-bottom:8px}.story-date{color:#888;font-size:14px;margin-bottom:15px}.story-content{color:#333;font-size:16px;line-height:1.8;margin:20px 0;white-space:pre-wrap}.story-footer{border-top:1px solid #eee;color:#999;font-size:14px;margin-top:20px;padding-top:15px}.project-placeholder{display:grid;min-height:calc(100vh - 140px);padding:32px 0;place-items:center}.project-placeholder-card{background:linear-gradient(180deg,#fffaf3,#f4eadc);border:1px solid #73472626;border-radius:28px;box-shadow:0 18px 40px #50341f24;max-width:760px;padding:48px;text-align:center;width:100%}.project-placeholder-icon{font-size:3.5rem;margin-bottom:16px}.project-placeholder-eyebrow{color:#8a5f39;font-size:12px;letter-spacing:.18em;margin:0 0 10px;text-transform:uppercase}.project-placeholder-card h1{color:#3b2416;font-size:clamp(2rem,4vw,3.25rem);margin:0 0 16px}.project-placeholder-copy{color:#684a36;font-size:1.05rem;line-height:1.7;margin:0 auto 28px;max-width:540px}.project-placeholder-actions{display:flex;justify-content:center}@media (max-width:640px){.project-placeholder-card{border-radius:22px;padding:32px 24px}}.App{background:radial-gradient(circle at top,#ffedd6b3,#0000 28%),linear-gradient(180deg,#f5ecdf,#efe2d2);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:20px;width:100%}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.page-header h1{color:#2c5530;font-size:32px}.btn{border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-primary{background-color:#2c5530;color:#fff}.btn-primary:hover{background-color:#1e3d21}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-large{font-size:18px;padding:15px 40px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2c5530;outline:none}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .3s ease}.card:hover{box-shadow:0 4px 8px #00000026}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading{font-size:18px}.empty-state,.loading{color:#666;padding:50px;text-align:center}.empty-state h2{color:#333;margin-bottom:15px}
/*# sourceMappingURL=main.646f5cbc.css.map*/