:root{
  color-scheme:light;
  --navy:#07111f;
  --navy-2:#0c1a2e;
  --blue:#1ab8ff;
  --blue-dark:#007dbf;
  --cyan:#00e5c3;
  --green:#00b978;
  --amber:#b86b00;
  --red:#f03030;
  --ink:#091828;
  --muted:#61778f;
  --line:#d6e2f0;
  --soft:#f3f7fd;
  --white:#fff;
  font-family:'Inter','Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:#edf2f9;color:var(--ink);font-size:13px;line-height:1.4;letter-spacing:0;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;letter-spacing:0}
button{cursor:pointer}
[hidden]{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#e8f0f7}
.login-panel{width:min(430px,100%);background:var(--white);border:1px solid var(--line);border-radius:8px;padding:34px;box-shadow:0 16px 50px rgba(16,36,62,.13)}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:15px}
.brand-login{color:var(--navy);margin-bottom:38px}
.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:var(--cyan);color:#fff;font-size:13px}
.login-panel h1{font-size:25px;margin:0 0 8px}
.login-company{color:var(--muted);margin:0 0 26px}
.login-form{display:grid;gap:17px}
label{display:grid;gap:7px;font-weight:650;color:#344761}
input,select,textarea{width:100%;min-height:42px;border:1px solid #c5d3e2;border-radius:6px;background:#fff;color:var(--ink);padding:9px 11px;outline:none}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,127,189,.12)}
.primary-btn,.secondary-btn,.logout-btn,.icon-btn{border:0;border-radius:6px;min-height:38px;padding:8px 14px;font-weight:700}
.primary-btn{background:var(--blue-dark);color:#fff;box-shadow:0 3px 12px rgba(26,184,255,.24)}
.primary-btn:hover{background:#006fa9}
.secondary-btn{background:#fff;border:1px solid #bdd0e2;color:#274563}
.secondary-btn:hover{background:#f3f8fc}
.form-message{min-height:18px;font-size:13px}
.error{color:var(--red)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);padding:22px 14px;display:flex;flex-direction:column;color:#fff}
.company-brief{margin:26px 6px 18px;padding:13px 10px;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);display:grid;gap:5px}
.company-brief strong{font-size:13px;line-height:1.35}
.company-brief span{font-size:11px;color:#adc0d4}
.portal-nav{display:grid;gap:5px}
.portal-nav button{width:100%;min-height:42px;border:0;border-radius:6px;padding:9px 11px;background:transparent;color:#bfd0e1;display:flex;align-items:center;justify-content:space-between;text-align:left;font-weight:700}
.portal-nav button:hover{background:rgba(255,255,255,.07);color:#fff}
.portal-nav button.active{background:#112238;color:#fff;box-shadow:inset 3px 0 0 var(--blue)}
.portal-nav b{min-width:22px;border-radius:10px;padding:2px 6px;background:var(--cyan);color:#fff;text-align:center;font-size:11px}
.logout-btn{margin-top:auto;background:transparent;border:1px solid rgba(255,255,255,.22);color:#d5e2ef}
.workspace{min-width:0}
.topbar{height:76px;padding:0 30px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px}
.topbar h1{font-size:21px;margin:0}
.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}
.account-chip{margin-left:auto;display:flex;align-items:center;gap:10px}
.account-chip>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#d9eef7;color:var(--navy);font-weight:800}
.account-chip div{display:grid;gap:2px}
.account-chip small{color:var(--muted)}
.icon-btn{width:38px;padding:0;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:20px}
#mobile-menu{display:none}
.content{padding:24px 30px 50px;max-width:1480px;margin:0 auto}
.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:22px}
.summary-item{background:#fff;border:1px solid var(--line);border-radius:7px;padding:17px;min-height:98px}
.summary-item span{display:block;color:var(--muted);font-size:12px;margin-bottom:11px}
.summary-item strong{font-size:25px}
.summary-item.accent{border-left:4px solid var(--cyan)}
.section{margin-top:22px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}
.section-heading h2,.section-heading h3{margin:0;font-size:16px}
.data-panel{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.data-table{width:100%;border-collapse:collapse;table-layout:fixed}
.data-table th{height:38px;padding:8px 12px;background:#edf3f8;color:#5c6f87;text-transform:uppercase;font-size:10px;text-align:left}
.data-table td{padding:12px;border-top:1px solid #e1e8f0;vertical-align:top;overflow-wrap:anywhere}
.data-table tr:hover td{background:#f8fbfd}
.entity-title{font-weight:750}
.entity-sub{color:var(--muted);font-size:12px;margin-top:4px}
.entity-link{border:0;background:transparent;color:var(--blue-dark);font-weight:750;padding:0;text-align:left;text-decoration:underline;text-decoration-color:#addced;text-underline-offset:3px}
.entity-link:hover{color:#005f91;text-decoration-color:currentColor}
.status{display:inline-flex;align-items:center;min-height:24px;border-radius:12px;padding:4px 9px;background:#e7edf4;color:#455a73;font-size:11px;font-weight:750}
.status.accepted,.status.completed,.status.done,.status.paid{background:#daf3e8;color:#087850}
.status.new,.status.request{background:#e2f2fa;color:#086b9e}
.status.in_progress,.status.review,.status.ready{background:#fff0d8;color:#975600}
.status.rejected,.status.cancelled{background:#fde4e6;color:#a32634}
.empty{padding:36px 20px;text-align:center;color:var(--muted)}
.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px}
.activity-list{display:grid}
.activity-row{padding:14px 16px;border-top:1px solid #e1e8f0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.activity-row:first-child{border-top:0}
.activity-meta{color:var(--muted);font-size:12px;margin-top:5px}
.progress-track{width:110px;height:7px;border-radius:4px;background:#e1e9f1;overflow:hidden}
.progress-fill{height:100%;background:var(--cyan)}
.request-dialog{width:min(760px,calc(100% - 28px));max-height:92vh;border:0;border-radius:8px;padding:0;box-shadow:0 24px 80px rgba(8,20,37,.3)}
.request-dialog::backdrop{background:rgba(11,25,43,.62)}
.request-dialog form{padding:22px;overflow:auto;max-height:92vh}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:15px}
.dialog-head h2{margin:0 0 5px;font-size:20px}
.dialog-head p{margin:0;color:var(--muted);font-size:12px}
.type-control{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#eaf1f7;padding:4px;border-radius:7px;margin:18px 0}
.type-control button{border:0;border-radius:5px;padding:10px;background:transparent;color:#4d6179;font-weight:700}
.type-control button.active{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(16,36,62,.12)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.field-wide{grid-column:1/-1}
.items-editor{margin:20px 0}
.item-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 38px;gap:8px;margin-top:8px}
.item-remove{border:1px solid #efc3c7;border-radius:6px;background:#fff;color:var(--red);font-size:18px}
.field-block{display:grid}
.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:18px}
.profile-box{background:#fff;border:1px solid var(--line);border-radius:7px;padding:20px}
.profile-box h2{font-size:16px;margin:0 0 18px}
.profile-lines{display:grid;gap:14px}
.profile-line{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;border-bottom:1px solid #e3eaf1;padding-bottom:11px}
.profile-line span{color:var(--muted)}
.password-form{display:grid;gap:13px}
.compact-btn{min-height:30px;padding:5px 9px;font-size:11px;white-space:nowrap}
.danger-btn{border:1px solid #f3b8bd;border-radius:6px;background:#fff;color:var(--red);font-weight:700}
.danger-btn:hover{background:#fff3f4}
.request-action-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.requests-table th:nth-child(1){width:17%}
.requests-table th:nth-child(7){width:20%}
.stock-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}
.stock-summary>div{background:#fff;border:1px solid var(--line);border-radius:7px;padding:14px 16px;display:grid;gap:5px}
.stock-summary span{color:var(--muted);font-size:11px}
.stock-summary strong{font-size:20px}
.stock-warehouse-group .section-heading span{color:var(--muted);font-size:12px}
.stock-table th:first-child{width:40%}
.order-dialog{width:min(980px,calc(100% - 28px))}
.order-dialog-body{padding:22px;max-height:92vh;overflow:auto}
.order-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.order-meta-grid>div{min-height:72px;border:1px solid var(--line);border-radius:7px;background:var(--soft);padding:11px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.order-meta-grid span:first-child{color:var(--muted);font-size:11px}
.detail-section{margin-top:18px}
.detail-section h3{font-size:14px;margin:0 0 9px}
.detail-table-wrap{border:1px solid var(--line);border-radius:7px;overflow:auto}
.detail-table{width:100%;border-collapse:collapse;table-layout:fixed}
.detail-table th{padding:8px 10px;background:#edf3f8;color:#5c6f87;text-transform:uppercase;font-size:10px;text-align:left}
.detail-table td{padding:10px;border-top:1px solid #e1e8f0;vertical-align:top;overflow-wrap:anywhere}
.order-stages{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:6px}
.order-stage{min-height:56px;border:1px solid var(--line);border-radius:7px;padding:9px;display:flex;align-items:center;gap:8px}
.order-stage span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-weight:800}
.order-stage.enabled{background:#f0fcf8;border-color:#b8ead9}
.order-stage.enabled span{background:var(--green);color:#fff}
.order-stage.disabled{background:#f5f7fa;color:#8293a6}
.order-stage.disabled span{background:#e1e7ee}
.task-detail{border:1px solid var(--line);border-radius:7px;padding:12px;margin-top:8px}
.task-detail .detail-table-wrap{margin-top:10px}
.task-detail-head,.shipment-detail{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.shipment-detail{border:1px solid var(--line);border-radius:7px;padding:11px;margin-top:7px}
.route-list{margin-top:8px;display:grid;gap:6px}
.route-list>div{border-left:3px solid var(--cyan);background:var(--soft);padding:9px 11px;display:flex;justify-content:space-between;gap:12px}
.route-list>div>span{display:flex;align-items:center;gap:8px;color:var(--muted)}
.document-list{display:flex;flex-wrap:wrap;gap:8px}
.document-list a{display:inline-flex;align-items:center;min-height:34px;border:1px solid #bcd3e5;border-radius:6px;padding:6px 10px;background:#fff;color:var(--blue-dark);font-weight:700;text-decoration:none}
.document-list a:hover{background:#edf8fd}
.detail-comment{margin:0;border:1px solid var(--line);border-radius:7px;background:var(--soft);padding:12px;white-space:pre-wrap}
.change-comment{margin-top:18px}
@media(max-width:1100px){
  .summary-grid{grid-template-columns:repeat(3,1fr)}
  .split,.profile-layout{grid-template-columns:1fr}
  .order-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-stages{grid-template-columns:repeat(3,minmax(100px,1fr))}
}
@media(max-width:780px){
  .app-shell{display:block}
  .sidebar{position:fixed;z-index:20;left:-250px;width:235px;transition:left .2s}
  .app-shell.menu-open .sidebar{left:0;box-shadow:12px 0 32px rgba(8,20,37,.25)}
  .topbar{height:auto;min-height:70px;padding:12px 15px}
  #mobile-menu{display:block;flex:0 0 38px}
  .topbar h1{font-size:18px}
  .account-chip div{display:none}
  .content{padding:16px 12px 36px}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .summary-item{min-height:86px;padding:13px}
  .summary-item strong{font-size:21px}
  .data-panel{overflow-x:auto}
  .data-table{min-width:720px}
  .form-grid{grid-template-columns:1fr}
  .field-wide{grid-column:auto}
  .stock-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .order-dialog-body{padding:16px 12px}
  .order-meta-grid{grid-template-columns:1fr 1fr}
  .order-stages{grid-template-columns:1fr 1fr}
  .detail-table{min-width:600px}
}
@media(max-width:440px){
  .login-panel{padding:25px 20px}
  .summary-grid{grid-template-columns:1fr 1fr}
  .item-row{grid-template-columns:minmax(0,1fr) 84px 38px}
  .type-control button{font-size:12px;padding:9px 4px}
}
