:root{
  --bg:#f5f4ed; --surface:#fff; --surface2:#f9faf7; --text:#1f261f; --muted:#697269;
  --forest:#2f5d46; --forest-dark:#244936; --forest-soft:#e8f0e9; --wood:#8b5e3c;
  --border:#d9e0d8; --danger:#c54b4b; --danger-soft:#fae9e9; --warn:#d18a35;
  --warn-soft:#fff2df; --info:#416f9e; --shadow:0 18px 50px rgba(32,48,36,.08);
  --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button,input,select,textarea{font:inherit} button{cursor:pointer}
.app-shell{min-height:100vh;display:flex}
.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:var(--forest);color:white;padding:30px 18px 20px;display:flex;flex-direction:column;z-index:20}
.brand{padding:0 16px 30px}.brand-word{font-weight:850;letter-spacing:.08em;font-size:18px}.brand-sub{font-size:10px;letter-spacing:.22em;opacity:.7;margin-top:7px}
.nav{display:flex;flex-direction:column;gap:6px}.nav-item{border:0;background:transparent;color:rgba(255,255,255,.8);padding:13px 16px;border-radius:11px;text-align:left;font-weight:650;display:flex;gap:12px;align-items:center}.nav-item span{width:18px;text-align:center;opacity:.85}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.12);color:#fff}.nav-count{margin-left:auto;min-width:24px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.13);font-size:10px;font-style:normal;text-align:center}.nav-item.active .nav-count{background:#fff;color:var(--forest)}.nav-count.danger-count:not(:empty){background:rgba(255,184,184,.2);color:#ffd7d7}
.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 16px 4px;display:grid;gap:4px}.sidebar-foot small{opacity:.62}.mini-label{font-size:10px;letter-spacing:.2em;opacity:.65}
.main{margin-left:228px;min-width:0;width:calc(100% - 228px)}
.topbar{height:84px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:15}
.topbar h1{font-size:20px;margin:2px 0 0}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--muted)}
.top-actions{display:flex;gap:10px;align-items:center}.search-box{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;width:270px}.search-box input{border:0;outline:0;background:transparent;min-width:0;width:100%}
.btn{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:11px 16px;font-weight:750;color:var(--text)}.btn.primary{background:var(--forest);color:#fff;border-color:var(--forest)}.btn.primary:hover{background:var(--forest-dark)}.btn.ghost{background:transparent}
.mobile-menu{display:none;border:0;background:transparent;font-size:24px}
.content{padding:34px 38px 80px;max-width:1580px;margin:0 auto}.hero-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.hero-row h2{font-size:28px;margin:5px 0 4px}.hero-row p{margin:0;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;gap:16px;align-items:center;box-shadow:0 8px 26px rgba(34,52,40,.04)}.kpi-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:900}.kpi-icon.neutral{background:#eef1ed}.kpi-icon.danger{background:var(--danger-soft);color:var(--danger)}.kpi-icon.warn{background:var(--warn-soft);color:var(--warn)}.kpi-icon.ok{background:var(--forest-soft);color:var(--forest)}.kpi span{font-size:12px;color:var(--muted);font-weight:700}.kpi strong{display:block;font-size:28px;margin-top:2px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:24px}.panel-head{padding:22px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.panel-head h3,.detail-head h3{margin:4px 0 0;font-size:21px}.panel-meta{font-size:12px;color:var(--muted)}
.table-wrap{overflow:auto}.orders-table,.items-table,.tasks-table,.claims-table{border-collapse:collapse;width:100%;min-width:860px}.orders-table th,.items-table th,.tasks-table th,.claims-table th{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;text-align:left;background:#fbfcfa;padding:13px 18px;border-bottom:1px solid var(--border)}.orders-table td,.items-table td,.tasks-table td,.claims-table td{padding:16px 18px;border-bottom:1px solid #edf0ec;vertical-align:middle}.orders-table tbody tr:hover,.items-table tbody tr:hover,.tasks-table tbody tr:hover,.claims-table tbody tr:hover{background:#fafbf8}.orders-table tbody tr:last-child td,.items-table tbody tr:last-child td,.tasks-table tbody tr:last-child td,.claims-table tbody tr:last-child td{border-bottom:0}
.order-no{font-weight:850;color:var(--forest)}.subtle{font-size:12px;color:var(--muted);margin-top:3px}.date-danger{color:var(--danger);font-weight:800}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap}.badge.ok{background:var(--forest-soft);color:var(--forest)}.badge.warn{background:var(--warn-soft);color:#8b5c20}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.neutral{background:#eef1ed;color:#5f685f}.badge.info{background:#eaf0f7;color:var(--info)}
.open-btn{border:0;background:transparent;font-size:20px;color:var(--forest);padding:7px}
.detail-panel{scroll-margin-top:100px}.detail-head{padding:22px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px}.detail-title{flex:1}.detail-title p{margin:4px 0 0;color:var(--muted)}.detail-chips{display:flex;gap:8px;flex-wrap:wrap}.icon-btn{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;border-radius:12px;font-size:20px;display:grid;place-items:center}
.alerts{padding:0 24px}.alert{margin-top:16px;border-radius:13px;padding:13px 14px;display:flex;gap:10px;align-items:flex-start;font-size:13px}.alert.warning{background:var(--warn-soft);color:#744c1a}.alert.critical{background:var(--danger-soft);color:#8e3636}.alert.info{background:#edf3f8;color:#385b7f}.alert strong{display:block;margin-bottom:2px}
.product-name{font-weight:780}.article{color:var(--muted);font-size:12px;margin-top:3px}.variant{font-size:11px;color:var(--wood);font-weight:800;margin-top:4px}
.hidden{display:none!important}
.drawer-backdrop{position:fixed;inset:0;background:rgba(23,32,25,.35);z-index:40}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(520px,96vw);background:var(--surface);z-index:50;box-shadow:-25px 0 70px rgba(0,0,0,.15);overflow:auto}.drawer-head{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);padding:22px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;z-index:2}.drawer-head h3{margin:5px 0 2px}.drawer-head p{margin:0;color:var(--muted)}.drawer-body{padding:22px 24px 40px}.drawer-body h4{margin:26px 0 12px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:12px}.info-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.info-card strong{font-size:13px}.variant-box{border-left:4px solid var(--wood);background:#fbf4ec;border-radius:10px;padding:13px 14px;font-size:13px;line-height:1.45}.status-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-form label{font-size:12px;font-weight:800;color:var(--muted)}.status-form select{width:100%;margin-top:6px;border:1px solid var(--border);border-radius:11px;background:white;padding:11px;color:var(--text);outline:0}.logic-note{background:var(--forest-soft);border-radius:12px;padding:13px 14px;margin-top:16px;font-size:13px;color:#315640}.logic-note p{margin:5px 0 0}.source-note{white-space:pre-wrap;background:#fbfcfa;border:1px solid var(--border);border-radius:12px;padding:14px;font-size:13px;line-height:1.5;color:#4d574e}.item-alerts .alert{margin-top:10px}
.toast-wrap{position:fixed;right:22px;top:100px;z-index:100;display:grid;gap:10px}.toast{min-width:280px;max-width:430px;background:#1f2a22;color:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);animation:slidein .2s ease}.toast.error{background:#8e3636}.toast small{display:block;opacity:.75;margin-top:4px}
@keyframes slidein{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}
.loading{position:fixed;inset:0;background:rgba(245,244,237,.88);backdrop-filter:blur(8px);z-index:120;display:grid;place-content:center;text-align:center;gap:8px}.loading span{color:var(--muted)}.spinner{width:42px;height:42px;border:4px solid #dce6de;border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 8px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1080px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.search-box{display:none}}
@media(max-width:760px){
  .sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}
  .main{margin-left:0;width:100%}.mobile-menu{display:block}.topbar{height:74px;padding:0 16px}.topbar>div:first-of-type{flex:1;margin-left:10px}.top-actions .btn{padding:10px 11px;font-size:0}.top-actions .btn:before{content:"＋";font-size:20px}.content{padding:22px 14px 60px}.hero-row{align-items:flex-start}.hero-row h2{font-size:23px}.hero-actions{display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:14px;gap:10px}.kpi-icon{width:38px;height:38px}.kpi strong{font-size:23px}.panel{border-radius:15px}.panel-head{padding:18px}.detail-head{padding:16px}.detail-chips{display:none}.status-form{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.toast-wrap{right:12px;left:12px}.toast{min-width:0;max-width:none}
}

.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#e4eee5 0,transparent 34%),linear-gradient(145deg,#f7f5ed,#edf2ec)}
.auth-card{width:min(460px,100%);background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:24px;padding:34px;box-shadow:0 28px 90px rgba(30,52,37,.14)}
.auth-brand{display:inline-block;background:var(--forest);color:#fff;border-radius:15px;padding:15px 18px;margin-bottom:30px}.auth-brand .brand-sub{margin-top:5px}
.auth-card h1{font-size:28px;margin:8px 0}.auth-card>p{color:var(--muted);margin:0 0 24px;line-height:1.5}
.auth-field{display:grid;gap:7px;margin-bottom:14px}.auth-field span{font-size:12px;font-weight:800;color:var(--muted)}
.auth-field input,.auth-field select{width:100%;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);padding:12px 13px;outline:0}.auth-field input:focus,.auth-field select:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(47,93,70,.1)}
.auth-submit{width:100%;margin-top:6px}.auth-submit:disabled{opacity:.55;cursor:wait}.auth-note{margin-top:18px;padding:12px 13px;background:var(--forest-soft);border-radius:11px;color:#3c6049;font-size:12px;line-height:1.45}
.user-box{display:flex;align-items:center;gap:9px;border-left:1px solid var(--border);padding-left:12px;min-width:220px}.user-avatar,.employee-avatar{width:38px;height:38px;border-radius:12px;background:var(--forest-soft);color:var(--forest);display:grid;place-items:center;font-weight:900;font-size:12px;flex:0 0 auto}
.user-meta{min-width:0;display:grid}.user-meta strong{font-size:12px;white-space:nowrap}.user-meta span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}.logout-btn{border:0;background:transparent;color:var(--muted);font-size:19px;padding:6px;margin-left:auto}
.team-intro{padding:18px 24px 0;color:var(--muted);font-size:13px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 24px 26px}
.employee-card{border:1px solid var(--border);border-radius:16px;padding:17px;background:linear-gradient(180deg,#fff,#fbfcfa)}.employee-head{display:flex;align-items:center;gap:12px}.employee-avatar{width:44px;height:44px;border-radius:14px}.employee-head h4{font-size:15px;margin:0 0 3px}.employee-head p{font-size:12px;color:var(--muted);margin:0;line-height:1.35}
.employee-badges{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 10px}.employee-access{font-size:12px;font-weight:800;color:var(--forest);background:var(--forest-soft);padding:9px 10px;border-radius:10px}.employee-card ul{padding-left:18px;margin:14px 0;color:#4f5950;font-size:12px;line-height:1.48}.employee-card li+li{margin-top:6px}
.employee-foot{border-top:1px solid #e9ede8;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.employee-foot a{color:var(--forest);font-weight:750;text-decoration:none}.employee-settings{padding:8px 11px;font-size:11px}
.modal-backdrop{position:fixed;inset:0;background:rgba(23,32,25,.42);z-index:130;display:grid;place-items:center;padding:18px}.modal-card{width:min(450px,100%);background:#fff;border-radius:20px;padding:22px;box-shadow:0 28px 90px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:20px}.modal-head h3{margin:5px 0 0}.modal-save{width:100%;margin-top:6px}
.permission-note{margin-top:14px;padding:12px 13px;border-radius:11px;background:#f0f2ef;color:var(--muted);font-size:12px}.status-form select:disabled{background:#f1f3f0;color:#8b938b;cursor:not-allowed}
.history-list{display:grid;gap:10px}.history-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #edf0ec}.history-item:last-child{border-bottom:0}.history-dot{width:9px;height:9px;border-radius:50%;background:var(--forest);margin-top:5px;flex:0 0 auto}.history-item strong,.history-item span,.history-item small{display:block}.history-item strong{font-size:12px}.history-item span{font-size:12px;color:#4e584f;margin-top:2px}.history-item small{font-size:10px;color:var(--muted);margin-top:3px}.history-empty{background:var(--surface2);border:1px dashed var(--border);border-radius:11px;padding:13px;color:var(--muted);font-size:12px;text-align:center}

.tasks-view{display:block}.tasks-hero{margin-top:0}.task-panel-head{gap:18px}.task-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.task-filters{display:flex;gap:6px;flex-wrap:wrap}.task-filter{border:1px solid var(--border);background:#fff;color:var(--muted);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.task-filter:hover,.task-filter.active{background:var(--forest);border-color:var(--forest);color:#fff}.tasks-table{min-width:980px}.tasks-table tbody tr{cursor:pointer}.task-priority{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:850;white-space:nowrap}.task-priority:before{content:"";width:8px;height:8px;border-radius:50%;background:#aab2aa}.task-priority.critical{color:var(--danger)}.task-priority.critical:before{background:var(--danger)}.task-priority.warning{color:#96611f}.task-priority.warning:before{background:var(--warn)}.task-priority.normal{color:var(--muted)}.task-stage{font-weight:820;color:var(--forest)}.task-product{font-weight:760}.task-empty{padding:38px!important;text-align:center;color:var(--muted)}.task-overdue{color:var(--danger);font-weight:800}.task-scope-full{display:inline-flex;align-items:center;gap:7px;color:var(--forest);font-weight:750}.task-scope-full:before{content:"✓";display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--forest-soft);font-size:11px}

.item-thumb{width:58px;height:44px;border-radius:10px;object-fit:cover;background:#edf0ec;border:1px solid var(--border);display:block}.item-thumb.placeholder{display:grid;place-items:center;color:#8d968d;font-size:18px}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.photo-card{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#edf0ec;border:1px solid var(--border)}.photo-card img{width:100%;height:100%;object-fit:cover;display:block}.photo-empty{grid-column:1/-1;border:1px dashed var(--border);background:var(--surface2);border-radius:12px;padding:18px;text-align:center;color:var(--muted);font-size:12px}.photo-upload-btn{width:100%;margin-top:9px}
.assignment-list{display:grid;gap:9px}.assignment-row{display:grid;grid-template-columns:92px minmax(0,1fr) 132px;gap:8px;align-items:end;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px}.assignment-stage{font-size:12px;font-weight:850;color:var(--forest);align-self:center}.assignment-row label,.claim-control-grid label{font-size:10px;font-weight:800;color:var(--muted)}.assignment-row select,.assignment-row input,.claim-control-grid select,.claim-control-grid input{width:100%;margin-top:4px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:9px 10px;color:var(--text)}.assignment-row select:disabled,.assignment-row input:disabled{background:#f0f2ef;color:#788178}
.comment-form{display:grid;gap:8px}.comment-form textarea,.auth-field textarea{width:100%;min-height:84px;resize:vertical;border:1px solid var(--border);border-radius:12px;padding:12px;outline:0}.comment-form textarea:focus,.auth-field textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(47,93,70,.1)}.comment-form .btn{justify-self:end}.comment-list{display:grid;gap:9px;margin-top:12px}.comment-card{border-left:3px solid var(--forest);background:var(--surface2);border-radius:9px;padding:11px 12px}.comment-card strong{font-size:12px}.comment-card p{white-space:pre-wrap;font-size:12px;line-height:1.45;margin:5px 0}.comment-card small{font-size:10px;color:var(--muted)}
.claims-view{display:block}.claims-table{min-width:1050px}.claims-table tbody tr{cursor:pointer}.claim-no{font-weight:850;color:var(--danger)}.claim-description{margin-top:14px;white-space:pre-wrap;background:var(--warn-soft);color:#694719;border-radius:12px;padding:14px;font-size:13px;line-height:1.5}.claim-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.claim-control-grid label:nth-child(3){grid-column:1/-1}.claim-drawer{width:min(620px,96vw)}.claim-create-card{width:min(680px,100%)}.claim-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.claims-actions{display:flex;gap:8px}.claim-reminder-row{background:#fffaf1}.claim-overdue-row{background:#fff4f4}

.connection-badge{border:1px solid var(--border);background:var(--forest-soft);color:var(--forest);border-radius:999px;padding:8px 11px;font-size:10px;font-weight:850;white-space:nowrap}.connection-badge.network{background:#eaf0f7;color:var(--info)}
.detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.catalog-fill-btn,.catalog-photo-btn{border-color:#abc2b1;background:var(--forest-soft);color:var(--forest)}.catalog-fill-btn:hover,.catalog-photo-btn:hover{background:#dceadf}.catalog-fill-btn:disabled,.catalog-photo-btn:disabled{opacity:.55;cursor:wait}
.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.photo-actions .photo-upload-btn{margin-top:0}.photo-catalog-note{margin-top:8px;font-size:10px;line-height:1.45;color:var(--muted)}.photo-source{position:absolute;left:7px;bottom:7px;background:rgba(28,48,35,.88);color:#fff;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.photo-card a{position:absolute;right:7px;top:7px;background:rgba(255,255,255,.92);color:var(--forest);border-radius:8px;padding:5px 7px;font-size:10px;font-weight:850;text-decoration:none}.photo-delete{position:absolute;left:7px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(122,35,35,.92);color:#fff;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.2)}.photo-delete:hover{background:#8d2525;transform:scale(1.05)}
.article-control{margin-top:12px;border:1px solid #e7bd83;background:var(--warn-soft);border-radius:13px;padding:13px}.article-control strong,.article-control small{display:block}.article-control strong{color:#7b511c;font-size:13px}.article-control small{color:#825f35;font-size:11px;line-height:1.45;margin-top:4px}.article-control-row{display:flex;gap:8px;margin-top:10px}.article-control-row input{min-width:0;flex:1;border:1px solid #d7b37d;border-radius:10px;padding:10px 11px;background:#fff}.individual-mark{display:inline-flex;margin-top:5px;border-radius:999px;background:var(--warn-soft);color:#8b5c20;padding:4px 7px;font-size:10px;font-weight:850}
.catalog-photo-modal-card{width:min(820px,100%);max-height:90vh;overflow:auto}.catalog-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-candidate{border:1px solid var(--border);border-radius:14px;padding:11px;background:var(--surface2);display:grid;grid-template-columns:128px minmax(0,1fr);gap:12px;align-items:center}.catalog-candidate img{width:128px;height:104px;object-fit:cover;border-radius:10px;background:#edf0ec}.catalog-candidate h4{margin:0 0 5px;font-size:13px}.catalog-candidate p{margin:0 0 10px;color:var(--muted);font-size:11px}.catalog-candidate .btn{padding:8px 10px;font-size:11px}.catalog-candidate-empty{grid-column:1/-1;border:1px dashed var(--border);border-radius:13px;padding:24px;text-align:center;color:var(--muted)}
.training-view{display:block}.training-overview,.training-panel{overflow:visible}.training-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center;padding:24px}.flow-node{min-height:104px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fff,#f7faf6);padding:13px;text-align:center;display:grid;place-content:center;gap:4px}.flow-node>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;margin:0 auto 3px;background:var(--forest);color:#fff;font-size:10px;font-weight:900}.flow-node strong{font-size:12px}.flow-node small{font-size:10px;color:var(--muted)}.flow-arrow{color:#8aa18f;font-size:20px;font-weight:900}.training-rule{margin:0 24px 24px;background:var(--forest-soft);border-radius:12px;padding:14px;color:#385b45;font-size:12px;line-height:1.5}.training-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:18px 24px 0}.training-tab{border:1px solid var(--border);background:#fff;color:var(--muted);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:850}.training-tab.active,.training-tab:hover{background:var(--forest);border-color:var(--forest);color:#fff}.training-tab.recommended:after{content:"ваш отдел";margin-left:6px;background:rgba(255,255,255,.2);border-radius:999px;padding:2px 5px;font-size:8px}.training-content{padding:20px 24px 26px}.training-intro-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;background:#f7f9f6;border:1px solid var(--border);border-radius:14px;padding:15px;margin-bottom:14px}.training-intro-icon{width:42px;height:42px;border-radius:13px;background:var(--forest-soft);color:var(--forest);display:grid;place-items:center;font-weight:900}.training-intro-card h4{margin:2px 0 5px}.training-intro-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.training-steps{display:grid;gap:10px}.training-step{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(210px,.7fr);gap:13px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:13px;background:#fff}.training-step-no{width:32px;height:32px;border-radius:11px;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900}.training-step h5{margin:0 0 4px;font-size:13px}.training-step p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.training-visual{background:#f3f6f2;border-radius:10px;padding:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.training-visual .mock-button{background:var(--forest);color:#fff;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:850}.training-visual .mock-field{background:#fff;border:1px solid var(--border);border-radius:7px;padding:6px 8px;font-size:9px;color:var(--muted)}.training-visual .mock-badge{background:var(--warn-soft);color:#86591e;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:850}.training-dont{margin-top:14px;border-left:4px solid var(--danger);background:var(--danger-soft);border-radius:10px;padding:12px 13px;color:#7a3434;font-size:11px;line-height:1.5}

@media(max-width:1180px){.user-box{min-width:auto}.user-meta{display:none}.team-grid{grid-template-columns:1fr}}
@media(max-width:1040px){.training-flow{grid-template-columns:repeat(3,1fr)}.flow-arrow{display:none}.connection-badge{display:none}.training-step{grid-template-columns:38px 1fr}.training-visual{grid-column:2}}
@media(max-width:760px){.auth-card{padding:24px;border-radius:20px}.auth-card h1{font-size:24px}.user-box{border-left:0;padding-left:0}.user-avatar{width:34px;height:34px}.logout-btn{display:none}.team-grid{padding:16px}.team-intro{padding:16px 16px 0}.task-panel-head{align-items:flex-start;flex-direction:column}.task-toolbar{justify-content:flex-start}.task-filters{width:100%}.task-filter{flex:1}.tasks-kpi,.claims-kpi{grid-template-columns:1fr 1fr}.assignment-row{grid-template-columns:1fr}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-actions{grid-template-columns:1fr}.claim-form-grid,.claim-control-grid{grid-template-columns:1fr}.claim-control-grid label:nth-child(3){grid-column:auto}.claims-actions{display:none}.catalog-candidates{grid-template-columns:1fr}.catalog-candidate{grid-template-columns:100px 1fr}.catalog-candidate img{width:100px;height:86px}.training-flow{grid-template-columns:1fr 1fr;padding:16px}.training-step{grid-template-columns:32px 1fr}.training-visual{grid-column:1/-1}.training-tabs,.training-content{padding-left:16px;padding-right:16px}.detail-head{flex-wrap:wrap}.detail-actions{width:100%;justify-content:flex-start;padding-left:52px}.article-control-row{align-items:stretch}.article-control-row .btn{padding:9px}}

.training-status{align-self:center;white-space:nowrap;border-radius:999px;background:#edf0ec;color:var(--muted);padding:7px 10px;font-size:10px;font-weight:850}.training-status.passed{background:var(--forest-soft);color:var(--forest)}.training-modes{display:flex;gap:7px;margin:0 0 14px;padding:5px;background:#eef2ed;border-radius:12px}.training-mode{flex:1;border:0;background:transparent;color:var(--muted);padding:10px;border-radius:9px;font-size:11px;font-weight:850}.training-mode.active{background:#fff;color:var(--forest);box-shadow:0 2px 9px rgba(30,50,35,.09)}.training-step.completed{border-color:#b7d2bd;background:#f7fbf7}.training-progress{margin-bottom:14px}.training-progress>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.training-progress-track{height:8px;margin-top:7px;background:#e5eae4;border-radius:999px;overflow:hidden}.training-progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--forest),#74a57f);border-radius:999px}.training-simulator{display:grid;gap:13px}.simulator-map{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.sim-dot{width:31px;height:31px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--muted);font-weight:850}.sim-dot.active{border-color:var(--forest);box-shadow:0 0 0 3px var(--forest-soft)}.sim-dot.done{background:var(--forest);color:#fff}.simulator-card{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(220px,.8fr);border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}.simulator-screen{min-height:250px;background:#edf1ec}.simulator-toolbar{height:36px;background:#263c2d;color:#dfe9e1;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:9px}.simulator-toolbar i{width:7px;height:7px;border-radius:50%;background:#86aa8d}.simulator-toolbar span{margin-left:5px}.simulator-stage{min-height:214px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:26px;position:relative}.sim-action{border:1px solid var(--border);background:#fff;border-radius:10px;padding:11px 13px;color:var(--muted);font-weight:800}.sim-action.target{background:var(--forest);color:#fff;animation:trainingPulse 1.3s infinite}.simulator-pointer{position:absolute;top:38px;color:#8a5b1d;background:var(--warn-soft);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850}.simulator-copy{padding:25px;align-self:center}.simulator-copy h4,.quiz-card h4{margin:7px 0 9px}.simulator-copy p{color:var(--muted);font-size:12px;line-height:1.55}.simulator-feedback{margin-top:15px;padding:10px;border-radius:10px;background:var(--forest-soft);color:var(--forest);font-size:11px}.simulator-nav{display:flex;justify-content:space-between}.quiz-card{max-width:680px;margin:auto;border:1px solid var(--border);border-radius:16px;padding:24px;background:#fff}.quiz-options{display:grid;gap:9px;margin:18px 0}.quiz-option{text-align:left;border:1px solid var(--border);border-radius:11px;background:#fff;padding:12px 14px;color:var(--text);font-weight:750}.quiz-option:hover{border-color:var(--forest);background:#f6faf7}.quiz-option.correct{border-color:#70a67c;background:var(--forest-soft);color:var(--forest)}.quiz-option.wrong{border-color:#d98282;background:var(--danger-soft);color:var(--danger)}.quiz-explain{margin:10px 0 15px;border-radius:10px;background:#f1f4f0;padding:11px;font-size:11px;line-height:1.5}.quiz-result{text-align:center;border:1px solid var(--border);border-radius:16px;padding:35px;background:#fff}.quiz-result-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--forest-soft);color:var(--forest);font-size:28px}.quiz-result.retry .quiz-result-icon{background:var(--warn-soft);color:#97601c}@keyframes trainingPulse{50%{box-shadow:0 0 0 8px rgba(47,93,70,.13)}}
@media(max-width:1040px){.simulator-card{grid-template-columns:1fr}}
@media(max-width:760px){.training-intro-card{grid-template-columns:auto 1fr}.training-status{grid-column:1/-1}.training-modes{flex-direction:column}.simulator-screen{min-height:210px}.simulator-stage{min-height:174px;padding:20px}}

.photo-thumb-btn{border:0;background:transparent;padding:0;border-radius:10px;cursor:zoom-in}.photo-card{cursor:zoom-in}.photo-card img{transition:transform .2s}.photo-card:hover img{transform:scale(1.035)}.photo-viewer{position:fixed;inset:0;z-index:3000;background:rgba(8,14,10,.94);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:28px}.photo-viewer.hidden{display:none}.photo-viewer figure{margin:0;display:grid;place-items:center;gap:12px;min-width:0}.photo-viewer img{max-width:min(1400px,100%);max-height:calc(100vh - 100px);object-fit:contain;border-radius:12px;box-shadow:0 20px 70px rgba(0,0,0,.45)}.photo-viewer figcaption{color:#e7eee8;font-size:12px;text-align:center}.photo-viewer-close,.photo-viewer-nav{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.photo-viewer-close{position:absolute;right:22px;top:18px;width:42px;height:42px;border-radius:50%;font-size:25px}.photo-viewer-nav{width:50px;height:64px;border-radius:14px;font-size:38px}.photo-viewer-nav:hover,.photo-viewer-close:hover{background:rgba(255,255,255,.24)}.photo-viewer-nav.next{justify-self:end}@media(max-width:760px){.photo-viewer{grid-template-columns:42px minmax(0,1fr) 42px;padding:16px 8px}.photo-viewer-nav{width:38px;height:52px}.photo-viewer img{max-height:calc(100vh - 120px)}}

.manual-summary{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:18px;background:#f7f9f6}.manual-summary h4{margin:5px 0}.manual-summary p{max-width:780px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.manual-progress{text-align:right}.manual-progress strong{display:block;color:var(--forest);font-size:24px}.manual-progress span{font-size:10px;color:var(--muted)}.manual-start{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0;padding:16px 18px;border-left:4px solid var(--forest);background:var(--forest-soft);border-radius:0 12px 12px 0}.manual-start p{margin:5px 0 0;font-size:11px;color:#496451}.manual-columns,.manual-procedure{display:grid;grid-template-columns:44px minmax(180px,.9fr) minmax(260px,1.4fr) minmax(180px,.8fr);gap:12px;align-items:center}.manual-columns{padding:8px 13px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.manual-procedures{display:grid;gap:8px}.manual-procedure{border:1px solid var(--border);border-radius:13px;padding:13px;background:#fff}.manual-procedure.completed{border-color:#b6ceb9;background:#f8fbf8}.manual-check{width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--forest);font-weight:900}.manual-procedure.completed .manual-check{background:var(--forest);color:#fff}.manual-route span,.manual-result span{display:block;margin-bottom:4px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.06em}.manual-route strong{font-size:11px;line-height:1.45;color:var(--forest)}.manual-action h5{margin:0 0 4px;font-size:12px}.manual-action p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.manual-result strong{font-size:10px;line-height:1.45}.manual-rules{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.manual-rules>div{border:1px solid var(--border);border-radius:12px;padding:14px}.manual-rules p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:900px){.manual-columns{display:none}.manual-procedure{grid-template-columns:40px 1fr}.manual-action,.manual-result{grid-column:2}.manual-summary{grid-template-columns:1fr}.manual-progress{text-align:left}.manual-start{align-items:flex-start;flex-direction:column}.manual-rules{grid-template-columns:1fr}}

.stage-view{display:block}.stage-status-filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.stage-status-filters em{font-style:normal;opacity:.7;margin-left:3px}.stage-table{min-width:1040px}.stage-table tbody tr{cursor:pointer}.stage-detail-panels{display:grid;gap:8px}.stage-detail-card{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.stage-detail-card summary{display:flex;justify-content:space-between;gap:14px;padding:13px 14px;cursor:pointer;font-weight:850;color:var(--forest)}.stage-detail-card summary em{font-style:normal;color:var(--muted);font-size:10px;font-weight:700}.stage-detail-card form{border-top:1px solid var(--border);padding:13px;background:var(--surface2)}.stage-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stage-detail-grid label{display:grid;gap:5px;font-size:10px;font-weight:800;color:var(--muted)}.stage-detail-grid label.wide{grid-column:1/-1}.stage-detail-grid input,.stage-detail-grid select,.stage-detail-grid textarea{width:100%;border:1px solid var(--border);border-radius:9px;background:#fff;padding:9px;color:var(--text)}.stage-detail-grid textarea{min-height:74px;resize:vertical}.stage-detail-save{margin-top:10px}.document-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px}.document-toolbar select{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px}.document-list{display:grid;gap:8px}.document-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:11px;padding:9px;background:#fff}.document-icon{width:42px;height:42px;border-radius:9px;background:var(--forest-soft);color:var(--forest);display:grid;place-items:center;font-size:9px;font-weight:900}.document-row strong,.document-row span{display:block}.document-row strong{font-size:11px;overflow:hidden;text-overflow:ellipsis}.document-row span{margin-top:3px;color:var(--muted);font-size:9px}.document-row .btn{padding:7px 9px;text-decoration:none;font-size:10px}.document-delete{border:0;background:var(--danger-soft);color:var(--danger);width:28px;height:28px;border-radius:8px}.document-empty{border:1px dashed var(--border);border-radius:11px;padding:17px;text-align:center;color:var(--muted);font-size:11px}.photo-job-badge{position:fixed;right:22px;bottom:22px;z-index:2500;display:flex;align-items:center;gap:10px;background:#243d2c;color:#fff;border-radius:13px;padding:12px 15px;box-shadow:0 12px 35px rgba(0,0,0,.2);font-size:11px;font-weight:800}.photo-job-badge i{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:760px){.stage-status-filters{justify-content:flex-start}.stage-detail-grid{grid-template-columns:1fr}.stage-detail-grid label.wide{grid-column:auto}.document-toolbar{grid-template-columns:1fr}.document-row{grid-template-columns:38px minmax(0,1fr) auto}.document-row .btn{grid-column:2}.photo-job-badge{left:12px;right:12px;bottom:12px}}

/* Технический отдел */
.technical-register{scroll-margin-top:100px}.technical-panel-head{gap:18px}.technical-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:9px;flex-wrap:wrap}.technical-search{width:270px;display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface2);border-radius:10px;padding:8px 10px}.technical-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:12px}.technical-reset{border:0;border-radius:999px;background:var(--warn-soft);color:#84571d;padding:7px 10px;font-size:10px;font-weight:850}.technical-table{border-collapse:collapse;width:100%;min-width:1050px}.technical-table th{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;text-align:left;background:#fbfcfa;padding:13px 18px;border-bottom:1px solid var(--border)}.technical-table td{padding:15px 18px;border-bottom:1px solid #edf0ec;vertical-align:middle}.technical-table tbody tr{cursor:pointer}.technical-table tbody tr:hover{background:#fafbf8}.technical-progress{display:flex;align-items:center;gap:8px;min-width:110px}.technical-progress>span{width:72px;height:7px;border-radius:999px;background:#e5eae4;overflow:hidden}.technical-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--warn),var(--forest))}.technical-progress strong{font-size:11px;color:var(--forest)}
.technical-drawer{width:min(920px,98vw)}.technical-item-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,#fff,#f7faf6);padding:13px}.technical-summary-photo .item-thumb{width:88px;height:66px}.technical-item-summary>div:last-child>strong,.technical-item-summary>div:last-child>span{display:block}.technical-item-summary>div:last-child>strong{font-size:14px;margin-bottom:7px}.technical-item-summary>div:last-child>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:11px}.technical-completeness{margin:13px 0 16px;border-radius:13px;background:var(--forest-soft);padding:13px 15px;display:grid;grid-template-columns:minmax(160px,.7fr) minmax(180px,1fr) auto;align-items:center;gap:14px;color:var(--forest)}.technical-completeness span,.technical-completeness strong{display:block}.technical-completeness span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.technical-completeness strong{font-size:13px;margin-top:3px}.technical-completeness>b{font-size:17px}.technical-complete-track{height:9px;background:rgba(47,93,70,.14);border-radius:999px;overflow:hidden}.technical-complete-track i{display:block;height:100%;border-radius:999px;background:var(--forest)}.technical-loading-dot{width:11px;height:11px;border:2px solid #a7c0ad;border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite}
.technical-kit{display:grid;gap:12px}.technical-kit-section{border:1px solid var(--border);border-radius:15px;background:#fff;overflow:hidden}.technical-kit-section.has-files{border-color:#bfd0c1}.technical-kit-section.missing-files{border-color:#e4d4bf}.technical-kit-section.not-required-files{border-color:#ced8d0}.technical-kit-section>header{display:grid;grid-template-columns:30px 38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 15px;background:#fbfcfa;border-bottom:1px solid var(--border)}.technical-kit-section.missing-files>header{background:#fffbf5}.technical-kit-section.not-required-files>header{background:#f4f7f4}.technical-section-no{width:26px;height:26px;border-radius:9px;background:#edf1ed;color:var(--muted);display:grid;place-items:center;font-size:10px;font-weight:900}.technical-section-icon{width:36px;height:36px;border-radius:10px;background:var(--forest-soft);color:var(--forest);display:grid;place-items:center;font-weight:900}.technical-kit-section header h4{margin:0 0 3px;font-size:13px}.technical-kit-section header p{margin:0;color:var(--muted);font-size:10px;line-height:1.4}.technical-kit-section header em{font-style:normal;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850;white-space:nowrap}.technical-kit-section header em.ready{background:var(--forest-soft);color:var(--forest)}.technical-kit-section header em.missing{background:var(--warn-soft);color:#8b5c20}
.technical-section-files{display:grid;gap:7px;padding:11px 14px}.technical-file-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e8ece7;border-radius:11px;padding:8px;background:#fff}.technical-file-icon{width:40px;height:40px;border-radius:9px;background:#edf2ed;color:var(--forest);display:grid;place-items:center;font-size:8px;font-weight:900}.technical-file-copy{min-width:0}.technical-file-copy strong,.technical-file-copy span{display:block}.technical-file-copy strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.technical-file-copy span{margin-top:4px;color:var(--muted);font-size:9px}.technical-file-actions{display:flex;align-items:center;gap:5px}.technical-file-actions a{border:1px solid var(--border);border-radius:8px;padding:7px 8px;color:var(--forest);font-size:9px;font-weight:850;text-decoration:none}.technical-file-actions a:hover{background:var(--forest-soft)}.technical-file-actions button{border:0;border-radius:8px;width:29px;height:29px;background:var(--danger-soft);color:var(--danger);font-size:17px}.technical-file-empty{border:1px dashed #ded3c3;border-radius:10px;background:#fffaf3;padding:12px;text-align:center;color:#8b7251;font-size:10px}.technical-kit-section>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid #edf0ec;background:var(--surface2)}.technical-kit-section>footer span{color:var(--muted);font-size:9px;line-height:1.4}.technical-kit-section>footer .btn{padding:8px 10px;font-size:10px;white-space:nowrap}.technical-kit-section>footer .btn:disabled{cursor:not-allowed;opacity:.55}.technical-upload-note{margin-top:14px}
@media(max-width:1250px){.technical-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:900px){.technical-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.technical-panel-head{align-items:flex-start;flex-direction:column}.technical-toolbar{width:100%;justify-content:flex-start}.technical-search{width:min(100%,360px)}}@media(max-width:620px){.technical-type-grid{grid-template-columns:1fr!important}.technical-completeness{grid-template-columns:1fr auto}.technical-complete-track{grid-column:1/-1;grid-row:2}.technical-kit-section>header{grid-template-columns:28px 34px minmax(0,1fr)}.technical-kit-section>header em{grid-column:3}.technical-file-row{grid-template-columns:36px minmax(0,1fr)}.technical-file-actions{grid-column:2;justify-content:flex-start}.technical-kit-section>footer{align-items:flex-start;flex-direction:column}.technical-kit-section>footer .btn{width:100%}.technical-summary-photo .item-thumb{width:70px;height:54px}}
.sidebar{overflow-y:auto}.technical-view{display:block}.technical-kpi{margin-bottom:18px}.technical-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:24px}.technical-type-card{min-height:126px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(150deg,#fff,#f8faf7);padding:15px;text-align:left;color:var(--text);display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto 1fr;gap:10px 11px;transition:.18s;box-shadow:0 5px 18px rgba(34,52,40,.035)}.technical-type-card:hover{border-color:#9fbaa6;transform:translateY(-2px);box-shadow:0 12px 28px rgba(34,52,40,.08)}.technical-type-card.active{border-color:var(--forest);background:var(--forest-soft);box-shadow:0 0 0 2px rgba(47,93,70,.09)}.technical-type-icon{width:42px;height:42px;border-radius:12px;background:#edf2ed;color:var(--forest);display:grid;place-items:center;font-size:20px;font-weight:900}.technical-type-card.active .technical-type-icon{background:var(--forest);color:#fff}.technical-type-copy{min-width:0}.technical-type-copy strong,.technical-type-copy small{display:block}.technical-type-copy strong{font-size:13px;margin:2px 0 5px}.technical-type-copy small{font-size:10px;color:var(--muted);line-height:1.4}.technical-type-stats{grid-column:1/-1;display:flex;align-items:center;gap:6px;border-top:1px solid #e8ede7;padding-top:9px}.technical-type-stats b{font-size:17px;color:var(--forest)}.technical-type-stats small{color:var(--muted);font-size:9px}.technical-type-stats em{margin-left:auto;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:850;font-style:normal}.technical-type-stats em.missing{background:var(--warn-soft);color:#8b5c20}.technical-type-stats em.ready{background:var(--forest-soft);color:var(--forest)}

/* ИИ-черновик паспорта: только внутри папки «Паспорт» */
.passport-ai-panel{margin:2px 14px 13px;border:1px solid #b7c9bb;border-radius:14px;background:linear-gradient(145deg,#f9fcf9,#f2f7f3);padding:15px;color:var(--text)}
.passport-ai-panel.passport-ai-loading{display:flex;align-items:center;gap:11px}.passport-ai-loading strong,.passport-ai-loading span{display:block}.passport-ai-loading span{margin-top:4px;color:var(--muted);font-size:10px}
.passport-ai-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.passport-ai-head h5{margin:4px 0 0;font-size:14px}.passport-ai-connection{border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850;white-space:nowrap}.passport-ai-connection.ready{background:#dcecdf;color:#245d34}.passport-ai-connection.warning{background:var(--warn-soft);color:#8b5c20}.passport-ai-connection.error{background:var(--danger-soft);color:var(--danger)}.passport-ai-connection.loading{display:flex;align-items:center;gap:6px;background:#eef1ed;color:var(--muted)}.passport-ai-connection.loading i{width:8px;height:8px;border:2px solid #b7c5b9;border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite}
.passport-ai-note{margin:11px 0;color:#53665a;font-size:10px;line-height:1.55}.passport-ai-system-note{margin:9px 0;border-left:3px solid #b88236;border-radius:0 8px 8px 0;background:#fff8ed;padding:9px 11px;color:#77552a;font-size:10px;line-height:1.45}
.passport-ai-source-summary{display:flex;gap:7px;margin:10px 0}.passport-ai-source-summary>div{display:flex;align-items:baseline;gap:5px;border:1px solid #dbe4dc;border-radius:9px;background:#fff;padding:7px 9px}.passport-ai-source-summary strong{font-size:15px;color:var(--forest)}.passport-ai-source-summary span{font-size:9px;color:var(--muted)}
.passport-ai-sources{display:grid;gap:8px}.passport-ai-sources h6{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--forest)}.passport-ai-sources>div>ul,.passport-ai-sources details>ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.passport-ai-sources>div>p{margin:0;border:1px dashed #d6c9b8;border-radius:9px;padding:9px;color:#806b4b;font-size:10px}.passport-ai-sources details{border-top:1px solid #dfe6df;padding-top:8px}.passport-ai-sources summary{cursor:pointer;color:var(--muted);font-size:10px;font-weight:800}.passport-ai-sources details>ul{margin-top:7px}.passport-ai-source{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:center;border:1px solid #e0e7e1;border-radius:9px;background:#fff;padding:7px}.passport-ai-source.excluded{background:#f6f6f3;opacity:.78}.passport-ai-source-state{width:22px;height:22px;border-radius:7px;background:var(--forest-soft);color:var(--forest);display:grid;place-items:center;font-size:10px;font-weight:900}.passport-ai-source.excluded .passport-ai-source-state{background:#e8e9e5;color:#777}.passport-ai-source strong,.passport-ai-source small{display:block}.passport-ai-source strong{font-size:10px;overflow-wrap:anywhere}.passport-ai-source small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35}
.passport-ai-blockers,.passport-ai-warnings{margin:10px 0;border:1px solid #e5beb8;border-radius:10px;background:#fff3f1;padding:10px 11px;color:#853b34}.passport-ai-blockers strong,.passport-ai-warnings strong{display:block;font-size:10px}.passport-ai-blockers p{margin:5px 0 0;font-size:9px;line-height:1.4}.passport-ai-blockers ul,.passport-ai-warnings ul{margin:6px 0 0;padding-left:17px;font-size:9px;line-height:1.5}
.passport-ai-readiness-warnings{margin:10px 0;border:1px solid #e9d2a9;border-radius:10px;background:#fff8ec;padding:10px 11px;color:#80571f}.passport-ai-readiness-warnings strong{display:block;font-size:10px}.passport-ai-readiness-warnings ul{margin:6px 0 0;padding-left:17px;font-size:9px;line-height:1.5}
.passport-ai-verification{margin:10px 0;border:1px solid #d8e0d8;border-radius:10px;background:#fff;padding:10px}.passport-ai-verification>div strong,.passport-ai-verification>div span{display:block}.passport-ai-verification>div strong{font-size:10px}.passport-ai-verification>div span{margin-top:3px;color:var(--muted);font-size:8px}.passport-ai-verification ul{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:9px 0 0;padding:0;list-style:none}.passport-ai-verification li{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:6px;border-radius:8px;padding:6px}.passport-ai-verification li.verified{background:#edf7ef;color:#2f6c3e}.passport-ai-verification li.pending{background:#fff6e8;color:#89591c}.passport-ai-verification li>b{width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.72);display:grid;place-items:center;font-size:10px}.passport-ai-verification li span strong,.passport-ai-verification li span small{display:block}.passport-ai-verification li span strong{font-size:9px}.passport-ai-verification li span small{margin-top:2px;font-size:7.5px;line-height:1.3;opacity:.82}
.passport-ai-controls{display:flex;align-items:center;gap:11px;margin-top:12px}.passport-ai-controls .btn{flex:0 0 auto}.passport-ai-controls span{color:var(--muted);font-size:9px;line-height:1.4}.passport-ai-generate:disabled{opacity:.5}
.passport-ai-draft{margin-top:13px;border:1px solid #d7aaa5;border-radius:12px;background:#fff;overflow:hidden}.passport-ai-draft-banner{display:flex;align-items:center;gap:12px;background:#9b342c;color:#fff;padding:11px 13px}.passport-ai-draft-banner strong{font-size:17px;letter-spacing:.15em}.passport-ai-draft-banner span{font-size:9px;line-height:1.35;opacity:.9}.passport-ai-draft-meta{display:flex;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid #eee;color:var(--muted);font-size:8px}.passport-ai-product-title{display:grid;grid-template-columns:1fr minmax(130px,.35fr);gap:8px;padding:12px}.passport-ai-product-title>div{border-radius:9px;background:#f5f7f4;padding:9px}.passport-ai-product-title span,.passport-ai-product-title strong{display:block}.passport-ai-product-title span{font-size:8px;color:var(--muted);text-transform:uppercase}.passport-ai-product-title strong{margin-top:4px;font-size:11px}.passport-ai-preview-grid{display:grid;gap:6px;padding:0 12px 12px}.passport-ai-preview-grid details{border:1px solid #e1e6e1;border-radius:9px}.passport-ai-preview-grid summary{cursor:pointer;padding:9px 10px;color:var(--forest);font-size:10px;font-weight:850}.passport-ai-preview-body{border-top:1px solid #e8ece8;padding:9px 10px;color:#47534b;font-size:9px;line-height:1.5}.passport-ai-preview-body p{margin:0 0 6px}.passport-ai-preview-body ul{margin:5px 0 8px;padding-left:17px}.passport-ai-preview-body dl{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:7px 0}.passport-ai-preview-body dl>div{display:flex;justify-content:space-between;gap:5px;border-radius:7px;background:#f5f7f4;padding:6px}.passport-ai-preview-body dt{color:var(--muted)}.passport-ai-preview-body dd{margin:0;font-weight:850}.passport-ai-empty-value{color:var(--muted);font-style:italic}.passport-ai-draft-actions{display:flex;align-items:center;gap:10px;border-top:1px solid #e6e9e5;background:#f7f8f6;padding:10px 12px}.passport-ai-draft-actions span{font-size:8px;color:var(--muted);line-height:1.4}.passport-ai-draft-actions .btn{text-decoration:none;white-space:nowrap}
.passport-ai-confirm-card{width:min(720px,100%);max-height:92vh;overflow:auto}.passport-ai-confirm-product{display:grid;gap:4px;border:1px solid var(--border);border-radius:11px;background:#f7f9f6;padding:11px}.passport-ai-confirm-product strong{font-size:13px}.passport-ai-confirm-product span{font-size:10px;color:var(--muted)}.passport-ai-confirm-warning{display:grid;gap:4px;margin:10px 0;border-left:4px solid #a6382e;border-radius:0 10px 10px 0;background:#fff1ef;padding:11px;color:#7e3029}.passport-ai-confirm-warning strong{font-size:11px}.passport-ai-confirm-warning span{font-size:9px;line-height:1.4}.passport-ai-confirm-section{margin:15px 0}.passport-ai-confirm-section-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.passport-ai-confirm-section-head strong{font-size:11px}.passport-ai-confirm-section-head span{font-size:9px;color:var(--muted)}.passport-ai-confirm-sources{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:230px;overflow:auto}.passport-ai-confirm-sources label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px;cursor:pointer}.passport-ai-confirm-sources label.required-source{border-color:#b8cbbb;background:#f1f7f2;cursor:default}.passport-ai-confirm-sources input{accent-color:var(--forest)}.passport-ai-confirm-sources strong,.passport-ai-confirm-sources small{display:block}.passport-ai-confirm-sources strong{font-size:10px;overflow-wrap:anywhere}.passport-ai-confirm-sources small{margin-top:3px;color:var(--muted);font-size:8px}.passport-ai-instructions textarea{min-height:74px;resize:vertical}.passport-ai-consent{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;margin:12px 0;color:#48594d;font-size:10px;line-height:1.45}.passport-ai-consent input{margin-top:2px;accent-color:var(--forest)}.passport-ai-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
@media(max-width:620px){.passport-ai-head,.passport-ai-controls,.passport-ai-draft-banner,.passport-ai-draft-actions{align-items:flex-start;flex-direction:column}.passport-ai-connection{white-space:normal}.passport-ai-product-title,.passport-ai-confirm-sources,.passport-ai-verification ul{grid-template-columns:1fr}.passport-ai-preview-body dl{grid-template-columns:1fr}.passport-ai-confirm-actions{flex-direction:column-reverse}.passport-ai-confirm-actions .btn{width:100%}}

.passport-ai-source-summary{flex-wrap:wrap}.passport-ai-source-limits{margin:0 0 8px;border-radius:9px;background:#eef4ef;padding:8px 10px;color:#4b6352;font-size:9px;line-height:1.45}.passport-ai-source-limits strong{color:var(--forest)}
.passport-ai-confirm-sources label.alternative-source{border-style:dashed;background:#fffaf1}.passport-ai-confirm-sources label.alternative-source small{color:#805e2c}.passport-ai-limit-status{margin-top:8px;border-radius:8px;padding:7px 9px;font-size:9px;line-height:1.4}.passport-ai-limit-status.valid{background:#edf7ef;color:#2d673b}.passport-ai-limit-status.invalid{background:#fff0ee;color:#8b352e;font-weight:800}

/* v1.3 — фирменная навигация и информационная архитектура */
.sidebar{width:244px;padding:20px 16px 18px;overflow-x:hidden}.main{margin-left:244px;width:calc(100% - 244px)}
.brand{padding:0 5px 20px}.brand-logo-wrap{height:76px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:center;padding:7px 8px;box-shadow:0 9px 26px rgba(17,34,24,.18)}.brand-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.brand-product-label{margin-top:9px;color:rgba(255,255,255,.72);font-size:9px;font-weight:850;letter-spacing:.16em;text-align:center}
.auth-brand{display:grid;width:100%;margin-bottom:28px;padding:15px 18px 12px;border:1px solid #d4ddd3;border-radius:17px;background:linear-gradient(145deg,#fff,#f1f5ef);color:var(--forest);box-shadow:0 10px 30px rgba(32,58,39,.08)}.auth-brand-logo{width:100%;height:auto;max-height:108px}.auth-brand .brand-product-label{margin-top:7px;color:#597160}
.nav{gap:4px}.nav-item{width:100%;min-height:44px;padding:11px 13px}.nav-group{border:1px solid transparent;border-radius:13px}.nav-group[open]{background:rgba(15,45,27,.14);border-color:rgba(255,255,255,.06);padding-bottom:5px}.nav-group.active{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}.nav-group.active>summary{color:#fff}.nav-group summary{min-height:44px;display:flex;align-items:center;gap:12px;border-radius:11px;padding:11px 13px;color:rgba(255,255,255,.86);cursor:pointer;list-style:none;font-size:14px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary span{width:18px;text-align:center}.nav-group summary strong{font-weight:750}.nav-group summary i{margin-left:auto;font-size:12px;font-style:normal;transition:transform .18s}.nav-group[open] summary i{transform:rotate(180deg)}.nav-group summary:hover{background:rgba(255,255,255,.08);color:#fff}.nav-submenu{display:grid;gap:2px;padding:0 5px 2px 17px}.nav-subitem{min-height:38px;padding:9px 10px;font-size:12px;font-weight:650}.nav-subitem span{font-size:12px}.nav-count.chat-unread,.tab-unread,.mobile-unread{background:#f0a640!important;color:#32220d!important}.sidebar-scrim{display:none}

/* Главная: единая аналитика производства */
.dashboard-view{display:block}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);gap:14px;margin-bottom:24px}.analytics-card{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 9px 28px rgba(34,52,40,.045);overflow:hidden}.analytics-head{min-height:72px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 10px}.analytics-head h3{margin:4px 0 0;font-size:16px}.chart-legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;white-space:nowrap}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.forest{background:var(--forest)}.legend-dot.amber{margin-left:8px;background:var(--warn)}.chart-canvas{position:relative;height:238px;padding:5px 16px 18px}.line-chart{display:block;width:100%;height:100%;overflow:visible}.chart-grid-lines line{stroke:#e6ebe5;stroke-width:1;vector-effect:non-scaling-stroke}.chart-area{fill:url(#workloadGradient);fill:rgba(47,93,70,.08)}.chart-line{fill:none;stroke:var(--forest);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-empty{position:absolute;left:20px;bottom:15px;color:#8a938b;font-size:9px}.risk-chart{min-height:238px;display:block;padding:9px 22px 23px}.risk-chart:has(>.donut-chart){display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px}.donut-chart{width:142px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--forest) 0 62%,var(--warn) 62% 82%,var(--danger) 82% 100%);display:grid;place-items:center;position:relative}.donut-chart:before{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf0ec}.donut-chart>div{position:relative;text-align:center;display:grid}.donut-chart strong{font-size:27px;color:var(--forest)}.donut-chart span{font-size:9px;color:var(--muted);font-weight:750}.risk-legend{display:grid;gap:11px}.risk-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;padding-bottom:9px;border-bottom:1px solid #edf0ec}.risk-legend>div:last-child{border-bottom:0}.risk-legend i{width:8px;height:8px;border-radius:50%}.risk-legend .risk-ok{background:var(--forest)}.risk-legend .risk-warn{background:var(--warn)}.risk-legend .risk-danger{background:var(--danger)}.risk-legend span{font-size:10px;color:var(--muted)}.risk-legend strong{font-size:13px}
.analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-8px 0 18px}.analytics-metrics:empty{display:none}.analytics-metric{min-width:0;border:1px solid var(--border);border-left:4px solid #91a095;border-radius:13px;background:#fff;padding:12px 14px;box-shadow:0 5px 16px rgba(34,52,40,.03)}.analytics-metric.ok{border-left-color:var(--forest)}.analytics-metric.warn{border-left-color:var(--warn)}.analytics-metric.danger{border-left-color:var(--danger)}.analytics-metric.neutral{border-left-color:#84928a}.analytics-metric span,.analytics-metric small{display:block;color:var(--muted);font-size:9px}.analytics-metric strong{display:block;margin:4px 0 2px;color:var(--text);font-size:20px}.analytics-empty{min-height:180px;display:grid;place-items:center;padding:24px;color:var(--muted);font-size:11px;text-align:center}.analytics-svg{display:block;width:100%;height:auto;max-height:245px;overflow:visible}.analytics-svg .chart-label{fill:#7a847c;font-size:9px}.analytics-svg .chart-value{fill:#33473a;font-size:10px;font-weight:800}.danger-text{color:var(--danger)!important}
.analytics-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:-10px 0 24px}.compact-chart{height:260px}.compact-chart .analytics-empty{height:100%;min-height:0}.compact-chart .analytics-svg{height:100%;max-height:none}
.department-dashboard{margin-bottom:26px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 2px 13px}.section-heading h3{margin:4px 0 3px;font-size:18px}.section-heading p{margin:0;color:var(--muted);font-size:11px}.data-updated{color:var(--muted);font-size:9px}.department-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.department-summary{min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-rows:auto 7px;align-items:center;gap:10px 11px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(145deg,#fff,#f8faf7);padding:15px;box-shadow:0 6px 18px rgba(34,52,40,.03)}.department-icon{width:40px;height:40px;border-radius:12px;background:var(--forest-soft);color:var(--forest);display:grid;place-items:center;font-size:17px;font-weight:900}.department-summary strong,.department-summary span{display:block}.department-summary strong{font-size:12px}.department-summary span{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}.department-summary>b{font-size:19px;color:var(--forest)}.department-track{grid-column:1/-1;height:7px;border-radius:999px;background:#e7ece6;overflow:hidden}.department-track i{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--forest),#7ba687);transition:width .3s}.skeleton-card .department-track i{width:36%;opacity:.3}
.department-chart-card{min-width:0;border:1px solid var(--border);border-radius:15px;background:linear-gradient(145deg,#fff,#f8faf7);padding:15px;box-shadow:0 6px 18px rgba(34,52,40,.03)}.department-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.department-chart-head h4{margin:3px 0 0;font-size:12px}.department-chart-head strong{font-size:17px;color:var(--forest)}.department-chart-head span{display:block;color:var(--muted);font-size:8px;letter-spacing:.06em}.department-chart-head b{color:var(--forest);font-size:18px}.department-chart-progress,.department-progress{height:8px;margin:14px 0 12px;border-radius:999px;background:#e4eae4;overflow:hidden}.department-chart-progress i,.department-progress i,.department-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--forest),#7ba687)}.department-chart-stats,.department-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.department-chart-stats>div,.department-chart-stats>span,.department-stats>div,.department-stats>span{display:block;border-radius:8px;background:#f0f3ef;padding:7px;color:var(--muted);font-size:7px}.department-chart-stats span,.department-chart-stats strong,.department-stats span,.department-stats strong{display:block}.department-chart-stats b,.department-chart-stats strong,.department-stats b,.department-stats strong{margin:0 0 3px;color:var(--text);font-size:11px}

/* Общий чат и чат заказа */
.production-chat-view{display:block}.chat-shell{min-height:calc(100vh - 84px - 68px);height:calc(100vh - 84px - 68px);display:grid;grid-template-columns:270px minmax(0,1fr);border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.chat-context-panel{min-width:0;background:#f5f8f4;border-right:1px solid var(--border);padding:18px;overflow:auto}.chat-context-head{display:flex;align-items:center;gap:11px;padding-bottom:17px;border-bottom:1px solid var(--border)}.chat-channel-mark{width:39px;height:39px;border-radius:13px;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:21px}.chat-context-head strong,.chat-context-head span{display:block}.chat-context-head strong{font-size:13px}.chat-context-head span{margin-top:3px;color:var(--muted);font-size:9px}.chat-search{display:flex;align-items:center;gap:7px;margin:14px 0;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:#fff}.chat-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:11px}.chat-context-section{margin-top:18px}.chat-context-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.chat-context-label em{font-style:normal}.chat-participants{display:grid;gap:7px;margin-top:9px}.chat-participant{display:flex;align-items:center;gap:8px;padding:7px;border-radius:9px}.chat-participant:hover{background:#fff}.chat-participant-avatar{width:30px;height:30px;border-radius:9px;background:#dfeadf;color:var(--forest);display:grid;place-items:center;font-size:9px;font-weight:900}.chat-participant strong,.chat-participant span{display:block}.chat-participant strong{font-size:10px}.chat-participant span{margin-top:2px;color:var(--muted);font-size:8px}.chat-guideline{margin-top:20px;padding:12px;border-left:3px solid var(--forest);border-radius:0 10px 10px 0;background:#eaf1e9}.chat-guideline strong{font-size:10px}.chat-guideline p{margin:4px 0 0;color:#526656;font-size:9px;line-height:1.5}.chat-conversation{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fbfcfa}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.94)}.chat-header h2{margin:4px 0 2px;font-size:19px}.chat-header p{margin:0;color:var(--muted);font-size:10px}.chat-message-list{min-height:260px;padding:20px 22px;overflow:auto;display:flex;flex-direction:column;gap:11px;scrollbar-color:#c7d1c8 transparent}.chat-empty-state,.chat-empty{margin:auto;max-width:340px;text-align:center;color:var(--muted)}.chat-empty-state>span,.chat-empty>span{width:50px;height:50px;border-radius:16px;background:var(--forest-soft);color:var(--forest);display:grid;place-items:center;margin:0 auto 11px;font-size:25px}.chat-empty-state strong,.chat-empty strong{display:block;color:var(--text);font-size:13px}.chat-empty-state p,.chat-empty p{margin:5px 0;font-size:10px;line-height:1.5}.chat-message{max-width:min(660px,82%);display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start}.chat-message.own{margin-left:auto;grid-template-columns:minmax(0,1fr) 34px}.chat-message.own .chat-message-avatar,.chat-message.own .chat-avatar{grid-column:2;grid-row:1}.chat-message.own .chat-message-content{grid-column:1;grid-row:1}.chat-message-avatar,.chat-avatar{width:34px;height:34px;border-radius:11px;background:#e1e9e1;color:var(--forest);display:grid;place-items:center;font-size:9px;font-weight:900}.chat-message-meta{display:flex;align-items:center;gap:7px;margin:0 2px 4px}.chat-message-meta strong{font-size:10px}.chat-message-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}.chat-message-meta time{margin-left:auto;color:var(--muted);font-size:8px;white-space:nowrap}.chat-bubble{border:1px solid var(--border);border-radius:4px 13px 13px 13px;background:#fff;padding:10px 12px;box-shadow:0 4px 12px rgba(30,48,35,.035);font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble>p{margin:0}.chat-message.own .chat-bubble{border-color:#c6d7c9;border-radius:13px 4px 13px 13px;background:var(--forest-soft)}.chat-message.deleted{opacity:.72}.chat-deleted{color:var(--muted);font-style:italic}.chat-reply{margin-bottom:7px;border-left:3px solid #9eb5a3;border-radius:0 7px 7px 0;background:#f0f4ef;padding:6px 8px;color:#607064;font-size:8px}.chat-attachments{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.chat-attachment{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:7px 8px;color:var(--forest);font-size:9px;font-weight:800;text-decoration:none}.chat-attachment.image{display:grid;padding:4px;overflow:hidden}.chat-attachment.image img{display:block;width:120px;height:84px;border-radius:6px;object-fit:cover}.chat-file-icon{width:24px;height:24px;border-radius:7px;background:var(--forest-soft);display:grid;place-items:center;font-size:8px}.chat-load-more{align-self:center;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);padding:7px 11px;font-size:9px;font-weight:800}.chat-composer{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:end;gap:9px;padding:13px 17px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fff}.chat-composer label{min-width:0;display:grid}.chat-composer textarea{width:100%;max-height:120px;min-height:42px;resize:none;border:1px solid var(--border);border-radius:12px;background:#f8faf7;padding:11px 12px;outline:0;font-size:11px;line-height:1.45}.chat-composer textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(47,93,70,.09)}.chat-attach{width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:#f5f8f4;color:var(--forest);font-size:20px}.chat-attach.has-file{border-color:var(--forest);background:var(--forest);color:#fff}.chat-send{min-height:40px;padding:10px 16px}.chat-file-selection{display:none;margin:5px 2px 0;color:var(--forest);font-size:8px}.chat-file-selection:not(:empty){display:block}
.order-detail-tabs{display:flex;gap:4px;padding:12px 24px 0;border-bottom:1px solid var(--border);background:#fbfcfa}.order-detail-tab{position:relative;display:flex;align-items:center;gap:7px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:10px 14px 12px;font-size:11px;font-weight:850}.order-detail-tab.active{border-bottom-color:var(--forest);color:var(--forest)}.tab-unread{min-width:19px;border-radius:999px;padding:2px 5px;font-size:8px;font-style:normal;text-align:center}.order-chat-panel{padding:18px 24px 22px;background:#f8faf7}.order-chat-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.order-chat-intro h4{margin:4px 0 0;font-size:15px}.order-chat-intro>span{color:var(--muted);font-size:9px}.order-chat-messages{height:420px;min-height:300px;border:1px solid var(--border);border-radius:14px 14px 0 0;background:#fff}.order-chat-composer{border:1px solid var(--border);border-top:0;border-radius:0 0 14px 14px}.order-tab-panel>.table-wrap{border-top:0}

/* Нижняя навигация телефона */
.mobile-bottom-nav{display:none}.app-shell.hidden+.mobile-bottom-nav{display:none!important}.mobile-bottom-nav button{position:relative;border:0;background:transparent;color:#778078;display:grid;place-items:center;gap:3px;padding:8px 3px 7px}.mobile-bottom-nav button>span{font-size:18px;line-height:1}.mobile-bottom-nav button>strong{font-size:9px}.mobile-bottom-nav button.active{color:var(--forest)}.mobile-unread{position:absolute;top:5px;right:18%;min-width:16px;border-radius:999px;padding:2px 4px;font-size:7px;font-style:normal}

@media(max-width:1280px){.department-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:minmax(0,1.35fr) minmax(290px,.75fr)}}
@media(max-width:980px){.analytics-grid{grid-template-columns:1fr}.analytics-secondary-grid{grid-template-columns:1fr}.chat-shell{grid-template-columns:220px minmax(0,1fr)}.risk-chart{grid-template-columns:150px minmax(180px,1fr)}}

@media(max-width:760px){
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.app-shell{min-height:calc(100vh - 66px)}
  .sidebar{width:min(86vw,310px);padding:18px 15px calc(90px + env(safe-area-inset-bottom));z-index:80;box-shadow:18px 0 55px rgba(10,24,15,.28)}.sidebar.open+.sidebar-scrim{display:block;position:fixed;inset:0;border:0;background:rgba(15,27,19,.46);z-index:70}.main{margin-left:0;width:100%}
  .brand-logo-wrap{height:82px}.nav-group summary,.nav-item{min-height:46px}.sidebar-foot{display:none}
  .topbar{height:68px;padding:0 12px;z-index:30}.topbar h1{font-size:16px}.topbar .eyebrow{font-size:8px}.top-actions{gap:5px}.connection-badge,.search-box{display:none}.user-box{min-width:auto}.user-meta{display:none}.top-actions #importBtn{width:38px;height:38px;padding:0;border-radius:11px}.top-actions #importBtn:before{content:"＋";font-size:20px}.user-avatar{width:34px;height:34px;border-radius:10px}.mobile-menu{width:38px;height:38px;padding:0;border-radius:10px;background:#f1f5f0;color:var(--forest)}
  .content{padding:18px 11px 26px}.hero-row{margin-bottom:17px}.hero-row h2{font-size:21px;line-height:1.2}.hero-row p{font-size:11px;line-height:1.45}.kpi-grid{gap:8px;margin-bottom:17px}.kpi{min-width:0;padding:12px;border-radius:13px;align-items:flex-start}.kpi-icon{width:34px;height:34px;border-radius:10px}.kpi span{font-size:9px;line-height:1.25}.kpi strong{font-size:21px}
  .analytics-metrics{grid-template-columns:1fr 1fr;gap:7px;margin:-5px 0 12px}.analytics-metric{padding:10px 11px}.analytics-metric strong{font-size:18px}.analytics-grid{gap:10px;margin-bottom:18px}.analytics-secondary-grid{gap:10px;margin:-8px 0 18px}.analytics-card{border-radius:14px}.analytics-head{min-height:64px;padding:14px 14px 8px}.analytics-head h3{font-size:14px}.chart-legend{display:none}.chart-canvas,.compact-chart{height:190px;padding:3px 9px 15px}.risk-chart{min-height:188px;grid-template-columns:116px 1fr;gap:10px;padding:4px 15px 17px}.donut-chart{width:112px}.donut-chart:before{inset:14px}.donut-chart strong{font-size:23px}.risk-legend{gap:6px}.risk-legend>div{gap:6px;padding-bottom:6px}.department-summary-grid{grid-template-columns:1fr;gap:8px}.section-heading{align-items:flex-start}.section-heading p,.data-updated{display:none}.department-summary{padding:12px;grid-template-columns:36px minmax(0,1fr) auto}.department-icon{width:36px;height:36px}.department-dashboard{margin-bottom:18px}
  .panel{border-radius:14px}.panel-head{padding:15px}.panel-head h3{font-size:17px}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));padding:0 5px env(safe-area-inset-bottom);z-index:100;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #d6ddd6;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 -9px 26px rgba(27,43,32,.08)}
  .production-chat-view{margin:-18px -11px -26px}.chat-shell{height:calc(100dvh - 68px - 64px - env(safe-area-inset-bottom));min-height:520px;display:block;border:0;border-radius:0;box-shadow:none}.chat-context-panel{display:none}.chat-conversation{height:100%;grid-template-rows:auto minmax(0,1fr) auto}.chat-header{padding:12px 14px}.chat-header h2{font-size:16px}.chat-refresh{display:none}.chat-message-list{padding:14px 11px}.chat-message{max-width:94%;grid-template-columns:28px minmax(0,1fr);gap:7px}.chat-message.own{grid-template-columns:minmax(0,1fr) 28px}.chat-message-avatar,.chat-avatar{width:28px;height:28px;border-radius:9px}.chat-bubble{padding:9px 10px;font-size:10px}.chat-composer{grid-template-columns:38px minmax(0,1fr) 42px;gap:6px;padding:9px 9px calc(9px + env(safe-area-inset-bottom))}.chat-attach{width:38px;height:38px}.chat-composer textarea{min-height:38px;padding:9px 10px}.chat-send{width:42px;min-height:38px;padding:0;font-size:0}.chat-send:before{content:"➤";font-size:16px}
  .detail-head{padding:13px;gap:9px}.detail-head .icon-btn{width:34px;height:34px}.detail-actions{padding-left:43px}.order-detail-tabs{padding:8px 12px 0;position:sticky;top:68px;z-index:5}.order-detail-tab{flex:1;justify-content:center;padding:9px 7px 10px}.order-chat-panel{padding:10px 9px 12px}.order-chat-intro{align-items:flex-start}.order-chat-intro>span{display:none}.order-chat-messages{height:calc(100dvh - 290px);min-height:320px;border-radius:12px 12px 0 0;padding:13px 9px}.order-chat-composer{padding-bottom:10px}
  .photo-job-badge{bottom:calc(76px + env(safe-area-inset-bottom))}

  /* Реестры превращаются в карточки: никакой горизонтальной прокрутки. */
  .table-wrap{overflow:visible}.orders-table,.items-table,.tasks-table,.claims-table,.stage-table,.technical-table{display:block;min-width:0;width:100%;border-collapse:separate}.orders-table thead,.items-table thead,.tasks-table thead,.claims-table thead,.stage-table thead,.technical-table thead{display:none}.orders-table tbody,.items-table tbody,.tasks-table tbody,.claims-table tbody,.stage-table tbody,.technical-table tbody{display:grid;gap:9px;padding:9px;background:#f4f6f2}.orders-table tr,.items-table tr,.tasks-table tr,.claims-table tr,.stage-table tr,.technical-table tr{display:grid;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 10px rgba(31,49,36,.025)}.orders-table td,.items-table td,.tasks-table td,.claims-table td,.stage-table td,.technical-table td{min-width:0;display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px;align-items:center;padding:8px 11px!important;border-bottom:1px solid #edf0ec!important;font-size:11px}.orders-table td:last-child,.items-table td:last-child,.tasks-table td:last-child,.claims-table td:last-child,.stage-table td:last-child,.technical-table td:last-child{border-bottom:0!important}.orders-table td:before,.items-table td:before,.tasks-table td:before,.claims-table td:before,.stage-table td:before,.technical-table td:before{color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.orders-table td[colspan],.items-table td[colspan],.tasks-table td[colspan],.claims-table td[colspan],.stage-table td[colspan],.technical-table td[colspan]{display:block;text-align:center}.orders-table td[colspan]:before,.items-table td[colspan]:before,.tasks-table td[colspan]:before,.claims-table td[colspan]:before,.stage-table td[colspan]:before,.technical-table td[colspan]:before{display:none}
  .orders-table td:nth-child(1):before{content:"Заказ"}.orders-table td:nth-child(2):before{content:"Заказчик"}.orders-table td:nth-child(3):before{content:"Срок"}.orders-table td:nth-child(4):before{content:"Позиций"}.orders-table td:nth-child(5):before{content:"Единиц"}.orders-table td:nth-child(6):before{content:"Фото"}.orders-table td:nth-child(7):before{content:"Контроль"}.orders-table td:nth-child(8):before{content:"Открыть"}
  .items-table td:nth-child(1):before{content:"№"}.items-table td:nth-child(2):before{content:"Фото"}.items-table td:nth-child(3):before{content:"Изделие"}.items-table td:nth-child(4):before{content:"Количество"}.items-table td:nth-child(5):before{content:"Техкомплект"}.items-table td:nth-child(6):before{content:"Паспорт"}.items-table td:nth-child(7):before{content:"Снабжение"}.items-table td:nth-child(8):before{content:"Производство"}.items-table td:nth-child(9):before{content:"ОТК"}.items-table td:nth-child(10):before{content:"Отгрузка"}.items-table td:nth-child(11):before{content:"Карточка"}
  .tasks-table td:nth-child(1):before{content:"Приоритет"}.tasks-table td:nth-child(2):before{content:"Фото"}.tasks-table td:nth-child(3):before{content:"Заказ"}.tasks-table td:nth-child(4):before{content:"Позиция"}.tasks-table td:nth-child(5):before{content:"Этап"}.tasks-table td:nth-child(6):before{content:"Ответственный"}.tasks-table td:nth-child(7):before{content:"Статус"}.tasks-table td:nth-child(8):before{content:"Срок"}.tasks-table td:nth-child(9):before{content:"Открыть"}
  .claims-table td:nth-child(1):before{content:"Фото"}.claims-table td:nth-child(2):before{content:"Рекламация"}.claims-table td:nth-child(3):before{content:"Клиент"}.claims-table td:nth-child(4):before{content:"Изделие"}.claims-table td:nth-child(5):before{content:"Ответственный"}.claims-table td:nth-child(6):before{content:"Статус"}.claims-table td:nth-child(7):before{content:"Срок"}.claims-table td:nth-child(8):before{content:"Открыть"}
  .stage-table td:nth-child(1):before{content:"Фото"}.stage-table td:nth-child(2):before{content:"Заказ"}.stage-table td:nth-child(3):before{content:"Позиция"}.stage-table td:nth-child(4):before{content:"Ответственный"}.stage-table td:nth-child(5):before{content:"Статус"}.stage-table td:nth-child(6):before{content:"Документы"}.stage-table td:nth-child(7):before{content:"Срок"}.stage-table td:nth-child(8):before{content:"Открыть"}
  .technical-table td:nth-child(1):before{content:"Фото"}.technical-table td:nth-child(2):before{content:"Заказ"}.technical-table td:nth-child(3):before{content:"Позиция"}.technical-table td:nth-child(4):before{content:"Техкомплект"}.technical-table td:nth-child(5):before{content:"Паспорт"}.technical-table td:nth-child(6):before{content:"Комплект"}.technical-table td:nth-child(7):before{content:"Файлы"}.technical-table td:nth-child(8):before{content:"Открыть"}
  .item-thumb{width:74px;height:56px}.open-btn{justify-self:start}.orders-view{margin-bottom:10px}
}

@media(max-width:390px){.kpi-grid{grid-template-columns:1fr}.risk-chart{grid-template-columns:100px 1fr}.donut-chart{width:96px}.mobile-bottom-nav button>strong{font-size:8px}.order-detail-tab{font-size:10px}}
