:root{--bg:#f4f0e7;--card:#fffdf7;--card-strong:#f8f4eb;--line:#0e26341f;--text:#10222d;--muted:#5d6c74;--accent:#0f6c78;--accent-strong:#0b4f58;--accent-soft:#d8ecef;--success:#2f7a50;--warning:#ac6b15;--danger:#b23a2a;--shadow:0 22px 50px #091b2414;--radius-lg:28px;--radius-md:18px;--radius-sm:12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#0f6c781f,#0000 24rem),linear-gradient(#f5efe3 0%,#f0ece2 35%,#edf1ef 100%);margin:0;font-family:Georgia,Times New Roman,serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.landing{width:min(1160px,100% - 2rem);margin:0 auto;padding:2rem 0 4rem}.hero-panel,.panel,.metric-card,.job-card,.day-column,.sidebar-user-card,.feature-card{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);background:#fffdf7e6}.hero-panel{padding:2rem}.hero-grid,.feature-grid,.metrics-grid,.two-column-grid,.detail-grid,.report-grid,.client-grid,.photo-grid{gap:1rem;display:grid}.hero-grid{grid-template-columns:1.4fr 1fr;align-items:start}.feature-grid,.metrics-grid,.report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-grid,.photo-grid,.two-column-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .75rem;font-size:.82rem;font-weight:700}.hero-panel h1,.brand-block h1,.section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.3rem);line-height:.98}.hero-copy p,.section-heading p,.muted-text,.job-card p,.feature-card p,.sidebar-user-card span,.panel-header p,.assignment-row select,.field span,.table-subtle{color:var(--muted)}.hero-actions,.section-actions,.inline-list,.job-card-footer,.panel-header,.job-card-header,.assignment-row,.checkbox-row,.photo-form-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.stack{flex-direction:column;gap:1rem;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:2.9rem;padding:.75rem 1.1rem;transition:transform .16s,opacity .16s,background .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:#fff}.button-secondary{border-color:var(--line);color:var(--text);background:#fff}.shell{grid-template-columns:290px 1fr;min-height:100vh;display:grid}.sidebar{color:#f7f7f1;background:#08202cf0;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:1.5rem;display:flex}.brand-block span,.sidebar-nav a,.mode-badge{color:#f7f7f1c7}.sidebar-nav{gap:.75rem;display:grid}.sidebar-nav a{border-radius:var(--radius-sm);background:#ffffff0d;padding:.8rem 1rem}.sidebar-nav a.active{color:#fff;background:#ffffff24}.sidebar-button{width:100%}.mode-badge{margin:0;font-size:.92rem}.content-area{padding:1.5rem}.content-stack{flex-direction:column;gap:1.25rem;display:flex}.section-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.metric-card,.feature-card,.panel,.job-card,.day-column{padding:1.2rem}.metric-card strong{margin:.45rem 0;font-size:2rem;display:block}.field{flex-direction:column;gap:.45rem;display:flex}.field span{font-size:.92rem}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:14px;padding:.82rem .95rem}.field textarea{resize:vertical}.status-pill{border-radius:999px;justify-content:center;align-items:center;padding:.36rem .7rem;font-size:.85rem;font-weight:700;display:inline-flex}.tone-neutral{color:#6d6040;background:#ebe7da}.tone-info{color:#0f5965;background:#d9eff2}.tone-success{color:#2f7a50;background:#dff0e4}.tone-warning{color:#9a6115;background:#f4ead6}.tone-danger{color:#a03426;background:#f7dfdc}.status-scheduled{color:#6d6040;background:#ebe7da}.status-in_progress{color:#0f5965;background:#d9eff2}.status-completed{color:#2f7a50;background:#dff0e4}.schedule-board{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.day-column{background:linear-gradient(#fffdf7fa 0%,#f6f2eaf0 100%);min-height:14rem}.day-column-header{margin-bottom:1rem}.day-column-header h3{margin:0 0 .25rem}.day-column-header p{color:var(--muted);margin:0}.job-card{flex-direction:column;gap:.75rem;display:flex}.job-card strong,.panel h3,.feature-card h3,.table-card h3{font-size:1.1rem}.panel-header{align-items:flex-start;margin-bottom:1rem}.panel-header h3,.photo-form-header h4{margin:0 0 .25rem}.photo-form{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffffb3;padding:1rem}.assignment-row{border:1px solid var(--line);background:#ffffffad;border-radius:14px;padding:.85rem .95rem}.checkbox-row{justify-content:flex-start}.checkbox-row input{width:1rem;height:1rem}.list-reset{margin:0;padding:0;list-style:none}.list-item{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.8rem 0;display:flex}.list-item:last-child{border-bottom:0}.table-card{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);background:#fffdf7e6;padding:1.2rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.8rem 0}th{color:var(--muted);font-size:.88rem;font-weight:700}.form-error{color:var(--danger);margin:0}.form-success{color:var(--success);margin:0}.notice-card{border-radius:var(--radius-sm);background:#d8ecefb3;border:1px dashed #0f6c7859;padding:1rem}.notice-success{background:#dff0e4d1;border-color:#2f7a5066}.notice-error{background:#f7dfdce0;border-color:#b23a2a66}.empty-state{border-radius:var(--radius-md);border:1px dashed var(--line);color:var(--muted);background:#ffffff75;padding:1.4rem}.ops-two-column,.form-grid,.job-board{gap:1rem;display:grid}.ops-two-column{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.responsive-table{width:100%;overflow-x:auto}.compact-actions{align-items:flex-end;gap:.35rem}.info-list{flex-direction:column;gap:.9rem;display:flex}.info-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding-bottom:.9rem;display:flex}.info-row:last-child{border-bottom:0;padding-bottom:0}.job-board{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start}.board-column{border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffff8a;flex-direction:column;gap:.85rem;min-height:100%;padding:1rem;display:flex}.board-column-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.board-column-header h4{text-transform:capitalize;margin:0;font-size:1rem}.laguna-job-card{flex-direction:column;gap:.65rem;display:flex}.boat-record-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.note-block{white-space:pre-wrap}.boat-photo-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffb8;flex-direction:column;gap:.9rem;padding:1rem;display:flex}.boat-photo-image,.boat-photo-placeholder{border-radius:var(--radius-sm);width:100%;min-height:11rem}.boat-photo-image{object-fit:cover;background:#08202c14;display:block}.boat-photo-placeholder{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#d8ecef73;justify-content:center;align-items:center;padding:1rem;display:flex}@media (max-width:980px){.shell,.hero-grid,.feature-grid,.metrics-grid,.two-column-grid,.detail-grid,.client-grid,.photo-grid,.report-grid,.ops-two-column,.form-grid{grid-template-columns:1fr}.shell{min-height:auto}.sidebar{padding-bottom:.75rem}}@media (max-width:760px){.shell{display:block}.sidebar,.content-area,.landing{width:100%}.sidebar{border-bottom-right-radius:28px;border-bottom-left-radius:28px}.hero-panel,.panel,.metric-card,.job-card,.day-column,.table-card{padding:1rem}.section-heading,.hero-actions,.job-card-header,.panel-header,.assignment-row,.job-card-footer,.info-row,.boat-record-actions{flex-direction:column;align-items:flex-start}}
