:root{--ink:#23392f;--muted:#7b837c;--forest:#203e35;--forest-light:#36564b;--paper:#f7f8f4;--line:#e6e9e2;--white:#fff;--accent:#b68a50;--amber:#a47835;--soft:#eff4ec;--radius:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b68a5080;outline-offset:3px}a{color:inherit}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em}h1{font-size:38px;line-height:1.2}h2{font-size:24px}h3{font-size:17px}small{font-size:12px}strong{font-weight:600}svg{flex-shrink:0;vertical-align:middle}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;background:var(--forest);color:#eff1e9;padding:32px 18px 16px;z-index:30;overflow-y:auto}.brand{display:block;padding:0 0 22px;text-decoration:none}.brand img{display:block;width:100%;height:auto;object-fit:contain}.workspace{display:flex;align-items:center;gap:10px;margin:0 7px 29px;padding:15px 10px;border:1px solid #ffffff1c;border-radius:9px;font-size:12px}.workspace small{display:block;color:#a6b8a7;font-size:10px;margin-top:6px}.workspace-dot{height:7px;width:7px;flex-shrink:0;background:#bdc9a4;border-radius:50%}.nav-label{font-size:9px;letter-spacing:1.8px;color:#9bb19f;padding:0 15px 14px}.nav-item{width:100%;display:flex;gap:12px;align-items:center;padding:11px 14px;border:0;background:transparent;color:#c1cfc3;border-radius:8px;text-align:left;font-size:12px;margin-bottom:3px}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#ffffff09;color:white}.nav-item.active{background:#f5f5e8;color:var(--forest);font-weight:600;box-shadow:0 2px 7px #0001}.nav-item small{margin-left:auto;background:#4a6351;color:#f4f5ec;border-radius:4px;padding:2px 5px;font-size:9px}.nav-item.active small{background:#dce5d8;color:#36564b}.nav-bottom{margin-top:auto;padding-top:25px}.storage-status{font-size:10px;color:#b0c2b0;border-top:1px solid #ffffff17;padding:20px 13px 0;margin-top:16px}.storage-status>span,.saved>span{display:inline-block;width:5px;height:5px;background:#a4bd8f;border-radius:50%;margin-right:7px}.storage-status small{display:block;font-size:9px;line-height:1.6;margin:5px 0 0 12px;color:#8ba490}main{margin-left:244px;width:calc(100% - 244px)}.topbar{height:80px;background:#ffffffaa;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:0 38px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:17px}.top-actions select{border:1px solid var(--line);background:white;border-radius:7px;padding:9px 27px 9px 12px;font-size:11px;color:#526052}.saved{color:#8a9288;font-size:10px;white-space:nowrap}.avatar{width:33px;height:33px;border-radius:50%;background:#e6ecdf;color:#4c6450;display:grid;place-items:center;font-size:11px}.page-content{padding:32px 38px 0;max-width:1660px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;color:#8a937f;margin-bottom:8px}.page-heading p{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.6}.heading-actions{display:flex;align-items:center;gap:10px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;text-decoration:none;border:1px solid #dce2d8;background:#fff;padding:11px 16px;border-radius:7px;font-weight:500;font-size:11px;white-space:nowrap;line-height:1.4;cursor:pointer}.button:hover{background:#f0f4ec;box-shadow:0 2px 6px #23422a0a}.button.primary{background:var(--forest);color:#fff;border-color:var(--forest)}.button.primary:hover{background:#315348}.button.light{background:#f4f3e8;color:var(--forest);border:0}.button.subtle{background:transparent}.button.small{padding:7px 11px;font-size:10px}.icon-button{background:transparent;border:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;padding:7px;cursor:pointer;color:#6e7d70}.icon-button:hover{background:#eaf0e5;color:var(--forest)}.text-button{border:0;background:transparent;display:inline-flex;align-items:center;gap:8px;padding:3px 0;font-size:11px;font-weight:500;cursor:pointer;color:var(--forest);text-align:left}.text-button:hover{color:#a27c46}.tag{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;border-radius:5px;font-size:9px;white-space:nowrap;font-weight:500;letter-spacing:.1px}.tag.green{background:#edf4e7;color:#486247}.tag.amber{background:#f7efd9;color:#a07935}.tag.neutral{background:#f0f2ec;color:#7d897b}.tag.demo{background:#dde7d4;color:#4e6850;font-size:8px;font-weight:700;letter-spacing:1px}.demo-banner{background:#eef2e7;border:1px solid #e0e7d8;color:#76836b;padding:10px 14px;border-radius:8px;font-size:10px;display:flex;align-items:center;gap:11px;margin-bottom:22px}.demo-banner button{display:flex;align-items:center;gap:8px;margin-left:auto;background:transparent;border:0;font-size:10px;color:#567049}.hero{background:var(--forest);color:#f1f3e8;border-radius:14px;position:relative;overflow:hidden;display:flex;min-height:244px;padding:30px 34px;margin-bottom:22px}.hero>div:first-child{position:relative;z-index:2;max-width:68%}.hero-label{display:block;font-size:8px;letter-spacing:2px;color:#b8c5a7;margin-bottom:16px}.hero h2{font-size:33px;line-height:1.15;color:#f4f1e3;letter-spacing:-.03em}.hero p{font-size:10px;color:#bcc8b4;margin:15px 0 19px}.hero .button{font-size:10px;padding:10px 14px}.hero-art{position:absolute;right:0;bottom:0;top:0;width:42%;overflow:hidden;opacity:.7}.art-sun{position:absolute;width:66px;height:66px;top:37px;right:105px;background:#d7c5a0;border-radius:50%;opacity:.9}.art-field{position:absolute;width:350px;height:200px;bottom:-65px;right:-55px;border-radius:70% 60% 0 0;transform:rotate(-18deg);background:repeating-linear-gradient(95deg,transparent 0,transparent 19px,#91a67f55 20px,#91a67f55 22px),#41644c}.art-field.f2{right:60px;bottom:-100px;transform:rotate(20deg);background:repeating-linear-gradient(100deg,transparent 0,transparent 17px,#aac09144 18px,#aac09144 19px),#385d43}.art-field.f3{right:-90px;bottom:-120px;transform:rotate(-25deg);background:repeating-linear-gradient(90deg,transparent 0,transparent 17px,#bac49955 18px,#bac49955 20px),#718369}.hero-art>span{position:absolute;bottom:20px;right:30px;font-size:7px;letter-spacing:2px;color:#cdd3bb;z-index:1}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.metric{padding:20px 21px 18px;border:1px solid var(--line);background:#fff;border-radius:12px}.metric>span{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:10px;color:#7b8879}.metric>span svg{width:17px;height:17px;color:#76906e}.metric>strong{display:block;margin:16px 0 9px;font-weight:500;font-size:31px;letter-spacing:-1px;line-height:1}.metric>strong small{font-size:12px;font-weight:400;margin-left:7px;letter-spacing:0;color:#7b8879}.metric p{font-size:9px;color:#91998b;line-height:1.4}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.panel{border:1px solid var(--line);background:#fff;border-radius:var(--radius);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 23px 18px}.panel-heading h2{font-size:22px}.panel-heading p{font-size:10px;margin-top:6px;color:var(--muted)}.icon-chip{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:9px}.icon-chip.green{background:#eef3e8;color:#638156}.icon-chip.amber{background:#f8f0dd;color:#aa873d}.tank-overview{display:grid;grid-template-columns:repeat(6,1fr);padding:20px 20px 29px;gap:12px}.tank-mini{border:0;background:transparent;text-align:center;padding:0;min-width:0;transition:transform .15s}.tank-mini:hover{transform:translateY(-4px)}.tank-vessel{height:83px;width:55px;border:1px solid #d5decf;border-radius:10px 10px 11px 11px;position:relative;margin:0 auto 19px;overflow:visible;background:#fafcf8;box-shadow:inset 0 0 0 3px #fff}.tank-vessel:before{content:"";position:absolute;left:9px;right:9px;height:6px;top:-8px;border:1px solid #d5decf;border-radius:3px;background:#eff3ea}.tank-vessel:after{content:"";position:absolute;bottom:-9px;left:10px;width:4px;height:8px;background:#d5decf;box-shadow:28px 0 #d5decf}.tank-liquid{position:absolute;bottom:3px;left:3px;right:3px;max-height:calc(100% - 6px);background:#9fba8670;border-radius:0 0 8px 8px}.tank-liquid.red{background:#bf7f8055}.tank-vessel>span{position:relative;z-index:1;display:block;margin-top:31px;font-size:17px;color:#557646;font-weight:500}.tank-vessel>span small{font-size:8px;margin-left:1px}.tank-vessel i{position:absolute;bottom:11px;right:-5px;width:8px;height:5px;border:1px solid #ccd6c5;background:white;border-radius:2px}.tank-mini>strong{font-size:11px;display:block}.tank-mini>small{display:block;font-size:9px;color:#85917c;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:5px}.tank-mini em{display:block;font-style:normal;font-size:8px;color:#a1aa99;margin-top:4px}.alert-row{width:calc(100% - 42px);background:none;border:0;display:flex;align-items:center;gap:11px;margin:0 21px;padding:15px 0;text-align:left;border-top:1px solid #eff1ea}.alert-dot{height:6px;width:6px;background:#c7a661;flex-shrink:0;border-radius:50%}.alert-row>div{flex:1}.alert-row strong{font-size:11px;display:block}.alert-row small{font-size:9px;color:#8a9481;display:block;line-height:1.5;margin-top:5px}.alert-row svg{color:#96a18f}.agenda-row{display:flex;align-items:center;gap:13px;padding:12px 23px;border-top:1px solid #f0f2eb}.agenda-date{background:#f3f5ed;width:39px;height:43px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#617153;flex-shrink:0}.agenda-date strong{font-size:16px}.agenda-date small{font-size:8px;text-transform:uppercase;margin-top:1px}.agenda-row>div{flex:1}.agenda-row>div strong{font-size:11px}.agenda-row>div small{font-size:9px;display:block;margin-top:5px;color:#8c9784}.agenda-row:last-child{margin-bottom:9px}.variety-bars{padding:3px 23px 24px}.variety-bars>div{margin-top:17px}.variety-bars span{display:flex;align-items:center;justify-content:space-between;font-size:10px}.variety-bars small{font-size:9px;color:#819076}.bar-track{height:5px;border-radius:6px;overflow:hidden;background:#eef2e8;margin-top:9px}.bar-track i{display:block;height:100%;background:#8d9f76;border-radius:5px}.variety-bars>div:nth-child(2) i{background:#b1bd98}.variety-bars>div:nth-child(3) i{background:#c9c09a}.variety-bars>div:nth-child(4) i{background:#aa8080}.page-footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0;margin-top:15px;font-size:9px;color:#9ea895;letter-spacing:.3px}.filter-bar{display:flex;gap:10px;align-items:center;background:white;border:1px solid var(--line);border-radius:8px;padding:11px 14px;margin-bottom:20px;width:100%;max-width:100%;color:#86947d}.filter-bar input{border:0;background:transparent;outline:none;min-width:0;width:100%;font-size:11px;color:#3a503c}.filter-bar>span{font-size:9px;white-space:nowrap;color:#a3ac9d}.vineyard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.vineyard-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white}.vineyard-top{position:relative;background:#eaf0e2;padding:22px;min-height:139px}.vineyard-card:nth-child(2n) .vineyard-top{background:#eff0df}.vineyard-card:nth-child(3n) .vineyard-top{background:#ede7df}.vineyard-code{font-size:9px;color:#7c8a6c;letter-spacing:1px}.vineyard-grape{position:absolute;right:22px;top:21px;color:#a9ba94;transform:rotate(-20deg)}.vineyard-top h2{font-size:26px;margin-top:21px;position:relative}.vineyard-top p{font-size:10px;color:#8a957b;margin-top:7px}.vineyard-body{padding:20px 22px}.vineyard-variety{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.vineyard-variety strong{font-size:23px;font-weight:500;letter-spacing:-.5px}.vineyard-variety strong small{font-size:10px;color:#8b9780}.vineyard-body dl,.process-card dl{margin:0}.vineyard-body dl>div{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}.vineyard-body dt,.process-card dt{font-size:9px;color:#8d9886}.vineyard-body dd,.process-card dd{font-size:11px;line-height:1.5;margin:0;color:#4a5e44}.card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.danger-text{color:#ab7664}.table-panel{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#8e9787;font-weight:500;background:#fafbf7;padding:16px 19px;border-bottom:1px solid var(--line)}td{padding:18px 19px;border-bottom:1px solid #edf0e8;font-size:11px;color:#4d6047;max-width:350px;white-space:normal;line-height:1.5}td>strong{font-size:11px;color:#324b36}td small{display:block;font-size:9px;color:#909b85;margin-top:5px;line-height:1.5}td.numeric{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcf8}.table-note{font-size:9px;line-height:1.6;padding:14px 19px;background:#fbfcf8;color:#8d9685;border-top:1px solid var(--line);white-space:normal}.chips{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}.chip{font-size:10px;border:1px solid var(--line);padding:8px 13px;background:transparent;border-radius:20px;color:#89947e}.chip.selected{background:var(--forest);color:white;border-color:var(--forest)}.mini-metrics{display:flex;align-items:center;gap:40px;padding:20px 23px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.mini-metrics small{display:block;font-size:10px;color:#8d9786;margin-bottom:8px}.mini-metrics strong{font-size:22px;font-weight:500;letter-spacing:-.4px}.action-strip{display:flex;gap:11px;margin:0 0 21px;flex-wrap:wrap}.tank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:29px}.tank-card{padding:18px 19px}.tank-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.tank-card h3{font-size:22px;margin-top:18px;font-weight:500;letter-spacing:-.5px}.tank-card h3 small{font-size:9px;color:#8f9984;font-weight:400;letter-spacing:0;margin-left:6px}.tank-card>p{font-size:9px;color:#8f9984;margin:5px 0 20px}.tank-card .bar-track{height:6px}.red-bar{background:#b78582!important}.tank-quantity{display:flex;gap:5px;align-items:baseline;margin:10px 0 18px}.tank-quantity strong{font-size:16px;font-weight:500}.tank-quantity small{font-size:9px;color:#919b87}.tank-lot{position:relative;width:100%;background:#f2f5ed;border:0;border-radius:7px;text-align:left;padding:11px}.tank-lot strong{font-size:10px;display:block}.tank-lot small{display:block;font-size:8px;margin-top:5px;color:#829176}.tank-lot svg{position:absolute;top:16px;right:8px;color:#8d9b7e}.section-title{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:28px 0 16px}.section-title h2{font-size:25px}.empty{text-align:center;padding:50px 30px;color:#889779}.empty svg{color:#a4b68c;margin-bottom:16px}.empty h2{font-size:24px;color:var(--ink);margin-bottom:12px}.empty p{font-size:12px;line-height:1.6;margin-bottom:21px}.empty.compact{font-size:11px;padding:40px 25px}.process-intro{display:flex;align-items:center;gap:22px;background:#eaf0e3;border-radius:12px;padding:25px;margin-bottom:23px}.process-intro>svg{color:#7c966a}.process-intro>div{flex:1}.process-intro h2{font-size:27px}.process-intro p{font-size:11px;color:#7e8b71;line-height:1.7;margin-top:8px;max-width:700px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.process-card{padding:24px;display:flex;flex-direction:column;align-items:flex-start}.process-card h3{font-family:Georgia,serif;font-weight:400;font-size:23px;margin:7px 0 11px}.process-card>p{font-size:11px;color:#849078;line-height:1.6;min-height:37px;margin-bottom:20px}.process-card dl>div{margin-bottom:14px}.process-card dt{margin-bottom:5px}.process-card>button,.process-card>.tag{margin-top:auto}.sources{padding:26px;margin-top:23px}.sources>p{font-size:11px;color:#8a9680;line-height:1.7;margin:12px 0 18px}.sources>a{display:block;text-decoration:none;font-size:11px;padding:9px 0;color:#557542}.sources>a:hover{text-decoration:underline}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.settings-card{padding:28px}.settings-card h2{margin-top:20px;font-size:28px}.settings-card>p{font-size:12px;color:#8a957f;line-height:1.75;margin:12px 0 24px}.settings-card>label{margin-bottom:18px}.settings-card>small{display:block;font-size:10px;color:#97a28b;line-height:1.7;margin-top:19px}.stack-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.stack-actions>label{display:flex}.hidden-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.hidden-file:focus-visible{position:static;width:auto;height:auto;opacity:1}.trace-picker{display:flex;align-items:center;gap:20px;background:white;border:1px solid var(--line);border-radius:12px;padding:19px 22px;margin-bottom:22px}.trace-picker>svg{color:#7c9766}.trace-picker>label{flex:1;max-width:570px}.trace-picker>.button{margin-left:auto}.trace-banner{display:flex;align-items:center;justify-content:space-between;background:#eaf0e3;border:1px solid #dee7d5;border-radius:12px;padding:25px 28px;margin-bottom:22px}.trace-banner h2{font-size:35px}.trace-banner h2 small{font-family:Inter,sans-serif;font-size:18px;color:#8d9d7a;margin-left:8px}.trace-banner p{font-size:11px;color:#899777;margin-top:11px}.trace-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.trace-node{display:flex;align-items:flex-start;gap:15px;padding:24px}.trace-node-icon{display:inline-flex;align-items:center;justify-content:center;background:#f0f5e9;border:1px solid #e1ead7;width:39px;height:39px;border-radius:50%;color:#799364;flex-shrink:0}.trace-node>div{flex:1}.trace-node strong{display:block;font-size:12px;line-height:1.6}.trace-node small{display:block;font-size:10px;color:#8f9d7c;margin-top:5px}.trace-node p{font-size:10px;color:#82916f;margin-top:15px;line-height:1.7}.trace-child{border-left:1px solid #dfe7d5;margin-top:20px;padding-left:15px}.trace-child>span{font-size:9px;color:#9eaa8c}.trace-child .trace-node{padding:15px 0 0}.destination-row{display:flex;align-items:center;gap:13px;margin:0 23px;padding:20px 0;border-top:1px solid #edf1e6;font-size:12px}.destination-row>svg{color:#8aa073}.destination-row>div{flex:1}.destination-row strong{font-size:11px}.destination-row small{display:block;font-size:9px;color:#99a18e;margin-top:6px}.full-button{background:transparent;border:0;border-top:1px solid #edf1e6;width:calc(100% - 46px);text-align:left;color:var(--ink)}.modal-overlay{position:fixed;inset:0;background:#142b2466;backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;animation:fade-in .15s}.modal{background:white;border-radius:16px;box-shadow:0 25px 100px #10291e3d;width:640px;max-width:100%;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.modal>header{position:relative;padding:27px 29px 23px;border-bottom:1px solid var(--line);flex-shrink:0}.modal>header h2{font-size:31px;padding-right:35px}.modal-close{position:absolute;top:28px;right:23px}.modal form{display:flex;flex-direction:column;min-height:0}.modal-body{padding:25px 29px;overflow-y:auto}.modal-body>p{font-size:12px;line-height:1.7;color:#819171;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 20px}label{display:flex;flex-direction:column;gap:9px;font-size:10px;font-weight:500;color:#64745c;line-height:1.4}input,select,textarea{border:1px solid #dce4d6;border-radius:6px;background:#fff;color:#3d5739;padding:11px 12px;font-size:12px;max-width:100%;min-width:0}select{padding-right:25px}input::placeholder{color:#9eaa92}input[type=date]{min-height:39px}textarea{min-height:75px;resize:vertical}label.full,.full{grid-column:1/-1}.field-hint{font-size:10px;color:#92a085;line-height:1.65;margin:0;align-self:center}.form-summary{background:#eff5e8;border:1px solid #dfebd4;border-radius:8px;padding:16px;font-size:12px;color:#617c4e}.form-summary strong{font-size:15px;margin-left:7px}.form-summary small{display:block;margin-top:8px;font-size:9px;color:#8ba278}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:19px 29px;border-top:1px solid var(--line);background:#fbfcf8;flex-shrink:0}.error{background:#faf0ea;color:#a06952;border:1px solid #ecd8cb;border-radius:8px;padding:15px 17px;font-size:11px;line-height:1.65;margin-bottom:20px}.confirm-box{text-align:center;padding:12px 5px}.confirm-box>svg{color:#b59a55;margin-bottom:20px}.confirm-box h3{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.3}.confirm-box p{font-size:12px;line-height:1.8;color:#8b987d;margin:17px 0 22px}.toast{position:fixed;bottom:23px;right:25px;max-width:min(520px,calc(100% - 50px));border:1px solid #d3e1c7;border-radius:10px;background:#f7fcf1;box-shadow:0 6px 27px #182d1e15;z-index:130;display:flex;align-items:center;gap:13px;padding:14px 14px 14px 20px;font-size:12px;color:#5c7b45;animation:fade-in .2s}.toast.failure{color:#a47055;background:#fff6f0;border-color:#efdacd}.toast .icon-button{margin-left:10px}.positive{color:#759060!important}.muted{color:#a0a994!important}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f5f6ee;color:#203e35;padding:30px}.boot-logo{font-family:Georgia,serif;font-size:34px;border:1px solid #849f72;border-radius:15px;display:grid;place-items:center;width:57px;height:64px;margin-bottom:17px}.boot h1{font-size:44px}.boot p{font-size:12px;color:#8b9a7d;margin-top:15px}.boot small{font-size:10px;color:#a0ad94;margin-top:18px}.boot-line{width:130px;height:3px;background:#e0e8d9;margin-top:37px;border-radius:3px;overflow:hidden}.boot-line:before{content:"";display:block;width:40px;height:3px;background:#749357;animation:load 1.5s infinite}.boot>.error{max-width:500px;margin-top:28px}#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;background:#f7e5d5;padding:16px;z-index:200;font-size:12px}#blazor-error-ui .dismiss{float:right;cursor:pointer}.mobile-toggle{display:none}.sidebar-shade{display:none}@keyframes fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes load{from{transform:translateX(-40px)}to{transform:translateX(130px)}}
@media(min-width:1600px){.page-content{padding:40px 50px 0}.hero{min-height:278px}.hero h2{font-size:40px}.hero>div:first-child{max-width:65%}.hero p{font-size:12px}.tank-vessel{width:65px;height:100px}.tank-vessel>span{margin-top:40px}.tank-vessel:after{box-shadow:38px 0 #d5decf}.metric>strong{font-size:35px}.nav-item{font-size:13px}.topbar{padding:0 50px}}
@media(max-width:1180px){.sidebar{width:211px;padding:28px 12px 14px}main{margin-left:211px;width:calc(100% - 211px)}.nav-item{font-size:11px;padding:10px}.topbar{padding:0 25px}.page-content{padding:29px 25px 0}.metric{padding:18px 15px}.metric>strong{font-size:26px}.dashboard-grid{grid-template-columns:1.4fr 1fr}.panel-heading{padding:20px 19px 17px}.panel-heading h2{font-size:20px}.panel-heading .text-button{font-size:9px}.tank-overview{gap:6px;padding:20px 12px 25px}.tank-vessel{width:42px;height:72px}.tank-vessel>span{margin-top:25px}.tank-vessel:after{left:7px;box-shadow:22px 0 #d5decf}.tank-mini em{font-size:7px}.vineyard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tank-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero h2{font-size:29px}.hero p{font-size:9px}.hero-art{width:36%}.hero-art>span{font-size:5px}.process-intro{flex-wrap:wrap}.process-intro>.tag{display:none}.saved{display:none}.trace-grid{grid-template-columns:1fr}.trace-node{padding:20px}.top-actions{gap:9px}}
@media(max-width:900px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.tank-overview{padding:20px 22px 29px;gap:15px}.tank-vessel{width:56px;height:87px}.tank-vessel>span{margin-top:32px}.tank-vessel:after{left:9px;box-shadow:29px 0 #d5decf}.panel-heading h2{font-size:23px}.tank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{align-items:flex-start;flex-direction:column;gap:20px}.heading-actions{align-self:flex-end;margin-top:-2px}.hero>div:first-child{max-width:84%}.hero-art{opacity:.28;width:43%}.settings-grid{grid-template-columns:1fr}.mini-metrics{gap:25px}.mini-metrics strong{font-size:18px}.demo-banner{flex-wrap:wrap}.demo-banner button{margin-left:0}.demo-banner>span:nth-child(2){flex:1}.process-grid{grid-template-columns:1fr}.process-intro h2{font-size:23px}.vineyard-grid{grid-template-columns:1fr}.table-panel th{padding:14px}.table-panel td{padding:15px 14px}.section-title{flex-wrap:wrap}.modal{max-height:94vh}}
@media(max-width:640px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:244px;padding:28px 18px 16px}.sidebar.mobile-open{transform:translateX(0)}.sidebar-shade{display:block;position:fixed;inset:0;background:#112e2255;z-index:25}.mobile-toggle{display:inline-flex}.nav-item{font-size:12px;padding:11px 14px}main{margin:0;width:100%}.topbar{height:65px;padding:0 16px;gap:10px}.breadcrumb{gap:6px;font-size:10px}.breadcrumb>span,.breadcrumb>svg{display:none}.top-actions select{padding:7px 19px 7px 8px;font-size:10px;max-width:123px}.top-actions .avatar{display:none}.top-actions{gap:4px}.page-content{padding:25px 17px 0}.page-heading h1{font-size:33px}.page-heading p{font-size:11px}.page-heading{margin-bottom:20px;gap:14px}.heading-actions{align-self:flex-start}.eyebrow{font-size:8px}.button{font-size:10px;padding:10px 13px}.demo-banner{font-size:9px;gap:7px;padding:10px}.demo-banner>button{display:none}.hero{min-height:250px;padding:25px 24px}.hero>div:first-child{max-width:100%}.hero h2{font-size:31px}.hero p{font-size:9px;line-height:1.6;max-width:90%}.hero-art{width:60%;opacity:.18}.hero-art>span{display:none}.metrics{gap:12px}.metric{padding:16px 14px}.metric>span{font-size:9px}.metric>span svg{width:15px}.metric>strong{font-size:28px}.metric p{font-size:8px}.dashboard-grid{gap:17px}.panel-heading{padding:20px 18px 17px}.panel-heading h2{font-size:22px}.tank-overview{grid-template-columns:repeat(3,1fr);row-gap:30px;padding:22px 27px 27px}.tank-vessel{width:53px;height:81px}.tank-vessel>span{margin-top:30px}.tank-vessel:after{box-shadow:27px 0 #d5decf}.tank-mini>small{font-size:9px}.tank-mini em{font-size:8px}.alert-row{width:calc(100% - 36px);margin:0 18px}.filter-bar{max-width:100%}.mini-metrics{padding:17px;flex-wrap:wrap;gap:18px 25px}.mini-metrics strong{font-size:20px}.mini-metrics small{font-size:9px}.tank-grid{gap:12px}.tank-card{padding:15px 14px}.tank-card h3{font-size:21px}.tank-card h3 small{display:block;margin:4px 0 0}.tank-lot{padding:10px}.tank-lot strong{font-size:9px}.tank-lot small{font-size:7px;max-width:90%}.action-strip{gap:8px}.action-strip .button{font-size:9px;padding:10px}.table-panel{border-radius:10px}.table-panel table{min-width:670px}.table-panel td{font-size:10px}.table-panel th{font-size:8px}.table-note{max-width:100vw;padding:13px}.process-intro{padding:22px 19px;gap:15px;align-items:flex-start}.process-intro>svg{display:none}.process-card{padding:23px}.process-card>p{min-height:0}.settings-card{padding:24px}.settings-card h2{font-size:27px}.trace-picker{padding:18px 15px;flex-wrap:wrap;gap:13px}.trace-picker>label{min-width:calc(100% - 50px)}.trace-picker .button{margin-left:0}.trace-banner{padding:23px 20px;gap:10px}.trace-banner h2{font-size:29px}.trace-banner h2 small{font-size:14px;display:block;margin:9px 0 0}.trace-banner .tag{font-size:8px}.trace-banner p{font-size:9px}.trace-node{padding:20px 17px;gap:12px}.trace-node-icon{width:30px;height:30px}.trace-node-icon svg{width:17px}.trace-node strong{font-size:10px}.trace-child{padding-left:11px}.destination-row{margin:0 17px;padding:17px 0}.full-button{width:calc(100% - 34px)}.modal-overlay{padding:10px;align-items:flex-end}.modal{border-radius:15px;max-height:95vh;width:100%}.modal>header{padding:22px 21px 19px}.modal>header h2{font-size:27px}.modal-body{padding:22px 21px}.form-grid{gap:17px 14px}label{font-size:9px}input,select,textarea{font-size:16px;padding:10px;min-width:0}.form-grid select{font-size:13px;min-height:42px}.modal-footer{padding:17px 21px}.modal-footer .button{font-size:11px}.modal-close{top:22px;right:15px}.form-summary{font-size:10px}.form-summary strong{font-size:14px}.field-hint{font-size:9px}.page-footer{font-size:8px;gap:10px;line-height:1.6}.page-footer span:last-child{max-width:45%;text-align:right}.toast{left:17px;right:17px;bottom:17px;max-width:none;font-size:11px;padding:14px}.toast>svg{width:18px}.toast .icon-button{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.sidebar,.topbar,.heading-actions,.demo-banner,.page-footer,.trace-picker,.toast,.modal-overlay,.section-title .filter-bar,.text-button{display:none!important}main{margin:0;width:100%}.page-content{padding:0}.page-heading{margin:0 0 25px}.trace-grid{display:block}.panel{break-inside:avoid;margin-bottom:20px}.trace-banner{background:#f7faf3}body{background:#fff}th,td{font-size:10px}.table-panel table{min-width:0}.hero,.tank-grid{break-inside:avoid}.trace-child .trace-node{page-break-inside:avoid}}
/* Commercial records and dialogs */
.commercial-filters{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.commercial-filters .chips{margin:0}.commercial-filters>select{font-size:11px;padding:8px 12px}.row-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.empty-row{padding:30px!important;text-align:center;color:#94a087}.modal.wide-modal{width:790px}.modal-overlay{overflow:auto;overscroll-behavior:contain;touch-action:manipulation}.modal{max-height:calc(var(--dialog-height,100dvh) - 24px)}.modal-body{min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-close{touch-action:manipulation}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:11px;padding:9px 0}.checkbox-label input{width:17px;height:17px;accent-color:#203e35}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.detail-title h3{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:-.5px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 23px}.detail-list dt{font-size:10px;color:#8a997b;margin-bottom:8px}.detail-list dd{font-size:12px;line-height:1.8;margin:0;color:#425c3b;word-break:break-word}.order-lines{margin:24px 0}.order-lines>h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin-bottom:16px}.order-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;background:#f5f8f0;border:1px solid #e2e9db;border-radius:10px;margin-bottom:16px}.order-line>.full{grid-column:1/-1}.line-total{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:17px}.receipt-entry{display:grid;grid-template-columns:1.8fr 1fr;gap:20px;align-items:center;background:#f5f8f0;border:1px solid #e2e9db;border-radius:9px;padding:18px;margin-bottom:14px}.receipt-entry strong{font-size:12px}.receipt-entry small{display:block;font-size:10px;color:#8a9b79;margin-top:8px;line-height:1.7}.modal-body>.form-summary{margin:22px 0}.modal-body .action-strip{margin-top:23px;margin-bottom:0}
@media(max-width:640px){.detail-list{grid-template-columns:1fr}.detail-title{align-items:flex-start;flex-wrap:wrap}.order-line{grid-template-columns:1fr 1fr;padding:17px;gap:14px 12px}.order-line label select{font-size:13px}.receipt-entry{grid-template-columns:1fr;padding:16px;gap:14px}.commercial-filters{flex-wrap:wrap}.modal.wide-modal{width:100%}.modal-overlay{align-items:center}.row-actions{min-width:150px}.modal form{overflow:hidden}.modal{max-height:calc(var(--dialog-height,100dvh) - 20px)}.modal-body .mini-metrics{gap:18px}.detail-title h3{font-size:27px}}
/* Weekly field calendar */
.campaign-view-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.campaign-view-switch .chips{margin:0}.campaign-view-switch .chip{display:flex;align-items:center;gap:7px}.campaign-view-switch>span{font-size:10px;color:#8c9980}.calendar-toolbar{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e3e9dd}.calendar-navigation{display:flex;align-items:center;gap:6px}.calendar-navigation h2{font-size:25px;margin-left:15px}.calendar-toolbar>label{display:flex;flex-direction:row;align-items:center;gap:11px;color:#8b997d;white-space:nowrap}.calendar-toolbar input{font-size:11px;padding:8px}.back-chevron{transform:rotate(180deg);display:flex}.calendar-horizontal{overflow-x:auto}.calendar-header,.calendar-allday{overflow:hidden;scrollbar-gutter:stable}.calendar-header,.calendar-allday,.calendar-time-grid{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));min-width:940px}.calendar-header{border-bottom:1px solid #e1e7d9}.calendar-hour-label{font-size:8px;color:#95a187;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.6}.calendar-day-heading{border:0;border-left:1px solid #e7ece1;background:white;text-align:left;padding:16px;display:flex;align-items:center;gap:11px}.calendar-day-heading>span{text-transform:uppercase;letter-spacing:1px;font-size:9px;color:#88997c}.calendar-day-heading>strong{font-size:24px;font-weight:400;color:#526d47}.calendar-day-heading.today{background:#f2f7eb}.calendar-day-heading.today>strong{background:#5279a8;border-radius:50%;color:white;display:grid;place-items:center;width:35px;height:35px;font-size:21px}.calendar-day-heading.today>span{color:#5279a8}.calendar-allday{border-bottom:1px solid #dce5d3;background:#fafcf7}.calendar-allday-cell{padding:6px;border-left:1px solid #e5ebdd;min-height:52px;display:flex;flex-direction:column;gap:5px}.allday-task{border:1px solid #cfdef0;border-left:3px solid #7898bc;background:#edf4fc;border-radius:4px;padding:6px 7px;text-align:left;cursor:grab}.allday-task strong{display:block;font-size:9px;color:#4e7095;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allday-task small{display:block;font-size:8px;color:#7e96af;margin-top:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.allday-task.done{background:#edf4e8;border-color:#dbe6d0;border-left-color:#96ae7b}.allday-task.done strong{color:#6d8754}.allday-task.done small{color:#94a47f}.add-allday{background:transparent;border:0;color:#b1c1a0;display:flex;align-items:center;justify-content:center;min-height:22px;width:100%;border-radius:4px;margin-top:auto}.add-allday:hover{background:#eaf1e3;color:#728a5c}.calendar-time-scroll{max-height:590px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;min-width:940px}.calendar-time-grid{height:1536px}.calendar-time-scroll>.calendar-time-grid{min-width:0}.calendar-hours{position:relative;background:#fafcf7}.calendar-hours span{display:block;height:64px;text-align:center;font-size:9px;color:#97a58c;padding-top:5px;border-top:1px solid #e6ecde}.calendar-day-column{position:relative;border-left:1px solid #e4eadd}.calendar-day-column.today{background:#f8fbf3}.calendar-slot{height:32px;width:100%;display:block;border:0;border-top:1px dotted #eef2e9;background:transparent;cursor:pointer;padding:0}.calendar-slot:nth-child(2n+1){border-top:1px solid #e5ebde}.calendar-slot:hover,.calendar-slot:focus-visible{background:#eaf1fc;outline-offset:-2px}.calendar-event{position:absolute;border:1px solid #bfd2e8;border-left:3px solid #6389b4;border-radius:5px;background:#e9f2fd;color:#4f7298;text-align:left;padding:6px 7px;overflow:hidden;cursor:grab;z-index:2;box-shadow:0 1px 3px #345f8620;min-height:14px}.calendar-event:hover{background:#dfeeff;border-color:#799bbe;box-shadow:0 3px 8px #395e8024}.calendar-event strong{display:block;font-size:10px;margin:4px 0;line-height:1.3}.calendar-event small{display:block;font-size:8px;margin-top:3px;color:#7993ae;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-time{font-size:8px;white-space:nowrap}.calendar-event.done{border-color:#d1dfc2;border-left-color:#8fa871;background:#eef5e7;color:#6c8657}.calendar-event.done small{color:#98aa88}.calendar-event.short-event{padding:1px 4px}.calendar-event.short-event strong{font-size:8px;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-event.short-event .calendar-event-time,.calendar-event.short-event small{display:none}.calendar-now{position:absolute;left:0;right:0;height:1px;background:#b66d62;z-index:3;pointer-events:none}.calendar-now i{position:absolute;left:-4px;top:-3px;width:7px;height:7px;background:#b66d62;border-radius:50%}
@media(max-width:1180px){.calendar-toolbar{flex-wrap:wrap}.calendar-navigation h2{font-size:23px}.calendar-toolbar>label{margin-left:auto}.campaign-view-switch>span{max-width:50%;text-align:right;line-height:1.5}}
@media(max-width:640px){.campaign-view-switch>span{display:none}.calendar-toolbar{padding:15px;gap:14px}.calendar-navigation{flex-wrap:wrap}.calendar-navigation h2{font-size:23px;margin-left:9px}.calendar-toolbar>label{margin-left:0}.calendar-toolbar input{font-size:16px}.calendar-time-scroll{max-height:520px}.calendar-header,.calendar-allday,.calendar-time-grid{min-width:940px}.calendar-day-heading{padding:13px}.calendar-event{touch-action:manipulation}}

.modal-overlay{bottom:auto;top:var(--dialog-top,0px);height:var(--dialog-height,100dvh)}
/* Enterprise modules */
.sidebar{height:100dvh;display:flex;flex-direction:column}.sidebar nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.nav-bottom{flex-shrink:0}.enterprise-toolbar{flex-wrap:wrap;margin:0 0 24px}.enterprise-toolbar label{display:flex;gap:12px;align-items:center;margin:0}.info-note{background:#edf3ef;border:1px solid #d5e4da;border-radius:12px;padding:15px 18px;margin:16px 0;color:#244c3d;line-height:1.65}.info-note button{margin-left:14px}.enterprise-modal{max-width:960px}.enterprise-modal .order-line{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0;padding:16px;border:1px solid #dce5de;border-radius:10px}.enterprise-modal .receipt-entry{flex-wrap:wrap}.enterprise-modal .modal-body{overflow-y:auto}.document-sheet{background:white;border:1px solid #d8e1db;padding:24px;color:#1f342c}.document-sheet table{width:100%;border-collapse:collapse}.document-sheet th,.document-sheet td{padding:12px 8px;border-bottom:1px solid #e0e6e1;text-align:left}.document-sheet h2{font-size:28px}.enterprise-toolbar+section{margin-bottom:20px}.upload-label{margin-top:20px}.upload-label input{margin-top:10px}.form-grid .checkbox-label input,.form-grid input[type=checkbox]{width:18px;height:18px;display:inline-block}.top-actions{flex-wrap:wrap}.enterprise-modal .detail-title{gap:12px;flex-wrap:wrap}
@media(max-width:700px){.enterprise-toolbar{gap:8px}.enterprise-toolbar .button{font-size:12px}.enterprise-modal .order-line{grid-template-columns:1fr}.enterprise-toolbar label{flex-direction:column;align-items:flex-start}.enterprise-modal{width:calc(100vw - 20px)}.top-actions .saved{display:none}.document-sheet{padding:12px}.sidebar{height:100dvh}}
@media print{body.printing-document .sidebar,body.printing-document main,body.printing-document .toast,body.printing-document .modal-header,body.printing-document .modal-footer,body.printing-document .modal-body>p,body.printing-document .modal-body>.action-strip{display:none!important}body.printing-document .modal-overlay{position:static!important;background:white!important;display:block!important;padding:0!important}body.printing-document .modal{max-width:none!important;width:100%!important;max-height:none!important;box-shadow:none!important;border:none!important;margin:0!important}body.printing-document .modal-body{overflow:visible!important;padding:0!important;max-height:none!important}body.printing-document .document-sheet{display:block!important;border:none!important;padding:0!important}body.printing-document:has(#print-document) .modal-overlay{display:block!important}}
@media print{body.printing-document .app-shell{display:block!important}body.printing-document main{display:block!important;margin:0!important;padding:0!important}body.printing-document .topbar{display:none!important}body.printing-document .page-content{padding:0!important}body.printing-document .page-content>:not(.modal-overlay){display:none!important}body.printing-document .modal-body>:not(#print-document){display:none!important}}

.about-card{max-width:760px;padding:32px;margin-bottom:24px}.about-card>.icon-chip{margin-bottom:18px}.about-card>.eyebrow{display:block}.about-card h2{font-size:42px;margin-bottom:14px}.about-card>p{color:var(--muted);line-height:1.7;max-width:540px}.about-details{margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line)}.about-details dt{color:var(--muted);font-size:11px;margin-bottom:9px}.about-details dd{margin:0;font-size:25px;font-weight:600;line-height:1.35}@media(max-width:640px){.about-card{padding:24px}.about-card h2{font-size:36px}}

/* Navigation, winery scope, taxes and receiving */
.sidebar{display:flex;flex-direction:column;overflow:hidden}.process-navigation{flex:1;min-height:0;overflow-y:auto;padding-bottom:14px;scrollbar-width:thin}.nav-group{margin-top:7px}.nav-group-heading{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;padding:13px 16px 7px;color:#aab9ab;font-size:11px;font-weight:700;text-align:left;cursor:pointer;letter-spacing:.04em}.nav-group-heading:hover{color:#fff}.nav-group-items .nav-item{padding-top:9px;padding-bottom:9px}.nav-group-items .nav-item span{font-size:12px}.storage-status{flex-shrink:0;margin-top:0}.cellar-select{max-width:190px}.cellar-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:14px 0 26px}.cellar-card{padding:22px}.cellar-card h3{margin:12px 0}.cellar-card dl{display:grid;gap:8px;margin:16px 0}.cellar-card dl div{display:flex;justify-content:space-between}.cellar-card dd{font-weight:700}.tax-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.tax-summary>div{background:#f1f5ef;border-radius:9px;padding:14px}.tax-summary span{display:block;font-size:12px;color:#657363}.tax-summary strong{display:block;font-size:19px;margin-top:7px}.vat-breakdown{width:100%;margin:14px 0;font-size:12px}.wms-start,.wms-scan{display:flex;gap:12px;align-items:flex-end;padding:18px;margin:18px 0}.wms-start label,.wms-scan label{flex:1}.wms-line{padding:18px;background:#f5f7f2;border:1px solid #dfe6d8;border-radius:12px;margin:16px 0}.wms-line.selected{border-color:#78915c}.wide-modal{width:min(1000px,96vw)}.document-sheet .table-panel{overflow:auto}
@media(max-width:900px){.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}.cellar-select{max-width:145px}.topbar{height:auto;min-height:72px}.saved{display:none}.wms-start,.wms-scan{flex-direction:column;align-items:stretch}.tax-summary{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:14mm}body.printing-document .modal>header,body.printing-document .modal-header{display:none!important}body.printing-document .modal,body.printing-document .modal-body{overflow:visible!important;max-height:none!important;height:auto!important;position:static!important;width:100%!important;border:0!important;padding:0!important}body.printing-document #print-document{padding:0!important;width:100%!important;color:#000!important}#print-document table{width:100%;font-size:10pt}#print-document thead{display:table-header-group}#print-document tr{break-inside:avoid}#print-document .tax-summary{display:grid;grid-template-columns:repeat(3,1fr)}}

@media print{body.printing-document .app-shell{min-height:0!important;height:auto!important}}

.user-avatar{border:1px solid #d4dfcc;flex-shrink:0;padding:0;font-weight:600}.user-avatar:hover,.user-avatar[aria-current=page]{background:#d8e5cc;border-color:#809674}.user-profile-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:24px;max-width:1050px;margin-bottom:28px}.profile-avatar{width:54px;height:54px;font-size:18px;font-weight:600}.user-details{margin:24px 0}.user-details>div{padding:12px 0;border-bottom:1px solid var(--line)}.user-details dt{font-size:11px;color:var(--muted);margin-bottom:7px}.user-details dd{margin:0;overflow-wrap:anywhere}.user-profile-grid form{margin-top:24px}.user-profile-grid form label{display:block;margin-bottom:8px}.user-profile-grid form select{width:100%;max-width:340px;margin-bottom:20px}.user-profile-grid form>.button{display:flex}.profile-saved{display:flex;align-items:center;gap:8px;color:var(--forest);margin-bottom:18px;font-size:12px}.user-profile-grid .field-hint{margin:0}.user-profile-grid .error{margin:0 0 18px}@media(max-width:900px){.user-profile-grid{grid-template-columns:minmax(0,1fr);gap:16px}.user-profile-grid form select{max-width:none}}

.harvest-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;white-space:nowrap}.harvest-actions>button{flex:0 0 auto}

.vinea-grid{width:100%;min-width:0}.vinea-grid .e-grid{border:0;font-family:inherit}.vinea-grid .e-grid .e-headercell{background:#eff4ec;color:#203e35}.vinea-grid .e-grid .e-rowcell{padding:12px 14px;white-space:normal;vertical-align:middle}.vinea-grid .e-rowcell small{display:block;margin-top:4px;color:var(--muted)}.vinea-grid .e-grid .e-toolbar{background:#f8faf6;border-bottom:1px solid var(--line)}.grid-row-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;white-space:nowrap}.grid-row-actions>*{flex:0 0 auto}.vinea-grid .e-grid .e-groupdroparea{background:#f4f7f0;color:#536c57}.vinea-grid .e-pager{white-space:normal}

.vinea-grid .harvest-command-cell .e-unboundcelldiv{display:flex;flex-direction:row;align-items:center;gap:4px;white-space:nowrap}.vinea-grid .harvest-command-cell .e-btn{flex:0 0 auto}.vinea-grid .harvest-no-edit .harvest-edit-command,.vinea-grid .harvest-no-delete .harvest-delete-command,.vinea-grid .harvest-no-vinify .harvest-vinify-command,.vinea-grid .harvest-no-trace .harvest-trace-command{display:none!important}

.vinea-grid .standard-command-cell .e-unboundcelldiv{display:flex;flex-direction:row;align-items:center;gap:4px;white-space:nowrap}.vinea-grid .standard-command-cell .e-btn{flex:0 0 auto}
.vinea-grid .no-command-details .grid-command-details,.vinea-grid .no-command-edit .grid-command-edit,.vinea-grid .no-command-delete .grid-command-delete,.vinea-grid .no-command-receive .grid-command-receive,.vinea-grid .no-command-cancel .grid-command-cancel,.vinea-grid .no-command-close .grid-command-close,.vinea-grid .no-command-trace .grid-command-trace,.vinea-grid .no-command-label .grid-command-label,.vinea-grid .no-command-download .grid-command-download,.vinea-grid .no-command-print .grid-command-print,.vinea-grid .no-command-vinify .grid-command-vinify{display:none!important}

.vinea-grid .no-command-inspect .grid-command-inspect,.vinea-grid .no-command-putaway .grid-command-putaway{display:none!important}

.wms-camera{display:grid;gap:12px;border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0;background:#f4f7f5}.wms-camera video{width:100%;max-height:45vh;object-fit:cover;border-radius:10px;background:#172822}.wms-camera .button{justify-self:start}.wms-scan{flex-wrap:wrap}
.task-recurrence{border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.task-recurrence h3{margin:0 0 12px}.recurrence-preview{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.task-form-sections{display:grid;gap:18px}.task-form-section{min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px}.task-form-section legend{padding:0 8px;font-size:14px;font-weight:700;color:var(--forest)}.task-form-section .form-grid{margin:0}.task-recurrence.embedded{border:0;margin:16px 0 0;padding:0}.task-form-section .checkbox-label{align-self:center}
.lookup-settings{margin-bottom:24px;padding:24px}.lookup-settings .panel-heading{align-items:center}.lookup-settings>.form-grid{max-width:800px;margin-bottom:12px}.lookup-settings .vinea-grid{margin-top:16px}@media(max-width:640px){.lookup-settings{padding:16px}.lookup-settings .panel-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}}
.security-settings{padding:24px;margin-bottom:24px}.security-matrix{overflow-x:auto;margin:20px 0}.security-matrix table{width:100%;border-collapse:collapse}.security-matrix th,.security-matrix td{padding:10px;border-bottom:1px solid var(--line)}.security-matrix td{text-align:center}.security-matrix input[type=checkbox]{width:18px;height:18px;accent-color:var(--forest)}
.guide-overview{padding:25px;margin-bottom:22px}.guide-overview h2{margin-bottom:16px}.guide-overview ol,.guide-card ol{padding-left:23px;margin:12px 0 20px;line-height:1.75}.guide-overview p{margin-top:12px;line-height:1.7;color:var(--muted)}.guide-card h4{font-size:12px;margin:16px 0 8px}.guide-card p{line-height:1.7}.guide-problem{padding:0 0 8px}.guide-controls{background:var(--soft);padding:1px 14px 14px;border-radius:9px;margin-bottom:14px}.guide-details{border-top:1px solid var(--line);padding-top:14px;margin-bottom:18px}.guide-details summary{cursor:pointer;font-size:12px;font-weight:600}.guide-details article{margin-top:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.guide-planned{margin-top:18px}.guide-planned p{margin:8px 0}.guide-card .text-button{margin-top:auto}.guide-card{display:flex;flex-direction:column}.guide-card>ol{flex:0}.guide-controls p,.guide-problem p{font-size:12px}
.guide-card dl{margin-bottom:0}

.vineyard-card .card-footer{flex-wrap:wrap;gap:12px}.vineyard-map-link{text-decoration:none}.vineyard-map-link:focus-visible{outline:2px solid var(--forest);outline-offset:4px}

.vinea-grid .grid-toolbar-fields label{display:flex;align-items:center;gap:10px;margin:0;font-size:13px}.vinea-grid .grid-toolbar-fields input[type=date],.vinea-grid .grid-toolbar-fields select{width:auto;min-width:140px;margin:0;padding:6px 10px}.vinea-grid .grid-upload{position:relative;margin:0;padding:7px 12px;white-space:nowrap}.vinea-grid .grid-upload:focus-within{outline:2px solid var(--forest);outline-offset:2px}

.section-title:has(.filter-bar){flex-wrap:wrap}.section-title .filter-bar{margin:0;width:100%;max-width:100%;flex:1 1 100%}

.tank-card button:disabled{cursor:not-allowed}

/* Structured cellar rooms and recipient layout */
.cellar-layout-actions,.layout-cards-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.cellar-layout-actions .horizontal{flex-direction:row;flex-wrap:wrap;gap:10px}.cellar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}.layout-room-list{padding:18px;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.layout-room-list h2{width:100%;font-size:16px;margin:0 0 6px}.layout-room{flex:1 1 230px;display:flex;align-items:center;gap:10px;width:100%;padding:13px 10px;border:1px solid transparent;background:transparent;border-radius:12px;text-align:left;color:inherit;margin-bottom:6px;cursor:pointer}.layout-room>svg{flex:none;color:#526c60}.layout-room>span:nth-child(2){flex:1;min-width:0}.layout-room strong,.layout-room small{display:block;overflow-wrap:anywhere}.layout-room small{font-size:11px;color:#717971;margin-top:4px}.layout-room.selected{background:#eaf0e9;border-color:#cad8c8}.layout-room:hover{background:#f2f4ee}.layout-search{min-width:0}.layout-search .filter-bar{margin:0}.layout-room-content{min-width:0}.layout-map-panel{padding:24px}.layout-inline-actions{display:flex;gap:6px}.layout-placement-picker{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;max-width:540px;margin:0 0 16px}.layout-placement-picker select{width:100%}.layout-map-scroll{max-width:100%;overflow:auto;border:1px solid #dce2d8;border-radius:14px;background:#f2f4ee;margin:16px 0}.layout-map{display:grid;gap:9px;padding:14px;min-width:max-content}.layout-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:154px;padding:12px 9px;border-radius:11px;font:inherit;text-align:center;transition:background .15s,border-color .15s;overflow-wrap:anywhere}.layout-slot>small:first-child{align-self:flex-start;font-size:10px;letter-spacing:.07em;color:#788477}.layout-slot.empty{border:1px dashed #bfccb9;background:#fafcf7;color:#74876b;cursor:crosshair}.layout-slot.empty>span{font-size:11px}.layout-slot.empty:hover:not(:disabled){background:#e3eddd;border-color:#729065}.layout-slot.occupied{background:#fff;border:1px solid #ced9c8;color:#254536;cursor:grab;box-shadow:0 2px 4px #233a2508}.layout-slot.occupied>span{font-size:11px;line-height:1.4;max-width:145px}.layout-slot.occupied>small{font-size:10px;color:#6f7e70}.layout-slot .bar-track{width:100%;margin-top:5px}.layout-slot.occupied:disabled{opacity:1;cursor:default}.layout-slot.dimmed{opacity:.4}.layout-slot:focus-visible,.layout-room:focus-visible{outline:3px solid #819f6a;outline-offset:2px}.layout-cards-title{margin:24px 0 14px}.layout-cards-title h2{font-size:18px;margin:0}.layout-cards-title>span{font-size:12px;color:#71806c}.tank-location{display:flex;align-items:center;gap:6px;color:#64725f;font-size:12px;line-height:1.5}.layout-feedback{padding:12px 16px;background:#eaf2e5;color:#34522b;border-radius:10px}.cellar-layout .tank-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.cellar-layout .tank-card{min-width:0}.cellar-layout-actions button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.cellar-layout{grid-template-columns:1fr}.layout-room-list{position:static;display:flex;flex-wrap:wrap;gap:7px;padding:14px}.layout-room-list h2{width:100%;margin-bottom:3px}.layout-room{width:auto;flex:1 1 210px;margin:0}.layout-map-panel{padding:17px}.cellar-layout-actions{align-items:flex-start;flex-wrap:wrap}.layout-slot{min-height:145px}}
 .layout-occupied-card{position:relative;min-width:0}.layout-occupied-card>.layout-slot{width:100%;height:100%}.layout-occupied-card>.layout-slot>small:first-child{padding-right:29px}.layout-unassign{position:absolute;top:5px;right:5px;width:32px;height:32px;padding:6px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#7b443d;z-index:1}.layout-unassign:hover:not(:disabled){background:transparent;color:#a0392d}.layout-unassign:focus-visible{outline:3px solid #819f6a;outline-offset:2px}.layout-unassign:disabled{opacity:.5;cursor:wait}
.layout-slot.empty .layout-assign-trigger{font-size:11px;padding:7px;width:100%;justify-content:center;white-space:normal}.layout-slot.empty .text-button{font-size:11px}.layout-assignment-list{display:grid;gap:9px;margin-top:15px;max-height:360px;overflow-y:auto}.layout-assignment-option{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:14px;border:1px solid #dce2d8;border-radius:11px;background:#fff;color:var(--ink)}.layout-assignment-option>span{flex:1;min-width:0;overflow-wrap:anywhere}.layout-assignment-option strong,.layout-assignment-option small{display:block}.layout-assignment-option small{font-size:12px;color:var(--muted);margin-top:5px}.layout-assignment-option:hover:not(:disabled){background:#eaf0e9;border-color:#819f6a}.layout-assignment-option:focus-visible{outline:3px solid #819f6a;outline-offset:2px}
.layout-slot.empty .layout-slot-action{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;width:100%;padding:5px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--forest);font:inherit;font-size:12px;line-height:20px;text-align:center;white-space:nowrap;min-height:30px;cursor:pointer}.layout-slot-action>svg{display:block;flex:0 0 18px;width:18px;height:18px;margin:0;align-self:center}.layout-slot-action>span{display:block;line-height:20px;white-space:nowrap}.layout-slot.empty .layout-slot-action:hover:not(:disabled){background:transparent;box-shadow:none;color:#496d3d}.layout-slot-action:hover:not(:disabled)>span{text-decoration:underline;text-underline-offset:3px}.layout-slot-action:focus-visible{outline:2px solid #819f6a;outline-offset:3px}.layout-slot-action:disabled{opacity:.5;cursor:wait}

.blend-source-card{display:grid;align-content:start;gap:16px;min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
@media(max-width:640px){.blend-source-card{grid-column:1/-1;padding:15px}}

.production-view-controls,.production-week-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.production-view-controls>select{margin-left:auto}.production-planner .info-note{margin-bottom:18px}.production-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:20px}.production-day{padding:14px;min-width:0}.production-day h3{font-size:15px;margin-bottom:14px}.production-day-item{display:grid;gap:7px;text-align:left;width:100%;border:1px solid var(--line);background:var(--paper);padding:11px;border-radius:9px;margin-bottom:10px;font:inherit}.production-day-item>span{font-size:11px;overflow-wrap:anywhere}.production-day-item small{font-size:10px;color:var(--muted)}.production-fields{border:0;padding:0;margin:0;min-width:0}.production-fields h3,.production-execution h4{font-size:15px;margin:24px 0 14px}.production-material-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(85px,1fr) 34px;gap:12px;align-items:end;margin-bottom:12px}.production-warning{padding:10px 13px;border-left:3px solid #b68a50;background:#fcf7eb;font-size:12px;line-height:1.5;margin:9px 0;grid-column:1/-1}.production-selection{display:flex;flex-wrap:wrap;gap:14px;padding:20px;margin-top:18px;align-items:center}.production-selection>div{flex:1}.production-selection>p{flex:1 1 100%}.production-plan-modal{max-width:850px}.production-comparison{width:100%;border-collapse:collapse;margin:16px 0}.production-comparison th,.production-comparison td{padding:10px;text-align:left;border-bottom:1px solid var(--line);font-size:12px}.production-execution{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:18px;margin-top:22px}.production-execution h3{font-size:20px;margin-bottom:12px}.production-execution>p{font-size:12px;margin-bottom:18px}
@media(max-width:1100px){.production-week{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.production-week{grid-template-columns:1fr}.production-material-row{grid-template-columns:minmax(0,1fr) 34px;gap:10px}.production-material-row>label{grid-column:1}.production-material-row>.icon-button{grid-column:2;grid-row:3}.production-view-controls>select{width:100%;margin-left:0}.production-execution{padding:14px}}
.economic-detail{padding:24px;margin:20px 0;overflow:auto}.economic-table{width:100%;border-collapse:collapse}.economic-table th,.economic-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line,#e1e4dc)}.economic-panel>.section-title{gap:16px;flex-wrap:wrap}.economic-panel .search-field{width:100%}
.cellar-editor-tabs{display:flex;gap:10px;padding:12px 24px;border-bottom:1px solid #e1e4dc}.compliance-line{padding:20px;margin:16px 0}
/* Quaderno di campagna: controlli e calendario Syncfusion. */
.campaign-journal{min-width:0}.campaign-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.campaign-search{width:100%;box-sizing:border-box}.campaign-search .e-input-group{flex:1;background:transparent;border:0;box-shadow:none}.campaign-filters{display:grid;grid-template-columns:minmax(240px,2fr) minmax(170px,1fr) auto;gap:16px;align-items:end;margin-bottom:16px}.campaign-filters label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.campaign-scheduler{padding:0;overflow:hidden;min-width:0}.campaign-appointment{display:flex;flex-direction:column;gap:2px;overflow:hidden;padding:2px 4px}.campaign-appointment strong,.campaign-appointment span,.campaign-appointment small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.e-schedule .campaign-completed{background:#54785e!important;border-color:#54785e!important}.e-schedule .campaign-planned{background:#3e675b!important;border-color:#3e675b!important}.campaign-form-body{border:0;margin:0;padding:0;min-width:0}.campaign-task-dialog .e-dlg-content{padding:24px}.campaign-task-dialog .e-dlg-header{font-family:Georgia,serif;font-size:28px;color:#203e35}.campaign-dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:22px;margin-top:20px;border-top:1px solid #e3e6df}.campaign-task-dialog .form-grid>label{min-width:0}.campaign-task-dialog .e-control-wrapper{max-width:100%}.campaign-task-dialog .checkbox-label{justify-content:center}.campaign-task-dialog .e-multi-line-input{min-height:90px}@media(max-width:900px){.campaign-filters{grid-template-columns:1fr 1fr}.campaign-filters>label:first-child{grid-column:1/-1}.campaign-scheduler{border-radius:12px}.campaign-task-dialog .e-dlg-content{padding:16px}}@media(max-width:520px){.campaign-filters{grid-template-columns:1fr}.campaign-filters>label:first-child{grid-column:auto}.campaign-controls .e-btn{flex:1 1 40%}.campaign-dialog-actions .e-btn{flex:1}}

/* Production planning: touch layout and viewport-aware dialogs. */
.production-planner{min-width:0}
.production-mobile-toolbar,.production-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.production-mobile-toolbar>.button:first-child{flex:1}
.production-mobile-list{display:grid;gap:12px}
.production-mobile-card{padding:16px;min-width:0}
.production-card-open{display:grid;gap:8px;width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;padding:0 0 16px;overflow-wrap:anywhere}
.production-card-open>strong{font-size:18px}
.production-card-open>span,.production-card-open>small{font-size:13px}
.production-mobile-card summary{cursor:pointer;padding:12px 0;min-height:44px;box-sizing:border-box}
.production-card-actions>.button{flex:1 1 44%;white-space:normal}
@media(max-width:767px){
 .production-planner .button,.production-planner select,.production-mobile-dialog button,.production-mobile-dialog input,.production-mobile-dialog select{min-height:44px}
 .production-view-controls{display:grid;grid-template-columns:1fr;gap:12px}
 .production-view-controls .view-switch{display:flex;width:100%}
 .production-view-controls .view-switch>.button{flex:1;justify-content:center}
 .production-view-controls>select{width:100%;margin:0}
 .production-planner .info-note{font-size:13px;line-height:1.5}
 .production-calendar .campaign-controls>.e-btn{width:100%;min-height:44px;display:flex;justify-content:center;gap:8px}
 .production-calendar .campaign-appointment{white-space:normal}
 .production-calendar .campaign-appointment strong,.production-calendar .campaign-appointment span,.production-calendar .campaign-appointment small{white-space:normal;overflow-wrap:anywhere}
 .modal-overlay:has(.production-mobile-dialog){padding:0;align-items:stretch}
 .production-mobile-dialog{width:100%;max-width:100%;height:var(--dialog-height,100dvh);max-height:var(--dialog-height,100dvh);margin:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
 .production-mobile-dialog>header{flex:none;padding:16px;padding-top:max(16px,env(safe-area-inset-top))}
 .production-mobile-dialog>form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
 .production-mobile-dialog .modal-body{flex:1;min-height:0;overflow-y:auto;padding:16px;overscroll-behavior:contain}
 .production-mobile-dialog>.modal-body{flex:1}
 .production-mobile-dialog .form-grid{grid-template-columns:minmax(0,1fr)}
 .production-mobile-dialog .form-grid>.full{grid-column:1}
 .production-mobile-dialog input,.production-mobile-dialog select,.production-mobile-dialog textarea{font-size:16px;max-width:100%;box-sizing:border-box}
 .production-mobile-dialog .modal-footer{flex:none;display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--paper)}
 .production-mobile-dialog .modal-footer>.button{flex:1;white-space:normal;justify-content:center}
 .production-mobile-dialog .production-material-row{grid-template-columns:minmax(0,1fr) 44px}
 .production-mobile-dialog .production-material-row>label{grid-column:1}
 .production-mobile-dialog .production-material-row>.icon-button{grid-column:2;grid-row:3}
 .production-selection>div{flex-basis:100%;min-width:0;overflow-wrap:anywhere}
}

.production-ai{margin-bottom:20px;padding:0;min-width:0}
.production-ai>summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:18px;list-style:revert}
.production-ai>summary>span{margin-left:auto;font-size:12px;color:var(--muted)}
.production-ai-body{padding:0 18px 18px}
.production-ai-examples{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.production-ai textarea{width:100%;box-sizing:border-box;min-height:100px;font-size:16px}
.production-ai-result{display:grid;gap:12px;margin-top:20px}
.production-ai-message{white-space:pre-wrap;font-size:14px;line-height:1.6}
.production-ai-item{padding:16px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}
.production-ai-item p{font-size:13px;line-height:1.5;margin:10px 0}
.production-ai-item h3{font-size:18px;margin:8px 0}
.production-ai-item .production-card-actions{margin-bottom:0}
.production-ai-settings{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.production-ai-settings>summary{cursor:pointer;padding:12px 0}
.production-ai-settings form>.button{margin-top:16px}
@media(max-width:767px){.production-ai>summary{flex-wrap:wrap}.production-ai>summary>span{margin-left:28px;flex-basis:100%}.production-ai-examples>.button{flex:1 1 100%;white-space:normal}.production-ai .form-grid{grid-template-columns:minmax(0,1fr)}.production-ai button{min-height:44px}.production-ai-body>form>.button{width:100%;justify-content:center}.production-ai input{font-size:16px}}

.ai-system-settings .form-grid{grid-template-columns:minmax(0,1fr)}
.ai-system-settings .stack-actions{margin-top:16px}
.production-voice{display:none;margin:14px 0}
.voice-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
.voice-button.voice-listening{border-color:#a43c38;color:#a43c38;background:#fff5f4}
.voice-preview{font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
@media(max-width:767px),(pointer:coarse){.production-voice{display:block}.production-voice>.voice-button{width:100%}}

/* Lot operations stay on the lot page and fit the phone's visible viewport. */
@media(max-width:767px){
 body:has(.cellar-lots-page) .modal-overlay{padding:0;align-items:stretch}
 body:has(.cellar-lots-page) .modal{width:100%;max-width:100%;height:var(--dialog-height,100dvh);max-height:var(--dialog-height,100dvh);margin:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
 body:has(.cellar-lots-page) .modal>header{flex:none;padding:16px;padding-top:max(16px,env(safe-area-inset-top))}
 body:has(.cellar-lots-page) .modal>form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
 body:has(.cellar-lots-page) .modal .modal-body{flex:1;min-height:0;overflow-y:auto;padding:16px;overscroll-behavior:contain}
 body:has(.cellar-lots-page) .modal .form-grid,body:has(.cellar-lots-page) .modal .detail-list{grid-template-columns:minmax(0,1fr)}
 body:has(.cellar-lots-page) .modal .form-grid>.full{grid-column:1}
 body:has(.cellar-lots-page) .modal .form-grid>*{min-width:0;max-width:100%;box-sizing:border-box}
 body:has(.cellar-lots-page) .modal input,body:has(.cellar-lots-page) .modal select,body:has(.cellar-lots-page) .modal textarea{font-size:16px;max-width:100%;box-sizing:border-box}
 body:has(.cellar-lots-page) .modal button,body:has(.cellar-lots-page) .modal input,body:has(.cellar-lots-page) .modal select{min-height:44px}
 body:has(.cellar-lots-page) .modal .modal-footer{flex:none;display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--paper)}
 body:has(.cellar-lots-page) .modal .modal-footer>.button{flex:1;min-width:0;white-space:normal;justify-content:center}
}

.modal.campaign-task-dialog{width:min(900px,calc(100% - 32px))}.campaign-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}.campaign-list li{display:flex;gap:16px;align-items:baseline;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.campaign-list small{margin-left:auto;color:var(--muted)}

.production-status{margin:0 0 23px;padding:22px;border:1px solid rgba(32,62,53,.12);border-radius:20px;background:linear-gradient(145deg,var(--paper,#f7f8f4),#fff)}
.production-status-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.production-status-heading h2{margin:3px 0 4px;color:var(--forest,#203e35)}.production-status-heading p{margin:0;opacity:.72}.flow-legend{display:flex;align-items:center;gap:7px;font-size:10px;opacity:.7;white-space:nowrap}.flow-legend i{width:7px;height:7px;border-radius:50%;background:#7d9b70;box-shadow:0 0 0 4px #7d9b7018}
.production-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}a.production-stage{text-decoration:none}.production-stage{position:relative;display:flex;min-width:0;min-height:210px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;padding:16px;border:1px solid rgba(32,62,53,.12);border-radius:16px;background:#fff;color:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.production-stage:after{content:"";position:absolute;right:-24px;top:-24px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,#dce8d6 0,#edf3e900 70%)}.production-stage:hover{transform:translateY(-3px);border-color:rgba(182,138,80,.55);box-shadow:0 12px 28px rgba(32,62,53,.1)}.production-stage:focus-visible{outline:3px solid rgba(182,138,80,.38);outline-offset:2px}.production-stage.featured{border-color:#b68a5066;box-shadow:inset 0 3px 0 #b68a50}.production-stage strong{font-size:15px;color:var(--forest,#203e35);z-index:1}.stage-number{position:absolute;right:13px;top:12px;font-size:9px;letter-spacing:1px;opacity:.35;z-index:1}.stage-art{display:grid;width:54px;height:54px;place-items:center;margin-bottom:3px;border-radius:16px;background:linear-gradient(145deg,#fff,#eff4ec);box-shadow:inset 0 0 0 1px rgba(32,62,53,.08),0 7px 15px rgba(32,62,53,.08);color:var(--forest,#203e35);z-index:1}.grapes{background:linear-gradient(145deg,#f4ecef,#fff)}.tank{background:linear-gradient(145deg,#e6eee8,#fff)}.work{background:linear-gradient(145deg,#f4efe4,#fff)}.quality{background:linear-gradient(145deg,#e8f0ef,#fff)}.bottling{background:linear-gradient(145deg,#f1eee5,#fff)}.finished{background:linear-gradient(145deg,#e9eee4,#fff)}
.stage-kpis{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:3px}.stage-kpis span{min-width:0;padding:7px 4px;border-radius:8px;background:#f6f8f3;text-align:center}.stage-kpis b{display:block;font-size:18px;overflow-wrap:anywhere}.stage-kpis small{display:block;margin-top:3px;font-size:10px;overflow-wrap:anywhere;opacity:.62}.stage-hint{font-size:9px;line-height:1.35;opacity:.64;margin-top:auto}.production-rule{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:11px;background:#203e350b;font-size:10px;line-height:1.45}.production-rule strong{white-space:nowrap;color:var(--forest,#203e35)}.production-rule span{opacity:.72}
.vineyard-blocks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.vineyard-blocks li{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}.vineyard-blocks strong,.vineyard-blocks span{overflow-wrap:anywhere}.vineyard-blocks span,.vineyard-blocks small{font-size:12px;color:var(--muted)}.vineyard-blocks .text-button{justify-self:start;margin-top:4px}
.campaign-list li{flex-wrap:wrap}.campaign-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.defense-register{margin:28px 0 0}.defense-register h2{margin:0 0 12px;font-size:18px}.defense-register ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.defense-register li{display:grid;gap:3px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.defense-register span,.defense-register small{font-size:12px;color:var(--muted)}
.survey-register{margin:28px 0 0}.survey-register h2{margin:0 0 12px;font-size:18px}.survey-register ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.survey-register li{display:grid;gap:3px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.survey-register span,.survey-register small{font-size:12px;color:var(--muted)}
.harvest-declaration{margin:28px 0 0}.harvest-declaration h2{margin:0 0 12px;font-size:18px}.harvest-declaration ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.harvest-declaration li{display:grid;gap:3px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.harvest-declaration span,.harvest-declaration small{font-size:12px;color:var(--muted)}.harvest-declaration form{display:flex;gap:8px;align-items:end;margin-top:8px}.harvest-declaration select{min-width:160px}
.labor-cost{margin:16px 0 0}.labor-cost h3{margin:0 0 8px;font-size:15px}.labor-panel{margin:0 0 18px}.labor-panel h2{margin:0 0 12px;font-size:18px}.labor-cost ul,.labor-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.labor-cost li,.labor-panel li{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.labor-cost span,.labor-cost small,.labor-panel span{font-size:12px;color:var(--muted)}
.campaign-plan{margin:16px 0 0}.campaign-plan h2,.campaign-notebook h2{margin:0 0 12px;font-size:18px}.campaign-plan-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:12px}.campaign-plan-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.campaign-notebook{margin:16px 0 0}.campaign-notebook h3{margin:12px 0 8px;font-size:15px}.campaign-plan ul,.campaign-notebook ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.campaign-plan li,.campaign-notebook li{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.campaign-plan span,.campaign-plan small,.campaign-notebook span,.campaign-notebook small{font-size:12px;color:var(--muted)}
.delivery-measures{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.delivery-measures p{display:flex;flex-direction:column;gap:6px;margin:0;font-size:13px;color:var(--muted)}.delivery-measures output{display:flex;align-items:center;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.vineyard-hectare-warn{color:var(--amber)}
.seat-note{margin:0 0 16px;color:var(--muted);font-size:13px}
@media(max-width:1100px){.production-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.production-status{padding:18px 14px}.production-status-heading{align-items:flex-start}.flow-legend{display:none}.production-flow{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;touch-action:pan-x;padding:2px 2px 10px}.production-stage{flex:0 0 230px;scroll-snap-align:start}.production-status-heading h2{font-size:20px}.production-rule{align-items:flex-start;flex-direction:column;gap:5px}}
