/* CRM balanced visual refresh: presentation only */
:root{--bg:#f3f5f9;--surface:#fff;--ink:#17233b;--muted:#68758a;--line:#e2e7ef;--primary:#315fc4;--primary-hover:#244da7;--soft:#edf2fb;--radius:12px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}a{color:#2857b5;text-decoration:none}a:hover{text-decoration:underline}
.top{position:sticky;top:0;z-index:20;background:#17233b;color:#fff;padding:10px clamp(14px,2vw,28px);display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 3px 14px #17233b14}.brand{font-size:18px;font-weight:760;color:#fff;white-space:nowrap}.nav{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.nav>a{color:#e6ebf5;padding:8px 10px;border-radius:8px;font-size:13px}.nav>a:hover{background:#ffffff16;text-decoration:none}.nav form{margin:0}.nav>span{padding:0 8px;color:#d5deed;font-size:12px}.nav .btn.ghost{border:1px solid #ffffff30}.nav-group{position:relative}.nav-group summary{list-style:none;cursor:pointer;color:#e6ebf5;padding:8px 10px;border-radius:8px;font-size:13px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:' ▾';opacity:.7}.nav-group[open] summary,.nav-group summary:hover{background:#ffffff16}.nav-group-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 10px 28px #17233b20;display:flex;flex-direction:column;gap:2px}.nav-group-menu a{padding:9px 10px;border-radius:7px;color:var(--ink);font-size:13px}.nav-group-menu a:hover{background:var(--soft);text-decoration:none}
.wrap{width:100%;max-width:1600px;margin:22px auto;padding:0 clamp(14px,2vw,28px)}.head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}h1{font-size:clamp(22px,2vw,27px);letter-spacing:-.025em;margin:0 0 4px}h2{font-size:17px;letter-spacing:-.01em;margin:0 0 12px}.muted{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin:14px 0}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 2px 8px #1c315006}.metric{font-size:26px;font-weight:760;letter-spacing:-.03em;margin-top:5px}.card-link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .12s,box-shadow .12s}.card-link:hover{border-color:#b8c8e9;box-shadow:0 5px 16px #1b315010;text-decoration:none}.card-link small{display:block;margin-top:4px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:9px 13px;background:var(--primary);color:#fff;font-weight:650;cursor:pointer;font-size:13px;line-height:1.35;white-space:nowrap}.btn:hover{background:var(--primary-hover);text-decoration:none}.btn.secondary{background:#e9eef7;color:#253653}.btn.secondary:hover{background:#dce5f4}.btn.danger{background:#b42332}.btn.small{padding:6px 9px;font-size:12px}.btn.ghost{background:transparent;color:#e6ebf5;padding:6px 9px}.flash{padding:11px 14px;border-radius:9px;margin-bottom:12px;background:#e5f7ec;color:#155d37;border:1px solid #c8ecd7}.flash.error{background:#fff0f0;color:#982a32;border-color:#f4cccc}
.filters,.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:12px;color:#526078;font-weight:700}input,select,textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid #cbd4e2;border-radius:8px;background:#fff;font:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid #315fc421;border-color:#7c9de4}textarea{min-height:88px;resize:vertical}.tablewrap{overflow:auto;width:100%;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;padding:9px 11px;border-bottom:1px solid #edf0f5;vertical-align:middle}th{background:#f7f9fc;color:#59667b;font-size:11px;text-transform:uppercase;letter-spacing:.035em;position:sticky;top:0;z-index:1}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfe}.titlecell{min-width:210px;max-width:420px}.pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9eef7;color:#34435c;font-size:11px;white-space:nowrap;font-weight:650}.pill.red{background:#ffe7e8;color:#a51d2d}.pill.green{background:#e0f6e9;color:#126b3c}.pill.amber{background:#fff1ce;color:#805500}.rowactions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.list{display:flex;flex-direction:column;gap:8px}.item{padding:10px 0;border-bottom:1px solid #edf0f5}.item:last-child{border:0}.barrow{display:grid;grid-template-columns:100px 1fr 90px;gap:10px;align-items:center;margin:12px 0;font-size:13px}.bar{height:9px;background:#e9edf5;border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;background:#4777d7;border-radius:99px}.loginbox{max-width:420px;margin:8vh auto;padding:26px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px #17233b0b}.loginbox h1{margin-bottom:20px}.footer{padding:22px;text-align:center;color:#8791a2;font-size:11px}
.filter-options{max-height:150px;overflow:auto;border:1px solid #d5dce7;border-radius:8px;padding:7px;background:#fff;display:flex;flex-direction:column;gap:4px}.filter-option{display:flex!important;flex-direction:row;align-items:center;gap:7px;font-weight:400!important;color:var(--ink)!important;cursor:pointer;padding:2px 1px}.filter-option input{width:16px;height:16px;flex:0 0 16px;margin:0}.filter-option span{overflow-wrap:anywhere}.filters select[multiple]{min-height:118px;padding:8px;max-width:100%}.users-password input{max-width:260px}.tablewrap table{width:100%}
/* Order pages: compact controls, readable spacing, responsive forms */
.order-card,.panel{min-width:0}.panel .formgrid+.field{margin-top:14px}.formgrid+.rowactions{margin-top:14px}.formgrid .muted{font-size:12px}.rowactions select{max-width:240px}.inline-edit{display:flex;gap:5px;margin-top:6px;align-items:center}.inline-edit input[type=date]{width:135px;min-width:0;padding:5px}.inline-edit input[list]{width:125px;min-width:0;padding:5px}.ready-form{display:flex;flex-direction:column;gap:4px;min-width:140px}.filepick{font-size:11px;color:#666}.filepick input{display:block;max-width:165px;font-size:11px}.rowactions .ready-form{min-width:125px}.dashboard-section{min-width:0}.panel h2{display:flex;align-items:center;gap:8px}.footer{margin-top:10px}
@media(min-width:1200px){.wrap{padding-left:26px;padding-right:26px}}@media(max-width:1000px){.top{align-items:flex-start}.nav{gap:2px}.nav>a,.nav-group summary{padding:7px 8px}.split{grid-template-columns:1fr}table{min-width:1050px}}@media(max-width:650px){.top{position:static;padding:12px;display:block}.brand{display:inline-block;margin-bottom:8px}.nav{display:flex;gap:3px}.nav>a,.nav-group summary{font-size:12px;padding:7px}.wrap{padding:0 12px;margin:15px auto}.head{align-items:flex-start}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card,.panel{padding:13px}.metric{font-size:23px}.filters,.formgrid{grid-template-columns:1fr}.barrow{grid-template-columns:80px 1fr 75px}.tablewrap table{min-width:950px}.loginbox{margin:5vh 12px;padding:20px}}

.dashboard-more summary{padding:2px 0}.dashboard-more .cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dashboard-more[open]{padding-bottom:12px}

/* Responsive layout v4.9: phones, tablets, small laptops */
img,svg,video,canvas{max-width:100%;height:auto}
button,a,input,select,textarea{touch-action:manipulation}
button,.btn{min-height:38px}
:focus-visible{outline:3px solid #6d96ef;outline-offset:2px}
.tablewrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
@media (max-width: 900px){
  .top{gap:8px}
  .nav{min-width:0}
  .nav>a,.nav-group summary{min-height:38px;display:flex;align-items:center}
  .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
  .split{grid-template-columns:minmax(0,1fr)}
  .panel,.card{min-width:0}
  .formgrid,.filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formgrid>* ,.filters>*{min-width:0}
}
@media (max-width: 600px){
  html{ -webkit-text-size-adjust:100%; text-size-adjust:100% }
  body{font-size:14px}
  .top{padding:10px 12px;display:flex;flex-direction:column;align-items:stretch;gap:8px}
  .brand{font-size:18px;margin:0;white-space:normal}
  .nav{display:flex;flex-wrap:wrap;align-items:stretch;gap:4px}
  .nav>a,.nav-group summary{font-size:13px;padding:8px 9px;min-height:40px}
  .nav-group{position:relative}
  .nav-group-menu{position:absolute;left:0;right:auto;top:100%;z-index:30;max-width:calc(100vw - 24px);min-width:190px}
  .nav-group:last-child .nav-group-menu{left:auto;right:0}
  .wrap{width:100%;padding:0 10px;margin:12px auto}
  .head{gap:9px;margin-bottom:12px}
  h1{font-size:22px;line-height:1.25}
  h2{font-size:16px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}
  .card,.panel{padding:11px;border-radius:10px}
  .metric{font-size:21px;overflow-wrap:anywhere}
  .filters,.formgrid{grid-template-columns:minmax(0,1fr);gap:10px}
  input,select,textarea{font-size:16px;padding:10px;min-height:42px}
  textarea{min-height:90px}
  .btn{white-space:normal;text-align:center;min-height:42px;padding:10px 12px}
  .btn.small{min-height:36px}
  .rowactions{gap:7px;align-items:stretch}
  .rowactions .btn,.rowactions form,.rowactions select{max-width:100%}
  .rowactions form{min-width:0}
  .inline-edit{flex-wrap:wrap}
  .inline-edit input[type=date],.inline-edit input[list]{width:100%;min-height:40px}
  .ready-form,.filepick{min-width:0;max-width:100%}
  .filepick input{max-width:100%;font-size:13px}
  .tablewrap{border-radius:8px}
  /* Wide data tables remain scrollable instead of squeezing columns unreadably. */
  .tablewrap table{min-width:760px}
  th,td{padding:8px 9px}
  .titlecell{min-width:180px;max-width:260px}
  .barrow{grid-template-columns:72px minmax(30px,1fr) 66px;gap:7px;font-size:12px}
  .loginbox{width:auto;margin:5vh 10px;padding:18px}
  .footer{padding:16px 10px}
  .dashboard-more .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-more summary{padding:8px 0;cursor:pointer}
  .item form{margin-top:8px}
}
@media (max-width: 360px){
  .wrap{padding:0 8px}
  .cards,.dashboard-more .cards{grid-template-columns:minmax(0,1fr)}
  .nav>a,.nav-group summary{font-size:12px;padding:7px}
  .metric{font-size:20px}
  .card,.panel{padding:10px}
}
@media (min-width: 601px) and (max-width: 900px){
  .top{flex-direction:column;align-items:stretch}
  .nav{flex-wrap:wrap}
  .wrap{padding-left:16px;padding-right:16px}
  .tablewrap table{min-width:900px}
}

/* Header navigation: button-style links */
.nav .nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:38px;padding:8px 12px;border:1px solid #ffffff26;border-radius:9px;background:#ffffff0b;color:#f3f6fc;font-size:13px;font-weight:650;line-height:1.25;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s;cursor:pointer}
.nav .nav-btn:hover{background:#ffffff1d;border-color:#ffffff52;color:#fff;text-decoration:none}
.nav .nav-btn.active{background:#315fc4;border-color:#6f91e0;color:#fff;box-shadow:inset 0 1px 0 #ffffff20,0 2px 6px #00000018}
.nav-group summary.nav-btn{list-style:none}
.nav-group summary.nav-btn:after{content:'▾';font-size:10px;margin-left:3px;opacity:.8}
.nav-group[open]>summary.nav-btn{background:#ffffff25;border-color:#ffffff50}
.nav-group-menu{z-index:40}
.nav-group-menu a{display:block}
@media(max-width:600px){.nav .nav-btn{flex:0 0 auto;min-height:40px;padding:8px 10px}.nav{align-items:center}.nav-group-menu{top:calc(100% + 4px)}}

/* v4.12: centered compact forms, password visibility and predictable back navigation */
.compact-form-panel{width:min(100%,760px);margin:18px auto;padding:clamp(18px,3vw,28px)}
.password-panel{width:min(100%,620px)}
.password-form{grid-template-columns:minmax(0,1fr);gap:16px;max-width:480px;margin:0 auto}
.users-create-panel{width:min(100%,900px)}
.users-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.form-actions{display:flex;justify-content:center;grid-column:1/-1;margin-top:4px}
.password-input{display:flex;align-items:stretch;gap:6px;min-width:0}
.password-input input{flex:1;min-width:0;width:100%}
.password-toggle{flex:0 0 auto;min-width:82px;border:1px solid #cbd4e2;border-radius:8px;background:#f1f4f9;color:#263957;font:600 12px/1.2 system-ui,sans-serif;padding:0 10px;cursor:pointer}
.password-toggle:hover{background:#e4eaf4}
.admin-reset-form{display:flex;flex-direction:column;gap:6px;margin-top:8px;min-width:200px;max-width:280px}
.admin-reset-form .password-input{gap:4px}.admin-reset-form .password-toggle{min-width:72px;padding:0 6px}
.order-form-panel{width:min(100%,1080px);margin:0 auto;padding:clamp(14px,2vw,24px)}
.order-form-panel>.formgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}
.order-form-panel .field{min-width:0}
.order-form-panel textarea{width:100%;max-width:100%}
.order-page-head,.list-page-head{justify-content:flex-start;align-items:center;gap:16px}
.order-page-title,.list-page-title{min-width:0;flex:1}
.back-button{order:0;flex:0 0 auto}
.order-page-title h1,.list-page-title h1{margin-bottom:4px}
@media(max-width:900px){.order-form-panel>.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.users-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .compact-form-panel{width:100%;margin:12px auto;padding:14px}
 .users-create-form,.order-form-panel>.formgrid{grid-template-columns:minmax(0,1fr)}
 .password-form{gap:13px}
 .password-toggle{min-height:42px}
 .admin-reset-form{min-width:0;max-width:100%}
 .order-form-panel{padding:12px}
 .order-page-head,.list-page-head{align-items:flex-start;gap:10px}
 .order-page-head,.list-page-head{display:grid;grid-template-columns:auto minmax(0,1fr)}
 .back-button{align-self:start}
 .order-page-title,.list-page-title{min-width:0}
 .order-page-title h1,.list-page-title h1{font-size:21px}
}

/* CRM 4.33.1: compact notifications and readable mobile order cards */
.crm-notices{min-width:0}.crm-notices>summary{cursor:pointer;font-size:13px;font-weight:650;color:#315fc4;padding:9px 2px;list-style:revert}.crm-notices>.notification-stack{padding-top:6px}.admin-action-alert,.executor-action-alert{min-width:0}
.admin-action-head{gap:8px}.admin-action-head h2{margin-bottom:3px}
@media(max-width:760px){
 .transfer-notices:not([open])>.notification-stack{display:none}
 .calendar-day .availability-control select{font-size:13px;text-align:center;min-height:29px;padding:2px 0;width:100%;cursor:pointer}
 .calendar-day .availability-control{margin-top:4px}
 .calendar-day-head span{padding:1px 3px}
 .calendar-order{display:none}
 .calendar-day:focus-within .calendar-order{display:block;white-space:normal;overflow-wrap:anywhere}
 .orders-tablewrap{overflow:visible;border:0;background:transparent}
 .orders-table{display:block;width:100%;min-width:0!important}
 .orders-table thead{display:none}
 .orders-table tbody{display:grid;gap:12px}
 .orders-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;border:1px solid #dce3ec;border-radius:12px;background:#fff;overflow:hidden;padding:9px 12px}
 .orders-table tbody td{display:block;min-width:0!important;max-width:none!important;width:auto!important;padding:8px 0;border-bottom:1px solid #edf0f5;overflow-wrap:anywhere}
 .orders-table tbody td::before{content:attr(data-label);display:block;color:#64748b;font-size:10px;text-transform:uppercase;font-weight:700;margin-bottom:5px;letter-spacing:.025em}
 .orders-table tbody td.titlecell,.orders-table tbody td.commentcell,.orders-table tbody td:last-child{grid-column:1/-1}
 .orders-table tbody td:last-child{border-bottom:0}
 .orders-table .status-inline,.orders-table .inline-edit,.orders-table .ready-form{min-width:0;width:100%;max-width:100%;flex-wrap:wrap}
 .orders-table .inline-edit input,.orders-table .status-inline select{max-width:100%;min-width:0;flex:1}
 .orders-table .rowactions{width:100%}
 .orders-table .filepick input{max-width:100%}
 .orders-table .comment-expand,.orders-table .comment-expand summary{max-width:100%}
}
@media(max-width:420px){.orders-table tbody tr{grid-template-columns:minmax(0,1fr)}.orders-table tbody td.titlecell,.orders-table tbody td.commentcell,.orders-table tbody td:last-child{grid-column:1}}

@media(max-width:760px){.mobile-finance-details>summary{cursor:pointer;color:#24395c;font-weight:700;font-size:15px;padding:5px 0}.mobile-finance-details[open]>summary{margin-bottom:12px}.mobile-finance-content{min-width:0}.mobile-finance-content .tablewrap{max-width:100%;overflow-x:auto}}
