/* ЛОГИСТ CN · dashboard v3. Visual ref: supplied customer dashboard screenshot.
   Backend authorization and existing workflows are unchanged. */
:root{--v3-ink:#123254;--v3-muted:#8b9db4;--v3-blue:#116bd3;--v3-paper:#f0f5fb;--v3-line:#e7eef5;--v3-orange:#ff672d}
body{font-family:Inter,'Segoe UI',Arial,system-ui,sans-serif;background:#eff5fa;color:#152f4e}
.app-shell{grid-template-columns:244px minmax(0,1fr)}
.sidebar{background:linear-gradient(165deg,#112c4c 0%,#13365a 72%,#102e4e 100%);box-shadow:3px 0 18px #0b254210;padding:29px 16px 15px;}
.sidebar .logo{padding:4px 12px 25px}.logo span{font-size:24px}.logo small{font-size:10px;color:#99b6d1;margin-top:5px}
.sidebar-label,.nav-group-label{display:none}
.sidebar nav{gap:7px}
.sidebar nav button{min-height:46px;gap:13px;border-radius:9px;font-size:13px;padding:12px 12px;color:#dbe7f5}
.sidebar nav button.active{background:#254c78;box-shadow:none}
.sidebar nav button.create-nav{margin:18px 5px 9px;border:1px solid #6795be;background:transparent;box-shadow:none;border-radius:9px;justify-content:flex-start;padding:12px;color:#f6fbff}
.sidebar nav button.create-nav:hover{background:#234e74}
.sidebar nav button.create-nav .nav-ico{stroke:white}
.sidebar-feature{margin-top:auto;min-height:122px;background:#23476b;padding:16px 12px 17px;border:1px solid #38618a;}
.sidebar-feature .feature-photo{display:none}
.sidebar-feature strong{font-weight:800;font-size:12px}.sidebar-feature small{margin-top:5px;font-size:11px}
.sidebar-feature::before{content:'◉';display:block;color:#abd1ef;font-size:24px;margin-bottom:8px;line-height:1}
.sidebar-feature .feature-circle{bottom:12px;right:11px;font-size:16px}
.sidebar-note{margin-top:8px;padding:12px 10px 5px;border-top:1px solid #ffffff20;font-size:11px}
.main-area{min-width:0;position:relative}
main#crmApp{max-width:1670px;padding:26px 28px 55px;margin:0 auto}
/* Account area floats over the pale welcome banner on the overview, matching the reference. */
.is-overview .app-header{position:absolute;right:25px;top:20px;width:auto;min-height:40px;height:40px;padding:0;z-index:6;background:transparent;border:0;box-shadow:none;pointer-events:none}
.is-overview .app-header .header-titles,.is-overview .app-header .global-search,.is-overview .app-header .account-sep{display:none}
.is-overview .app-header .header-actions{pointer-events:auto;gap:10px;margin:0}
.is-overview .app-header .notification-btn{border:1px solid #e3ecf6;background:#fff9;box-shadow:0 2px 9px #a2b9ce20}
.is-overview .app-header .user-avatar{height:31px;width:31px;font-size:12px;background:#123d68;color:white;border:2px solid white}
.is-overview .app-header .account-details{white-space:nowrap;gap:7px;max-width:none}
.is-overview .app-header .account-details strong{font-size:12px;font-weight:700;max-width:130px}
.is-overview .app-header .role-tag{font-size:10px;border-radius:13px;background:#e4f2fe}
.is-overview .app-header .logout-button{padding:7px;min-height:32px}
.is-overview .app-header .logout-button span{display:none}
/* Dashboard opening. A single continuous, photo-backed pale hero rather than the old dark card. */
.v3-dashboard{display:block}
.v3-hero{position:relative;isolation:isolate;overflow:hidden;min-height:152px;margin:-26px -28px 15px;padding:28px 28px 17px;background:#eaf4fc;}
.v3-hero::before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/crm-port.svg') right top / auto 100% no-repeat;opacity:.9}
.v3-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f0f7fc 0%,#edf6fc 36%,#ecf5fbcc 58%,#edf6fc00 100%)}
.v3-welcome h2{font-size:25px;line-height:1.15;color:#153558;font-weight:850;margin:0 0 7px;letter-spacing:-.035em}
.v3-welcome p{font-size:12px;color:#748ca6;margin:0;max-width:710px}
.v3-hero-bar{margin-top:25px;display:flex;gap:10px;align-items:center;position:relative;z-index:2;padding-right:0;flex-wrap:wrap}
.v3-hero-search{height:42px;display:flex;gap:10px;align-items:center;flex:1 1 270px;max-width:540px;padding:0 12px;background:white;border:1px solid #dfeaf3;border-radius:8px;box-shadow:0 2px 10px #aec5d620}
.v3-hero-search svg{height:17px;width:17px;fill:none;stroke:#7192b8;stroke-width:2;flex:none}
.v3-hero-search input{flex:1;min-width:0;font:12px/1.4 inherit;font-size:12px;background:transparent;border:0;outline:none;color:#20466d}
.v3-hero-search span{color:#93a5ba;font-size:10px;white-space:nowrap}
.v3-create{white-space:nowrap;height:42px;box-shadow:0 4px 10px #e9632d33!important;display:inline-flex;align-items:center;gap:7px}
.v3-create svg,.v3-hero-button svg{height:16px;width:16px;fill:none;stroke:currentColor;stroke-width:2;flex:none}
.v3-hero-button,.v3-hero-more{display:inline-flex;justify-content:center;align-items:center;gap:7px;height:42px;padding:0 13px;border:1px solid #e0e9f2;background:#fff;color:#2d5073;white-space:nowrap;font-size:12px;font-weight:700;border-radius:9px;box-shadow:0 3px 8px #092c5410;cursor:pointer}
.v3-hero-button:hover,.v3-hero-more:hover{background:#f9fcff;border-color:#b1cfe4}
.v3-hero-more{min-width:43px;padding:0 10px;letter-spacing:2px}
/* Reference: four compact statistics with strong figures and subtle coloured art. */
.v3-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:13px}
.v3-stat{height:105px;padding:18px 16px;border-radius:11px;position:relative;overflow:hidden;background:#fff;border:1px solid #e5edf5;box-shadow:0 3px 13px #103d6010}
.v3-stat-left{display:flex;gap:12px;align-items:flex-start;position:relative;z-index:1}
.v3-pictogram{height:37px;width:37px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#e7f0ff;color:#2678de;flex:none}
.v3-pictogram svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.v3-stat-orange .v3-pictogram{background:#fff0e7;color:#ff7c34}
.v3-stat-green .v3-pictogram{background:#e5f9ef;color:#21b979}
.v3-stat-violet .v3-pictogram{background:#f1ecff;color:#7560ff}
.v3-stat-label{color:#6f86a0;font-size:11px;white-space:normal;padding-top:2px}
.v3-stat-num{display:block;color:#122e51;font-size:29px;line-height:1.13;font-weight:850;letter-spacing:-.04em;margin-top:5px}
.v3-stat-sub{color:#879aaf;font-size:10px;margin-top:3px}
.v3-stat-drawing{position:absolute;right:8px;bottom:8px;height:52px;width:90px;color:#2c89f4;opacity:.8}
.v3-stat-orange .v3-stat-drawing{color:#ff9a4e}.v3-stat-green .v3-stat-drawing{color:#42c58c}.v3-stat-violet .v3-stat-drawing{color:#918aff}
/* DENSE DASHBOARD COLUMNS */
.v3-main-columns{display:grid;grid-template-columns:minmax(0,1.84fr) minmax(335px,.99fr);gap:12px;align-items:stretch;margin-bottom:12px}
.v3-right-stack{min-width:0;display:flex;flex-direction:column;gap:12px}
.v3-panel.card{margin:0;padding:16px 17px;border-radius:11px;box-shadow:0 3px 13px #103b6410;border:1px solid #e7eef5;background:white;min-width:0;overflow:hidden}
.v3-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.v3-panel-heading h3{display:flex;align-items:center;gap:8px;margin:0;color:#132f52;font-size:14px;letter-spacing:-.012em;line-height:1.2;font-weight:830}
.v3-panel-heading h3 svg{width:16px;height:16px;stroke:#1670c8;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.v3-panel-link{border:0;background:none;color:#1274da;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer;padding:4px 0}
.v3-panel-link:hover{text-decoration:underline}
.v3-orders{min-height:287px}
.v3-filter-tabs{display:flex;align-items:center;gap:15px;margin-top:-2px;padding-bottom:7px;border-bottom:1px solid #edf2f7;overflow-x:auto}
.v3-filter-tabs button{padding:6px 1px 7px;font-size:11px;font-weight:650;color:#8597aa;background:none;border:0;border-bottom:2px solid transparent;white-space:nowrap}
.v3-filter-tabs button.selected{color:#174e88;border-bottom-color:#2375d1}
.v3-filter-tabs b{background:#eaf0f7;padding:2px 6px;border-radius:15px;margin-left:3px;color:#54718e;font-size:10px}
.v3-table-wrap{width:100%;overflow-x:auto}
.v3-orders-table{min-width:710px;width:100%;border-collapse:collapse}
.v3-orders-table th{background:#f3f7fb;color:#8a9cad;font-size:10px;text-transform:none;letter-spacing:0;padding:9px 8px;text-align:left;font-weight:700}
.v3-orders-table td{color:#254663;vertical-align:middle;font-size:10.5px;padding:9px 8px;border-bottom:1px solid #edf2f7;white-space:nowrap}
.v3-orders-table tbody tr:hover{background:#f8fbff}
.v3-order-ref{padding:0;color:#1a5184;background:none;border:0;font-size:10.5px;font-weight:800;cursor:pointer}
.v3-route-line{font-weight:600;display:inline-block;max-width:155px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}
.v3-route-arrow{color:#177bd6;font-weight:850}.v3-cargo{font-weight:600;max-width:125px;overflow:hidden;text-overflow:ellipsis}
.v3-status{display:inline-flex;gap:5px;align-items:center;padding:4px 7px;border-radius:6px;font-size:10px;white-space:nowrap;font-weight:700}
.v3-status.v3-blue{background:#eaf4ff;color:#1679d3}.v3-status.v3-green{background:#e5f8ed;color:#1c9870}.v3-status.v3-amber{background:#fff4e1;color:#d9890e}.v3-status.v3-red{background:#ffedef;color:#d04e58}
.v3-status-dot{height:6px;width:6px;background:currentColor;border-radius:50%}
.v3-stage-name{color:#617f9c;font-size:10px;max-width:135px;overflow:hidden;text-overflow:ellipsis}
.v3-progress{height:4px;width:100%;max-width:130px;background:#e8f0f7;border-radius:10px;margin-top:5px}
.v3-progress span{display:block;height:4px;border-radius:10px;background:#287fe1}
.v3-date{color:#7c94ab!important;font-size:10px!important}
.v3-row-open{border:0;background:none;color:#4078ae;font-size:23px;line-height:15px;cursor:pointer;min-height:27px;padding:3px}
.v3-soft-empty,.v3-no-results{text-align:center;color:#91a1b4;font-size:12px;background:#f5f9fc;border-radius:9px;padding:19px 11px;line-height:1.5}
.v3-no-results{margin-top:11px;padding:30px 10px}
.v3-shipment{flex:1;min-height:139px}
.v3-route-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}
.v3-route-heading strong{color:#1a426c}
.v3-route-label{color:#7892ac;font-size:11px;margin:4px 0 10px}
.v3-route-meta{display:flex;justify-content:space-between;font-size:10px;color:#859ab1;margin-bottom:5px}
.v3-route-meta strong{color:#1a65b2}
.v3-route-track{position:relative;height:5px;border-radius:8px;background:#e5eef6;margin:12px 9px 14px}
.v3-route-track>div{height:100%;border-radius:8px;background:#1574da}
.v3-route-track>span{position:absolute;top:-5px;height:15px;width:15px;border-radius:50%;border:3px solid #dbe5ee;background:white;transform:translateX(-50%)}
.v3-route-track>span.passed{border-color:#1574da;background:#1574da}.v3-route-track>span.current{border-color:#1778e6;background:white;box-shadow:0 0 0 3px #d6e8ff}
.v3-route-steps{display:flex;gap:10px;justify-content:space-between}
.v3-route-steps>span{min-width:0;flex:1;color:#6782a0;text-align:center}
.v3-route-steps b{display:block;font-size:10px;max-height:28px;overflow:hidden;font-weight:700}
.v3-route-steps small{display:block;font-size:9px;color:#93a4b7}
.v3-outline-link{color:#1474d1;background:none;border:0;font-size:10px;font-weight:700;padding:8px 0 0;cursor:pointer}
.v3-route-empty{padding:9px}
.v3-urgent-panel{flex:1;min-height:134px}
.v3-flash{color:#ff8d24}.v3-count-alert{color:#fff;background:#ff686f;padding:3px 6px;font-size:10px;border-radius:5px}
.v3-urgent-items{display:grid}
.v3-urgent{width:100%;display:flex;gap:9px;align-items:center;text-align:left;background:transparent;border:0;border-bottom:1px solid #edf2f7;padding:7px 0;cursor:pointer;min-width:0}
.v3-urgent:last-child{border:0;padding-bottom:0}
.v3-urgent-icon{width:27px;height:27px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;background:#ffebec;color:#e96065}
.v3-urgent-icon.b{background:#fff0dc;color:#f59322}.v3-urgent-icon.c{background:#e7f2ff;color:#348bd5}
.v3-urgent-icon svg{height:15px;width:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.v3-urgent-copy,.v3-feed-copy,.v3-deadline-copy{min-width:0;flex:1;overflow:hidden}
.v3-urgent-copy strong,.v3-feed-copy strong,.v3-deadline-copy strong{display:block;color:#27415e;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-urgent-copy small,.v3-feed-copy small,.v3-deadline-copy small{display:block;color:#8a9caf;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-due-tag{flex:none;border-radius:7px;padding:5px 6px;font-size:9.5px;color:#7690a6;background:#eef3f7;white-space:nowrap}
.v3-due-danger{color:#d65057;background:#ffe9ec}.v3-due-warning{color:#d48218;background:#fff3e1}
.v3-lower-grid{display:grid;grid-template-columns:1.06fr 1fr .96fr;gap:12px;align-items:stretch}
.v3-lower-grid>.v3-panel{min-height:196px}
.v3-count-soft{background:#e7eef5;border-radius:12px;padding:3px 7px;color:#617f9c;font-size:10px}
.v3-feed{display:grid}.v3-feed-row,.v3-chat-row{display:flex;align-items:center;gap:9px;padding:7px 0;min-height:42px;border-bottom:1px solid #eef2f6;width:100%;text-align:left}
.v3-feed-row:last-child,.v3-chat-row:last-child{border:0}
.v3-feed-icon{display:flex;align-items:center;justify-content:center;flex:none;height:29px;width:29px;background:#fff0f0;border-radius:7px;color:#fa6165}
.v3-feed-icon svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.v3-doc-review{padding:4px 7px;border-radius:7px;font-size:9px;white-space:nowrap;font-weight:700}
.v3-doc-review.pending{background:#fff1e2;color:#e1852d}.v3-doc-review.ok{background:#e5f8ed;color:#2d9970}.v3-doc-review.bad{background:#ffeced;color:#d75a63}
.v3-chat-row{background:transparent;border-top:0;border-left:0;border-right:0;cursor:pointer}
.v3-chat-avatar{height:29px;width:29px;border-radius:50%;background:#dcefff;color:#2775b8;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.v3-chat-avatar.second{background:#ffe4d6;color:#b96941}.v3-chat-avatar.third{background:#e4e0ff;color:#6857c1}
.v3-chat-row .v3-feed-copy strong small{display:inline;font-size:9px}
.v3-message-time{font-size:10px;color:#8297af;align-self:center}
.v3-deadline-items{display:grid}
.v3-deadline{display:flex;gap:9px;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid #edf2f6;padding:7px 0;text-align:left;cursor:pointer}
.v3-deadline:last-child{border-bottom:0}
.v3-deadline-calendar{width:31px;height:35px;border-radius:8px;background:#f0f6fc;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}
.v3-deadline-calendar b{font-size:13px;line-height:1.05;color:#1d61a7}.v3-deadline-calendar small{font-size:9px;color:#7b95b0}
/* Consistent workspaces for the other five role screens, not only overview. */
body:not(.is-overview) .app-header{background:#f7fbff;border-bottom:1px solid #e3ebf5}
body:not(.is-overview) main#crmApp{padding-top:23px}
body:not(.is-overview) .card{border-color:#e5edf4;box-shadow:0 3px 15px #183f6410}
body:not(.is-overview) .casehead{background:linear-gradient(135deg,#f3f9ff,#fff);padding:20px;border-radius:11px;border:1px solid #e4eef7;margin-bottom:18px}
body:not(.is-overview) .table-scroll tbody tr:hover{background:#f4faff}
body:not(.is-overview) .hub-card{border-radius:11px;box-shadow:0 3px 12px #13426710}
body:not(.is-overview) .btn.orange{background:#ff672d}
@media(max-width:1500px){.v3-hero-search{max-width:460px}.v3-main-columns{grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr)}.v3-panel.card{padding:13px 14px}.v3-stat-drawing{width:75px;opacity:.45}}
@media(max-width:1200px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.v3-hero{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.v3-main-columns{grid-template-columns:1fr}.v3-right-stack{display:grid;grid-template-columns:1fr 1fr}.v3-lower-grid{grid-template-columns:1fr 1fr}.v3-deadlines-panel{grid-column:1/-1}.v3-hero-bar{padding-right:0;gap:7px}.v3-hero-button{padding:0 9px}.v3-hero-search{flex-basis:180px}.is-overview .app-header{right:18px}}
@media(max-width:870px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;min-height:0;position:relative;padding:9px 12px}.sidebar nav{display:flex;overflow-x:auto;gap:5px}.sidebar nav button,.sidebar nav button.create-nav{min-height:38px;flex:none;margin:0;padding:9px 11px}.sidebar-feature,.sidebar-note{display:none}.logo{padding:1px 6px 9px!important}.is-overview .app-header{position:relative;right:auto;top:auto;background:#f5f9ff;width:100%;min-height:44px;border-bottom:1px solid #e3ebf5;padding:6px 16px}.is-overview .app-header .header-actions{margin-left:auto}.v3-hero{margin:-14px -14px 13px;padding:18px 16px;min-height:155px}.v3-welcome h2{font-size:23px}.v3-hero-bar{margin-top:20px}.v3-kpis{grid-template-columns:repeat(2,1fr)}.v3-lower-grid{grid-template-columns:1fr 1fr}.v3-deadlines-panel{grid-column:1/-1}main#crmApp{padding:14px 14px 40px}}
@media(max-width:590px){.v3-kpis,.v3-right-stack,.v3-lower-grid{grid-template-columns:1fr}.v3-stat{min-height:88px;height:auto}.v3-deadlines-panel{grid-column:auto}.v3-hero-bar{gap:8px}.v3-hero-search{flex:1 0 100%;max-width:none}.v3-create,.v3-hero-button,.v3-hero-more{font-size:11px;padding:0 9px;height:37px}.v3-dashboard{min-width:0}.v3-panel-heading h3{font-size:13px}.v3-shipment{min-height:160px}.v3-orders-table{min-width:630px}.is-overview .app-header .account-details{display:flex}.is-overview .app-header .account-details strong{max-width:95px}}
.v3-orders-table{min-width:610px}
.v3-orders-table th,.v3-orders-table td{padding:9px 6px}
.v3-route-line{max-width:122px}
.v3-cargo{max-width:104px}
.v3-stage-name{max-width:105px}
.sidebar-feature{width:calc(100% - 6px);text-align:left;cursor:pointer}
.sidebar-feature:focus-visible{outline:2px solid #83b8ed;outline-offset:2px}

/* V3.1: clean header, touch layouts and accessible drawer. */
.app-header .notification-btn,.app-header .account-sep,.app-header .user-avatar,.app-header .account-details{display:none!important}
.sidebar #logout{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;margin:14px 0 0;padding:12px;color:#e4efff;background:#ffffff0b;border:1px solid #ffffff25;border-radius:9px;cursor:pointer}
.sidebar #logout svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.menu-toggle,.menu-backdrop{display:none}
.is-overview .app-header{display:none}
.v3-hero::before{background-image:url('assets/crm-ship.webp?v=9');background-size:cover;opacity:1}
.v3-hero::after{background:linear-gradient(90deg,#f0f7fc 0%,#edf6fcf0 32%,#ecf5fb55 65%,transparent)}
button,input,select,textarea{touch-action:manipulation}
[hidden]{display:none!important}
@media(max-width:1100px){
.app-shell{display:block}.main-area{width:100%;min-width:0}
.sidebar{display:flex!important;flex-direction:column;position:fixed!important;inset:0 auto 0 0;width:min(310px,86vw);height:100dvh;overflow-y:auto;z-index:101;padding:22px 16px;transform:translateX(-105%);visibility:hidden;transition:transform .2s,visibility .2s}
.menu-open .sidebar{transform:translateX(0);visibility:visible}.menu-open{overflow:hidden}
.sidebar nav{display:flex;flex-direction:column;overflow:visible;gap:6px}.sidebar nav button,.sidebar nav button.create-nav{width:100%;min-height:46px;margin:0;flex:none;justify-content:flex-start}
.sidebar-feature,.sidebar-note{display:block}.sidebar-feature{margin-top:24px;flex-shrink:0}.sidebar-note{padding-bottom:max(14px,env(safe-area-inset-bottom))}
.menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#06182d88;z-index:100;border:0}
.app-header,.is-overview .app-header{display:flex;position:sticky;inset:auto;top:0;width:100%;height:auto;min-height:60px;padding:8px 18px;background:#f6faff;z-index:20;gap:14px;box-sizing:border-box;border-bottom:1px solid #e3ebf5;pointer-events:auto}
.menu-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid #d5e2ef;border-radius:9px;background:white;color:#153558;font-size:16px;cursor:pointer}
.header-titles{min-width:0}.header-titles h1{font-size:19px}.header-titles>span{display:none}.header-actions{min-width:0;margin-left:auto}.global-search{max-width:260px}.global-search kbd{display:none}
main#crmApp{padding:18px 18px 36px}.v3-hero{margin:-18px -18px 16px;padding:24px 18px;min-height:200px}.v3-hero-bar{padding:0}.v3-hero-button,.v3-create,.v3-hero-more{min-height:44px}
.v3-main-columns{grid-template-columns:1fr}.v3-right-stack,.v3-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-deadlines-panel{grid-column:1/-1}
.card{min-width:0;max-width:100%;box-sizing:border-box}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}input,select,textarea{font-size:16px;min-height:44px;max-width:100%;box-sizing:border-box}.btn{min-height:44px}
}
@media(max-width:600px){
.app-header .global-search{display:none}.app-header,.is-overview .app-header{padding:8px 12px}.header-titles h1{font-size:17px}
main#crmApp{padding:14px 12px 30px}.v3-hero{margin:-14px -12px 14px;padding:22px 14px;min-height:270px}.v3-hero::before{background-position:62% top}.v3-hero::after{background:linear-gradient(180deg,#eff7fce8,#eff7fccc 43%,#eff7fc88)}
.v3-welcome h2{font-size:23px;max-width:100%;line-height:1.2}.v3-welcome p{font-size:13px;max-width:100%}.v3-hero-bar{display:flex;gap:8px;margin-top:22px}.v3-hero-search{flex:1 0 100%;max-width:none;box-sizing:border-box;height:46px}.v3-hero-search span{display:none}.v3-create,.v3-hero-button{flex:1 1 45%;justify-content:center;white-space:normal;font-size:12px;height:auto;min-height:46px;padding:8px}
.v3-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v3-stat{padding:12px;min-height:100px}.v3-stat-drawing{display:none}.v3-right-stack,.v3-lower-grid{display:grid;grid-template-columns:1fr}.v3-deadlines-panel{grid-column:auto}
.form-grid{grid-template-columns:minmax(0,1fr)!important}.form-grid .span2{grid-column:auto!important}.field{min-width:0}.tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.tabs button{flex-shrink:0;min-height:44px}.v3-panel-heading{flex-wrap:wrap;gap:10px}.v3-panel.card{padding:14px 12px}.v3-orders-table{min-width:630px}.v3-panel{overflow:hidden}textarea{width:100%}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

/* Keep the entire ship visible in the shallow welcome banner. */
.v3-hero::before{background-size:auto 100%;background-position:right bottom;background-repeat:no-repeat;background-color:#eaf4fc}
.v3-hero::after{background:linear-gradient(90deg,#eff7fc 0%,#eff7fc 35%,#eff7fcbb 55%,transparent 78%)}
@media(max-width:1100px){.v3-hero::before{background-size:auto 100%;background-position:right bottom}.v3-hero::after{background:linear-gradient(90deg,#eff7fc 0%,#eff7fcd9 42%,#eff7fc22 100%)}}
@media(max-width:600px){.v3-hero::before{background-size:auto 100%;background-position:right bottom}.v3-hero::after{background:linear-gradient(180deg,#eff7fcf2 0%,#eff7fccc 45%,#eff7fc99 100%)}}
/* Request composer, matching the approved service-card layout. */
.request-intro{margin:0 0 18px}.request-intro h2{margin:0 0 5px;color:#123254;font-size:26px}.request-intro p{margin:0;color:#7b8da6;font-size:13px}
.request-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.request-main{min-width:0}.request-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.request-services button{display:flex;align-items:center;gap:12px;position:relative;background:white;color:#153558;border:1px solid #dbe6f2;border-radius:9px;padding:17px 12px;text-align:left;min-height:84px;cursor:pointer}.request-services svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}.request-services b{display:block;font-size:13px}.request-services small{display:block;font-size:10px;color:#7d8da4;line-height:1.5;margin-top:5px}.request-services i{display:none;position:absolute;right:7px;top:6px;background:#ff672d;color:white;border-radius:50%;width:15px;height:15px;font-size:10px;text-align:center;font-style:normal}.request-services button[aria-pressed=true]{border-color:#ff743e;background:#fff5ee;color:#f3652d;box-shadow:0 2px 8px #ff672d0c}.request-services button[aria-pressed=true] i{display:block}
.request-sheet{background:#fff;border:1px solid #dfe8f2;border-radius:10px;padding:0 20px}.request-section{padding:18px 0;border-bottom:1px solid #e8eef5}.request-section:last-child{border:0}.request-section h3{display:flex;align-items:center;gap:10px;font-size:14px;color:#123254;margin:0 0 17px}.request-section h3>span{width:26px;height:26px;display:grid;place-items:center;background:#123e75;color:white;font-size:12px;border-radius:50%}.request-section .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.request-section .span2{grid-column:1/-1}.request-section .field{display:flex;flex-direction:column;gap:6px;min-width:0}.request-section label,.request-label{font-size:12px;font-weight:600;color:#425d7b}.request-section input:not([type=radio]):not([type=checkbox]),.request-section select,.request-section textarea{width:100%;border:1px solid #d9e4ef;border-radius:6px;background:#fff;padding:10px 12px;color:#244564;min-height:42px;box-sizing:border-box;font-family:inherit}.request-section textarea{min-height:82px;resize:vertical}.request-section input:focus,.request-section select:focus,.request-section textarea:focus{outline:2px solid #83b9ec;outline-offset:1px}.request-task-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px}.request-task-options label,.request-urgency label{display:flex;gap:8px;align-items:flex-start;padding:13px 10px;border:1px solid #dce5ef;border-radius:6px;cursor:pointer;min-width:0}.request-task-options label:has(input:checked),.request-urgency label:has(input:checked){background:#fff3eb;border-color:#ff8350}.request-task-options b,.request-urgency b{display:block;font-size:11px}.request-task-options small,.request-urgency small{display:block;font-size:10px;line-height:1.5;color:#7c8ba0;margin-top:4px}.request-layout input[type=radio],.request-layout input[type=checkbox]{accent-color:#ff672d;width:16px;height:16px;min-height:16px;flex-shrink:0;margin:1px 0}.request-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.request-checks label{display:flex;gap:7px;align-items:center;padding:9px;border:1px solid #e0e8f1;border-radius:5px;font-size:11px}.request-urgency{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.request-section .check{display:flex;gap:8px;align-items:center;font-weight:400}
.request-drop{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:22px;background:#f8fbff;border:1px dashed #a9c7e6;border-radius:8px}.request-drop>svg{width:32px;height:32px;stroke:#177cdb;fill:none;stroke-width:1.7}.request-drop>label{cursor:pointer;text-align:center}.request-drop small{display:block;color:#8798ac;font-size:11px;margin-top:5px}.request-drop>input[type=file]{font-size:12px;min-height:44px}.request-drop.dragging{background:#e8f4ff;border-color:#167be1}#requestFileList{width:100%;display:grid;gap:6px}#requestFileList>div{display:flex;align-items:center;justify-content:space-between;gap:10px;background:white;padding:8px 12px;border-radius:5px;border:1px solid #dce7f1;overflow-wrap:anywhere}#requestFileList button{border:0;background:#fff0e8;color:#c74f24;min-width:36px;min-height:36px;border-radius:5px;font-size:20px;cursor:pointer}
.request-info{background:#fff;border:1px solid #e0e8f1;border-radius:10px;padding:16px;position:sticky;top:20px}.request-info h3{font-size:15px;margin:0 0 16px}.request-info-card{background:#f1f7fe;border:1px solid #e0edfc;border-radius:8px;padding:14px;margin-bottom:12px}.request-info-card>small{font-size:11px;color:#8193aa}.request-info-card>strong{display:block;font-size:18px;margin-top:6px;color:#173f6b}.request-info p,.request-info li{font-size:12px;color:#667f9c;line-height:1.6}.request-info h4{font-size:12px;margin:0 0 9px;color:#294b6f}.request-tips{padding:14px;background:#fff7e8;border-radius:8px;margin-bottom:12px}.request-tips ul{padding-left:16px;margin:0}.request-footer{grid-column:1/-1;display:flex;align-items:center;gap:14px;position:sticky;bottom:0;background:#ffffffed;backdrop-filter:blur(12px);border:1px solid #dee8f2;border-radius:9px;padding:14px;z-index:12;box-shadow:0 -4px 20px #11365b09}.request-footer>span{margin-left:auto;color:#879ab0;font-size:11px}.request-footer .btn{min-height:44px;border-radius:7px;padding:11px 16px;cursor:pointer}.request-footer .orange{background:#ff672d!important;color:white!important;border:1px solid #ff672d;box-shadow:0 3px 10px #ff672d25}.request-footer .secondary{background:white;color:#35577a;border:1px solid #d2e1ef}.request-footer button:disabled{opacity:.5;cursor:wait}
@media(max-width:1300px){.request-layout{grid-template-columns:minmax(0,1fr) 240px;gap:14px}.request-services{grid-template-columns:repeat(2,minmax(0,1fr))}.request-task-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.request-layout{grid-template-columns:minmax(0,1fr)}.request-info{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.request-info>h3{grid-column:1/-1;margin:0}.request-info-card,.request-tips{margin:0}.request-footer{grid-row:3}.request-section input:not([type=radio]):not([type=checkbox]),.request-section select,.request-section textarea{font-size:16px;min-height:44px}.request-footer>span{display:none}.request-footer .orange{margin-left:auto}}
@media(max-width:600px){.request-intro h2{font-size:22px}.request-sheet{padding:0 12px}.request-services button{padding:14px 10px;min-height:90px;gap:9px}.request-services small{font-size:10px}.request-services b{font-size:12px}.request-services svg{width:21px;height:21px}.request-section .form-grid{grid-template-columns:minmax(0,1fr)}.request-section .span2{grid-column:auto}.request-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.request-task-options label,.request-urgency label{min-height:44px}.request-urgency{grid-template-columns:1fr}.request-info{grid-template-columns:1fr}.request-footer{padding:10px;gap:8px;flex-wrap:wrap;bottom:env(safe-area-inset-bottom,0px)}.request-footer .btn{flex:1 1 100%;font-size:13px}.request-drop{padding:16px 10px}.request-layout{gap:14px}.request-info p{font-size:13px}.request-info li{font-size:12px}}
