@charset "UTF-8";
:root{--ink:#172e29;--muted:#55625b;--green:#1c5142;--dark:#163d36;--accent:#c8dfac;--paper:#f5f7f3;--line:#e2e8e0;--white:#fff;--red:#ae3d32;--red-bg:#fff0ec;--amber:#8e601c;--amber-bg:#fbf2dc;--blue:#496f8a;--radius:18px;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.4}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #73a78d;outline-offset:3px}button{color:inherit}a{color:inherit;text-decoration:none}button svg,.nav-icon{width:21px;height:21px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}button{border:0}input,select,textarea{min-width:0}input[type=date]{max-width:100%}.skip-link{position:fixed;top:-80px;left:20px;z-index:20;background:var(--dark);color:white;padding:12px}.skip-link:focus{top:10px}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;background:#edf1e9;padding:34px 22px;border-right:1px solid var(--line);min-height:100vh}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:650;letter-spacing:-.7px}.company-suffix{font-size:.58em;font-weight:500;letter-spacing:0;color:var(--muted)}.brand-sub{display:block;font-size:13px;letter-spacing:.05px;font-weight:400;color:var(--muted);margin-top:3px}.workspace-label{font-size:12px;letter-spacing:1.5px;color:#859284;margin:55px 6px 15px}.nav-button{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:10px;background:transparent;width:100%;text-align:left;margin:5px 0;color:#748273;font-size:16px}.nav-button.active{background:var(--dark);color:#f8fbf4}.nav-count{margin-left:auto;font-size:14px;padding:3px 7px;border-radius:6px;background:var(--red-bg);color:var(--red)}.nav-button.active .nav-count{background:#d9b3a8;color:#47201b}.sidebar-bottom{margin-top:auto;padding:55px 8px 0}.team-dots{display:flex;margin-bottom:13px;padding-left:4px}.team-dots span{width:31px;height:31px;display:grid;place-items:center;margin-left:-4px;border:2px solid #edf1e9;border-radius:50%;font-size:13px;background:#d4dfc9}.team-dots span:nth-child(2){background:#e3d4ba}.team-dots span:nth-child(3){background:#cad9df}.team-dots span:last-child{background:var(--white)}.sidebar-bottom strong{font-size:15px}.sidebar-bottom p{font-size:13px;color:var(--muted);margin:6px 0 20px}.text-button{display:inline-flex;gap:8px;align-items:center;background:none;padding:0;font-size:15px;color:var(--green);text-decoration:underline;text-underline-offset:3px}.main-shell{min-width:0}.topbar{height:82px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--white);gap:12px}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb span{padding:0 12px;color:#b8c2b4}.breadcrumb strong{color:var(--ink);font-weight:500}.role-control{display:flex;gap:11px;align-items:center;font-size:13px;color:var(--muted)}.role-control select{border:1px solid var(--line);border-radius:9px;padding:9px 27px 9px 12px;color:var(--ink);background:#fafbf8;font-weight:600;font-size:15px;max-width:160px}.mobile-brand{display:none}.demo-bar{display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.1px;padding:11px 42px;background:#eaf0e3;color:#617054;line-height:1.5}.demo-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#8caa70}.demo-bar button{background:none;color:inherit;font-size:13px;margin-left:auto;text-decoration:underline;flex-shrink:0}main{padding:38px 42px;max-width:1440px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:13px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;margin-bottom:12px}.page-head h1{font-size:32px;letter-spacing:-1.2px;line-height:1.2;font-weight:600}.page-subtitle{color:var(--muted);font-size:15px;margin-top:10px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 17px;border:1px solid var(--line);border-radius:10px;background:white;font-weight:500;font-size:15px;white-space:normal;line-height:1.3}.btn:hover{background:#eef3e8}.btn.primary{background:var(--dark);color:white;border-color:var(--dark)}.btn.primary:hover{background:#245b4c}.btn.soft{background:#edf2e6;color:var(--green);border-color:#e0e9d4}.btn.danger{background:var(--red-bg);color:var(--red);border-color:#efc7bf}.btn.small{font-size:14px;padding:8px 12px;min-height:44px}.btn.full{width:100%}.banner{display:flex;gap:15px;align-items:center;background:var(--red-bg);border:1px solid #f2d9d0;border-radius:13px;padding:18px 20px;margin-bottom:28px}.banner-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fae0d7;color:var(--red);flex-shrink:0}.banner strong{font-size:16px;color:#913d30}.banner p{font-size:14px;color:#a46b5d;margin-top:5px;line-height:1.5}.banner button{margin-left:auto;flex-shrink:0}.section-head{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:29px 0 15px}.section-head h2{font-size:17px;letter-spacing:-.3px;font-weight:600}.section-head .muted{font-size:14px}.site-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.site-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}.site-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#b8cf9f}.site-card.blue:before{background:#abc7d4}.site-top{display:flex;gap:13px;align-items:center}.site-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#edf3e6;color:#65834d;flex-shrink:0}.blue .site-symbol{background:#e9f0f3;color:#638197}.site-top h3{font-size:18px;font-weight:600;letter-spacing:-.4px}.site-top p{font-size:14px;color:var(--muted);margin-top:4px}.site-arrow{margin-left:auto;color:#8c9989;font-size:21px}.site-data{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.site-data span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.site-data strong{font-size:23px;font-weight:500;letter-spacing:-.5px}.site-data .alert{color:var(--red)}.site-divider{height:1px;background:#edf0e9}.site-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.site-bottom span{font-size:13px;color:var(--muted)}.site-bottom button{padding:0;color:var(--green);background:none;font-size:14px;font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 8px;font-size:13px;line-height:1.25;font-weight:500;white-space:normal}.badge:before{content:"";height:4px;width:4px;border-radius:50%;background:currentColor;flex-shrink:0}.badge.waiting{background:var(--amber-bg);color:var(--amber)}.badge.active{background:#eef1ec;color:#6c7d65}.badge.done{background:#e8f1e5;color:#487b46}.badge.overdue{background:var(--red-bg);color:var(--red)}.badge.blue{background:#eaf0f6;color:var(--blue)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.filter-control{border:1px solid var(--line);padding:11px 13px;border-radius:10px;background:white;font-size:15px;color:var(--ink);min-height:42px}.search{margin-left:auto;max-width:240px;width:100%;font-size:15px}.filter-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.pill{padding:8px 13px;background:transparent;border:1px solid transparent;border-radius:8px;font-size:14px;color:var(--muted);min-height:44px}.pill.active{background:white;color:var(--green);border-color:var(--line);font-weight:600}.pill span{color:#6b776e;margin-left:7px;font-size:13px}.item-list{display:grid;gap:10px}.item-card{display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(145px,auto);gap:18px;align-items:center;padding:20px 22px;background:white;border:1px solid var(--line);border-radius:13px;min-width:0}.item-card.urgent{border-left:3px solid #cf7360}.item-main{min-width:0}.item-kicker{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin-bottom:9px}.site-label{color:var(--green);font-weight:600}.item-main h3{font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.item-spec{font-size:14px;color:var(--muted);margin-top:5px;line-height:1.5;overflow-wrap:anywhere}.item-note{font-size:14px;color:#55625b;margin-top:7px;line-height:1.5;overflow-wrap:anywhere}.item-quantity{font-size:16px;font-weight:600}.item-quantity small{display:block;color:var(--muted);font-size:13px;font-weight:400;margin-top:6px}.item-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.item-actions .badge{margin-bottom:2px}.item-actions .action-row{display:flex;gap:6px;flex-basis:100%;justify-content:flex-end}.wait-note{margin-top:12px;padding-top:10px;border-top:1px solid #edf0e8;font-size:13px;color:var(--amber);line-height:1.65}.urgent .wait-note{color:var(--red)}.wait-note strong{font-weight:600}.muted{color:var(--muted)}.empty{text-align:center;padding:42px 20px;background:white;border:1px dashed #d5dfd0;border-radius:14px;color:var(--muted);line-height:1.8;font-size:16px}.summary-line{font-size:14px;color:var(--muted);margin-top:16px}.desktop-footer{display:flex;justify-content:space-between;align-items:center;margin:30px 42px 25px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:#97a08f}.mobile-nav{display:none}.reminder-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;padding:23px;background:white;border:1px solid var(--line);border-radius:14px;align-items:start}.reminder-card.overdue,.reminder-card.today{border-color:#e7c4b7;background:#fffaf7}.calendar-tile{width:44px;text-align:center;padding:6px 0;background:#edf2e7;border-radius:9px;color:var(--green)}.overdue .calendar-tile,.today .calendar-tile{background:#fae4db;color:var(--red)}.calendar-tile strong{display:block;font-size:20px;line-height:1.2;font-weight:500}.calendar-tile span{font-size:12px;text-transform:uppercase;letter-spacing:.6px}.reminder-card h3{font-size:17px;margin-top:8px;line-height:1.4}.reminder-card p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:7px}.reminder-card .badge{margin-top:12px}.reminder-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:4px}.install-panel{background:#e9f0e1;border-radius:var(--radius);padding:26px;display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:28px}.install-panel h3{font-size:17px}.install-panel p{font-size:14px;color:#7a8c70;line-height:1.7;margin-top:7px;max-width:380px}dialog{border:0;border-radius:20px;padding:0;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);background:var(--white);color:var(--ink);box-shadow:0 25px 120px #102a2633;overflow:auto}dialog::backdrop{background:#0c201b80;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:27px 28px 20px;gap:20px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:23px;letter-spacing:-.7px;font-weight:600}.modal-head p{font-size:14px;color:var(--muted);margin-top:7px;line-height:1.5}.close-button{background:#f1f4ed;border-radius:50%;height:44px;width:44px;font-size:20px;flex-shrink:0}.modal-body{padding:24px 28px}.modal-body p{font-size:15px;line-height:1.6;color:#4f5d55}.modal-footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:18px 28px 24px;border-top:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font-size:14px;font-weight:600;min-width:0}.field small{font-size:13px;font-weight:400;color:var(--muted);line-height:1.5}.field input,.field select,.field textarea{width:100%;border:1px solid #d9e1d2;border-radius:9px;background:#fff;padding:12px;color:var(--ink);font-size:16px;font-weight:400;min-height:44px}.field textarea{resize:vertical;min-height:85px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .field{margin-bottom:0}.form-row{background:#f5f7f1;padding:16px;border-radius:12px;margin-bottom:12px}.row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:13px;color:var(--muted)}.remove-line{background:none;color:var(--red);font-size:14px;padding:5px 8px;min-height:40px}.voice-sample{border:1px dashed #b8cba6;border-radius:12px;padding:16px;margin-bottom:20px;background:#f3f7ee}.voice-sample p{font-size:14px;margin-bottom:12px}.voice-sample button{font-size:14px}.form-error{color:var(--red);background:var(--red-bg);padding:12px;border-radius:8px;font-size:15px;line-height:1.6;margin-top:15px}.confirmation-site{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:15px;color:var(--green)}.review-line{padding:14px 0;border-bottom:1px solid var(--line)}.review-line strong{font-size:16px;line-height:1.5}.review-line p{font-size:14px}.review-line span{font-size:15px;color:var(--green);display:block;margin-top:7px}.notice{background:#f1f5eb;padding:12px 14px;border-radius:9px;font-size:14px;color:#6c7e60;line-height:1.65;margin-top:18px}.history-line{border-left:2px solid #dde6d5;padding:0 0 18px 15px;font-size:14px;line-height:1.7}.history-line time{font-size:12px;color:var(--muted);display:block}.history-line p{font-size:14px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--dark);color:white;padding:15px 22px;border-radius:12px;z-index:50;font-size:15px;box-shadow:0 8px 25px #163d3626;max-width:calc(100% - 32px);text-align:center}.toast[hidden]{display:none}.install-steps{display:grid;gap:16px;margin-top:18px}.install-steps strong{font-size:15px}.install-steps p{font-size:14px}.about-list{padding-left:18px;color:var(--muted);font-size:15px;line-height:1.9}
.site-symbol svg,.banner-icon svg,.confirmation-site svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.date-line{font-size:13px;line-height:1.8;color:var(--muted);margin-top:9px}.date-line strong{font-weight:500;color:#52674f}.request-tabs .pill{flex:1;min-height:42px;font-size:15px}.archived-link{margin-top:17px}.demo-person{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 42px;background:#f3f6ee;font-size:13px;color:var(--muted)}.demo-person select{border:1px solid var(--line);background:white;border-radius:8px;padding:9px 12px;font-size:15px;max-width:220px}.photo-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.photo-thumb{display:block;width:66px;height:66px;padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#edf2e6;object-fit:cover;flex-shrink:0}.photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}.photo-large{display:block;max-width:100%;width:100%;max-height:65dvh;object-fit:contain;border-radius:12px}.photo-attachments{margin:0 0 18px}.photo-attachments>small{font-size:13px;color:var(--muted);line-height:1.6;display:block;margin-top:9px}.photo-buttons{display:flex;gap:7px;flex-wrap:wrap}.badge.cancelled{background:#f0efed;color:#8e8178}
@media(max-width:700px){.demo-person{padding:10px 20px;justify-content:space-between;gap:8px;flex-wrap:wrap}.demo-person select{font-size:16px;max-width:100%;min-height:40px}.demo-person>span{font-size:12px}.request-tabs .pill{font-size:14px}.photo-thumb{width:60px;height:60px}.modal-footer:has([data-action="edit"]){grid-template-columns:1fr 1fr}.modal-footer:has([data-action="edit"])>[data-action="close"]{grid-column:1/-1}}
@media(min-width:1450px){main{padding-top:48px}.site-card{padding:28px}.page-head h1{font-size:36px}}
@media(max-width:1050px){.layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:30px 15px}.brand{font-size:21px}.brand-sub{font-size:12px}.topbar{padding:0 26px}main{padding:30px 26px}.demo-bar{padding:10px 26px}.site-card{padding:20px}.item-card{grid-template-columns:minmax(0,1fr) 90px}.item-actions{grid-column:1/-1;justify-content:space-between;align-items:center}.item-actions .action-row{flex-basis:auto}.reminder-card{grid-template-columns:38px minmax(0,1fr)}.reminder-actions{grid-column:2;justify-content:flex-start}.desktop-footer{margin-left:26px;margin-right:26px}}
@media(max-width:700px){body{font-size:16px}.layout{display:block}.sidebar,.breadcrumb,.desktop-footer{display:none}.topbar{height:73px;padding:12px 20px}.mobile-brand{display:flex;gap:9px;align-items:center;font-size:20px;letter-spacing:-.5px}.role-control{gap:5px;flex-direction:column;align-items:flex-end;font-size:12px}.role-control select{padding:5px 20px 5px 7px;font-size:14px;border:0;background:transparent;max-width:140px;min-height:40px}.demo-bar{padding:9px 20px;font-size:12px;align-items:flex-start}.demo-bar .demo-dot{margin-top:5px}.demo-bar button{font-size:12px;margin-top:0}.demo-bar>span:nth-child(2){max-width:230px}.main-shell{padding-bottom:104px}main{padding:27px 20px 20px}.page-head{align-items:flex-start;margin-bottom:22px;gap:14px}.page-head h1{font-size:28px;letter-spacing:-1px}.eyebrow{font-size:12px;letter-spacing:1.4px;margin-bottom:10px}.page-subtitle{font-size:14px;margin-top:8px}.page-head>.btn{display:none}.banner{padding:15px;gap:11px;margin-bottom:25px;align-items:flex-start;flex-wrap:wrap}.banner-icon{width:30px;height:30px}.banner>div:nth-child(2){flex:1}.banner strong{font-size:15px}.banner p{font-size:13px}.banner button{margin-left:41px;padding:0;font-size:14px;min-height:40px;background:transparent;border:0;color:var(--red);text-decoration:underline}.site-grid{grid-template-columns:1fr;gap:14px}.site-card{padding:22px;gap:19px}.site-top h3{font-size:19px}.site-data strong{font-size:25px}.site-data span{font-size:13px}.site-bottom span,.site-bottom button{font-size:14px}.section-head{margin-top:26px}.section-head h2{font-size:17px}.section-head .muted{font-size:13px}.item-card{grid-template-columns:minmax(0,1fr) auto;padding:19px 17px;gap:14px 10px;align-items:start}.item-main h3{font-size:16px}.item-kicker{font-size:12px;flex-wrap:wrap;gap:5px}.item-quantity{font-size:16px;max-width:90px;text-align:right}.item-quantity small{font-size:12px;line-height:1.5}.item-spec{font-size:13px}.item-note{font-size:13px}.badge{font-size:12px}.btn.small{font-size:14px;min-height:44px}.item-actions{align-items:center;gap:6px}.wait-note{font-size:13px}.toolbar{gap:8px}.filter-control{font-size:14px;flex:1;min-width:120px;max-width:100%}.search{margin-left:0;max-width:none;flex-basis:100%;font-size:16px}.filter-pills{gap:3px;margin-bottom:16px}.pill{font-size:13px;padding:8px 9px}.pill span{font-size:12px;margin-left:5px}.reminder-card{padding:19px 16px;gap:10px 12px}.reminder-card h3{font-size:17px}.reminder-card p{font-size:14px}.reminder-actions{gap:7px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;justify-content:space-around;background:#fff;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.mobile-nav button{position:relative;background:transparent;min-width:65px;min-height:52px;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#5f6b62;font-size:12px}.mobile-nav button.active{color:var(--green);font-weight:600}.mobile-nav .nav-count{position:absolute;top:0;right:9px;padding:1px 4px;font-size:12px}.mobile-nav svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.install-panel{padding:20px;display:block}.install-panel p{font-size:13px}.install-panel .btn{margin-top:15px;width:100%}.toast{bottom:85px;width:max-content;font-size:14px}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:17px}.modal-head{padding:22px 20px 17px}.modal-head h2{font-size:22px}.modal-body{padding:20px}.modal-footer{padding:16px 20px 20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-footer .btn{font-size:15px}.field{font-size:14px}.field input,.field select,.field textarea{font-size:16px}.form-row{padding:13px}.form-grid{grid-template-columns:1fr 1fr;gap:9px}.voice-sample{padding:14px}.modal-footer .single{grid-column:1/-1}}
@media(max-width:360px){main{padding-left:15px;padding-right:15px}.topbar{padding-left:15px;padding-right:15px}.demo-bar{padding-left:15px;padding-right:15px}.page-head h1{font-size:25px}.item-card{padding:16px 13px}.item-actions .action-row{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.modal-footer{grid-template-columns:1fr}.site-card{padding:19px}.role-control select{max-width:118px}.mobile-brand{font-size:18px}}
@media(prefers-reduced-motion:no-preference){.btn,.site-card,.nav-button{transition:background .16s,border-color .16s}.site-card:hover{border-color:#aabc9b}}

/* 2026-11-10: role screens, urgency, acceptance, questions, buyer list, voice recorder */
.sidebar-bottom{padding-top:30px}.sidebar nav{margin-top:40px}
.flag-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.flag-row:empty{display:none}
.badge.urgent{background:var(--red);color:#fff;font-weight:600}
.talk-preview{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f1f5eb;font-size:14px;line-height:1.45;color:#3d4c44;overflow-wrap:anywhere}.talk-preview span{color:var(--muted)}
.item-actions .action-row{flex-wrap:wrap}
.big-action{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:72px;margin:0 0 6px;border-radius:16px;background:var(--dark);color:#fff;font-size:20px;font-weight:600}.big-action svg{width:28px;height:28px}
.buy-list{display:grid;gap:8px}.buy-row{display:flex;align-items:stretch;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.buy-row.hot{border-left:4px solid #cf7360}
.buy-main{flex:1;min-width:0;display:block;text-align:left;background:transparent;padding:12px 4px 12px 14px}.buy-main strong{display:block;font-size:17px;line-height:1.3;overflow-wrap:anywhere}.buy-spec,.buy-meta{display:block;font-size:14px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.buy-spec:empty{display:none}
.buy-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;padding:12px 12px 12px 4px;flex-shrink:0;max-width:42%}.buy-side b{font-size:17px;white-space:nowrap}.buy-side .btn{min-width:52px}
.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.seg button{flex:1;min-height:44px;padding:8px 12px;background:transparent;font-size:14px;color:var(--muted)}.seg button.active{background:var(--dark);color:#fff;font-weight:600}
.chips-block{margin:0 0 16px}.chips-block>span{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:8px 13px;border-radius:22px;border:1px solid #cfdcc2;background:#f3f7ee;font-size:14px;color:var(--green);text-align:left}
.check-field{display:flex;gap:12px;align-items:flex-start;margin:20px 0 18px;padding:14px;border:1px solid #efc7bf;border-radius:12px;background:var(--red-bg)}.check-field input{width:26px;height:26px;margin:2px 0 0;flex-shrink:0;accent-color:var(--red)}.check-field strong{display:block;font-size:16px;color:#913d30}.check-field small{display:block;font-size:14px;color:#7c4a40;margin-top:3px;line-height:1.4}
.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.detail-actions .btn{flex:1 1 140px}
.comment{max-width:88%;margin:0 0 10px;padding:10px 12px;border-radius:12px 12px 12px 3px;background:#f1f5eb}.comment.own{margin-left:auto;border-radius:12px 12px 3px 12px;background:#e3eef6}.comment p{font-size:15px;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}.comment time{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.comment-form{margin-top:12px}.comment-form .field{margin-bottom:10px}.comment-form textarea{min-height:64px}
.voice-status{margin:10px 0 0;min-height:1em}.voice-status:empty{display:none}.btn.record{min-height:56px;width:100%;font-size:17px;font-weight:600}.btn.record.recording{background:var(--red);border-color:var(--red);color:#fff}
.mobile-nav .fab{flex-direction:row;gap:6px;min-width:112px;min-height:52px;padding:0 16px;margin-top:-4px;border-radius:26px;background:var(--dark);color:#fff;font-size:15px;font-weight:600;box-shadow:0 6px 16px #163d3640}.mobile-nav .fab svg{width:22px;height:22px}
.site-bottom .btn{color:var(--green);font-weight:600}
@media(max-width:700px){.mobile-nav{align-items:center;justify-content:space-between;padding-left:6px;padding-right:6px}.mobile-nav button{min-width:58px}.item-card{grid-template-columns:minmax(0,1fr)}.item-quantity{max-width:none;text-align:left;font-size:17px}.item-actions{justify-content:flex-start}.item-actions .action-row{flex-basis:100%;justify-content:flex-start}.item-actions .action-row .btn{flex:1 1 auto}.item-main h3{font-size:18px}.toolbar .seg{flex-basis:100%}.page-head{margin-bottom:16px}.page-head h1{font-size:26px}.demo-bar>span:nth-child(2){max-width:none}}
@media(max-width:360px){.mobile-nav .fab{min-width:96px;padding:0 10px}.mobile-nav button{min-width:52px}}
/* shared server mode: sign-in, account, team management */
body.online .role-control,body.online .demo-bar{display:none}body.signed-out .mobile-nav,body.signed-out .sidebar nav{display:none}
.who{display:flex;align-items:center;gap:8px;margin-left:auto}.who-name{display:flex;flex-direction:column;align-items:flex-end;min-height:44px;justify-content:center;background:transparent;padding:0 2px;text-align:right;max-width:150px}.who-name strong{font-size:14px;line-height:1.2;overflow-wrap:anywhere}.who-name small{font-size:13px;color:var(--muted)}
.login{max-width:420px;margin:6vh auto 0}.login h1{font-size:30px;font-weight:600}.login form{margin-top:24px}.login input{font-size:24px!important;letter-spacing:3px;text-align:center;text-transform:uppercase;min-height:60px!important}
.team-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.team-row.off{opacity:.6}.team-row>div:first-child{min-width:0;flex:1 1 180px}.team-row strong{display:block;font-size:17px;overflow-wrap:anywhere}.team-row span{display:block;font-size:14px;color:var(--muted);margin-top:2px}.team-buttons{display:flex;gap:6px;flex-wrap:wrap}
.team-form{margin-top:12px;padding:14px;border-radius:12px;background:#eef2e8}.team-form .field{margin-bottom:12px}.team-form .btn{width:100%}
@media(max-width:700px){.team-buttons{flex-basis:100%}.team-buttons .btn{flex:1}.who-name{max-width:120px}}
/* one request = one block with a single accept button */
.request-block{border:1px solid var(--line);border-radius:14px;background:#eef2e8;padding:10px;margin-bottom:12px}.request-block.fresh{border-color:#9db98a;background:#e6efdc}.request-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:2px 4px 10px}.request-head strong{display:block;font-size:16px}.request-head span{display:block;font-size:14px;color:var(--muted)}.request-head .btn{flex:1 1 180px;min-height:50px;font-size:16px;font-weight:600}
/* 2026-11-10 night: two lists (Нужно / Привезли), four plain states */
.badge.new{background:var(--dark);color:#fff;font-weight:600}.badge.new:before{display:none}
.pill.alert span{background:var(--red);color:#fff;border-radius:10px;padding:1px 7px}
.request-tabs{flex-wrap:nowrap}.request-tabs .pill{padding:8px 4px;white-space:nowrap}
.need-row{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.need-row.hot{border-left:4px solid #cf7360}
.need-main{display:block;width:100%;text-align:left;background:transparent;padding:12px 14px}
.need-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.need-top strong{font-size:17px;line-height:1.3;overflow-wrap:anywhere}.need-top b{font-size:17px;white-space:nowrap}
.need-line{display:block;font-size:14px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.need-talk{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;padding:7px 10px;border-radius:9px;background:#f1f5eb;font-size:14px;line-height:1.4;color:#3d4c44;overflow-wrap:anywhere}
.need-actions{display:flex;gap:8px;padding:0 12px 12px}.need-actions .btn{flex:1}
.done-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-height:56px}.done-row span{min-width:0}.done-row strong{display:block;font-size:16px;overflow-wrap:anywhere}.done-row small{display:block;font-size:14px;color:var(--muted);overflow-wrap:anywhere}.done-row b{white-space:nowrap;font-size:16px}
.fold{margin-top:16px;border-top:1px solid var(--line);padding-top:4px}.fold summary{min-height:48px;display:flex;align-items:center;font-size:16px;font-weight:600;cursor:pointer;color:var(--green)}.fold .buy-list{margin-top:6px}
.clear-box{margin-top:18px;padding:14px;border:1px dashed #c3cebb;border-radius:12px}.clear-box .btn{width:100%}.clear-box p{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.4}
@media(max-width:700px){.mobile-nav{justify-content:space-around}.mobile-nav button{min-width:84px}}
.request-head>div{flex:1 1 100%;min-width:0}.request-head .request-note{color:#3d4c44;margin-top:4px;overflow-wrap:anywhere}

/* Object selection and account layout. */
.object-context { display:flex; align-items:center; gap:10px; width:100%; min-height:52px; padding:12px 14px; text-align:left; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--green); }
.object-context strong { flex:1; min-width:0; overflow-wrap:anywhere; font-size:16px; }
.object-context span { font-size:12px; }
.objects-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0; }
.object-card { min-width:0; padding:20px; text-align:left; background:#fff; border:1px solid var(--line); border-radius:14px; }
.object-card>strong { display:block; font-size:21px; overflow-wrap:anywhere; }
.object-card>span { display:block; color:var(--muted); margin-top:5px; overflow-wrap:anywhere; }
.object-counts { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:20px; }
.object-counts span { font-size:12px; color:var(--muted); }
.object-counts b { display:block; font-size:24px; font-weight:600; color:var(--ink); }
.connection-status { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; background:var(--red-bg); color:var(--red); font-size:14px; }
.who { min-width:0; flex-wrap:wrap; justify-content:flex-end; }
.who-name { min-width:0; }
.who-name strong { max-width:100%; }
@media(max-width:700px) {
  .topbar { height:auto; min-height:73px; flex-wrap:wrap; }
  .who { flex:1 1 140px; gap:5px; }
  .who-name { flex:1 1 90px; max-width:120px; }
  .who-name strong { font-size:13px; }
  .objects-grid { grid-template-columns:1fr; }
  .mobile-nav { display:grid; grid-template-columns:1fr 1fr 1.3fr 1fr; gap:2px; }
  .mobile-nav button { min-width:0; width:100%; font-size:11px; padding:5px 2px; }
  .mobile-nav .fab { min-width:0; width:100%; padding:5px; font-size:12px; }
  .mobile-nav .fab svg { width:16px; }
}

.invite-entry {margin-bottom:16px;color:var(--green);font-weight:600;}

/* 2026-11-11 evening: requests first. One-line header, objects as a row of buttons, three-button bottom bar. */
.site-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;margin:0 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.site-chips::-webkit-scrollbar{display:none}
.site-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:16px;font-weight:600;white-space:nowrap}
.site-chip span{font-size:14px;font-weight:600;color:var(--muted);background:#eef2e8;border-radius:9px;padding:1px 8px}
.site-chip.active{background:var(--dark);border-color:var(--dark);color:#fff}.site-chip.active span{background:#ffffff26;color:#fff}
.site-chip.more{font-weight:400;color:var(--muted)}
.who-name{flex-direction:row;align-items:center;gap:10px;max-width:none;min-height:48px;padding:4px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}.who-name>span:first-child{display:flex;flex-direction:column;align-items:flex-end;min-width:0}.who-name strong{font-size:15px}.who-menu{font-size:20px;color:var(--green);line-height:1}
.menu-list{display:grid;gap:10px}.menu-list .btn{width:100%;min-height:52px;font-size:16px;justify-content:flex-start;padding-left:18px}
@media(max-width:700px){
  .list-head{display:none}
  .topbar{min-height:64px;height:auto;flex-wrap:nowrap;padding-top:8px;padding-bottom:8px}.who{flex:0 1 auto;margin-left:auto}.who-name{flex:0 1 auto;max-width:190px}.who-name strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}
  main{padding-top:14px}
  .mobile-nav{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:6px;align-items:center}
  .mobile-nav button{min-width:0;width:100%;font-size:13px;padding:5px 2px;min-height:54px}
  .mobile-nav .fab{min-height:54px;padding:0 12px;font-size:17px;border-radius:16px;margin-top:0}.mobile-nav .fab svg{width:22px;height:22px}
  .request-tabs{margin-bottom:12px}
}
.chip{border-radius:12px}

/* 2026-11-11 night: home = order (object → voice/text → one numbered list → send); every request is one sheet. */
.alert-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;margin:0 0 14px;padding:10px 16px;border:1px solid #efc7bf;border-radius:14px;background:var(--red-bg);color:#913d30;text-align:left}.alert-tile strong{display:block;font-size:18px}.alert-tile small{display:block;font-size:14px;color:#7c4a40}.alert-tile b{font-size:20px;background:var(--red);color:#fff;border-radius:10px;padding:2px 11px}
.order-label{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.order-sites{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.order-site{min-height:54px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:17px;font-weight:700;overflow-wrap:anywhere;line-height:1.2}.order-site.active{background:var(--dark);border-color:var(--dark);color:#fff}
.order-mic{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:92px;border-radius:16px;background:var(--dark);color:#fff;font-size:22px;font-weight:700}.order-mic svg{width:30px;height:30px}.order-mic.more{min-height:56px;font-size:17px;background:#edf2e6;border:1px solid #cfdcc2;color:var(--green)}.order-mic.more svg{width:22px;height:22px}.order-mic.recording{background:var(--red);border-color:var(--red);color:#fff}.order-mic:disabled{opacity:.7}
.order-add{display:flex;gap:8px;margin:12px 0}.order-add input{flex:1;min-width:0;min-height:54px;padding:12px 14px;border:1px solid #d9e1d2;border-radius:12px;background:#fff;font-size:16px;color:var(--ink)}.order-plus{flex:0 0 54px;min-height:54px;border:1px solid #d9e1d2;border-radius:12px;background:#fff;color:var(--green);display:grid;place-items:center}.order-plus svg{width:24px;height:24px}
.sheet{list-style:none;margin:0;padding:0 4px 0 14px;background:#fff;border:1px solid var(--line);border-radius:14px}
.sheet-line{display:flex;align-items:stretch;border-bottom:1px solid #edf0e9}.sheet-line:last-child{border-bottom:0}
.sheet-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 6px 10px 0;background:transparent;text-align:left;font-size:17px;flex-wrap:wrap}
.sheet-main i{font-style:normal;flex:0 0 22px;color:#7d8a82;font-size:15px}.sheet-main>span{flex:1 1 120px;min-width:0;overflow-wrap:anywhere;line-height:1.3}.sheet-main small{font-size:13px;color:var(--muted)}.sheet-main b{white-space:nowrap;font-size:17px}.sheet-main b.ask{color:var(--red);font-size:15px;background:var(--red-bg);border-radius:8px;padding:3px 8px}
.sheet-x{flex:0 0 44px;background:transparent;color:#9aa69f;font-size:26px;line-height:1}
.sheet-hint{padding:26px 12px;border:1px dashed #cfd8c8;border-radius:14px;text-align:center;color:var(--muted);font-size:15px;line-height:1.5}
.order-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.order-opts button{min-height:48px;padding:6px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:var(--green)}.order-opts button.on{background:#edf2e6;border-color:#9db98a}.order-opts button.on.urgent{background:var(--red);border-color:var(--red);color:#fff}
.order-needed{margin-bottom:12px}
.order-send{display:flex;align-items:center;justify-content:center;width:100%;min-height:62px;margin-top:4px;border-radius:14px;background:var(--dark);color:#fff;font-size:19px;font-weight:700;overflow-wrap:anywhere;padding:8px 12px}.order-send[data-idle]{background:#c9d3c8;color:#fff}
.request-sheet{margin:0 0 14px;padding:14px 12px 12px;background:#fff;border:1px solid var(--line);border-radius:16px}.request-sheet.fresh{border-color:#9db98a;box-shadow:0 0 0 2px #dcebd0}
.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 2px}.sheet-head strong{font-size:20px;overflow-wrap:anywhere}.sheet-head span{font-size:14px;color:var(--muted)}
.request-sheet .flag-row{margin:8px 2px 4px}.sheet-note{font-size:15px;color:#3d4c44;margin:6px 2px 2px;overflow-wrap:anywhere}
.request-sheet .sheet{border:0;border-top:1px solid #edf0e9;border-radius:0;padding:0 2px;margin-top:8px}
.sheet-line.done .sheet-main>span,.sheet-line.done .sheet-main b{color:#8a958e;text-decoration:line-through}
.mk{font-style:normal;font-size:13px;font-weight:700;border-radius:7px;padding:3px 8px;white-space:nowrap}.mk.ok{background:#e8f1e5;color:#487b46}.mk.wait{background:var(--amber-bg);color:var(--amber)}.mk.late{background:var(--red);color:#fff}.mk.part{background:#eaf0f6;color:var(--blue)}
.sheet-action{width:100%;min-height:54px;margin-top:10px;font-size:17px;font-weight:700}
.mobile-nav .fab.active{box-shadow:0 0 0 3px #c8dfac}
@media(max-width:700px){.request-tabs .pill{font-size:15px}}
.sheet-main>span{flex:1 1 80px}.request-sheet .sheet-main{flex-wrap:wrap;row-gap:4px}

/* 2026-11-11 night: tabs Новые / В работе / Ждём / Архив; waiting cards; archive sheets */
.request-tabs.four{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.request-tabs.two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.request-tabs.four .pill,.request-tabs.two .pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 2px;min-height:58px;font-size:14px;white-space:normal;text-align:center;line-height:1.15}
.request-tabs .pill span{margin:0}
.sheet-rest{font-size:14px;color:var(--muted);margin:8px 2px 0;padding-top:8px;border-top:1px dashed #dfe5db;overflow-wrap:anywhere}
.ls{display:block;font-size:13px;margin-top:2px;font-weight:600}.ls.ok{color:#487b46}.ls.wait{color:var(--amber)}.ls.late{color:var(--red)}.ls.work{color:var(--blue)}.ls.new{color:var(--muted);font-weight:400}
.wait-card{display:flex;gap:12px;margin:0 0 12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px}.wait-card.late{border:2px solid var(--red);background:#fff6f3}
.cal{flex:0 0 50px;align-self:flex-start;text-align:center;border-radius:10px;background:var(--amber-bg);color:var(--amber);padding:7px 0}.cal strong{display:block;font-size:21px;line-height:1.1}.cal span{font-size:12px;text-transform:uppercase}.late .cal{background:var(--red);color:#fff}
.wt{flex:1;min-width:0}.wt-main{display:block;width:100%;text-align:left;background:transparent;padding:0}.wt-main strong{display:block;font-size:17px;overflow-wrap:anywhere}.wt-main small{display:block;font-size:14px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.wt-main em{font-style:normal;display:inline-block;margin-top:6px;font-size:13px;font-weight:700;border-radius:7px;padding:3px 8px;background:var(--amber-bg);color:var(--amber)}.late .wt-main em{background:var(--red);color:#fff}
.wt-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.request-sheet.archived{background:#fbfcfa}.badge.done{background:#e8f1e5;color:#487b46}

/* «К дате» opens the calendar itself; «Привезли» check-off */
.order-opts{position:relative}.date-chip{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:var(--green);overflow:hidden;cursor:pointer}.date-chip.on{background:#edf2e6;border-color:#9db98a}
.date-chip input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0}
.date-chip input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}
.date-clear{position:absolute;right:-6px;top:-8px;width:28px;height:28px;border-radius:50%;background:var(--dark);color:#fff;font-size:18px;line-height:1;z-index:2}
.receive-hint{font-size:16px!important;color:var(--ink)!important;margin-bottom:10px}
.receive-list{padding-left:8px}.receive-list .sheet-main{min-height:58px}
.tick{flex:0 0 32px!important;height:32px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-size:18px!important;font-weight:700;background:#e8f1e5;color:#487b46!important}
.sheet-line.missing{background:#fff6f3}.sheet-line.missing .tick{background:var(--red);color:#fff!important}.sheet-line.missing .sheet-main>span,.sheet-line.missing .sheet-main b{color:#913d30}
.receive-missing{margin-top:14px;padding:14px;border:1px solid #efc7bf;border-radius:14px;background:#fffaf8}.receive-missing>strong{font-size:17px;color:#913d30}.receive-missing>p{font-size:14px!important;margin:2px 0 12px}
.last-sent{display:block;width:100%;text-align:left;margin:0 0 10px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.last-sent span{display:block;font-size:13px;color:var(--muted)}.last-sent strong{display:block;font-size:15px;color:var(--amber);margin-top:2px}.last-sent.ok strong{color:#487b46}
/* objects: all visible at once, wrapping onto several lines instead of scrolling sideways */
.site-chips{flex-wrap:wrap;overflow:visible;padding-bottom:4px}.site-chip{flex:1 1 auto;justify-content:space-between;min-width:0;white-space:normal;text-align:left;font-size:15px;padding:8px 12px}
/* bottom bar: three equal tabs; the current screen is simply highlighted (no separate big button) */
@media(max-width:700px){
  .mobile-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}
  .mobile-nav button{min-height:56px;border-radius:14px;font-size:14px;color:#5f6b62;gap:3px}
  .mobile-nav button svg{width:24px;height:24px}
  .mobile-nav button.active{background:var(--dark);color:#fff;font-weight:700}
  .mobile-nav button.active .nav-count{background:#fff;color:var(--red)}
}
/* workers → foreman */
.request-tabs.five{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.request-tabs.five .pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 1px;min-height:58px;font-size:12.5px;white-space:normal;text-align:center;line-height:1.15}
.alert-tile.green{border-color:#9db98a;background:#e6efdc;color:var(--green)}.alert-tile.green small{color:#3d4c44}.alert-tile.green b{background:var(--dark)}
.from-actions{display:grid;gap:8px;margin-top:10px}.from-actions .btn{min-height:50px;font-size:16px;font-weight:700}
.from-tag{color:var(--blue)!important;font-weight:600}
.order-note{font-size:14px;color:var(--muted);text-align:center;margin:8px 0 0}
.last-sent.bad strong{color:var(--red)}
.badge.t0{background:#f0efed;color:#8e8178}.badge.t1{background:var(--amber-bg);color:var(--amber)}.badge.t2{background:#e8f1e5;color:#487b46}.badge.t3{background:#eaf0f6;color:var(--blue)}.badge.t4{background:var(--red);color:#fff}
@media(max-width:700px){.mobile-nav.two{grid-template-columns:1fr 1fr}}

.supply-section {margin:18px 0}.supply-section h2 {font-size:18px;margin:0 0 10px}.supply-empty {margin:0;color:var(--muted)}

/* Architectural identity: paper, ink, bronze rules and squared controls. */
:root {--ink:#192d3a;--dark:#203746;--green:#294557;--muted:#526470;--paper:#f8f9f8;--accent:#d9c8ad;--line:#d3d9dc;--radius:4px;font-family:"Segoe UI Variable Text",Inter,system-ui,sans-serif}
.sidebar,.topbar,.mobile-nav {background:#fff}
.topbar {border-bottom:1px solid #536572}
button svg {stroke-linejoin:miter;stroke-linecap:square}
button.btn,.site-chip,.order-site,.order-mic,.order-send,.pill,.mobile-nav button,.nav-button,.order-add,.sheet,.sheet-line,.tick,.request-sheet,.wait-card,.receive-missing,.alert-tile,.last-sent,dialog,.field input,.field textarea,.field select,.date-chip,.order-tools button,.badge {border-radius:3px}
.request-sheet,.request-sheet.fresh,.request-sheet.archived {background:#fff;border:0;border-top:1px solid #a4afb5;border-bottom:1px solid var(--line);box-shadow:none}
.supply-section h2 {border-left:4px solid #997343;padding-left:10px;letter-spacing:-.025em}
.btn.primary.sheet-action {background:#805c34;border-color:#805c34;color:white}
.order-site.active,.site-chip.active,.nav-button.active,.mobile-nav button.active {background:var(--dark);color:white}
.mobile-nav button.active {border-bottom:3px solid #a07c49}
.order-mic.more,.sheet-note,.request-sheet .sheet,.sheet-main {color:var(--ink)}
.order-mic.more {background:#eef1f2;border-color:var(--line)}
.nav-count.waiting-count,.mobile-nav button.active .nav-count.waiting-count,.nav-button.active .nav-count.waiting-count {background:#a8372d;color:white;border-radius:3px}
.wait-card.late {border:1px solid #bd4b43;border-left:4px solid #ad342d}

/* Waiting controls must fit the remaining width beside the calendar. */
.wait-card {min-width:0;max-width:100%;box-sizing:border-box}
.wait-card .wt {flex:1 1 0;min-width:0}
.wt-actions {grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.wt-actions .btn {min-width:0;max-width:100%;width:100%;padding:8px 5px;gap:4px;white-space:normal;overflow-wrap:anywhere;flex-wrap:wrap;box-sizing:border-box}
.delete-row {display:flex;justify-content:flex-end;margin-top:5px;min-width:0}
.delete-link {background:transparent;color:#6a747b;font-size:13px;padding:8px 5px;min-height:40px;text-decoration:underline;text-underline-offset:3px}
.delete-link:hover,.delete-link:focus-visible {color:var(--red)}
.archive-delete-row {margin:0 0 14px}
.badge.rejected {background:var(--red-bg);color:var(--red)}
.rejected-lines {margin-top:10px;border-left:3px solid var(--red)}
.rejection-notice {border-left:3px solid var(--red);color:var(--red)}
.receive-list .sheet-line {display:block}
.receive-list .sheet-main {width:100%}
.receive-choice {padding:0 10px 14px}
.receive-outcomes {display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 10px}
.receive-outcomes .btn {flex:1 1 120px;min-width:0;white-space:normal}
.receive-outcomes .btn[aria-pressed="false"] {background:#fff;color:var(--ink);border-color:var(--line)}
.receive-outcomes [data-outcome="wait"][aria-pressed="true"] {background:var(--dark);color:#fff;border-color:var(--dark)}
.receive-outcomes [data-outcome="reject"][aria-pressed="true"] {background:var(--red-bg);color:var(--red);border-color:var(--red)}
.receive-summary {font-size:13px;color:var(--muted);margin-top:14px}
/* Material lines (owner's choice 13.11, variant A): three columns stay; a name breaks only between words,
   a very long word gets a hyphen, never a cut in the middle of a word; numbers and units never wrap. */
.sheet-main:has(>.material-unit) {display:grid!important;grid-template-columns:18px minmax(0,1fr) 42px 50px;column-gap:6px;row-gap:0;align-items:start;flex-wrap:nowrap}
.sheet-main:has(>.material-unit)>span:not(.material-unit) {overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}
.sheet-main:has(>.material-unit)>b {text-align:right;font-size:16px;white-space:nowrap;overflow-wrap:normal}
.sheet-main:has(>.material-unit)>b.ask {justify-self:end;min-width:30px;padding:0 6px;text-align:center}
.sheet-main>.material-unit {font-size:14px;min-width:0;padding-left:0;padding-top:2px;white-space:nowrap;text-align:left}
.sheet-main:has(>.material-unit)>i {font-size:13px}
.sheet-columns {display:grid;grid-template-columns:minmax(0,1fr) 42px 50px;column-gap:6px;padding:10px 4px 9px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);font-weight:650}
.sheet-columns>span:nth-child(2){text-align:right;white-space:nowrap}
.sheet-columns>span:nth-child(3){white-space:nowrap}
.sheet:has(.sheet-x) .sheet-columns{padding-right:44px}
.sheet-main:has(>.material-unit){padding-right:4px}
.sheet-line>.sheet-x{flex:0 0 40px}
@media (max-width:380px){.sheet-main:has(>.material-unit){font-size:16px}}
.request-tabs.three{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.important-late{background:var(--red)!important;color:#fff!important}
.important-count{background:#737b81!important;color:#fff}
.important-count.important-late{background:var(--red)!important}
.important-card.late{border-left:4px solid var(--red);background:var(--red-bg)}
.important-card.late .important-date{color:var(--red);font-weight:700}
.important-actions,.important-quantity{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.important-add{margin:0 0 18px}.important-draft-row{border-top:1px solid var(--line);padding:15px 0}
.trash-entry {display:block;margin-top:14px}
.trash-head {display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.order-scan-block {margin:0 0 12px}
.order-scan {display:flex;align-items:center;gap:14px;width:100%;padding:15px 18px;text-align:left;color:var(--ink);background:#fff;border:1px solid #a6b0b6;border-radius:3px;font:inherit;font-size:18px;font-weight:650}
.order-scan svg {width:27px;height:27px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7}
.order-scan small {display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:3px}
.scan-gallery {display:block;background:transparent;color:var(--muted);font:inherit;font-size:13px;padding:8px 2px;text-decoration:underline;text-underline-offset:3px;min-height:40px}
.request-camera-frame {background:#14222b;min-height:180px;display:flex;align-items:center;justify-content:center}
.request-camera-frame video {display:block;max-width:100%;width:100%;max-height:48dvh;object-fit:contain}
#request-camera-status {font-size:14px;line-height:1.5;margin:12px 0 0}
#modal:has(#request-camera-video) .modal-footer {display:flex;flex-wrap:wrap}
#modal:has(#request-camera-video) .modal-footer .btn {flex:1 1 120px;min-width:0;white-space:normal}
#modal:has(#request-camera-video) .modal-footer [data-action="camera-shot"] {flex:2 1 180px}
#modal:has(#request-camera-video) .modal-footer [hidden] {display:none}
@media(max-width:360px) {.wait-card {gap:8px;padding:10px}.wait-card .cal {flex-basis:42px}.wt-actions {gap:5px}}

.results-entry{margin:0 0 16px}.results-entry .btn{width:100%}
.btn[data-action="receive"],.btn.sheet-action[data-action="receive"],.btn[data-action="fulfill"]{background:var(--dark);border-color:var(--dark);color:#fff}
.btn[data-action="receive"]:hover,.btn.sheet-action[data-action="receive"]:hover,.btn[data-action="fulfill"]:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.supply-section.supply-new,.supply-section.supply-work{margin:28px 0;border:1px solid #bac5cb;border-top:3px solid #805c34;border-radius:3px;background:#fff;overflow:hidden}
.supply-section.supply-work{border-top-color:#1f6571}
.supply-section.supply-new>h2,.supply-section.supply-work>h2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px;border-left:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);font-size:21px;font-weight:700;line-height:1.25;letter-spacing:-.2px}
.supply-section:is(.supply-new,.supply-work)>.request-sheet{margin:0;border:0;border-radius:0;box-shadow:none;background:#fff}
.supply-section:is(.supply-new,.supply-work)>.request-sheet+.request-sheet{border-top:1px solid var(--line)}
.supply-section:is(.supply-new,.supply-work)>.supply-empty{padding:14px}
.supply-section:is(.supply-new,.supply-work)>.empty{border:0;border-radius:0;padding:20px 14px}
.supply-section:is(.supply-new,.supply-work)>.wait-card{margin:0;border:0;border-radius:0}
.supply-section:is(.supply-new,.supply-work)>.wait-card~.wait-card{border-top:1px solid var(--line)}
.supply-section:is(.supply-new,.supply-work)>.wait-card.late{border-left:4px solid var(--red)}
.supply-count{min-width:24px;flex-shrink:0;text-align:right;font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}
.supply-section.supply-has-note>h2{border-bottom:0;padding-bottom:6px}
.supply-note{margin:0;padding:0 14px 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.45}
/* Quantity and unit as two labelled cells (wait card, position details) */
.qty-unit{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:15px;color:var(--ink)}.qty-unit b{font-size:17px}
.wt-main strong{overflow-wrap:break-word!important;-webkit-hyphens:auto;hyphens:auto}
/* «Привезли часть»: the number in the delivery screen is tappable */
.receive-list .part-tap{text-decoration:underline dotted;text-underline-offset:4px;cursor:pointer;min-height:32px}
.receive-part{margin:0 4px 12px 32px}
.sheet-x.line-reject{color:var(--red);font-size:22px}
.sheet-main .line-remainder{display:block;margin-top:4px}
/* One message per event (13.11): the note sits at the top, never over the send button */
.toast{top:calc(14px + env(safe-area-inset-top));bottom:auto!important}
.last-sent.fresh{background:#e3f1e6;border-color:#7fb08d;animation:sent-glow 1.2s ease-out}.last-sent.fresh strong{color:#1f5f35}
@keyframes sent-glow{from{box-shadow:0 0 0 6px #9ccaa7}to{box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.last-sent.fresh{animation:none}}
/* 320 px: the name in the header never runs onto the logo */
@media(max-width:340px){.who{min-width:0}.who-name{max-width:132px;min-width:0}.who-name strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.who-name small{white-space:nowrap}}
/* 14.11: visible «Результаты заявок», who marked a delivery, «Не всё привезли», four-button bottom bar */
.results-button{width:100%;min-height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;font-size:17px;font-weight:750;background:#fff;border:2px solid var(--dark);color:var(--dark)}
.results-entry{margin:10px 0 14px}.results-entry .btn{width:100%}
.marked-by{margin:6px 0 2px;font-weight:700;color:#24653a}
.dispute-entry{margin-top:12px}.dispute-entry small{display:block;margin:8px 2px 0;font-size:13px;color:var(--muted)}
.btn.danger-outline{width:100%;background:#fff;border:1px solid #b4533f;color:var(--red)}
@media(max-width:700px){.mobile-nav.four{grid-template-columns:repeat(4,1fr);gap:2px}.mobile-nav.four button{font-size:13px;min-width:0}}
@media(max-width:340px){.who-name small{display:block;overflow:hidden;text-overflow:ellipsis;max-width:100%}}
/* 14.11: «Ждём» signals: red counter whenever something is waiting, red frame when a promised date has come */
.pill[data-late="yes"]{box-shadow:inset 0 0 0 2px var(--red);color:var(--red);font-weight:750}
/* 14.11: «Важное» — a gold star so the personal list stands out */
[data-view="important"] svg{color:#b8862b;fill:#e7b84a;stroke:#9a6d1c}
.mobile-nav button.active[data-view="important"] svg,.nav-button.active[data-view="important"] svg{fill:#f2c75c;stroke:#f2c75c}
/* 14.11: «Вопрос или просьба» */
.btn.ask-open{width:100%;min-height:52px;margin-top:12px;background:#fff;border:1.5px solid #b8862b;color:#7a5717;font-weight:700;display:flex;gap:8px;align-items:center;justify-content:center}
.btn.ask-open svg{width:20px;height:20px}
.ask-title{margin:18px 0 8px;font-size:19px;display:flex;justify-content:space-between;align-items:center}.ask-title span{background:var(--red);color:#fff;border-radius:12px;padding:1px 10px;font-size:15px}
.ask-card.fresh{border-left:4px solid #b8862b}
.badge.ask-badge{background:#f6ecd6;color:#7a5717}
.ask-text{font-size:17px;margin:8px 0;white-space:pre-wrap;overflow-wrap:break-word}
/* 15.11: compact order screen on phones so «Вопрос или просьба» is visible without scrolling */
@media(max-width:700px){.order-site{min-height:44px!important;padding-top:6px!important;padding-bottom:6px!important;font-size:17px!important}.order-sites{gap:8px!important;margin-bottom:10px!important}.order-mic{min-height:56px!important;padding-top:8px!important;padding-bottom:8px!important}.order-opts button,.order-opts label{min-height:44px!important}.order-send{min-height:54px!important}.btn.ask-open{min-height:48px;margin-top:10px}}
/* 15.11: questions — photos, urgent, clear sections */
.ask-card.urgent{border:2px solid var(--red)}
.ask-photos{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.ask-photos img{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.ask-photos button{padding:0;border:0;background:none}
.ask-opts{grid-template-columns:1fr 1fr!important;margin:8px 0}
.ask-title.ask-in{border-top:3px solid #b8862b;padding-top:12px}.ask-title.ask-out{border-top:3px solid var(--line);padding-top:12px;margin-top:26px;color:#4a5960}
.ask-who{margin:4px 0 2px;font-size:15px;color:#3f4d55}
