/* Hernanz · sistema visual comercial. Sin fuentes ni assets externos. */
:root{--navy:#112657;--accent:#254cda;--muted:#5c6c83;--line:#e2e7f0;--ink:#182b49;--surface:#f5f7fb;color:var(--ink);background:var(--surface);font-size:15px;line-height:1.5}
body{background:var(--surface)}h1{font-size:clamp(28px,2.6vw,38px);font-weight:700;letter-spacing:-.045em;line-height:1.18}h2{font-size:19px;line-height:1.4}h3{line-height:1.4}p{line-height:1.65}.subtle{color:var(--muted)}
.shell{grid-template-columns:248px minmax(0,1fr)}.sidebar{padding:34px 18px 24px;background:linear-gradient(175deg,#142b60,#102147);border-right:1px solid #20376a}.sidebar .brand{margin:0 8px 46px;padding:0 7px}.sidebar .brand-official img{width:170px}.brand-official span{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.nav{gap:7px}.nav button{font-size:14px;min-height:48px;padding:12px 14px;border-radius:12px;line-height:1.4}.nav button.active{background:#ffffff14;box-shadow:inset 3px 0 #8aa8ff;color:white}.nav button:hover{background:#ffffff0d}.nav button:first-child{border:1px solid #ffffff26;margin-bottom:14px}.nav button:first-child.active{background:#3156d5;border-color:#5274e5;box-shadow:0 6px 18px #00000018}.sidebar-note{margin-top:28px;font-size:12px;line-height:1.7;border:0;background:#ffffff06;padding:17px}.sidebar-bottom{border-top:1px solid #ffffff18;margin-top:auto;padding:22px 10px 0;font-weight:600}.sidebar-bottom button{font-size:12px;font-weight:400;color:#c4d1eb}.sidebar-bottom button:hover{color:#fff;text-decoration:underline}
.main{padding:0 clamp(24px,3vw,56px) 56px;max-width:1900px;width:100%;margin:auto}.topbar{height:82px;margin-bottom:36px}.crumb{font-size:12px;letter-spacing:.02em}.crumb span{margin:0 12px;color:#a5b1c3}.topbar>.pill{margin-left:auto}.page-heading{margin-bottom:30px;align-items:center}.page-heading p{max-width:720px}.eyebrow{font-size:10px;letter-spacing:.15em;color:#637798;margin-bottom:12px}.card{border-radius:18px;padding:28px;box-shadow:0 4px 18px #1e355905}.card-title{margin-bottom:24px}.main>section.card+.card,.main>.card+.card,.client-history{margin-top:26px}.card>h2{margin-bottom:16px}.card>h2+p{color:var(--muted);font-size:14px}.stack{gap:24px}.workspace,.detail-grid{gap:28px;grid-template-columns:minmax(0,1fr) 320px}.field{gap:8px}.field label{font-size:13px;font-weight:600;line-height:1.45;color:#354965}.field small{font-size:11px;line-height:1.6}.fields{gap:20px}.field input::placeholder,textarea::placeholder{color:#7c899d}input,select,textarea{border-color:#d7dfeb;border-radius:10px;min-height:46px;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#afbed4}input:focus,select:focus,textarea:focus{border-color:#496adc;box-shadow:0 0 0 4px #254cda12}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #7895f0;outline-offset:4px}.btn{border-radius:10px;min-height:44px;padding:11px 16px;font-size:13px;line-height:1.4;transition:background .15s,box-shadow .15s}.btn.primary{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 10px #254cda16}.btn.primary:hover{background:#1d3db6;box-shadow:0 6px 16px #254cda25}.btn svg{width:17px;height:17px;flex-shrink:0}.btn.quiet{box-shadow:none}.btn.small{min-height:36px;padding:8px 12px;font-size:12px}.btn:disabled{box-shadow:none}
.editor-progress{display:flex;gap:22px;margin:0 0 28px;flex-wrap:wrap}.editor-progress a{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:#62738e}.editor-progress a:hover{color:var(--accent)}.editor-progress span,.step{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#3255c1;background:#e9eefc;font-size:12px}.editor-field-group{border-top:1px solid var(--line);padding-top:22px;margin-top:2px}.editor-field-group h3{font-size:12px;font-weight:650;color:#586f8a;margin:0 0 17px;text-transform:uppercase;letter-spacing:.07em}.workspace .card{scroll-margin-top:24px}.line{background:#fcfdff;padding:22px;border-radius:14px;border-color:#dce4ef;margin-bottom:18px}.line-head{font-size:10px;letter-spacing:.13em;margin-bottom:20px}.line-head button{font-size:22px;min-width:32px;min-height:32px;border-radius:8px}.line-head button:hover:enabled{background:#fff0f1;color:#a33434}.line-fields+.line-fields,.line-options+.line-fields{margin-top:22px;padding-top:20px;border-top:1px dashed #dfe5f0}.line-options{margin-top:20px}.line-result{margin-top:22px;padding-top:18px;align-items:center}.summary{padding:0;top:24px;border-color:#dae2ef;box-shadow:0 8px 32px #18315b09}.summary-head{padding:28px;background:linear-gradient(135deg,#19376a,#112657)}.summary-head .eyebrow{font-size:10px}.total{font-size:38px;line-height:1.2;font-variant-numeric:tabular-nums}.summary-body{padding:26px}.summary-body>.detail-actions+p{font-size:12px;color:var(--muted);margin:22px 0 0}.summary-body>p{font-size:13px}.source-label{font-size:11px;background:#f7f9fd;border:0;padding:15px}.margin-box{border-radius:12px;padding:18px}.summary-status{font-size:12px}.check{font-size:13px;line-height:1.6}.check input{accent-color:var(--accent)}.banner{border-radius:12px;font-size:13px}.pill{font-size:11px;padding:6px 11px}.status{border-radius:30px;font-size:11px;font-weight:600;padding:6px 11px}.status:before{content:'';display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%;margin-right:6px;vertical-align:2px}.status.expired{color:#956010;background:#fff1d9}
.metrics{gap:18px;margin-bottom:28px}.metric{border-radius:16px;padding:22px;border-color:var(--line);box-shadow:0 3px 12px #17314b03}.metric span{font-size:12px}.metric strong{font-size:29px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:14px}.tabs{gap:5px;background:#eaf0f7;padding:5px;border-radius:12px;width:fit-content;max-width:100%;margin-bottom:24px}.tabs button{padding:10px 14px;border-radius:8px;font-size:12px;line-height:1.4}.tabs button.active{background:white;color:#284dc4;border-color:#e1e7f1;box-shadow:0 2px 5px #22395808}.tabs button:hover{color:#254cda}.toolbar{gap:18px;align-items:center;margin-bottom:24px}.table-wrap{border:1px solid #e6ebf2;border-radius:12px;overscroll-behavior-x:contain}table{font-size:13px;line-height:1.5}th{background:#f7f9fc;color:#556a85;font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:15px 16px}td{padding:18px 16px;border-color:#edf0f5}td small{display:block;margin-top:5px;font-size:11px;line-height:1.55;max-width:380px}td strong{font-size:13px}tbody tr:hover{background:#fafbfe}.table-wrap td:has(>small){vertical-align:top}.empty{padding:60px 24px}.empty>svg{height:34px;width:34px;color:#7c91bf;margin-bottom:18px}.empty h3{font-size:19px}.empty p{font-size:13px}.detail-meta{gap:30px;padding:22px 0}.detail-actions{gap:12px}.audit{position:relative;margin-left:7px;padding:0 0 24px 22px;border:0;border-left:1px solid #dfe6f2}.audit:before{content:'';width:9px;height:9px;border:2px solid #cbd7ed;background:white;position:absolute;top:6px;left:-5px;border-radius:50%}.audit small{font-size:11px;margin-top:7px}.audit:last-of-type{padding-bottom:8px}.audit strong{font-size:13px}.client-data>div{grid-template-columns:130px minmax(0,1fr);padding:16px 0;font-size:13px}.client-data dt{font-size:12px}.client-journey{margin-bottom:28px}.client-journey span{background:white;border-color:#e2e7f0;font-size:11px;color:#63738b}.internal-note{padding:20px;border-radius:12px;margin:18px 0;line-height:1.65}.note-context{font-size:10px;letter-spacing:.07em;text-transform:uppercase}.annotation-badge{font-size:12px;line-height:1.5;border-radius:9px}.profile-relations h3{font-size:14px}.client-history>p{font-size:13px;color:var(--muted)}.workflow-inbox{border-color:#d8e3f9;border-radius:16px;padding:22px 26px;background:#f0f5ff}.workflow-inbox h2{font-size:16px}.workflow-inbox p{font-size:12px;margin-top:6px;margin-bottom:16px}.workflow-item strong{font-size:13px}.workflow-item div span{font-size:11px}.workflow-item:last-child{padding-bottom:0}
.catalog-browser{padding:26px}.catalog-toolbar{display:flex;gap:20px;align-items:center;justify-content:space-between}.search-field{position:relative;width:100%;max-width:600px}.search-field>svg{width:19px;height:19px;position:absolute;left:16px;top:14px;color:#7789a3;pointer-events:none}.search-field input{padding-left:46px;background:#f9fbfe;min-height:48px}.catalog-result-count{font-size:12px;color:var(--muted);margin:24px 0 20px}.catalog-result-count strong{color:#243e64}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-tile{display:flex;flex-direction:column;padding:22px;border:1px solid #e0e7f1;border-radius:15px;background:white;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}.product-tile:hover{border-color:#a9bbea;box-shadow:0 8px 24px #2943690c;transform:translateY(-2px)}.product-tile-top{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:22px}.product-symbol{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:13px;background:#eef2fd;color:#4265ce}.product-symbol svg{width:23px;height:23px}.material-tag{font-size:10px;background:#f1f5f9;color:#52647d;border-radius:6px;padding:5px 8px;overflow-wrap:anywhere}.product-reference{font-size:10px;color:#6c7f99;letter-spacing:.07em;margin-bottom:7px}.product-tile h2{font-size:14px;line-height:1.6;letter-spacing:0;margin-bottom:22px;overflow-wrap:anywhere}.product-specs{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:20px}.product-specs span,.presentation-specs span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.product-specs strong{font-size:15px;font-weight:600}.product-tile-footer{padding-top:15px;border-top:1px solid #edf1f7;display:flex;gap:12px;justify-content:space-between;align-items:center;color:#3155be;font-size:11px;font-weight:600}.product-tile-footer svg{width:17px;height:17px;flex-shrink:0}.presentation-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px;background:#f6f8fd;border-radius:12px;margin-bottom:26px}.presentation-specs strong{font-size:19px;font-weight:600}.product-profile form{display:grid;gap:20px}.product-profile form p{font-size:12px;color:var(--muted);margin:0}.product-profile form button{justify-self:start}.history-context{border:1px solid #e4eaf3;background:#f8faff;border-radius:10px;padding:13px 16px;margin:20px 0;color:#586f8a;font-size:11px}.history-context summary{cursor:pointer;line-height:1.7}.history-context summary span{color:#3155be;float:right;margin-left:15px}.history-context p{margin:14px 0 2px;max-width:920px;font-size:12px}.history-context+p{font-size:12px;color:var(--muted)}#history-months{margin-top:26px}#history-months>p{margin-top:18px;font-size:12px}#history-months td:not(:first-child){font-variant-numeric:tabular-nums}.pagination{margin-top:24px;gap:12px}.pagination .btn:disabled{opacity:.45}.line [data-price-history]{display:block;margin:18px 0 0;font-size:12px}.line [data-price-history] strong{display:block;margin-bottom:8px}.line [data-price-history] p{font-size:12px;margin-bottom:8px}.line [data-price-history] small{font-size:11px;line-height:1.7;display:block}
.login-story{padding:clamp(36px,6vw,100px);background:radial-gradient(ellipse at 0% 0%,#345bd3 0%,transparent 65%),linear-gradient(145deg,#173679,#102147)}.login-story .brand{margin-bottom:76px}.login-story h1{font-size:clamp(38px,4vw,60px);font-weight:600;line-height:1.13}.login-story h1 em{color:#b9ccff}.login-story p{font-size:15px;line-height:1.8;max-width:400px;margin-top:28px}.login-flow{gap:10px}.login-flow span{font-size:11px;padding:10px 15px;background:#ffffff07}.login-story .edition{font-size:10px;letter-spacing:.15em;margin-top:64px}.login-panel{background:#fcfdff}.login-form{max-width:390px}.login-form h2{font-size:32px;letter-spacing:-.035em;margin-bottom:14px}.login-form .field{margin:26px 0 20px}.login-form .btn{min-height:48px;margin-top:8px}.login-foot{border-top:1px solid var(--line);padding-top:22px;font-size:11px;line-height:1.8}dialog{padding:30px;border-radius:18px;max-height:90dvh;overflow:auto}dialog h2{font-size:23px}dialog p{font-size:13px}dialog .actions{gap:12px}.profile-dialog{padding:0}.profile-editor-footer{background:white}#toast{font-size:13px;border-radius:12px;line-height:1.6}.mobile-account{display:none}.skip-link{position:fixed;left:20px;top:-100px;z-index:120;background:white;color:var(--accent);padding:12px 18px;border-radius:10px}.skip-link:focus{top:20px}
@media(min-width:1700px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){.shell{grid-template-columns:215px minmax(0,1fr)}.main{padding:0 26px 40px}.sidebar{padding:30px 12px 22px}.sidebar .brand{margin-left:4px;margin-right:4px}.sidebar .brand-official img{width:156px}.nav button{font-size:12px;padding:12px 10px}.workspace,.detail-grid{grid-template-columns:minmax(0,1fr) 285px;gap:20px}.card{padding:24px}.summary{padding:0}.summary-head,.summary-body{padding:22px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-tile{padding:20px}.history-context summary span{float:none;display:block;margin-left:0}}
@media(max-width:980px){.workspace,.detail-grid{grid-template-columns:minmax(0,1fr)}.summary{position:static}.admin-grid{grid-template-columns:minmax(0,1fr)}.summary-head{display:block}.main{padding-left:24px;padding-right:24px}.presentation-specs{gap:12px}.catalog-toolbar>.pill{display:none}}
@media(max-width:700px){.shell{display:block}.sidebar{position:sticky;top:0;z-index:50;height:auto;padding:9px 12px;border:0;box-shadow:0 4px 16px #11265718}.sidebar .brand,.sidebar-note,.sidebar-bottom{display:none}.nav{display:flex;justify-content:space-around;gap:4px}.nav button{flex:1;flex-direction:column;gap:5px;min-height:52px;padding:7px 4px;font-size:10px;line-height:1.3;border-radius:9px}.nav button:first-child{margin-bottom:0;border:0}.nav button:first-child.active,.nav button.active{background:#ffffff16;box-shadow:none}.nav svg{width:18px;height:18px}.notification-count{position:absolute;margin-left:32px;margin-top:-4px;min-width:16px;height:16px;font-size:9px;padding:0 4px}.main{padding:0 18px 36px}.topbar{height:68px;margin-bottom:24px;gap:10px}.mobile-brand{width:104px}.topbar>.pill{font-size:9px;padding:5px 8px}.mobile-account{display:inline-flex;padding:7px;min-width:34px;min-height:34px;background:transparent}.mobile-account svg{width:16px;height:16px}.page-heading{gap:18px;margin-bottom:24px;align-items:flex-start}.page-heading h1{font-size:29px}.page-heading p{font-size:13px}.eyebrow{font-size:9px;line-height:1.7;margin-bottom:8px}.page-heading>.btn{font-size:11px;min-height:38px}.card{border-radius:14px;padding:21px}.card h2{font-size:17px}.stack{gap:18px}.fields,.fields.three{grid-template-columns:minmax(0,1fr);gap:18px}.full{grid-column:1/-1}.editor-progress{gap:12px;margin-bottom:22px}.editor-progress a{font-size:10px;gap:6px}.editor-progress span{width:22px;height:22px;font-size:10px}.editor-field-group{padding-top:20px}.workspace .card{scroll-margin-top:85px}.line{padding:16px}.line-fields,.line-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.line-fields .field:last-child{grid-column:1/-1}.line-result{gap:12px;font-size:12px}.line-result strong{font-size:15px}.summary{padding:0}.summary-head,.summary-body{padding:22px}.total{font-size:32px}.metrics{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:17px;border-radius:12px}.metric span{font-size:11px}.metrics .metric strong{font-size:22px}.metric small{font-size:10px}.tabs{flex-wrap:nowrap;overflow-x:auto;width:100%;margin-bottom:20px;padding:4px;scrollbar-width:thin}.tabs button{white-space:nowrap;flex-shrink:0;font-size:11px;padding:10px 12px}.toolbar{align-items:stretch;gap:14px}.client-data>div{grid-template-columns:1fr;gap:5px;padding:14px 0}.client-journey{gap:6px}.client-journey span{font-size:10px;padding:6px 9px}.client-history{margin-top:22px}.bottom-actions{gap:8px}.bottom-actions .btn{font-size:11px}.catalog-browser{padding:18px}.product-grid{gap:14px;grid-template-columns:minmax(0,1fr)}.product-tile{padding:20px}.product-tile-top{margin-bottom:16px}.product-tile h2{font-size:15px;margin-bottom:20px}.product-reference{font-size:10px}.product-specs span{font-size:11px}.product-specs strong{font-size:18px}.product-tile-footer{font-size:12px}.catalog-result-count{margin:20px 0 16px}.presentation-specs{grid-template-columns:1fr;padding:18px;gap:14px}.presentation-specs>div{display:flex;justify-content:space-between;align-items:center;gap:16px}.presentation-specs span{font-size:12px;margin:0}.presentation-specs strong{font-size:16px}.history-context{padding:12px;font-size:10px}.table-wrap{border-radius:10px}th{font-size:9px;padding:13px 12px}td{padding:15px 12px;min-width:100px;font-size:12px}td small{font-size:10px;min-width:100px}td:has(>a){min-width:150px}.mobile-summary{padding:12px 18px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#112657}.mobile-summary strong{font-size:20px}.main:has(.mobile-summary){padding-bottom:110px}#toast{bottom:24px;max-width:calc(100% - 32px);width:max-content}.shell:has(.mobile-summary)~#toast{bottom:92px}.login-shell{display:block}.login-story{padding:30px 26px 34px}.login-story .brand{margin-bottom:28px}.login-story .brand-official img{width:174px}.login-story h1{font-size:34px}.login-story p{font-size:13px;margin-top:18px;line-height:1.7}.login-panel{padding:34px 26px 40px}.login-form h2{font-size:28px}.login-foot{font-size:10px}.workflow-inbox{padding:18px;margin-bottom:22px}.workflow-inbox h2{font-size:15px}.workflow-item strong{font-size:12px}.workflow-item div span{font-size:10px}.card-title{gap:12px;flex-wrap:wrap}.profile-dialog form{padding:20px}.profile-dialog{padding:0}.client-dialog{padding:22px}.profile-editor-head h2{font-size:20px}dialog .actions{flex-wrap:wrap}dialog .actions>.btn{flex:1}.admin-grid .full{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.product-tile:hover{transform:none}}
.catalog-more{text-align:center;border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.catalog-more p{font-size:12px;margin-bottom:12px}.history-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--line)}.history-overview span{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.history-overview strong{font-size:26px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.season-chart{padding:24px;background:#f8faff;border:1px solid #e4eaf4;border-radius:14px}.season-chart h3{margin-bottom:5px;font-size:16px}.season-chart p{font-size:12px;margin-bottom:0}.month-bars{display:flex;gap:12px;overflow:auto;padding:12px 4px 5px;scrollbar-width:thin}.month-bar{flex:1;min-width:74px;max-width:140px;border:0;background:transparent;padding:4px;color:#4969c9;text-align:center;border-radius:8px}.month-bar:hover{background:#eaf0ff}.month-amount{font-size:10px;display:block;white-space:nowrap;color:#425574;margin-bottom:12px;font-variant-numeric:tabular-nums}.bar-track{display:block;height:115px;margin:0 auto 12px;width:36px}.bar-track svg{width:100%;height:100%;fill:#6d88df}.month-bar:hover svg{fill:#254cda}.negative svg{fill:#c88a70}.month-label{font-size:10px;white-space:nowrap;color:#5f718a}.page-heading>.actions{display:flex;gap:10px;flex-wrap:wrap}.search-field input::-webkit-search-cancel-button{cursor:pointer}
@media(max-width:700px){.history-overview{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.history-overview>div:first-child{grid-column:1/-1}.history-overview strong{font-size:24px}.history-overview span{font-size:11px}.season-chart{padding:17px}.season-chart .pill{display:none}.month-bars{gap:8px}.month-bar{min-width:70px}.bar-track{height:95px;width:30px}.page-heading>.actions{width:100%}}
.portal-body{background:linear-gradient(180deg,#edf2fd,#f5f7fb 340px);min-height:100vh}.portal-main{max-width:1120px;margin:0 auto;padding:0 32px 48px}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:32px 0;gap:20px}.portal-header img{width:180px;max-width:55%;height:auto}#portal{padding:38px}#portal h1{font-size:30px;margin-bottom:18px}#portal .table-wrap{margin:26px 0}#portal>h2{padding:24px;background:#f0f4fd;border-radius:12px;font-size:26px;margin:24px 0}#portal>.btn,#verify>.btn{margin-top:22px;margin-right:10px}#verify{max-width:390px}#portal-error:not(:empty){padding:18px;margin-top:20px;background:#fff1f1;border:1px solid #edcfd3;border-radius:12px;color:#a33434;font-size:13px}
@media(max-width:700px){.portal-main{padding:0 18px 30px}.portal-header{padding:24px 0}.portal-header img{width:150px}#portal{padding:22px}#portal h1{font-size:25px}#portal>h2{font-size:23px;padding:18px}#portal>.btn{width:100%;margin-right:0}}
.mobile-label{display:none}.main:focus{outline:none}.detail-grid .summary{scroll-margin-top:90px}
@media(max-width:700px){.desktop-label{display:none}.mobile-label{display:inline}.mobile-summary>div{min-width:0}.mobile-summary strong{font-size:18px;overflow-wrap:anywhere}.mobile-summary small{font-size:10px}}
.main{margin:0 auto}.profile-dialog .fields .field{margin:0}.quote-row td:last-child .btn+.btn{margin-left:6px}
.admin-grid .card>.check+.check{margin-top:14px}.admin-grid .card>.field{margin-top:18px}.admin-grid .card>.btn{margin-top:20px}
@media(max-width:700px){body:has(.mobile-summary) #toast{bottom:92px}}
.correction-card{border-color:#d5dff9;background:#fafbff}.correction-card>.eyebrow{color:#4664bd;margin-bottom:8px}.correction-card>.fields{margin-top:20px}.correction-card>p:last-child{margin:18px 0 0;font-size:12px;color:var(--muted)}

/* Private quote discussion: full-width text, bounded reply context on mobile. */
.quote-comments { scroll-margin-top: 24px; }
.quote-comments .card-title { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.quote-comments textarea { width: 100%; min-height: 110px; resize: vertical; margin-top: 8px; }
.quote-comments form { border-top: 1px solid var(--border, #dce3ed); padding-top: 20px; margin-top: 20px; }
.quote-comment { padding: 18px 0; border-bottom: 1px solid var(--border, #dce3ed); overflow-wrap: anywhere; }
.comment-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.comment-meta span { color: #617087; font-size: 12px; }
.comment-text, .quote-comment blockquote p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.quote-comment blockquote, [data-reply-context] { margin: 12px 0; padding: 10px 14px; background: #f2f6fc; border-left: 3px solid #91acd2; border-radius: 6px; font-size: 13px; overflow-wrap: anywhere; }
.quote-comment blockquote p, [data-reply-context] p { margin: 6px 0 0; max-height: 8em; overflow: auto; }
.comment-compose-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
[data-comment-status], [data-send-status] { font-size: 13px; color: #465d7e; overflow-wrap: anywhere; }
.quote-comments [hidden] { display: none !important; }
@media(max-width:700px) { .quote-comments { scroll-margin-top: 90px; } }

/* Prioritize the conversation; audit history remains available on demand. */
.quote-comments{border-top:3px solid #254cda}
.quote-comments h2{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.comment-presence{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:20px;background:#eaf0ff;color:#254c9a;font-size:12px;font-weight:600}
.comment-presence::before{content:"";width:7px;height:7px;border-radius:50%;background:#254cda;flex-shrink:0}
.quote-comments .comment-text{font-size:16px}
.quote-activity-card{padding:0;background:#f8faff}
.quote-activity summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;cursor:pointer;font-size:14px;color:#617087;list-style:none}
.quote-activity summary::-webkit-details-marker{display:none}
.quote-activity summary:focus-visible{outline:2px solid #254cda;outline-offset:-4px;border-radius:14px}
.activity-toggle{font-size:13px;color:#254c9a}
.quote-activity .activity-hide,.quote-activity[open] .activity-show{display:none}
.quote-activity[open] .activity-hide{display:inline}
.quote-activity-body{padding:0 24px 20px;border-top:1px solid #e4eaf4}
@media(max-width:700px){.quote-activity-card{padding:0}.quote-activity summary{padding:16px 21px}.quote-activity-body{padding:0 21px 18px}}
/* Commercial home: current work and dated historical evidence. */
.dash-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;padding:32px 36px;margin-bottom:24px;border-radius:18px;background:linear-gradient(115deg,#112657,#203f83);color:white}.dash-intro .eyebrow{color:#b8cbf7}.dash-intro h2{font-size:30px;line-height:1.25;letter-spacing:-.025em;margin:14px 0}.dash-intro p{color:#c8d5ed;font-size:13px;margin-bottom:0}.dash-shortcuts{display:grid;align-content:center;gap:10px}.dash-shortcuts a{display:flex;align-items:center;gap:12px;background:#ffffff0b;border:1px solid #ffffff18;border-radius:10px;padding:14px 18px;color:white;font-size:13px}.dash-shortcuts svg{width:19px;height:19px}.dash-shortcuts svg:last-child{margin-left:auto}.dash-metrics{margin-bottom:26px;grid-template-columns:repeat(4,minmax(0,1fr))}.dash-metrics small{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.5}.dash-caption{color:var(--muted);font-size:11px;line-height:1.7;margin:18px 0 0}.dash-section-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:38px 0 20px}.dash-section-heading h2{font-size:25px;margin:0 0 8px}.dash-section-heading p:last-child{font-size:12px;color:var(--muted);margin:0}.dash-section-heading .field{min-width:100px}.dash-sales{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;margin-bottom:24px}.dash-sales-total{border-right:1px solid var(--line);padding-right:24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.dash-sales-total>span{font-size:12px;color:var(--muted)}.dash-sales-total>strong{font-size:30px;letter-spacing:-.04em}.dash-sales-total>small{font-size:11px;line-height:1.8;color:var(--muted)}.dash-sales-total>a{font-size:12px;margin-top:auto}.dash-chart{min-width:0}.dash-chart h3{font-size:14px}.dash-bars{display:flex;gap:12px;overflow-x:auto;padding:14px 0 0}.dash-month{flex:1;min-width:62px;text-align:center}.dash-month>strong{display:block;font-size:9px;white-space:nowrap;font-weight:500;color:var(--muted)}.dash-bar-track{height:120px;display:flex;align-items:flex-end;justify-content:center;margin:12px 0}.dash-bar-track>span{width:22px;background:#6083d3;border-radius:5px 5px 0 0}.dash-bar-track>.negative{background:#c88a70}.dash-month>small{font-size:10px;color:var(--muted)}.dash-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.dash-rank{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);color:inherit;font-size:12px}.dash-rank:last-child{border:0}.dash-rank-number{width:26px;height:26px;border-radius:8px;background:#eef3fc;display:grid;place-items:center;color:#4867aa;flex-shrink:0}.dash-rank>span:nth-child(2){min-width:0;overflow-wrap:anywhere;flex:1}.dash-rank small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.dash-rank>strong{white-space:nowrap;font-size:12px}.dash-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dash-price-grid>a{display:flex;flex-direction:column;gap:12px;padding:18px;background:#f7f9fd;border:1px solid var(--line);border-radius:12px;color:inherit}.dash-price-grid h3{font-size:12px;line-height:1.6;flex:1;margin:0;overflow-wrap:anywhere}.dash-price-grid strong{font-size:21px}.dash-price-grid small{font-size:10px;color:var(--muted)}
@media(max-width:1100px){.dash-sales{grid-template-columns:220px minmax(0,1fr)}.dash-price-grid{grid-template-columns:1fr 1fr}.dash-columns{grid-template-columns:1fr}}
@media(max-width:700px){.dash-intro{grid-template-columns:1fr;padding:24px;gap:20px}.dash-intro h2{font-size:25px}.dash-metrics{grid-template-columns:1fr 1fr}.dash-sales{grid-template-columns:1fr;padding:22px}.dash-sales-total{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px}.dash-sales-total>strong{font-size:30px}.dash-section-heading{align-items:flex-start}.dash-section-heading h2{font-size:22px}.dash-price-grid{grid-template-columns:1fr}.dash-rank{gap:9px}.nav{overflow-x:auto;justify-content:flex-start}.nav button{min-width:58px;flex-shrink:0}.dash-recent .card-title{align-items:flex-start}.dash-recent .card-title>a,.dash-prices .card-title>a{font-size:12px;white-space:nowrap}}
.dash-bar-track>span{display:block;flex-shrink:0}
.dash-bar-track svg{display:block;width:22px;height:120px;fill:#6083d3}.dash-bar-track rect.negative{fill:#c88a70}

/* Client acceptance: native accessible modal, responsive within the portal. */
.acceptance-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:20px;padding:28px;color:#24374b;box-shadow:0 24px 80px #102c4e40}
.acceptance-dialog::backdrop{background:#102c4eb3;backdrop-filter:blur(4px)}
.acceptance-dialog .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.acceptance-dialog .btn{white-space:normal}.portal-privacy{margin:20px 0;font-size:14px}.portal-privacy summary{cursor:pointer}
.client-engagement .detail-meta{display:flex;flex-wrap:wrap;gap:24px}.client-engagement strong{display:block}
@media(max-width:480px){.acceptance-dialog{padding:20px}.acceptance-dialog .actions .btn{width:100%}}

/* Useful route frames render immediately; only a sustained wait needs a label. */
.view-pending { min-height: 5rem; padding: 1.25rem; color: #526579; }
.view-pending > span { visibility: hidden; animation: reveal-pending 0s .18s forwards; }
@keyframes reveal-pending { to { visibility: visible; } }
#view-content { min-width: 0; }

/* Budgets and client workspaces: complete records instead of sideways tables. */
.record-label{display:none}
@media(max-width:900px){
 .mobile-records .table-wrap:has(.record-table){overflow:visible;border:0;background:transparent;border-radius:0}
 .mobile-records .record-table{display:block;width:100%;min-width:0;table-layout:auto}
 .mobile-records .record-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .mobile-records .record-table tbody{display:grid;gap:16px}
 .mobile-records .record-table tbody tr{display:block;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
 .mobile-records .record-table td{display:block;width:auto;min-width:0;padding:8px 0;border:0;white-space:normal;overflow-wrap:anywhere;font-size:13px;text-align:left}
 .mobile-records .record-table td:first-child{padding-top:0;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--line);font-size:15px}
 .mobile-records .record-table td small{min-width:0;white-space:normal;line-height:1.6}
 .mobile-records .record-label{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-bottom:4px}
 .mobile-records .record-table .record-actions{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:0;margin-top:8px}
 .mobile-records .record-actions .btn{flex:1;min-height:44px;white-space:normal;text-align:center;justify-content:center;margin:0}
 .mobile-records .tabs{display:flex;flex-wrap:wrap;overflow:visible;gap:6px}
 .mobile-records .tabs button{flex:1 1 auto;min-height:44px;white-space:normal;font-size:12px}
 .mobile-records .toolbar{display:flex;flex-direction:column;min-width:0}
 .mobile-records .toolbar input[type=search]{width:100%;min-width:0;font-size:16px}
 .mobile-records .pagination,.mobile-records .directory-pagination{display:flex;flex-wrap:wrap;gap:10px}
 .mobile-records .pagination .btn,.mobile-records #directory-pages .btn{min-height:44px}
 .mobile-records .page-heading{flex-wrap:wrap}
 .mobile-records .page-heading>div{min-width:0;max-width:100%}
 .mobile-records .page-heading h1,.mobile-records .page-heading p,.mobile-records .metric strong,.mobile-records .client-data dd{overflow-wrap:anywhere}
 .mobile-records .page-heading .actions,.mobile-records .bottom-actions{width:100%;display:flex;flex-wrap:wrap}
 .mobile-records .page-heading .btn,.mobile-records .card-title .btn{min-height:44px;white-space:normal}
 .mobile-records .check{min-height:44px;align-items:center}
 .mobile-records .metric{min-width:0}
}
.client-search-actions {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
.client-search-actions small {flex:1;min-width:160px}
.delivery-option {border:1px solid var(--line,#dce3eb);border-radius:14px;padding:16px;background:#f8fafc}
.delivery-toggle {align-items:flex-start;margin:0}
.delivery-toggle span small {display:block;margin-top:5px;font-weight:400;color:#52657a}
.delivery-fields {padding-top:18px}
.delivery-fields h3 {margin:0 0 14px}
.delivery-fields[hidden] {display:none}
.product-choices {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.product-choices .field {min-width:0}
.optional-client-fields {margin:20px 0;padding:14px 0;border-top:1px solid #dce3eb}
.optional-client-fields summary {font-weight:600;cursor:pointer;margin-bottom:14px}
.lookup-empty .btn {display:block;margin-top:10px}
.product-photo {display:block;width:100%;height:200px;object-fit:contain;background:#fff;border-radius:12px}
.product-photo-placeholder {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;background:#f5f8fb;color:#687c90;border-radius:12px;font-size:13px}
.product-photo-placeholder svg {width:40px;height:40px;opacity:.55}
.product-photo-gallery {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px}
.photo-upload {cursor:pointer}
.profile-dialog #new-client-error {margin-top:16px}
.profile-dialog #new-client-error .btn {display:block;margin-top:12px}
.new-client-dialog.profile-dialog {width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:0}
.new-client-dialog .profile-editor-footer {position:sticky;bottom:0;background:white;flex-direction:column;align-items:stretch;gap:14px;margin-top:22px;padding:18px 0 8px}
.new-client-dialog .profile-editor-footer .actions {position:static;display:flex;flex-wrap:wrap;justify-content:flex-end;width:100%;margin:0;padding:0;border:0;gap:12px}
.new-client-dialog .profile-editor-footer .btn {flex:0 1 auto;white-space:normal}
.new-client-dialog .profile-editor-head {margin-bottom:22px}
.new-client-dialog .optional-client-fields {margin:16px 0;padding:12px 0}
.new-client-dialog .optional-client-fields summary {margin-bottom:0}
.new-client-dialog .optional-client-fields[open] summary {margin-bottom:14px}
@media(max-width:600px) {
  .product-choices {grid-template-columns:1fr}
  .delivery-fields .fields {grid-template-columns:1fr}
  .profile-dialog .fields {grid-template-columns:1fr}
  .client-search-actions {align-items:flex-start}
}

.photo-upload {position:relative}
.photo-file {position:absolute;width:1px;height:1px;opacity:0}
.photo-upload:focus-within {outline:3px solid #729bc5;outline-offset:3px}

.product-photo-figure{margin:0;min-width:0}.product-photo-figure figcaption{padding:8px 4px;line-height:1.45}

/* Local prospects may have long names or identifiers; keep the client card bounded. */
.client-card > div { min-width: 0; overflow-wrap: anywhere; }
#portal p { overflow-wrap: anywhere; }

/* Quiet, persistent progress beside the active view; no overlay or blocked navigation. */
.catalog-load-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:10px 14px;border:1px solid #dce6ed;border-radius:10px;background:#f5f8fa;color:#526579;font-size:13px;line-height:1.5}
.catalog-load-status[hidden]{display:none}
.catalog-load-dot{width:8px;height:8px;border-radius:50%;background:#3978a3;flex-shrink:0}
.catalog-load-status.load-error{background:#fff8ed;border-color:#e8d9b9}
.catalog-load-status .btn{margin-left:auto}
@media(max-width:480px){.catalog-load-status{font-size:12px;align-items:flex-start}.catalog-load-dot{margin-top:5px}}
