@font-face{font-family:Patrick Hand;src:url(/fonts/PatrickHand-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--color-earth-dark: #4A3728;--color-earth-medium: #6B5D50;--color-earth-light: #c4a77d;--color-earth-cream: #F5EDE3;--color-earth-sage: #5D7A50;--color-earth-olive: #6b7f5e;--color-primary: #4A3728;--color-primary-light: #6B5D50;--color-secondary: #5D7A50;--color-accent: #6b7f5e;--color-background: #FAF6F0;--color-surface: #FFFDF9;--color-text: #2A1F14;--color-text-light: #6B5D50;--color-border: #E8DFD4;--color-border-hover: #D4C8BA;--color-copper: #B07341;--color-plum: #7A5270;--color-sage: #5D7A50;--color-moss: #4A6340;--color-wheat: #C49A3C;--color-sky: #5A7D9F;--color-barn-red: #8B3A3A;--color-barn-red-deep: #6B2828;--color-clocked-in: #6b7f5e;--color-clocked-out: #c4a77d;--color-needs-allocation: #c45e4a;--color-pending: #c4a77d;--color-in-progress: #5D7A50;--color-completed: #6b7f5e;--color-sidebar: #8B3A3A;--sidebar-width: 260px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;background-color:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:1rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-light)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover{opacity:.9}.btn-accent{background-color:var(--color-accent);color:#fff}.btn-accent:hover{opacity:.9}.btn-outline{background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:#fff}.btn-large{padding:var(--spacing-md) var(--spacing-xl);font-size:1.25rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-small{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;background:var(--color-earth-cream);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit}.btn-small:hover{background:var(--color-border)}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:.9rem;text-decoration:underline;padding:0;margin-top:var(--spacing-xs)}.btn-link:hover{color:var(--color-primary-light)}.btn-danger{color:var(--color-needs-allocation)}.btn-danger:hover{background:#c45e4a1a}input,textarea,select{font-family:inherit;font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #5c40331a}input[type=number]{width:100px;text-align:right}textarea{min-height:120px;resize:vertical}label{display:block;font-weight:500;margin-bottom:var(--spacing-xs);color:var(--color-text)}.form-group{margin-bottom:var(--spacing-md)}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:0 2px 8px #00000014}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-md)}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-active{background-color:#6b7f5e26;color:var(--color-clocked-in)}.badge-complete{background-color:#5c40331a;color:var(--color-primary)}.badge-pending{background-color:#c45e4a26;color:var(--color-needs-allocation)}.badge-inactive{background-color:var(--color-border);color:var(--color-text-light)}.badge-owner{background-color:#2d6da3;color:#fff}.badge-admin{background-color:var(--color-primary);color:#fff}.badge-danger{background-color:#c45e4a26;color:var(--color-needs-allocation)}.error-message{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:#c45e4a1a;border:1px solid var(--color-needs-allocation);border-radius:var(--radius-md);color:var(--color-needs-allocation)}.success-message{padding:var(--spacing-md);background-color:#6b7f5e1a;border:1px solid var(--color-clocked-in);border-radius:var(--radius-md);color:var(--color-clocked-in);margin-bottom:var(--spacing-md)}.muted{color:var(--color-text-light);font-style:italic}.table{width:100%;border-collapse:collapse;background-color:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.table th,.table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.table th{background-color:var(--color-earth-cream);font-weight:600;color:var(--color-primary)}.table tr:last-child td{border-bottom:none}.table tr:hover{background-color:#5c403305}.table-number{text-align:right;font-variant-numeric:tabular-nums}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-body{padding:var(--spacing-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-light)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.filter-card{margin-bottom:var(--spacing-lg)}.filter-row{display:flex;gap:var(--spacing-md);align-items:flex-end;flex-wrap:wrap}.filter-row .form-group{margin-bottom:0;min-width:150px}.action-buttons{display:flex;gap:var(--spacing-xs)}.back-link{display:inline-block;margin-bottom:var(--spacing-sm);font-size:.9rem;color:var(--color-text-light)}.back-link:hover{color:var(--color-primary)}.app-layout{display:flex;min-height:100vh}.app-sidebar{width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;z-index:200;display:flex;flex-direction:column;background-color:var(--color-sidebar);color:#e8e0d4;overflow-y:auto;transform:translate(-100%);transition:transform .25s ease;background-image:radial-gradient(ellipse 30px 55px at 8% 55%,rgba(75,80,75,.55) 0%,rgba(75,80,75,.25) 40%,transparent 70%),radial-gradient(ellipse 25px 60px at 55% 65%,rgba(65,70,65,.5) 0%,rgba(65,70,65,.2) 45%,transparent 70%),radial-gradient(ellipse 35px 65px at 80% 40%,rgba(80,85,80,.45) 0%,rgba(80,85,80,.18) 40%,transparent 70%),radial-gradient(ellipse 22px 50px at 32% 30%,rgba(70,75,70,.4) 0%,rgba(70,75,70,.15) 50%,transparent 70%),radial-gradient(ellipse 28px 45px at 66% 20%,rgba(75,80,75,.38) 0%,rgba(75,80,75,.12) 45%,transparent 70%),radial-gradient(ellipse 20px 55px at 93% 70%,rgba(65,70,65,.5) 0%,rgba(65,70,65,.18) 45%,transparent 70%),radial-gradient(ellipse 26px 48px at 22% 15%,rgba(80,85,80,.35) 0%,rgba(80,85,80,.12) 40%,transparent 65%),radial-gradient(ellipse 18px 58px at 45% 80%,rgba(70,75,70,.42) 0%,rgba(70,75,70,.15) 40%,transparent 70%),radial-gradient(ellipse 15px 35px at 15% 40%,rgba(60,65,60,.4) 0%,rgba(60,65,60,.12) 50%,transparent 80%),radial-gradient(ellipse 18px 30px at 72% 80%,rgba(60,65,60,.35) 0%,rgba(60,65,60,.1) 50%,transparent 80%),radial-gradient(ellipse 12px 38px at 40% 25%,rgba(65,70,65,.3) 0%,transparent 70%),radial-gradient(ellipse 16px 32px at 88% 15%,rgba(65,70,65,.35) 0%,transparent 70%),radial-gradient(ellipse 8px 22px at 18% 70%,rgba(55,60,55,.35) 0%,transparent 100%),radial-gradient(ellipse 6px 18px at 62% 45%,rgba(55,60,55,.3) 0%,transparent 100%),radial-gradient(ellipse 10px 25px at 38% 60%,rgba(55,60,55,.25) 0%,transparent 100%),radial-gradient(ellipse 7px 20px at 85% 30%,rgba(55,60,55,.3) 0%,transparent 100%),repeating-linear-gradient(90deg,transparent 0px,transparent 3px,rgba(0,0,0,.08) 3px,rgba(0,0,0,.08) 4px,transparent 4px,transparent 9px,rgba(0,0,0,.05) 9px,rgba(0,0,0,.05) 10px,transparent 10px,transparent 16px,rgba(0,0,0,.07) 16px,rgba(0,0,0,.07) 17px,transparent 17px,transparent 25px),repeating-linear-gradient(90deg,transparent 0px,transparent 108px,rgba(0,0,0,.35) 108px,rgba(0,0,0,.5) 110px,rgba(0,0,0,.35) 112px,transparent 113px,transparent 220px),repeating-linear-gradient(90deg,#0000,#00000014,#0000,#ffffff0f,#0000 220px)}.app-sidebar.open{transform:translate(0)}.app-main{margin-left:0;flex:1;min-height:100vh;padding-top:56px}.sidebar-search{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header{padding:var(--spacing-lg);text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{height:80px;filter:brightness(0) invert(.9);margin-bottom:var(--spacing-sm)}.sidebar-title-row{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.sidebar-title{font-size:1.3rem;font-weight:600;color:#f5f0e6;margin:0}.sidebar-user{padding:var(--spacing-md) var(--spacing-lg);font-size:.85rem;color:#fff9;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-nav{flex:1;padding:var(--spacing-md) 0}.sidebar-section{padding:var(--spacing-xs) var(--spacing-lg);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#fff6;margin-top:var(--spacing-md)}.sidebar-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);color:#e8e0d4;text-decoration:none;font-size:.95rem;transition:background .15s ease}.sidebar-link:hover{background:#ffffff14;text-decoration:none}.sidebar-link.active{background:#ffffff1f;color:#fff;font-weight:600}.sidebar-link-icon{width:20px;text-align:center;font-size:1.1rem}.sidebar-link.disabled{opacity:.45;cursor:default}.sidebar-link.disabled:hover{background:transparent}.sidebar-badge{margin-left:auto;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;opacity:.6}.sidebar-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid rgba(255,255,255,.1)}.sidebar-signout{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:#e8e0d4;font-family:inherit;font-size:.9rem;cursor:pointer;transition:background .15s ease}.sidebar-signout:hover{background:#ffffff1f}.menu-toggle-btn{display:block;position:fixed;top:var(--spacing-md);left:var(--spacing-md);z-index:300;background:var(--color-sidebar);color:#e8e0d4;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:1.5rem;cursor:pointer;box-shadow:0 2px 8px #0003}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:150}.sidebar-overlay.visible{display:block}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.login-container{width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:var(--spacing-lg)}.login-logo{height:120px;margin-bottom:var(--spacing-md)}.login-header h1{margin-bottom:var(--spacing-xs)}.login-header p{color:var(--color-text-light)}.login-container form{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-container .btn{width:100%;margin-top:var(--spacing-sm)}.password-wrapper{position:relative}.password-wrapper input{padding-right:44px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-light);padding:4px;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--color-primary)}.forgot-password{text-align:right;margin-top:-8px}.forgot-password button{background:none;border:none;color:var(--color-text-light);cursor:pointer;font-family:inherit;font-size:.85rem;text-decoration:underline;padding:0}.forgot-password button:hover{color:var(--color-primary)}.login-toggle{text-align:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.login-toggle button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:inherit;text-decoration:underline}.dash-hero{background-color:var(--color-sidebar);background-image:radial-gradient(ellipse 30px 55px at 8% 55%,rgba(75,80,75,.55) 0%,rgba(75,80,75,.25) 40%,transparent 70%),radial-gradient(ellipse 25px 60px at 55% 65%,rgba(65,70,65,.5) 0%,rgba(65,70,65,.2) 45%,transparent 70%),radial-gradient(ellipse 35px 65px at 80% 40%,rgba(80,85,80,.45) 0%,rgba(80,85,80,.18) 40%,transparent 70%),radial-gradient(ellipse 22px 50px at 32% 30%,rgba(70,75,70,.4) 0%,rgba(70,75,70,.15) 50%,transparent 70%),radial-gradient(ellipse 28px 45px at 66% 20%,rgba(75,80,75,.38) 0%,rgba(75,80,75,.12) 45%,transparent 70%),radial-gradient(ellipse 20px 55px at 93% 70%,rgba(65,70,65,.5) 0%,rgba(65,70,65,.18) 45%,transparent 70%),radial-gradient(ellipse 26px 48px at 22% 15%,rgba(80,85,80,.35) 0%,rgba(80,85,80,.12) 40%,transparent 65%),radial-gradient(ellipse 18px 58px at 45% 80%,rgba(70,75,70,.42) 0%,rgba(70,75,70,.15) 40%,transparent 70%),repeating-linear-gradient(90deg,transparent 0px,transparent 3px,rgba(0,0,0,.08) 3px,rgba(0,0,0,.08) 4px,transparent 4px,transparent 9px,rgba(0,0,0,.05) 9px,rgba(0,0,0,.05) 10px,transparent 10px,transparent 16px,rgba(0,0,0,.07) 16px,rgba(0,0,0,.07) 17px,transparent 17px,transparent 25px),repeating-linear-gradient(90deg,transparent 0px,transparent 108px,rgba(0,0,0,.35) 108px,rgba(0,0,0,.5) 110px,rgba(0,0,0,.35) 112px,transparent 113px,transparent 220px),repeating-linear-gradient(90deg,#0000,#00000014,#0000,#ffffff0f,#0000 220px);border-radius:16px;padding:2rem 2.5rem;color:#e8e0d4;position:relative;overflow:hidden;margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:1.5rem}.dash-hero-logo{height:140px;filter:brightness(0) invert(.9);flex-shrink:0}.dash-hero h1{font-size:5.6rem;color:#f5f0e6;margin-bottom:.15rem;line-height:1}.dash-hero p{font-size:2.8rem;opacity:.75;max-width:500px;line-height:1.3}.dash-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:var(--spacing-lg)}.dash-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:1.25rem 1.5rem}.dash-stat-number{font-size:2rem;color:var(--color-barn-red);line-height:1}.dash-stat-label{font-size:.78rem;color:var(--color-text-light);font-weight:600;margin-top:.3rem}.dash-notifications{background:linear-gradient(135deg,#fff8e1,#fff3cd);border:1px solid #ffe082;border-left:4px solid #f9a825;border-radius:10px;padding:.75rem 1rem;margin-bottom:var(--spacing-md)}.dash-notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:700;font-size:.85rem;color:#856404}.dash-notifications-dismiss{background:none;border:none;color:#856404;font-size:.8rem;cursor:pointer;font-family:inherit;text-decoration:underline;padding:0}.dash-notification-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 0;border-top:1px solid rgba(133,100,4,.15)}.dash-notification-item:hover{background:#f9a82514;border-radius:6px;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem}.dash-notification-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.dash-notification-content{flex:1;min-width:0}.dash-notification-title{font-weight:600;font-size:.85rem;color:#333}.dash-notification-message{font-size:.8rem;color:#666;margin-top:2px;line-height:1.3}.dash-notifications-more{display:block;text-align:center;font-size:.8rem;color:#856404;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(133,100,4,.15)}.dash-widgets-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.dash-widgets-row>*{flex:1;margin-bottom:0}.dash-lean-tip{display:block;background:linear-gradient(135deg,#f0f7e6,#e8f5e9);border:1px solid #c8e6c9;border-left:4px solid var(--color-farm-green, #4caf50);border-radius:10px;padding:1rem 1.25rem;text-decoration:none;color:inherit;transition:box-shadow .15s}.dash-lean-tip:hover{box-shadow:0 2px 8px #00000014}.dash-lean-tip-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#2e7d32;margin-bottom:4px}.dash-lean-tip-title{font-weight:600;font-size:1rem;margin-bottom:4px}.dash-lean-tip-content{font-size:.85rem;color:var(--color-text);line-height:1.4}.dash-weather{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;border-left:4px solid var(--color-sky, #5A7D9F);border-radius:10px;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem}.dash-weather-icon{font-size:2.2rem;line-height:1}.dash-weather-info{flex:1}.dash-weather-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-sky, #5A7D9F);margin-bottom:2px}.dash-weather-condition{font-weight:600;font-size:1rem}.dash-weather-current-temp{font-weight:700;font-size:1.1rem}.dash-weather-detail{font-size:.85rem;color:var(--color-text);margin-top:2px}.dash-weather-precip{color:var(--color-text-light)}.dash-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.dash-tab{padding:.5rem 1rem;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-light);transition:all .2s;display:flex;align-items:center;gap:.4rem;font-family:inherit}.dash-tab:hover{border-color:var(--color-border-hover);background:var(--color-earth-cream)}.dash-tab.active{background:var(--color-barn-red);color:#fff;border-color:var(--color-barn-red)}.dash-tab-emoji{font-size:.9rem}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:var(--spacing-xl)}.app-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:1.5rem 1.25rem;text-align:center;cursor:pointer;transition:all .3s ease;text-decoration:none;color:inherit;position:relative;overflow:hidden;display:block;animation:tileIn .4s ease both}.app-tile:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:14px 14px 0 0;opacity:0;transition:opacity .3s}.app-tile:hover{border-color:transparent;transform:translateY(-3px);box-shadow:0 8px 30px #4a37281a,0 2px 8px #0000000a;text-decoration:none}.app-tile:hover:before{opacity:1}.tile-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto .9rem}.tile-icon:has(.tile-icon-img){width:auto;height:auto;background:none!important;border-radius:0;overflow:visible}.app-tile:has(.tile-icon-img){overflow:visible}.tile-icon-img{width:8.4rem;height:auto;object-fit:contain;position:relative;z-index:1}.tile-name{font-size:.88rem;font-weight:700;color:var(--color-text);line-height:1.3;margin-bottom:.25rem}.tile-desc{font-size:.73rem;color:var(--color-text-light);line-height:1.4;margin-bottom:.4rem}.tile-live-summary{font-size:.7rem;font-weight:600;color:var(--color-primary, #5a7247);margin-bottom:.3rem}.tile-category-dot{width:8px;height:8px;border-radius:50%;position:absolute;top:.75rem;right:.75rem}.tile-status{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.15rem .5rem;border-radius:4px;display:inline-block}.tile-status.live{background:#5d7a5026;color:var(--color-sage)}.tile-status.coming-soon{background:#c4a77d33;color:var(--color-copper)}.tile-status.pending{background:#4a372814;color:var(--color-text-light)}.tile-status.restricted{background:#2d6da31f;color:#2d6da3}.app-tile.disabled{opacity:.55;cursor:default}.app-tile.disabled:hover{transform:none;border-color:var(--color-border);box-shadow:none}.app-tile.disabled:hover:before{opacity:0}.tile-operations .tile-icon{background:#f0e6dc}.tile-operations:before{background:var(--color-copper)}.tile-operations .tile-category-dot{background:var(--color-copper)}.tile-hr .tile-icon{background:#ede3f0}.tile-hr:before{background:var(--color-plum)}.tile-hr .tile-category-dot{background:var(--color-plum)}.tile-crops .tile-icon{background:#e3eddc}.tile-crops:before{background:var(--color-sage)}.tile-crops .tile-category-dot{background:var(--color-sage)}.tile-farmstand .tile-icon{background:#fcf0dc}.tile-farmstand:before{background:var(--color-wheat)}.tile-farmstand .tile-category-dot{background:var(--color-wheat)}.tile-csa .tile-icon{background:#dce8f0}.tile-csa:before{background:var(--color-sky)}.tile-csa .tile-category-dot{background:var(--color-sky)}.tile-facilities .tile-icon{background:#f2e8e0}.tile-facilities:before{background:#8b6b52}.tile-facilities .tile-category-dot{background:#8b6b52}.tile-monitoring .tile-icon{background:#dce8e6}.tile-monitoring:before{background:#4a8b7f}.tile-monitoring .tile-category-dot{background:#4a8b7f}@keyframes tileIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-tile:nth-child(1){animation-delay:.02s}.app-tile:nth-child(2){animation-delay:.04s}.app-tile:nth-child(3){animation-delay:.06s}.app-tile:nth-child(4){animation-delay:.08s}.app-tile:nth-child(5){animation-delay:.1s}.app-tile:nth-child(6){animation-delay:.12s}.app-tile:nth-child(7){animation-delay:.14s}.app-tile:nth-child(8){animation-delay:.16s}.app-tile:nth-child(9){animation-delay:.18s}.app-tile:nth-child(10){animation-delay:.2s}.app-tile:nth-child(11){animation-delay:.22s}.app-tile:nth-child(12){animation-delay:.24s}.app-tile:nth-child(13){animation-delay:.26s}.app-tile:nth-child(14){animation-delay:.28s}.app-tile:nth-child(15){animation-delay:.3s}.app-tile:nth-child(16){animation-delay:.32s}.app-tile:nth-child(17){animation-delay:.34s}.app-tile:nth-child(18){animation-delay:.36s}.app-tile:nth-child(19){animation-delay:.38s}.dashboard-notice{margin-top:var(--spacing-xl);padding:var(--spacing-md);background:#c4a77d26;border:1px solid var(--color-earth-light);border-radius:var(--radius-md);color:var(--color-text)}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.profile-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.75rem .85rem;transition:box-shadow .2s,transform .1s}.profile-card:nth-child(2n){background:var(--color-bg, #f5f0eb)}.profile-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.profile-card-label{font-size:.75rem;font-weight:600;color:var(--color-text-light);margin-bottom:.25rem}.profile-card-value{font-weight:700;font-size:1.15rem;line-height:1.2}.profile-card-badges{display:flex;gap:.4rem;flex-wrap:wrap}@media(max-width:600px){.profile-grid{grid-template-columns:1fr}}.sop-training-badges{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.sop-training-badges__title{font-size:.9rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-light);font-weight:600;margin:0 0 var(--spacing-md)}.sop-training-badges__list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.sop-training-badge{display:flex;flex-direction:column;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-earth-cream);border:1px solid var(--color-border);border-left:3px solid var(--color-barn-red);border-radius:var(--radius-sm);text-decoration:none;color:var(--color-text);transition:box-shadow .15s,border-color .15s}.sop-training-badge:hover{box-shadow:0 2px 6px #0000001a;border-color:var(--color-barn-red)}.sop-training-badge__name{font-weight:600;font-size:.85rem}.sop-training-badge__date{font-size:.75rem;color:var(--color-text-light);margin-top:2px}.my-garden{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.my-garden-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.my-garden-title{font-size:.9rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-light);font-weight:600;margin:0}.my-garden-stats{display:flex;gap:1.5rem}.my-garden-stat{font-size:.95rem}.my-garden-empty{text-align:center;padding:2rem}.my-garden-preview{margin-top:1rem;opacity:.4}.my-garden-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.my-garden-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.my-garden-plot{position:relative;width:100%;height:400px;background:url(/garden-background.jpg) center bottom / cover no-repeat;border-radius:12px;overflow:hidden}.my-garden-flower{position:absolute;transform:translate(-50%,-50%);transition:transform .2s}.my-garden-flower:hover{transform:translate(-50%,-50%) scale(1.2)}@media(max-width:768px){h1{font-size:1.5rem}h2{font-size:1.25rem}.container{padding:var(--spacing-sm)}.form-row{flex-direction:column}.table{font-size:.9rem}.table th,.table td{padding:var(--spacing-xs) var(--spacing-sm)}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.dash-hero{padding:1.5rem}.dash-hero-logo{height:80px}.dash-hero h1{font-size:3.1rem}.dash-hero p{font-size:1.55rem}.dash-tabs{gap:.3rem}.dash-tab{padding:.4rem .7rem;font-size:.75rem}}@media print{.app-sidebar,.menu-toggle-btn,.sidebar-overlay,.btn,.no-print{display:none!important}.app-main{margin-left:0!important;padding:0!important}body{background:#fff;margin:0}}.search-trigger{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#ffffffb3;cursor:pointer;font-size:.85rem;width:100%;transition:background .15s,border-color .15s}.search-trigger:hover{background:#ffffff26;border-color:#ffffff4d}.search-trigger-icon{font-size:1rem}.search-trigger-text{flex:1;text-align:left}.search-trigger-kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:1px 6px;font-size:.7rem;font-family:inherit;color:#ffffff80}.search-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;justify-content:center;padding-top:15vh}.search-palette{width:560px;max-width:95vw;max-height:460px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 16px 48px #0000004d;display:flex;flex-direction:column;overflow:hidden;animation:searchSlideIn .15s ease-out}@keyframes searchSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-input-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.search-input-icon{font-size:1.2rem;color:var(--color-text-muted)}.search-input{flex:1;border:none;background:transparent;font-size:1rem;color:var(--color-text);outline:none}.search-input::placeholder{color:var(--color-text-muted)}.search-clear{background:none;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;padding:0 4px;line-height:1}.search-clear:hover{color:var(--color-text)}.search-results{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.search-section{padding:0 var(--spacing-sm)}.search-section-label{padding:var(--spacing-xs) var(--spacing-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.search-result-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;cursor:pointer;text-align:left;border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;transition:background .1s}.search-result-item:hover,.search-result-item.selected{background:#5d7a501a}.search-result-icon{font-size:1.2rem;width:28px;text-align:center;flex-shrink:0}.search-result-text{flex:1;min-width:0}.search-result-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-sublabel{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-loading,.search-empty,.search-hint{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted);font-size:.9rem}.search-footer{display:flex;gap:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted)}.search-footer kbd{background:var(--color-background);border:1px solid var(--color-border);border-radius:3px;padding:0 4px;font-size:.7rem;font-family:inherit}@media(max-width:768px){.search-trigger-kbd{display:none}.search-overlay{padding-top:8vh}.search-palette{max-height:70vh}}.so-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem}.so-tab{padding:.6rem 1.2rem;text-decoration:none;color:var(--color-text-light);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.so-tab:hover{color:var(--color-text)}.so-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.so-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.so-list-header h2{margin:0}.so-stats{display:inline-flex;gap:1rem;margin-bottom:.75rem;padding:.4rem .85rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px}.so-stat{display:flex;align-items:center;gap:.3rem}.so-stat-count{font-size:1.1rem;font-weight:700;line-height:1}.so-stat-label{font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.03em}.so-filters{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.so-filters .so-input,.so-filters .so-select,.so-search{flex:1 1 0;min-width:0}.so-input,.so-select,.so-textarea{width:100%;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;background:var(--color-surface);color:var(--color-text)}.so-input:focus,.so-select:focus,.so-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3498db26}.so-textarea{resize:vertical}.so-form{display:flex;flex-direction:column;gap:1.25rem}.so-fieldset{border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;background:var(--color-surface)}.so-fieldset legend{font-weight:600;font-size:.95rem;padding:0 .5rem;color:var(--color-text)}.so-radio-group{display:flex;gap:1rem;flex-wrap:wrap}.so-radio-label{display:flex;align-items:center;gap:.35rem;font-size:.9rem;cursor:pointer}.so-checkbox-label{display:flex;align-items:center;justify-content:flex-start;gap:.4rem;font-size:.9rem;cursor:pointer;margin-top:.25rem}.so-checkbox-label input[type=checkbox]{width:auto;flex:0 0 auto;margin:0;padding:0}.so-customer-search-wrap{position:relative}.so-customer-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0000001f;max-height:200px;overflow-y:auto}.so-customer-option{display:block;width:100%;padding:.6rem .75rem;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;font-size:.9rem;color:var(--color-text)}.so-customer-option:hover{background:var(--color-bg)}.so-customer-option:last-child{border-bottom:none}.so-customer-no-results{padding:.6rem .75rem;color:var(--color-text-light);font-size:.85rem}.so-clear-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--color-text-light);line-height:1}.so-clear-btn:hover{color:var(--color-text)}.so-balance-info{padding:.5rem .75rem;background:var(--color-bg);border-radius:6px;font-size:.9rem}.so-form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.so-error{background:#fef2f2;color:#b91c1c;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.so-empty{text-align:center;padding:3rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.so-empty p{color:var(--color-text-light);margin-bottom:1rem}.so-order-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.so-order-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.75rem .85rem;text-decoration:none;color:var(--color-text);transition:box-shadow .2s,transform .1s}.so-order-card:nth-child(2n){background:var(--color-bg, #f5f0eb)}.so-order-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.so-order-card .so-status-badge{align-self:flex-start;margin-bottom:.35rem}.so-order-customer{font-weight:700;font-size:1.35rem;line-height:1.2}.so-order-company{font-size:.8rem;color:var(--color-text-light);margin-bottom:.15rem}.so-order-date{font-weight:700;font-size:1.15rem;color:var(--color-primary);margin:.2rem 0}.so-order-card-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.78rem;color:var(--color-text-light);margin-top:.25rem}.so-order-type{background:var(--color-border);padding:.1rem .4rem;border-radius:4px;font-weight:500}.so-order-dept{font-weight:500}.so-order-pickup{font-style:italic}.so-order-desc{margin:.25rem 0 0;font-size:.8rem;color:var(--color-text-light);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.so-order-price{margin-top:auto;padding-top:.35rem;font-weight:600;font-size:.9rem;color:var(--color-text)}.so-status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;color:#fff;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.4}.so-status-badge-lg{font-size:.82rem;padding:.3rem .85rem}.so-detail-header{margin-bottom:1.25rem}.so-back-link{display:inline-block;margin-bottom:.5rem;color:var(--color-primary);text-decoration:none;font-size:.9rem}.so-back-link:hover{text-decoration:underline}.so-detail-title-row{display:flex;align-items:center;gap:1rem}.so-detail-title-row h2{margin:0}.so-detail-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.so-detail-section-title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border);padding-bottom:.4rem}.so-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.so-detail-field{display:flex;flex-direction:column;gap:.15rem}.so-detail-field-full{grid-column:1 / -1}.so-detail-label{font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.so-detail-value{font-size:.95rem;color:var(--color-text)}.so-detail-value a{color:var(--color-primary);text-decoration:none}.so-detail-value a:hover{text-decoration:underline}.so-detail-preformatted{white-space:pre-wrap}.so-detail-balance{font-weight:700;font-size:1.1rem}.so-detail-meta{display:flex;gap:1.5rem;font-size:.8rem;color:var(--color-text-light);margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.so-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:1.25rem}.so-timeline:before{content:"";position:absolute;left:.45rem;top:.5rem;bottom:.5rem;width:2px;background:var(--color-border)}.so-timeline-entry{position:relative;padding:.5rem 0}.so-timeline-dot{position:absolute;left:-.95rem;top:.75rem;width:10px;height:10px;border-radius:50%;border:2px solid var(--color-surface)}.so-timeline-content{padding-left:.5rem}.so-timeline-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.so-timeline-time{font-size:.8rem;color:var(--color-text-light)}.so-timeline-note{margin:.25rem 0 0;font-size:.85rem;color:var(--color-text)}.so-timeline-user{font-size:.8rem;color:var(--color-text-light);font-style:italic}.so-kanban-board{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:1rem;min-height:400px}.so-kanban-column{flex:1 1 0;min-width:150px;display:flex;flex-direction:column;background:var(--color-background);border-radius:8px;border:1px solid var(--color-border)}.so-kanban-column-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-weight:600;font-size:.9rem;border-top:3px solid;border-radius:8px 8px 0 0;background:var(--color-surface)}.so-kanban-count{background:var(--color-border);color:var(--color-text);padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700}.so-kanban-column-body{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;min-height:100px;transition:background .15s}.so-kanban-column-over{background:#3498db14}.so-kanban-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:.5rem .6rem;text-decoration:none;color:var(--color-text);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:box-shadow .15s,transform .1s}.so-kanban-card:hover{box-shadow:0 2px 8px #0000001a}.so-kanban-card:active{cursor:grabbing}.so-kanban-card-customer{font-weight:600;font-size:.85rem;margin-bottom:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-kanban-card-company{font-size:.78rem;color:var(--color-text-light);margin-bottom:.2rem}.so-kanban-card-desc{margin:0 0 .35rem;font-size:.8rem;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so-kanban-card-meta{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;font-size:.72rem}.so-kanban-dept-badge{display:inline-block;padding:.1rem .4rem;border-radius:4px;color:#fff;font-weight:600;font-size:.68rem;text-transform:uppercase}.so-kanban-card-type,.so-kanban-card-date{color:var(--color-text-light);font-weight:500}.so-note-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.so-note-modal{background:var(--color-surface);border-radius:8px;padding:1.25rem 1.5rem;width:90%;max-width:420px;box-shadow:0 8px 24px #0003}@media(max-width:600px){.so-order-list{grid-template-columns:1fr}.so-filters{flex-direction:column}.so-stats{gap:1rem;justify-content:center}.so-detail-grid{grid-template-columns:1fr}.so-list-header,.so-detail-title-row{flex-direction:column;align-items:flex-start;gap:.5rem}.so-detail-meta{flex-direction:column;gap:.25rem}.so-tabs{overflow-x:auto}.so-kanban-column{flex:0 0 240px;min-width:240px}}.so-type-fields{display:flex;flex-direction:column;gap:.75rem}.so-line-items{display:flex;flex-direction:column;gap:0}.so-line-items-header{display:flex;gap:.5rem;padding:.5rem .25rem;border-bottom:2px solid var(--color-border);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-light)}.so-line-items-row{display:flex;gap:.5rem;padding:.4rem .25rem;border-bottom:1px solid var(--color-border);align-items:center}.so-line-items-row:hover{background:var(--color-bg, #f9f9f9)}.so-line-items-cell{min-width:0;font-size:.85rem}.so-line-items-input{padding:.35rem .45rem;font-size:.85rem}.so-line-items-computed{font-weight:600;color:var(--color-text)}.so-line-items-action{display:flex;align-items:center;justify-content:center}.so-line-items-remove{background:none;border:none;color:#c0392b;font-size:1.3rem;cursor:pointer;line-height:1;padding:.1rem .3rem;border-radius:4px}.so-line-items-remove:hover{background:#c0392b1a}.so-line-items-add{align-self:flex-start;margin-top:.5rem;font-size:.85rem}.so-employee-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.so-employee-check{display:flex;align-items:center;gap:.4rem;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:.85rem;transition:border-color .15s,background .15s}.so-employee-check:hover{border-color:var(--color-primary)}.so-employee-check-selected{border-color:var(--color-primary);background:#3498db14}.so-employee-badges{display:flex;gap:.4rem;flex-wrap:wrap}.so-employee-badge{display:inline-block;padding:.25rem .6rem;background:var(--color-primary);color:#fff;border-radius:999px;font-size:.78rem;font-weight:600}@media(max-width:600px){.so-line-items-header{display:none}.so-line-items-row{flex-direction:column;gap:.25rem;padding:.65rem .5rem;border:1px solid var(--color-border);border-radius:6px;margin-bottom:.5rem}.so-line-items-cell{width:100%}.so-line-items-action{justify-content:flex-end}.so-employee-picker{grid-template-columns:1fr 1fr}}.so-comm-order-link{display:inline-block;padding:.1rem .45rem;background:var(--color-bg, #f5f5f5);border:1px solid var(--color-border);border-radius:4px;font-size:.72rem;font-weight:600;color:var(--color-primary);text-decoration:none;margin-left:.5rem}.so-comm-order-link:hover{background:#3498db14}.so-customer-notes{white-space:pre-wrap;font-size:.9rem;color:var(--color-text);padding:.5rem .75rem;background:var(--color-bg, #f5f5f5);border-radius:6px}.so-photo-header{display:flex;justify-content:space-between;align-items:center}.so-photo-upload{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;margin-bottom:.75rem;background:var(--color-bg, #f5f5f5);border:1px dashed var(--color-border);border-radius:8px}.so-photo-upload-row{display:flex;gap:.5rem}.so-photo-upload-row .so-input{flex:1}.so-photo-upload-row select.so-input{flex:0 0 auto;width:auto;min-width:130px}.so-photo-filters{display:flex;gap:.35rem;margin-bottom:.75rem;flex-wrap:wrap}.so-photo-filter-btn{padding:.25rem .65rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-light);font-size:.78rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.so-photo-filter-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.so-photo-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.so-photo-stage-header{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--color-text);margin:.75rem 0 .5rem}.so-photo-stage-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.so-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:.5rem}.so-photo-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.so-photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;cursor:pointer;display:block;transition:opacity .15s}.so-photo-thumb:hover{opacity:.85}.so-photo-card-info{padding:.4rem .5rem;display:flex;flex-direction:column;gap:.15rem}.so-photo-stage-badge{display:inline-block;padding:.1rem .4rem;border-radius:4px;color:#fff;font-size:.68rem;font-weight:600;text-transform:uppercase;width:fit-content}.so-photo-caption{font-size:.82rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so-photo-meta{font-size:.72rem;color:var(--color-text-light)}.so-photo-delete-btn{position:absolute;top:.25rem;right:.25rem;background:#0000008c;border:none;color:#fff;width:24px;height:24px;border-radius:50%;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.so-photo-card:hover .so-photo-delete-btn{opacity:1}.so-photo-lightbox{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.so-photo-lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.so-photo-lightbox-close{position:absolute;top:-2rem;right:-.5rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1}.so-photo-lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:4px}.so-photo-lightbox-info{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;color:#fff}.so-photo-lightbox-info .so-photo-caption{color:#ddd}.so-photo-lightbox-info .so-photo-meta{color:#aaa}.so-confirm-dialog{background:var(--color-surface, #fff);border-radius:8px;padding:1.5rem;max-width:360px;text-align:center;color:var(--color-text, #333)}@media(max-width:600px){.so-photo-gallery{grid-template-columns:repeat(2,1fr);gap:.5rem}.so-photo-upload-row{flex-direction:column}.so-photo-upload-row select.so-input{width:100%}.so-photo-delete-btn{opacity:1}}.so-report-stat-cards{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.so-report-stat-card{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.85rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.so-report-stat-card.so-report-stat-warn .so-report-stat-num{color:#c0392b}.so-report-stat-num{font-size:1.6rem;font-weight:700;line-height:1;color:var(--color-text)}.so-report-stat-label{font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.03em}.so-report-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.so-report-hub-card{display:block;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;text-decoration:none;color:var(--color-text);transition:box-shadow .2s,transform .1s}.so-report-hub-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.so-report-hub-card h3{margin:0 0 .25rem;font-size:1rem;color:var(--color-primary)}.so-report-hub-card p{margin:0;font-size:.85rem;color:var(--color-text-light)}.so-report-filters{margin-bottom:1rem}.so-report-filter-group{margin-bottom:.75rem}.so-report-date-presets{display:flex;gap:.35rem;margin-bottom:.5rem;flex-wrap:wrap}.so-report-preset-btn{padding:.3rem .7rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-light);font-size:.78rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.so-report-preset-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.so-report-preset-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.so-report-date-inputs{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.so-report-date-inputs label{font-size:.85rem;color:var(--color-text-light);font-weight:500}.so-report-date-inputs .so-input{width:auto}.so-report-date-toggle{display:flex;gap:1rem;margin-top:.35rem}.so-report-filter-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.so-report-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.so-report-alert{background:#fef2f2;color:#b91c1c;padding:.5rem .85rem;border-radius:6px;font-size:.85rem;font-weight:600;margin-bottom:.75rem}.so-report-table{font-size:.88rem}.so-report-table tbody tr:hover{background:var(--color-bg, #f9f9f9)}.so-report-summary-row{background:var(--color-bg, #f5f5f5);font-weight:600}.so-report-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.so-report-category-card{display:flex;flex-direction:column;gap:.15rem;padding:.75rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:8px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;font-family:inherit}.so-report-category-card:hover{border-color:var(--color-primary)}.so-report-category-card.active{border-color:var(--color-primary);background:#3498db0f;box-shadow:0 0 0 3px #3498db26}.so-report-category-label{font-weight:600;font-size:.9rem;color:var(--color-text)}.so-report-category-count{font-size:.8rem;color:var(--color-text-light)}.so-report-category-revenue{font-size:.9rem;font-weight:600;color:var(--color-primary)}@media(max-width:600px){.so-report-stat-cards{gap:.5rem}.so-report-stat-card{min-width:80px;padding:.6rem .5rem}.so-report-stat-num{font-size:1.2rem}.so-report-hub{grid-template-columns:1fr}.so-report-category-grid{grid-template-columns:1fr 1fr}.so-report-filter-row{flex-direction:column}.so-report-filter-row .so-input{width:100%!important;min-width:unset!important}}.so-report-sort-toggle{display:flex;align-items:center;gap:.25rem}.so-print-report-header{margin:0 0 .75rem}.so-print-page-logo{display:none}.so-print-report-header h2{margin:0 0 .15rem}.so-print-report-range{font-size:.9rem;color:var(--color-text-light)}.so-field-picking{display:flex;flex-direction:column;gap:1.25rem}.so-field-picking-group-heading{margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:2px solid var(--color-border);font-size:1.05rem}.so-field-picking-order{padding:.6rem .75rem;margin-bottom:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px}.so-field-picking-order-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.so-field-picking-customer{font-size:1rem}.so-field-picking-company{color:var(--color-text-light);font-weight:400}.so-field-picking-meta{margin-left:auto;font-size:.85rem;color:var(--color-text-light)}.so-field-picking-items{list-style:none;margin:0;padding:0 0 0 1.5rem}.so-field-picking-item{display:flex;align-items:baseline;gap:.4rem;padding:.15rem 0;font-size:.92rem}.so-field-picking-qty{font-weight:600;min-width:2.5em}.so-field-picking-pot{font-weight:600;color:var(--color-primary);min-width:3em}.so-field-picking-variety{font-style:italic;color:var(--color-text-light)}.so-field-picking-notes{color:var(--color-text-light);font-size:.85rem}.so-field-picking-empty{padding-left:1.5rem;font-size:.85rem}.so-field-picking-instructions{margin-top:.4rem;padding:.35rem .5rem;background:#fff8e1;border-left:3px solid #f1c40f;font-size:.85rem}.so-field-picking-flag{flex-shrink:0;width:16px;height:16px;cursor:pointer}@media print{.so-report-filters,.so-report-actions,.so-report-hub,.so-report-stat-cards{display:none!important}@page{size:letter portrait;margin:.5in}.so-print-report-header h2{font-size:14pt;margin:0 0 2pt;padding-right:60pt}.so-print-report-range{font-size:10pt;margin-bottom:8pt}.so-print-page-logo{display:block!important;position:fixed;top:0;right:0;width:50pt;height:50pt}.so-field-picking{gap:0}.so-field-picking-group{break-inside:auto}.so-field-picking-group-heading{font-size:12pt;border-bottom:1.5pt solid #000;margin:8pt 0 4pt;padding-bottom:2pt;break-after:avoid}.so-field-picking-order{break-inside:avoid;background:transparent;border:none;border-bottom:1pt dashed #999;border-radius:0;padding:4pt 0;margin-bottom:0}.so-field-picking-order-head{margin-bottom:2pt}.so-field-picking-customer{font-size:11pt}.so-field-picking-meta{font-size:9pt;color:#555}.so-field-picking-items{padding-left:18pt}.so-field-picking-item{font-size:10pt;padding:1pt 0}.so-field-picking-qty,.so-field-picking-pot{color:#000}.so-field-picking-variety,.so-field-picking-notes{color:#444}.so-field-picking-instructions{background:transparent;border-left:2pt solid #000;padding:2pt 4pt;font-size:9pt;margin-top:2pt}.so-field-picking-flag{width:12pt;height:12pt;-webkit-appearance:none;appearance:none;border:1pt solid #000;background:#fff}}.so-print-btn-wrap{position:relative}.so-print-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:50;min-width:160px;overflow:hidden}.so-print-dropdown-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;font-size:.9rem;font-family:inherit;color:var(--color-text)}.so-print-dropdown-item:last-child{border-bottom:none}.so-print-dropdown-item:hover{background:var(--color-bg, #f5f5f5)}.so-print-sheet{display:none}@media print{.so-tabs,.so-detail-header,.so-detail-section,.so-detail-meta,.so-form-actions,.so-error,.so-print-btn-wrap,.so-print-dropdown{display:none!important}.so-print-sheet{display:block!important}@page{size:letter portrait;margin:.5in}.so-print-sheet{max-width:none;font-size:10pt;line-height:1.4;color:#000}.so-print-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #333;padding-bottom:8pt;margin-bottom:10pt}.so-print-brand{display:flex;align-items:center;gap:10pt}.so-print-logo{width:50pt;height:50pt}.so-print-brand h1{font-size:14pt;margin:0;color:#000}.so-print-subtitle{font-size:10pt;color:#555}.so-print-meta{text-align:right}.so-print-order-num{font-size:12pt;font-weight:700}.so-print-status{display:inline-block;padding:2pt 8pt;border-radius:4pt;color:#fff;font-size:8pt;font-weight:700;text-transform:uppercase;margin-top:2pt}.so-print-date{font-size:8pt;color:#555;margin-top:2pt}.so-print-section{margin-bottom:8pt;break-inside:avoid}.so-print-section-title{font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-bottom:1pt solid #ccc;padding-bottom:2pt;margin:0 0 4pt;color:#333}.so-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:3pt 16pt}.so-print-grid-full{grid-column:1 / -1}.so-print-label{font-size:7.5pt;font-weight:600;text-transform:uppercase;color:#666;margin-bottom:1pt}.so-print-value{font-size:10pt;color:#000}.so-print-preformatted{white-space:pre-wrap;font-size:9pt}.so-print-table{width:100%;border-collapse:collapse;font-size:9pt;margin-top:4pt}.so-print-table th,.so-print-table td{border:1px solid #ccc;padding:3pt 5pt;text-align:left}.so-print-table th{background:#f0f0f0;font-weight:600;font-size:8pt;text-transform:uppercase}.so-print-number{text-align:right;font-variant-numeric:tabular-nums}.so-print-subtotal{text-align:right;font-weight:700;padding-top:4pt;font-size:10pt}.so-print-pricing{display:grid;grid-template-columns:auto 1fr;gap:2pt 12pt;font-size:10pt}.so-print-balance{font-size:12pt;font-weight:700}.so-print-thankyou{text-align:center;font-size:11pt;font-style:italic;color:#333;margin-top:12pt;padding:8pt 0}.so-print-customer .so-staff-only{display:none!important}.so-print-footer{display:flex;justify-content:space-between;margin-top:12pt;padding-top:6pt;border-top:1pt solid #ccc;font-size:7.5pt;color:#666}}.so-settings-section{margin-bottom:2rem}.so-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.so-settings-header h3{margin:0}.so-settings-table{width:100%;border-collapse:collapse;font-size:.9rem}.so-settings-table th,.so-settings-table td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--color-border)}.so-settings-table th{font-size:.78rem;font-weight:600;text-transform:uppercase;color:var(--color-text-light);background:var(--color-bg, #f9f9f9)}.so-settings-table tbody tr:hover{background:var(--color-bg, #f9f9f9)}.so-settings-inactive{opacity:.5}.so-settings-color-swatch{display:inline-block;width:22px;height:22px;border-radius:4px;border:1px solid rgba(0,0,0,.15);vertical-align:middle}@media(max-width:600px){.so-settings-table{font-size:.82rem}.so-settings-table th,.so-settings-table td{padding:.4rem .35rem}}
