:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17253b;background:#f4f7fb;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.shell{display:grid;grid-template-columns:242px 1fr;min-height:100vh}.side{background:#10213b;color:white;padding:24px 16px}.brand{font-size:23px;font-weight:800;letter-spacing:.08em;padding:6px 12px 24px}.brand small{display:block;font-size:11px;font-weight:500;color:#9badc6;letter-spacing:.15em;margin-top:3px}.nav{width:100%;padding:13px 14px;border:0;border-radius:10px;background:transparent;color:#d8e1ed;text-align:left;margin:3px 0}.nav:hover,.nav.active{background:#264468;color:white}.side-note{font-size:12px;color:#9badc6;padding:26px 12px}.main{min-width:0}.top{background:white;border-bottom:1px solid #e2e9f1;display:flex;align-items:center;justify-content:space-between;padding:19px 32px;gap:16px}.top h1{font-size:22px;margin:0}.top p{margin:5px 0 0;color:#65748a;font-size:13px}.top-right{display:flex;align-items:center;gap:10px}.content{padding:26px 32px;max-width:1460px}.card{background:white;border:1px solid #e1e8f0;border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 2px 10px #142d5010}.card h2{font-size:17px;margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{background:white;border:1px solid #e1e8f0;border-radius:13px;padding:20px}.metric strong{font-size:28px;display:block;margin-top:8px;color:#153c73}.metric span,.muted{color:#64748b}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{justify-content:space-between}.btn{border:0;background:#174b88;color:white;border-radius:9px;padding:10px 15px;min-height:42px;font-weight:600}.btn.secondary{background:#edf3fa;color:#174b88}.btn.danger{background:#a53636}.btn.small{min-height:32px;padding:5px 10px;font-size:12px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px;font-size:13px;color:#44546a;font-weight:600}.field input,.field select,.field textarea{border:1px solid #cbd5e1;border-radius:8px;padding:10px 11px;min-height:42px;background:#fff;color:#17253b}.field textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th{text-align:left;font-size:12px;color:#65748a;background:#f7f9fc}td,th{padding:11px 12px;border-bottom:1px solid #e9eef4;vertical-align:top}td{font-size:13px}.badge{display:inline-block;border-radius:20px;padding:4px 9px;background:#edf3fa;color:#214b7c;font-weight:650;font-size:11px;white-space:nowrap}.badge.Waiting{background:#fff2d7;color:#865c00}.badge.Completed,.badge.Accepted{background:#e1f4e9;color:#17633c}.badge.Cancelled,.badge.Returned{background:#fce9e9;color:#8b3333}.badge.In\ Progress{background:#e5eeff;color:#234a99}.tabs{display:flex;gap:8px;margin-bottom:14px}.tabs button{border:1px solid #d4dfeb;background:white;border-radius:8px;padding:8px 12px}.tabs button.active{background:#174b88;color:white;border-color:#174b88}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day{min-height:88px;border:1px solid #e1e8f0;border-radius:8px;padding:8px;cursor:pointer}.day.selected{border:2px solid #174b88}.day small{display:block;color:#697b91}.day .dot{font-size:11px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{background:#e7eef7;border-radius:5px;padding:3px 5px}.alert{border-radius:8px;padding:12px 14px;margin:10px 0;background:#e5f4e9;color:#17633c}.alert.error{background:#fdeaea;color:#9a2828}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(140deg,#10213b,#1d4a7c)}.login .card{width:min(430px,100%);padding:30px}.login h1{margin:0}.hint{font-size:12px;color:#64748b;line-height:1.5}.empty{padding:24px;color:#708096;text-align:center}.section-title{font-size:12px;color:#7f91aa;text-transform:uppercase;padding:18px 12px 6px;letter-spacing:.08em}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{padding:12px;display:flex;align-items:center;flex-wrap:wrap}.brand{padding:6px 10px 10px}.side-note,.section-title{display:none}.nav{width:auto;padding:9px}.content{padding:18px}.top{padding:16px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid,.form-grid{grid-template-columns:1fr}.top{align-items:flex-start}.top-right{flex-wrap:wrap}.calendar{grid-template-columns:repeat(7,minmax(32px,1fr))}.day{min-height:65px;padding:3px}.day .dot{display:none}}
.quote-line{display:grid;grid-template-columns:minmax(190px,2fr) 85px 100px 90px minmax(130px,1fr) 76px;gap:9px;align-items:end;border-bottom:1px solid #e7edf4;padding:10px 0}.quote-line .field{min-width:0}.quote-line input,.quote-line select{width:100%}@media(max-width:1100px){.quote-line{grid-template-columns:repeat(2,minmax(0,1fr))}}

.badge.Pending,.badge.Review.Required{background:#fff2d7;color:#865c00}.badge.Verified,.badge.Approved,.badge.Ready.to.Sell{background:#e1f4e9;color:#17633c}.badge.Sent,.badge.Negotiating{background:#e5eeff;color:#234a99}

/* Work and CRM agenda: the same status colors in every calendar view. */
.agenda-card h2{margin-bottom:4px}.agenda-card .hint{margin:0 0 12px}
.agenda-controls{margin:16px 0 12px}.agenda-controls .tabs{margin:0}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:8px 0 15px}
.legend-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--tone-text);font-weight:650}
.legend-chip i{width:10px;height:10px;border-radius:50%;background:var(--tone-line)}
.tone-open{--tone-bg:#e9f1ff;--tone-text:#174b91;--tone-line:#3b70bf}
.tone-progress{--tone-bg:#f0eaff;--tone-text:#572e99;--tone-line:#7953c6}
.tone-waiting{--tone-bg:#fff1d1;--tone-text:#785000;--tone-line:#bf8200}
.tone-completed{--tone-bg:#e2f5e9;--tone-text:#176039;--tone-line:#2a9861}
.tone-cancelled{--tone-bg:#eef1f4;--tone-text:#516075;--tone-line:#8290a2}
.tone-overdue{--tone-bg:#ffe7e4;--tone-text:#a12820;--tone-line:#d04940}
.agenda-calendar-scroll{overflow-x:auto;padding:1px}
.calendar{gap:6px}.calendar.daily{grid-template-columns:minmax(0,1fr)}
.calendar .weekday{text-align:center;color:#65748a;font-size:12px;font-weight:700;padding:6px}
.calendar .day{min-height:150px;display:flex;flex-direction:column;gap:4px;padding:7px;background:#fff;border-color:#dbe4ef;transition:background .15s,border-color .15s}
.calendar .day:hover{background:#f8fbff;border-color:#96b4db}
.calendar .day.selected{border:2px solid #174b88;padding:6px}
.calendar .day.today{background:#f4f9ff}
.calendar .day.outside{background:#f7f9fc;color:#8190a3}
.day-date{border:0;background:transparent;display:flex;align-items:center;gap:6px;text-align:left;color:inherit;padding:3px 4px;font-weight:700;min-height:27px}
.day-date strong{font-size:14px}.today-mark{font-size:10px;background:#174b88;color:#fff;border-radius:12px;padding:2px 6px}
.day-events{display:flex;flex-direction:column;gap:4px;min-width:0}
.calendar-event{width:100%;display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left;border:0;border-left:4px solid var(--tone-line);border-radius:5px;padding:5px 6px;background:var(--tone-bg);color:var(--tone-text);font-size:12px;font-weight:700;line-height:1.3}
.calendar-event:hover{filter:brightness(.96)}.calendar-event span,.calendar-event small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-event small{font-size:10px;font-weight:500;opacity:.85}
.day-add{margin-top:auto;align-self:flex-end;background:transparent;border:1px dashed #bbcce1;border-radius:6px;color:#315c8b;min-width:26px;min-height:26px}
.day-add:hover{background:#eaf2fb}.day-more{font-size:11px;color:#64748b}
.calendar.daily .day{min-height:210px}.calendar.daily .calendar-event{max-width:480px}
.calendar-event:focus-visible,.day-date:focus-visible,.day-add:focus-visible{outline:3px solid #174b88;outline-offset:2px}
.agenda-overlay{position:fixed;inset:0;z-index:50;background:#10213b9c;display:flex;align-items:center;justify-content:center;padding:18px}
.agenda-dialog{width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 20px 60px #09172b5c}
.agenda-dialog .card{border:0;box-shadow:none;margin:0;padding-top:4px}
.dialog-top{display:flex;justify-content:flex-end;padding:14px 16px 0}
.badge.Overdue{background:#ffe7e4;color:#a12820}
@media(max-width:720px){
 .calendar.weekly,.calendar.monthly{min-width:700px;grid-template-columns:repeat(7,minmax(94px,1fr))}
 .calendar .day{min-height:130px}.calendar-event small{display:none}
 .agenda-dialog{max-height:calc(100vh - 18px)}.agenda-overlay{padding:9px}
}
.task-row td:first-child{border-left:3px solid var(--tone-line)}

/* Product catalogue and signed-in language control */
.quick-language{display:flex;align-items:center;gap:7px;color:#4c5e75;font-size:12px;font-weight:700;white-space:nowrap}
.quick-language select{border:1px solid #cbd5e1;background:#fff;color:#17253b;border-radius:8px;padding:9px 10px;min-height:42px;max-width:145px}
.catalog-head h2{margin-bottom:3px}.catalog-head .hint{margin:0}
.catalog-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:18px}
.catalog-toolbar .field{margin:0;flex:1 1 150px;min-width:145px}.catalog-toolbar .field:first-child{flex:2 1 200px}.catalog-layout{display:flex;gap:5px;padding-bottom:1px}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px;margin-bottom:20px}
.catalog-card{border:1px solid #dce5ef;background:white;border-radius:13px;overflow:hidden;box-shadow:0 2px 10px #142d5010;display:flex;flex-direction:column}
.catalog-image{height:165px;background:#f0f5fa;display:grid;place-items:center}
.catalog-image img{width:100%;height:100%;object-fit:contain}
.catalog-placeholder{width:76px;height:76px;border-radius:18px;background:#dbe9f8;color:#174b88;display:grid;place-items:center;font-size:20px;font-weight:800;letter-spacing:.05em}
.catalog-body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}
.catalog-body h3{margin:0;font-size:16px;line-height:1.35}.catalog-code{font-weight:750;color:#174b88;font-size:12px}
.catalog-spec{margin:0;color:#5e6e83;font-size:12px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:54px}
.catalog-badges{display:flex;gap:5px;flex-wrap:wrap}
.catalog-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #e7edf4}
.catalog-foot strong{font-size:12px;color:#264668}
.badge.demo{background:#f0f3f6;color:#475569}
.catalog-list-title{display:flex;align-items:center;gap:10px}
.catalog-list-title img,.catalog-mini-placeholder{width:50px;height:50px;object-fit:contain;background:#f0f5fa;border-radius:6px;flex:none}
.catalog-mini-placeholder{display:grid;place-items:center;color:#174b88;font-size:11px;font-weight:800}
.catalog-back{margin-bottom:10px}
.product-removal{margin-top:18px;padding-top:14px;border-top:1px solid #e7edf4}.product-removal .btn{color:#9a2929;background:#fceaea}
.badge.Archived.product{background:#fceaea;color:#9a2929}
@media(max-width:950px){.catalog-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-layout{align-self:end}}
@media(max-width:560px){.catalog-toolbar{grid-template-columns:1fr}.catalog-grid{grid-template-columns:1fr}.quick-language span{display:none}.quick-language select{max-width:115px}}

/* XE exchange-rate indicator: visible at a glance in the upper-left header area. */
.top-left{display:flex;align-items:center;gap:16px;min-width:0}.fx-widget{min-width:190px;border:1px solid #d8e3ef;background:#f7faff;border-radius:10px;padding:8px 11px;display:flex;flex-direction:column;gap:2px;line-height:1.2}.fx-widget strong{font-size:13px;color:#153c73}.fx-widget span{font-size:11px;color:#4e6178;font-weight:650}.fx-widget small{font-size:9px;color:#8290a2}.fx-widget.warning{background:#fff8e7;border-color:#efdca6}.fx-widget.loading{opacity:.8}@media(max-width:760px){.top-left{align-items:flex-start;flex-direction:column;gap:8px}.fx-widget{min-width:170px}.top{align-items:flex-start;flex-wrap:wrap}}

.badge.Technical.Pending,.badge.Price.Approval.Pending{background:#fff2d7;color:#865c00}.badge.Info.Missing{background:#fde8e7;color:#9b2c2c}.badge.Ready.for.Review{background:#e8efff;color:#284f9e}.catalog-status-help{max-width:900px;margin-top:6px}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:18px}.settings-category{border:1px solid #dce5ef;background:#fff;border-radius:12px;padding:18px;display:grid;grid-template-columns:44px 1fr 20px;gap:12px;align-items:center;text-align:left;cursor:pointer;color:#203d5d}.settings-category:hover{border-color:#8fb6db;box-shadow:0 8px 24px #173f6e12}.settings-category strong{display:block;font-size:15px}.settings-category small{display:block;color:#71849a;margin-top:5px}.settings-category b{font-size:24px;color:#7c93aa}.settings-icon{width:42px;height:42px;border-radius:10px;background:#edf5fc;display:grid;place-items:center;font-weight:800;color:#205589}.settings-subhead{margin-bottom:14px}.settings-quote-preview{max-width:720px;margin:auto;border:1px solid #dce5ef;padding:28px;background:white;min-height:480px}.preview-head{display:flex;flex-direction:column;border-bottom:3px solid #1f4f82;padding-bottom:14px}.settings-quote-preview h3{letter-spacing:.12em;margin:26px 0}.preview-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}.preview-panels>div{background:#f5f8fb;border:1px solid #dde6ef;padding:24px}.preview-panels.terms_customer>div:first-child{order:2}.preview-panels.terms_customer>div:last-child{order:1}.preview-table{margin-top:22px;background:#19456f;color:#fff;padding:12px;font-size:.9em}.preview-sign{border-top:1px solid #8ca0b4;width:45%;padding-top:8px;text-align:center;color:#637995}

.fx-diagnostics{font-size:11px;max-width:310px}.fx-diagnostics summary{cursor:pointer}.fx-diagnostics small{display:block;margin-top:3px}.fx-widget a{color:inherit;text-decoration:underline}
