
:root{--navy:#123b48;--blue:#187181;--orange:#d98248;--ink:#233b46;--muted:#75858c;--border:#e1e9eb;--bg:#f4f7f8;--soft:#eaf3f3;--white:#fff;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif;font-size:15px;line-height:1.55}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--border);border-radius:11px;min-height:44px;padding:10px 16px;color:var(--ink);background:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}button:hover,.button:hover{background:#f0f6f6}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 3px 8px #123b4812}.primary:hover{background:#1d5460;border-color:#1d5460}.quiet{border-color:transparent;background:transparent;box-shadow:none}.icon-button{width:44px;height:44px;min-width:44px;padding:10px;border-color:transparent;background:transparent}.wide{width:100%}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:800;letter-spacing:1px;font-size:16px}.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--muted);margin-top:1px}.brand-symbol{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--navy);color:#fff;border-radius:12px;letter-spacing:-6px;font-size:30px;padding-right:7px;font-weight:700;line-height:1}.brand-symbol>span{color:#f4bf94}.header-tools{display:flex;align-items:center;gap:18px}.header-tools form{margin:0}.app-caption{font-size:12px;color:var(--muted)}.sidebar{position:fixed;left:0;top:82px;bottom:0;width:253px;background:#fff;border-right:1px solid var(--border);padding:35px 18px 16px;display:flex;flex-direction:column;z-index:4}.nav-caption{font-size:9px;font-weight:700;letter-spacing:1.3px;color:#8a9a9f;padding-left:14px;margin:0 0 16px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:13px;color:#667d86;padding:13px 14px;border-radius:10px;font-size:14px;font-weight:600}.sidebar nav a.active{color:var(--navy);background:#eaf3f3}.sidebar nav a.active:after{content:"";height:6px;width:6px;background:var(--blue);border-radius:50%;margin-left:auto}.sidebar nav a:hover{background:#f0f5f5}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:24px;display:flex;gap:10px;align-items:center}.avatar{background:#f6e9df;color:#96613d;border-radius:12px;width:38px;height:38px;display:grid;place-items:center;font-size:12px;font-weight:700}.sidebar-bottom b{display:block;font-size:12px}.sidebar-bottom a{font-size:11px;color:var(--muted)}.version{font-size:9px;letter-spacing:1.6px;color:#98a5aa;text-align:center;margin-top:28px}.app-shell main{margin-left:253px;padding:34px 38px 116px;max-width:1550px}.app-shell .site-footer{margin-left:253px}.mobile-nav{display:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;color:var(--muted);margin:0 0 5px}h1{font-size:29px;font-weight:700;letter-spacing:-.8px;line-height:1.25;margin:0 0 8px}h2{font-size:18px;letter-spacing:-.3px;line-height:1.4;margin:0 0 14px}h3{font-size:15px;margin:0 0 8px}p{margin:8px 0 15px}.page-intro{color:var(--muted);font-size:13px;margin:0 0 28px}.muted,small,.subtle{color:var(--muted)}small{font-size:12px}.card{padding:25px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:22px;box-shadow:0 3px 12px #203c4503}.card h2>.icon{margin-right:8px;color:var(--blue)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title h2,.section-title h3,.section-title p{margin:0}.section-title p{margin-top:3px;font-size:12px}.section-icon{display:grid;place-items:center;width:48px;height:48px;background:var(--soft);color:var(--blue);border-radius:14px;margin-bottom:18px}.narrow{max-width:640px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:25px 0 30px}.stat-card{display:flex;align-items:center;gap:16px;padding:22px 18px;background:#fff;border:1px solid var(--border);border-radius:15px;color:var(--ink)}.stat-icon{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;border-radius:12px;background:#eaf3f3;color:var(--blue)}.stat-card:nth-child(2) .stat-icon{background:#fcf1e5;color:#b67c43}.stat-card:nth-child(3) .stat-icon{background:#ebf1fa;color:#5b7da9}.stat-card:nth-child(4) .stat-icon{background:#eaf4ef;color:#539176}.stat-card small{display:block;font-size:11px}.stat-card b{display:block;font-size:28px;line-height:1.15;margin-top:5px;font-weight:600}.list-panel{padding-bottom:0}.search{display:flex;gap:10px;margin:20px 0}.search-field{position:relative;display:block;flex:1;min-width:120px}.search-field>.icon{position:absolute;top:15px;left:13px;color:#8aa0a6}.search-field input{padding-left:43px;margin:0}.filter-form select{width:190px;margin:0}.filter-form button{min-width:78px}.list-labels,.quote-card{display:grid;grid-template-columns:minmax(0,1fr) 124px 155px 20px;gap:20px;align-items:center}.list-labels{font-size:9px;letter-spacing:1px;color:var(--muted);border-bottom:1px solid var(--border);padding:12px 0}.list-labels span:nth-child(3){text-align:right}.quote-card{padding:21px 0;border-bottom:1px solid #edf1f2;color:var(--ink)}.quote-client{display:flex;align-items:center;gap:13px;min-width:0}.quote-client>div{min-width:0}.doc-avatar{background:#f3f7f8;color:#64828d;display:grid;place-items:center;width:42px;height:48px;border-radius:10px;flex-shrink:0}.quote-client small{font-size:10px;color:var(--blue)}.quote-client small span{color:var(--muted)}.quote-client h3{font-size:14px;margin:3px 0;overflow-wrap:anywhere}.quote-client p{font-size:11px;color:var(--muted);margin:0;overflow-wrap:anywhere}.quote-card>strong{text-align:right;font-size:15px;white-space:nowrap}.row-arrow{color:#a7b8bd}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#f0f3f5;border-radius:20px;font-size:10px;line-height:1.5;color:#75838a;width:fit-content;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-draft{background:#fff4e7;color:#a7773e}.status-sent{background:#edf3fc;color:#567aa8}.status-accepted{background:#eaf6ef;color:#3d8a65}.status-cancelled{background:#f7eded;color:#a27070}.pagination{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:12px;color:var(--muted)}.pagination>div{display:flex;gap:8px}.pagination .button{font-size:12px;min-height:36px;padding:6px 14px}.empty{padding:45px 15px;text-align:center;color:var(--muted)}.empty h2{color:var(--ink);margin:15px 0 5px}.empty p{font-size:13px}.empty-icon{display:grid;place-items:center;width:64px;height:64px;margin:auto;background:var(--soft);border-radius:18px;color:var(--blue)}label{font-size:13px;font-weight:600;display:block;margin:16px 0}input,textarea,select{display:block;width:100%;border:1px solid #d7e2e5;background:white;color:var(--ink);border-radius:10px;min-height:48px;padding:12px 13px;margin-top:7px;font-size:16px;line-height:1.4}input::placeholder,textarea::placeholder{color:#a1afb5;font-size:14px}input:focus,select:focus,textarea:focus{outline:none;border-color:#5496a0;box-shadow:0 0 0 3px #5496a012}button:focus-visible,a:focus-visible{outline:3px solid #a4cbd0;outline-offset:3px}textarea{resize:vertical}input[type=file]{padding:10px;font-size:12px;max-width:100%}input[type=file]::file-selector-button{border:0;border-radius:6px;background:var(--soft);padding:7px 10px;color:var(--navy);margin-right:8px}.grid{display:grid;grid-template-columns:1fr 1fr 1.3fr 1.3fr;gap:15px;align-items:end}.grid.two{grid-template-columns:1fr 1fr;align-items:start}.grid label{margin:0}.item{padding:22px 0;border-top:1px solid var(--border)}.item h3{font-size:14px;color:var(--blue)}.item .section-title>div{display:flex;gap:2px}.item .quiet{font-size:12px;padding:6px 10px}.item .quiet .icon{transform:scale(.85)}.line-total{background:#f1f6f7;border-radius:10px;padding:10px 14px;min-height:75px;display:flex;flex-direction:column;justify-content:center}.line-total strong{font-size:18px;font-weight:600;margin-top:2px}.dashed{border:1px dashed #a4c0c6;color:var(--blue);background:#f8fbfb}.totals p{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin:12px 0}.totals .grand{border-top:1px solid var(--border);padding-top:16px;font-size:16px;color:var(--navy)}.grand b{font-size:19px}.check{display:flex;align-items:flex-start;gap:10px;background:#ffdcc4;padding:13px;border-radius:10px;font-weight:400;line-height:1.6;font-size:13px}.check input{width:20px;min-height:20px;margin:0;flex-shrink:0;accent-color:var(--blue)}.check.compact{padding:0;background:none}.sticky{position:fixed;bottom:0;left:253px;right:0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border-top:1px solid var(--border);padding:14px 38px;z-index:6;box-shadow:0 -4px 18px #18374407}.sticky small,.sticky b{display:block}.sticky b{font-size:23px;line-height:1.3}.sticky .primary{min-width:170px;background:var(--orange);border-color:var(--orange);color:#fff}.settings-sticky .primary{background:var(--navy);border-color:var(--navy)}details{margin:10px 0}summary{cursor:pointer;padding:10px 0;font-size:13px;font-weight:600}summary .icon{margin-right:6px}.notice{display:flex;align-items:center;gap:10px;background:#e8f3ed;border:1px solid #cee6d7;color:#376d50;padding:13px 16px;border-radius:11px;font-size:13px}.error{color:#a34d44;background:#fff3f1;border-radius:10px;padding:10px 13px;font-size:13px}.error:empty{display:none}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.settings-grid>.card{margin:0}.settings-help{background:#edf5f5}.settings-help p{font-size:13px;color:#668087}.logo-upload{display:flex;gap:18px;align-items:center;border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.logo-upload>div:last-child{min-width:0;flex:1}.logo-upload label{margin-top:0}.logo-upload small{font-size:11px}.logo-preview{height:90px;width:110px;flex-shrink:0;display:grid;place-items:center;border:1px dashed #c9d9de;border-radius:12px;background:#fafcfc}.logo-preview img{max-width:90px;max-height:70px;object-fit:contain}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;margin:0;border-bottom:1px solid #edf1f2;font-weight:400}.toggle-row input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.switch{position:relative;width:38px;height:22px;background:#c8d3d7;border-radius:20px;flex-shrink:0;transition:.15s}.switch:before{content:"";position:absolute;background:#fff;width:16px;height:16px;border-radius:50%;top:3px;left:3px;box-shadow:0 1px 3px #0002;transition:.15s}.toggle-row input:checked+.switch{background:var(--blue)}.toggle-row input:checked+.switch:before{transform:translateX(16px)}.toggle-row input:focus-visible+.switch{outline:3px solid #a4cbd0}.toolbar{display:flex;align-items:center;gap:18px;justify-content:space-between}.toolbar .search{flex:1}.customer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.customer-card{margin:0;min-width:0}.customer-card h2{font-size:16px;margin-bottom:3px}.customer-card p{font-size:12px;color:var(--muted);min-height:18px}.customer-card small{display:block;overflow-wrap:anywhere}.customer-avatar{width:40px;height:40px;display:grid;place-items:center;background:#f4eade;color:#ab794e;border-radius:13px;font-weight:700}.activity-list>div{display:flex;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--border)}.activity-list>div:last-child{border:0}.activity-list small{display:block;font-size:11px;margin-top:4px}.activity-list b{font-size:13px}.activity-list .button{margin-left:auto}.activity-mark{color:var(--blue);background:var(--soft);width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.history-list{border-top:1px solid var(--border);padding-top:10px}.history-list>details{padding:6px 0;border-bottom:1px solid var(--border)}.history-list ul{font-size:12px;padding-left:20px}.history-list li{margin-bottom:8px}.modal{position:fixed;inset:0;background:#122f40a8;display:flex;justify-content:center;align-items:center;padding:20px;z-index:20;backdrop-filter:blur(3px)}.modal>.card{width:100%;max-width:480px;max-height:90vh;overflow:auto;margin:0;padding:25px}.modal .section-title{position:sticky;top:-25px;background:white;padding:10px 0;z-index:1}.modal form label{margin:13px 0}[hidden]{display:none!important}.site-footer{text-align:center;color:#94a4aa;font-size:10px;padding:15px 15px 28px;letter-spacing:.2px}.site-footer span{margin:0 8px;color:#c9d6d9}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0}.actions form{margin:0}.detail-actions{margin-top:20px}.detail-actions .badge{margin-left:auto}.paper{max-width:1040px;margin:0 auto 24px;background:white;border:1px solid var(--border);border-radius:16px;padding:40px 38px;box-shadow:0 4px 24px #203c4504;overflow-wrap:anywhere}.letterhead{display:flex;align-items:center;gap:24px;border-bottom:1px solid #dce6e8;padding-bottom:25px;margin-bottom:27px}.letterhead h2{font-size:19px;margin:0 0 7px;color:var(--navy)}.letterhead p{font-size:11px;color:#637a84;margin:2px 0}.quote-logo{width:105px;height:70px;object-fit:contain;flex-shrink:0}.quote-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.quote-heading h2{font-size:21px;letter-spacing:.3px;margin:5px 0 0;color:var(--navy)}.quote-reference{text-align:right;white-space:nowrap}.quote-reference b{display:block;color:var(--blue);font-size:13px}.quote-reference small{display:block;font-size:10px;margin-top:4px}.recipient{background:#f4f8f9;padding:18px 20px;border-radius:10px;margin-bottom:25px}.recipient small{font-size:8px;letter-spacing:1.6px}.recipient h3{font-size:16px;margin:5px 0}.recipient p{font-size:12px;margin:3px 0;color:#637a84}.recipient .validity{font-size:10px;color:var(--blue);margin-top:10px}.tablewrap{overflow-x:auto}.quote-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:630px;font-size:11px}.col-no{width:5%}.col-desc{width:39%}.col-unit{width:8%}.col-qty{width:10%}.col-price{width:18%}.col-total{width:20%}.quote-table th{background:var(--navy);color:#fff;font-size:10px;font-weight:600;text-align:center;padding:13px 10px}.quote-table th:nth-child(2){text-align:left}.quote-table td{border-bottom:1px solid var(--border);padding:16px 10px;vertical-align:middle;text-align:center;overflow-wrap:anywhere}.quote-table td.desc{text-align:left;line-height:1.7}.quote-table td.numeric{text-align:right;white-space:nowrap}.quote-table tr:nth-child(even) td{background:#f6f9fa}.quote-table th:first-child{border-radius:7px 0 0 0}.quote-table th:last-child{border-radius:0 7px 0 0}.quote-bottom{display:grid;grid-template-columns:1fr 300px;gap:35px;margin-top:25px}.quote-notes h3{font-size:11px;margin:0 0 6px}.quote-notes p{font-size:11px;color:#657b85;margin:0 0 18px;line-height:1.8}.quote-bottom .totals p{font-size:11px}.quote-bottom .totals .grand{font-size:12px;display:block;background:var(--soft);padding:14px 16px;border:0;border-radius:9px}.quote-bottom .grand b{display:block;font-size:24px;margin-top:6px}.signature{margin:26px 0 0 auto;width:250px;text-align:center;font-size:10px;break-inside:avoid}.signature small{display:block;font-size:9px;margin-top:3px}.signature strong{display:block;margin-top:48px;font-size:12px;min-height:19px}.quote-footer{text-align:center;color:#8c9ea5;font-size:10px;border-top:1px solid var(--border);padding-top:18px;margin:25px 0 0}.share-card{max-width:1040px;margin-left:auto;margin-right:auto}.share-card p{font-size:12px}.share-expiry{display:flex;align-items:center;gap:8px;color:var(--blue)}.share-form{display:flex;align-items:end;gap:14px}.share-form label{width:240px;margin:0}.share-form button{min-height:48px}.public-shell main{padding:30px 18px;max-width:1120px;margin:auto}.public-shell .page-heading{display:none}.public-shell .print{margin:0 auto;display:flex}.auth-shell{background:#f4f7f8}.auth-shell .topbar{max-width:none}.auth-shell main{max-width:1160px;padding:0 30px;margin:50px auto 25px}.auth-shell .page-heading{display:none}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:540px;border:1px solid var(--border);border-radius:24px;overflow:hidden;background:white;box-shadow:0 20px 70px #123b4808}.login-story{background:#eaf2f2;padding:48px 42px;position:relative;overflow:hidden}.story-label{font-size:9px;color:#6b969a;font-weight:700;letter-spacing:2px}.login-story h2{font-size:31px;line-height:1.3;letter-spacing:-1px;color:var(--navy);margin:26px 0 17px;position:relative}.login-story>p{font-size:13px;max-width:330px;color:#6f8a92}.quote-mini{margin:30px 5px 25px;padding:22px;background:white;border-radius:13px;box-shadow:0 10px 28px #26455009;transform:rotate(-3deg);max-width:340px;position:relative}.mini-top{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:var(--navy)}.mini-top small{display:block;font-size:7px;letter-spacing:1px;margin-top:2px}.mini-symbol{width:34px;height:34px;border-radius:9px;background:var(--soft);display:grid;place-items:center}.mini-status{font-size:7px;font-weight:400;background:#eaf5ef;color:#64927a;padding:4px 6px;border-radius:10px;margin-left:auto}.mini-lines{padding:18px 0;display:grid;gap:7px}.mini-lines span{display:block;height:5px;background:#eef3f4;border-radius:4px;width:85%}.mini-lines span:last-child{width:58%}.mini-row{display:flex;justify-content:space-between;background:#f4f8f9;padding:10px;font-size:8px}.mini-bottom{font-size:8px;color:#6b9494;border-top:1px solid var(--border);padding-top:12px;display:flex;align-items:center;gap:5px}.mini-bottom .icon{transform:scale(.65)}.login-story .story-foot{display:flex;align-items:center;gap:8px;font-size:10px;margin-top:30px}.story-foot .icon{transform:scale(.8)}.login-card{padding:55px 45px 40px;display:flex;flex-direction:column;justify-content:center}.login-badge{width:45px;height:45px;border:1px solid var(--border);border-radius:13px;display:grid;place-items:center;color:var(--blue);margin-bottom:24px}.login-card h2{font-size:21px;letter-spacing:-.9px;margin:6px 0 5px}.login-card>.muted{font-size:12px;margin:0 0 13px}.login-card form label{font-size:12px;margin:20px 0}.login-card input{height:50px;font-size:15px}.input-icon{position:relative}.input-icon>.icon{position:absolute;left:14px;top:15px;color:#9bafb5;transform:scale(.85)}.input-icon input{padding-left:43px}.password{display:block;position:relative}.password input{padding-right:50px}.password button{position:absolute;top:2px;right:3px;min-height:44px;margin:0;color:#7f969e}.login-submit{height:50px;justify-content:space-between;padding:12px 18px;margin-top:5px}.login-hint{font-size:9px;color:#9aadb3;text-align:center;margin-top:25px;display:flex;align-items:center;justify-content:center;gap:6px}.login-hint .icon{transform:scale(.7)}
@media(min-width:1600px){.app-shell main{max-width:1480px;margin-right:auto}.paper{padding:45px}}
@media(max-width:1180px){.sidebar{width:253px}.app-shell main{margin-left:253px;padding:30px 24px 110px}.app-shell .site-footer{margin-left:253px}.sticky{left:253px;padding:14px 24px}.stats-grid{gap:12px}.stat-card{padding:18px 13px;gap:10px}.stat-icon{width:34px;height:38px}.settings-grid{gap:16px}.list-labels,.quote-card{grid-template-columns:minmax(0,1fr) 100px 130px 12px;gap:12px}.list-panel{padding:20px 18px 0}.quote-bottom{grid-template-columns:1fr 250px;gap:22px}.customer-grid{grid-template-columns:1fr 1fr}.quote-card>strong{font-size:13px}.quote-heading h2{font-size:22px}}
@media(max-width:900px){.topbar{height:72px;padding:0 22px}.sidebar{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;padding:9px 8px max(9px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);z-index:8}.mobile-nav a{display:flex;align-items:center;flex-direction:column;gap:5px;color:#9aadb3;min-width:65px;font-size:10px}.mobile-nav a.active{color:var(--blue)}.mobile-nav .icon{transform:scale(.9)}.app-shell main{margin-left:0;padding:28px 24px 100px}.app-shell .site-footer{margin:0;padding-bottom:90px}.sticky{left:0;bottom:68px;padding:12px 24px;box-shadow:0 -4px 20px #123b4808}.app-shell:has(.sticky) main{padding-bottom:180px}.app-shell:has(.sticky) .site-footer{display:none}.auth-shell main{margin-top:30px}.login-story{padding:40px 26px}.login-story h2{font-size:20px}.login-card{padding:40px 30px}.login-card h2{font-size:22px}.app-caption{font-size:10px}.settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{font-size:14px}.topbar{height:68px;padding:0 16px}.brand{font-size:13px;gap:9px}.brand small{font-size:7px;letter-spacing:1.5px}.brand-symbol{width:36px;height:36px;font-size:20px;border-radius:10px}.app-caption,.desktop-only{display:none!important}.app-shell main{padding:25px 15px 100px}.page-heading{align-items:start;margin-bottom:8px}.page-heading h1{font-size:21px}.eyebrow{font-size:8px;letter-spacing:1.4px}.page-heading>.primary{font-size:11px;padding:8px 11px;min-height:41px;margin-top:9px;gap:5px}.page-heading>.primary .icon{transform:scale(.8)}.page-intro{font-size:11px;margin-bottom:20px;max-width:250px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin:21px 0}.stat-card{padding:15px 13px;gap:12px;border-radius:13px}.stat-card small{font-size:10px}.stat-card b{font-size:21px}.stat-icon{width:34px;height:38px}.card{padding:18px;margin-bottom:17px;border-radius:14px}.section-title{gap:8px}.section-title h2{font-size:16px}.section-title>.quiet{font-size:11px;padding:5px;gap:5px}.section-title p{font-size:10px}.list-panel{padding:18px 15px 0}.list-panel>.section-title{align-items:start;margin-bottom:10px}.filter-form{display:grid;grid-template-columns:1fr 74px;gap:9px;margin:17px 0 13px}.filter-form .search-field{grid-column:1/-1}.filter-form select{width:100%;font-size:13px;height:42px;min-height:42px;padding:9px 11px}.filter-form button{font-size:12px;min-height:42px}.filter-form input{font-size:14px;height:45px;min-height:45px}.filter-form .search-field>.icon{top:13px;transform:scale(.85)}.list-labels{display:none}.quote-card{grid-template-columns:1fr auto;gap:10px;padding:18px 0}.quote-client{grid-column:1/-1;gap:11px}.quote-client h3{font-size:14px}.quote-client small{font-size:9px}.quote-client p{font-size:10px}.doc-avatar{width:34px;height:42px}.quote-card>.badge{margin-left:45px;font-size:9px;padding:4px 8px}.quote-card>strong{font-size:15px}.row-arrow{display:none}.pagination{padding:15px 0}.pagination .button{font-size:11px}.grid{grid-template-columns:1fr 1fr;gap:12px}.grid.two{gap:12px}.item{padding:17px 0}.item .section-title{gap:5px}.item .quiet{padding:5px 6px;font-size:10px;gap:3px}.item .quiet .icon{transform:scale(.75)}label{font-size:12px;margin:14px 0}.line-total{min-height:74px}.line-total strong{font-size:17px}.totals .grand{font-size:14px}.grand b{font-size:19px}.sticky{padding:11px 16px;bottom:calc(62px + env(safe-area-inset-bottom))}.sticky b{font-size:19px}.sticky small{font-size:10px}.sticky .primary{min-width:146px;padding:10px 14px;font-size:12px}.sticky .icon{transform:scale(.85)}.settings-sticky>.muted{font-size:10px;max-width:120px}.settings-grid{grid-template-columns:1fr}.logo-upload{gap:12px}.logo-preview{width:80px;height:80px}.logo-preview img{max-width:70px;max-height:65px}.toolbar{display:block;margin-bottom:20px}.toolbar>.primary{font-size:12px}.customer-grid{grid-template-columns:1fr 1fr;gap:10px}.customer-card{padding:14px}.customer-card h2{font-size:14px}.customer-card p,.customer-card small{font-size:10px}.customer-avatar{width:33px;height:33px;font-size:13px;border-radius:10px}.customer-card .icon-button{width:36px;height:36px;min-width:36px}.customer-card .section-title{margin-bottom:14px}.actions{gap:7px}.actions .button,.actions button{font-size:11px;padding:9px 10px;gap:6px}.detail-actions .badge{margin-left:0}.detail-actions .icon{transform:scale(.8)}.paper{padding:22px 18px;border-radius:12px}.letterhead{gap:13px;padding-bottom:18px;margin-bottom:20px;align-items:start}.quote-logo{width:65px;height:55px}.letterhead h2{font-size:14px}.letterhead p{font-size:9px}.quote-heading{align-items:start;gap:10px;margin-bottom:18px}.quote-heading h2{font-size:18px;letter-spacing:0}.quote-heading .eyebrow{font-size:6px;letter-spacing:1px}.quote-reference b{font-size:10px}.quote-reference small{font-size:8px}.recipient{padding:13px;margin-bottom:18px}.recipient h3{font-size:14px}.recipient p{font-size:10px}.recipient small{font-size:7px}.quote-bottom{grid-template-columns:1fr;gap:10px}.quote-bottom .totals{border-top:1px solid var(--border);padding-top:6px}.quote-bottom .totals .grand{display:flex;align-items:center;gap:10px;font-size:11px}.quote-bottom .grand b{font-size:20px;margin:0}.signature{width:200px;font-size:9px}.signature strong{margin-top:35px}.share-form{gap:10px}.share-form label{width:auto;flex:1}.share-form button{font-size:11px}.share-card>p{font-size:11px}.share-expiry{font-size:10px}.share-card input[readonly]{font-size:12px}.modal{padding:12px}.modal>.card{max-height:88vh;padding:22px}.modal .section-title{top:-22px}.auth-shell main{padding:0 17px;margin:25px auto 0;max-width:470px}.auth-shell .topbar{justify-content:center}.login-layout{display:flex;flex-direction:column;border-radius:18px;min-height:0;overflow:visible;border:0;background:none;box-shadow:none}.login-story{padding:16px 4px 20px;background:transparent}.story-label,.quote-mini,.story-foot{display:none!important}.login-story h2{font-size:21px;margin:0 0 8px;line-height:1.3}.login-story>p{font-size:11px;max-width:290px;margin:0}.login-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:25px 24px;box-shadow:0 10px 25px #123b4805}.login-badge{width:38px;height:38px;border-radius:11px;margin-bottom:16px}.login-card .eyebrow{font-size:7px}.login-card h2{font-size:22px;margin-top:4px}.login-card>.muted{font-size:11px;margin-bottom:8px}.login-card form label{font-size:12px;margin:17px 0}.login-hint{font-size:8px;margin:20px 0 0}.auth-shell .site-footer{padding-top:24px}.auth-shell .page-heading{display:none}.public-shell main{padding:18px 12px}.public-shell .topbar{height:65px}.public-shell .paper{margin-bottom:15px}}
@media print{@page{size:A4;margin:14mm}body{background:#fff!important;padding:0!important;color:#22333b}header,aside,footer,.mobile-nav,.page-heading,.actions,.card,.sticky,.print,.notice,.page-intro{display:none!important}main,.app-shell main,.public-shell main{margin:0!important;padding:0!important;max-width:none}.paper{border:0;box-shadow:none;border-radius:0;margin:0;padding:0;max-width:none}.letterhead{padding-bottom:16px;margin-bottom:20px}.letterhead h2{font-size:16pt}.letterhead p{font-size:8pt}.quote-logo{width:90px;height:60px}.quote-heading h2{font-size:21pt}.recipient{padding:13px 16px}.quote-table{min-width:0;font-size:9pt}.quote-table th{font-size:8pt;padding:10px 7px;background:#e6eef0!important;color:#123b48!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.quote-table td{padding:12px 7px;font-size:9pt}.quote-table td.numeric{white-space:normal}.quote-table tr{break-inside:avoid}.quote-table thead{display:table-header-group}.tablewrap{overflow:visible}.quote-bottom{grid-template-columns:1fr 240px;gap:25px;break-inside:avoid}.quote-bottom .grand b{font-size:20pt}.signature{margin-top:22px}.signature strong{margin-top:40px}.quote-footer{margin-top:20px}.quote-notes p{font-size:8pt}}

input,textarea,select{font-weight:400}.mobile-password{display:none}@media(max-width:900px){.mobile-password{display:inline-flex}.header-tools{gap:0}}

.currency-note{font-size:10px;color:var(--muted);text-align:right;margin:0 0 8px}

.mobile-nav a{min-height:44px}.customer-card .icon-button{width:44px;height:44px;min-width:44px}
/* v1.2: a single soft card encloses product rows and totals. */
.quote-grid-block{border:1px solid #dce7ea;border-radius:16px;overflow:hidden;background:#fff;margin-bottom:24px;box-shadow:0 3px 14px #123b4804}.quote-grid-block .quote-table th{background:#e8f2f3;color:#164e5b;padding:15px 10px;border-bottom:1px solid #d2e3e6}.quote-grid-block .quote-table th:first-child,.quote-grid-block .quote-table th:last-child{border-radius:0}.quote-grid-block .quote-table td{border-bottom:1px solid #e9eff1}.quote-grid-block .quote-table tr:last-child td{border-bottom:0}.quote-grid-block .quote-table tr:nth-child(even) td{background:#f8fbfc}.quote-summary{border-top:1px solid #dce7ea;background:#f7fafb;padding:8px 0 0}.summary-row{display:flex;justify-content:flex-end;align-items:center;gap:26px;padding:9px 20px;font-size:12px}.summary-row span{text-align:right;flex:1}.summary-row b{text-align:right;width:175px;flex-shrink:0}.summary-grand{background:#e7f2ef;color:#185e55;border-top:1px solid #d3e8e1;margin-top:5px;padding:16px 20px;font-size:14px}.summary-grand b{font-size:23px}.quote-bottom{grid-template-columns:1fr;margin-top:0}.quote-notes{max-width:100%}.quote-heading{margin-bottom:23px}
/* Search results appear immediately at two characters, without opening a select. */
.customer-picker{position:relative}.customer-picker>label{margin-bottom:7px}.customer-search-wrap{position:relative}.customer-search-wrap>.icon{position:absolute;top:15px;left:14px;color:#1c8592;z-index:1}.customer-search-wrap input{margin-top:0;padding-left:44px}.customer-results{position:absolute;left:0;right:0;top:82px;max-height:320px;overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #cee1e6;border-radius:13px;box-shadow:0 14px 35px #123b4824;z-index:12;padding:6px}.customer-option{display:flex;align-items:center;gap:12px;width:100%;border:0;background:#fff;border-radius:9px;text-align:left;justify-content:flex-start;padding:11px 12px;min-height:62px;font-weight:400}.customer-option:hover,.customer-option.is-active{background:#edf6f6}.customer-option>span:last-child{min-width:0}.customer-option b{display:block;font-size:14px;color:#1b4c59;overflow-wrap:anywhere}.customer-option small{display:block;font-size:11px;color:#78909a;overflow-wrap:anywhere}.customer-option-avatar{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;border-radius:11px;background:#e7f1fa;color:#357aa6;font-size:15px;font-weight:700}.customer-option:nth-child(3n+2) .customer-option-avatar{background:#fcf0e5;color:#b77a38}.customer-option:nth-child(3n) .customer-option-avatar{background:#eeeaf9;color:#8469ab}.customer-create-result{width:100%;border:0;border-top:1px solid var(--border);border-radius:0 0 8px 8px;color:#227d86;font-size:12px;justify-content:flex-start;padding-left:12px;min-height:46px}.customer-create-result:before{content:"+";font-size:19px;font-weight:400;margin-right:3px}.customer-no-results{padding:14px 12px;font-size:12px;color:#7f939c}.customer-hint{font-size:11px;color:#81979f;margin:8px 0 0}.selected-customer{display:flex;align-items:center;gap:12px;padding:14px;background:#edf6f3;border:1px solid #d4e9e1;border-radius:12px;margin-top:14px}.selected-customer>div{flex:1;min-width:0}.selected-customer small{display:block;letter-spacing:1px;font-size:8px;color:#6b9c8b}.selected-customer b{display:block;font-size:14px;color:#246858;overflow-wrap:anywhere}.selected-customer #selected-customer-info{display:block;font-size:11px;color:#75968a;overflow-wrap:anywhere}.selected-customer .icon-button{color:#7d9a8f}.selected-icon{height:38px;width:38px;display:grid;place-items:center;border-radius:11px;background:#dceee7;color:#38896e;flex-shrink:0}
/* Color accents distinguish primary, duplicate and destructive actions. */
.sidebar .i-home{color:#1c8592}.sidebar .i-document{color:#4c85b8}.sidebar .i-users{color:#9270b9}.sidebar .i-settings{color:#c88a43}.sidebar .i-history{color:#3e9b80}.mobile-nav .i-home{color:#3193a0}.mobile-nav .i-document{color:#4f8dbe}.mobile-nav .i-users{color:#a183c4}.mobile-nav .i-settings{color:#c7995c}.mobile-nav a.active{background:#f0f7f7;border-radius:10px}.item .duplicate{color:#377fb0;background:#edf5fc;border:1px solid #dbeaf6;border-radius:9px}.item .duplicate:hover{background:#deedf9}.item .remove{color:#bc6660;background:#fff3f0;border:1px solid #f5dfd9;border-radius:9px;margin-left:5px}.item .remove:hover{background:#fde6df}.card #add-customer{color:#277b88;background:#eff8f8;border-color:#d5e8eb}.card #add-customer .icon{color:#1c8c98}.dashed .icon{color:#239c92}.settings-form h2>.i-users{color:#9672b7}.settings-form h2>.i-document{color:#4d8abb}.settings-form h2>.i-settings{color:#c58d45}.detail-actions a[href*="xlsx"]{color:#2b8b64;background:#f1faf4;border-color:#d9eddf}.detail-actions a[href*="docx"]{color:#3e7dbb;background:#f1f6fd;border-color:#dbe7f7}.detail-actions .print{color:#9472ac}.mobile-password{color:#b58449}.header-tools button .i-logout{color:#a26e61}.primary .icon{color:inherit}.item .section-title>div{gap:6px}
@media(max-width:600px){.quote-grid-block{border-radius:13px;margin-bottom:21px}.summary-row{font-size:11px;padding:9px 13px;gap:13px}.summary-row b{width:133px}.summary-grand{font-size:12px;padding:13px}.summary-grand b{font-size:19px}.customer-results{top:77px;max-height:260px}.customer-option{padding:10px 8px;gap:9px}.customer-option b{font-size:13px}.customer-option small{font-size:10px}.customer-hint{font-size:10px}.selected-customer{padding:11px;gap:8px}.selected-customer b{font-size:13px}.selected-customer #selected-customer-info{font-size:10px}.item .duplicate,.item .remove{padding:5px 7px}.item .remove{margin-left:0}.item .section-title>div{gap:5px}}
@media print{.quote-grid-block{overflow:visible;border-radius:0;box-shadow:none;border:1px solid #dce7ea}.quote-grid-block .tablewrap{overflow:visible}.quote-summary{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.summary-row{font-size:9pt;padding:8px 12px}.summary-grand{font-size:10pt;padding:12px}.summary-grand b{font-size:15pt}.quote-bottom{display:block;break-inside:auto}}
.quote-grid-block .col-no{width:6%}.quote-grid-block .col-desc{width:38%}.quote-grid-block .quote-table th:first-child,.quote-grid-block .quote-table td:first-child{white-space:nowrap;padding-left:6px;padding-right:6px}
/* v1.3 — a compact editor with four portable text colors. */
.rt-black{color:#000000}.rt-navy{color:#123b48}.rt-blue{color:#2563eb}.rt-red{color:#dc2626}.field-label{display:block;font-size:13px;font-weight:600;margin:16px 0 7px}.rich-shell{border:1px solid #d7e2e5;border-radius:12px;overflow:hidden;background:#fff;margin:7px 0 0}.rich-shell:focus-within{border-color:#5496a0;box-shadow:0 0 0 3px #5496a012}.rich-toolbar{display:flex;gap:5px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e5edef;background:#f7fafb;padding:7px 9px}.rich-toolbar button{width:36px;min-width:36px;height:36px;min-height:36px;padding:4px;border:1px solid transparent;border-radius:7px;background:transparent;font-size:15px;box-shadow:none}.rich-toolbar button:hover,.rich-toolbar button:focus-visible{background:#e8f2f4;border-color:#d5e6e9}.format-bold{font-weight:800!important}.format-italic{font-style:italic;font-family:Georgia,serif!important}.rich-toolbar .color-choice{font-weight:700;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}.rich-toolbar .clear-format{font-size:12px;color:#78919c}.rich-editor{min-height:115px;max-height:480px;overflow-y:auto;padding:13px 14px;outline:none;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:400}.rich-editor:empty:before{content:attr(data-placeholder);color:#a1afb5;font-size:14px;pointer-events:none}.rich-error:empty{display:none}.rich-error{font-size:12px;color:#ad544a;margin:0;padding:7px 13px;background:#fff4f1}.rich-editor[aria-invalid=true]{background:#fff9f7}.quick-picks{margin:10px 0 17px;border:1px solid #e0eaed;border-radius:11px;padding:0 12px;background:#fbfdfd}.quick-picks>summary{font-size:11px;color:#4a8593;padding:10px 0}.quick-pick-group{display:flex;flex-wrap:wrap;gap:7px;padding:0 0 13px}.quick-pick-group>small{display:block;flex-basis:100%;font-size:10px;color:#8299a3;margin:0 0 2px}.quick-pick{font-size:11px;padding:7px 11px;min-height:36px;border-radius:9px;color:#397e99;border-color:#d9eaf1;background:#f0f8fb}.quick-detail{color:#85619c;border-color:#e8deef;background:#f7f3fb}.condition-picks{display:flex;gap:7px;flex-wrap:wrap;margin:3px 0 10px}.condition-picks button{min-height:38px;padding:7px 12px;font-size:11px;background:#f0f7f4;color:#548c75;border-color:#d9e9df}.draft-recovery{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid #ebd9ba;background:#fff8ed;border-radius:14px;padding:18px 22px;margin:0 0 22px}.draft-recovery b{font-size:14px;color:#94703b}.draft-recovery p{font-size:11px;color:#a18b6a;margin:5px 0 0}.draft-recovery .actions{margin:0;flex-shrink:0}.draft-recovery #restore-draft{background:#fff;border-color:#e9d5b5;color:#94703b}.draft-recovery #discard-draft{font-size:12px;color:#a18b6a}.quick-admin-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:22px;align-items:start}.quick-group-heading{font-size:11px;color:#7c949d;margin:24px 0 10px}.quick-admin-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #e5edef;border-radius:10px;padding:12px;margin-bottom:8px;color:#376878;font-size:13px}.quick-admin-row:hover,.quick-admin-row.active{background:#edf6f6;border-color:#cce3e7}.quick-admin-row small{display:block;font-size:10px;color:#8aa0aa}.quick-admin-link{margin:8px 0 18px}.small-text{font-size:11px}.danger{color:#b15d54;background:#fff5f2;border-color:#f1dbd5}.template-insert-modal .card>button{margin:6px 7px 0 0}.template-insert-modal .card{max-width:470px}.template-insert-modal p{font-size:13px;color:#80969e}#template-form .rich-editor{min-height:190px}.desc strong{font-weight:700}.desc em{font-style:italic}
@media(max-width:900px){.draft-recovery{align-items:start;flex-direction:column;gap:8px}.quick-admin-grid{grid-template-columns:1fr}}
@media(max-width:600px){.field-label{font-size:12px}.rich-toolbar{gap:3px;padding:5px 6px}.rich-toolbar button{width:35px;height:44px;min-height:44px;min-width:35px}.rich-editor{font-size:14px;min-height:135px;padding:12px;max-height:350px}.quick-picks{padding:0 10px}.quick-pick,.condition-picks button{min-height:44px;font-size:11px}.draft-recovery{padding:15px}.draft-recovery b{font-size:13px}.draft-recovery .actions{gap:6px;flex-wrap:wrap}.draft-recovery button{font-size:11px;padding:8px 10px}.quick-admin-grid{gap:16px}.quick-admin-grid .card{margin-bottom:0}}
@media print{.rt-black{color:#000!important}.rt-navy{color:#123b48!important}.rt-blue{color:#2563eb!important}.rt-red{color:#dc2626!important}.desc{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.rich-toolbar .format-break,.rich-toolbar .clear-format{width:auto;min-width:0;padding:4px 9px;font-size:11px;font-weight:500}@media(max-width:600px){.rich-toolbar button{width:44px;min-width:44px}.rich-toolbar .format-break,.rich-toolbar .clear-format{width:auto;min-width:0;padding:4px 10px}}

.rich-editor.is-empty:before{content:attr(data-placeholder);color:#a1afb5;font-size:14px;pointer-events:none}

.rich-toolbar button[aria-pressed=true]{background:#e3f0f4;border-color:#bad8e0;box-shadow:inset 0 0 0 1px #d1e7ec}
/* v1.4 — deliberate CSS disclosure icons instead of browser triangles. */
.disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary::marker{content:""}.disclosure-label{display:inline-flex;align-items:center;gap:9px}.disclosure-label>.icon{color:#398999;transform:scale(.85);margin:0}.disclosure-toggle{width:24px;height:24px;flex:0 0 24px;position:relative;border:1px solid #d6e5e9;border-radius:7px;background:#f2f8fa;color:#438592}.disclosure-toggle:before,.disclosure-toggle:after{content:"";position:absolute;top:10px;left:6px;width:10px;height:1.5px;background:currentColor;border-radius:2px}.disclosure-toggle:after{transform:rotate(90deg);transition:transform .15s}.disclosure[open]>summary .disclosure-toggle:after{transform:rotate(0)}.rich-toolbar .clear-content{width:auto;min-width:0;padding:5px 10px;font-size:11px;color:#bd635b;margin-left:auto;border-color:#f0ded8;background:#fff4f0}.rich-toolbar .clear-content:hover{background:#fde8df}.list-tools{display:flex;gap:6px;align-items:center}.list-labels,.quote-card{grid-template-columns:minmax(0,1fr) 124px 155px 96px}.quote-client{color:inherit}.quote-amount{font-weight:700;text-align:right;color:var(--ink);white-space:nowrap;font-size:15px}.row-actions{display:flex;gap:4px;align-items:center;justify-content:flex-end}.row-actions form{margin:0}.row-actions .icon-button{width:44px;height:44px;min-width:44px}.delete-quote{background:#fff4f0;color:#ba645a;border:1px solid #f1ddd7}.delete-quote:hover{background:#fde7df}.row-view{color:#8ba3ad}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--border)}.trash-row:last-child{border-bottom:0}.trash-row h3{margin:5px 0}.trash-row b{font-size:13px}.trash-row form{margin:0}
@media(max-width:1180px){.list-labels,.quote-card{grid-template-columns:minmax(0,1fr) 100px 130px 92px;gap:12px}.quote-amount{font-size:13px}}
@media(max-width:600px){.quote-card{grid-template-columns:1fr auto;position:relative}.quote-client{padding-right:49px}.quote-amount{font-size:15px}.row-actions{position:absolute;right:0;top:16px}.row-actions .row-view{display:none}.list-tools{gap:0;flex-shrink:0}.list-tools .button{font-size:10px;padding:6px;gap:3px}.list-tools .icon{transform:scale(.7)}.list-panel>.section-title>div:first-child>p{max-width:250px}.rich-toolbar .clear-content{min-width:0;width:auto;margin-left:0;padding:5px 9px;min-height:44px}.disclosure-label{gap:6px}.disclosure-toggle{width:24px;height:24px}.trash-row{gap:9px}.trash-row button{font-size:12px;padding:8px 12px}}
/* v1.5: one width for the quotation, sharing and history sections. */
.app-shell .paper,.app-shell .share-card{max-width:none;width:100%;margin-left:0;margin-right:0}.letterhead{flex-direction:column;align-items:flex-start;gap:14px}.quote-logo{width:180px;height:80px;object-fit:contain;object-position:left center}.quote-history .i-list{color:#387f99}.history-entry>summary{font-weight:500}.detail-actions .save-image{background:#fff6e8;border-color:#efdfc0;color:#a87837}.image-status:empty{display:none}.image-status{font-size:12px;color:#6d8b96;margin:0 0 16px}.image-preview-modal .card{max-width:700px}.image-preview-list{max-height:55vh;overflow:auto;background:#f0f4f5;border-radius:10px;padding:10px}.image-preview-list img{width:100%;height:auto;display:block;border:1px solid #dce5e8;margin:0 0 10px}.image-preview-list figure{margin:0 0 14px}.image-preview-list figcaption{font-size:11px;color:#6e8a96;margin:5px 0}.image-preview-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 8px}.image-preview-hint{font-size:11px;color:#8198a1}.quote-capture-host{position:absolute;left:-100000px;top:0;width:1000px;pointer-events:none;z-index:-1}.quote-capture-host .paper{width:1000px!important;max-width:1000px!important;margin:0!important;padding:40px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.quote-capture-host .tablewrap{overflow:visible!important}.quote-capture-host .quote-table{min-width:0!important;width:100%!important;font-size:13px!important}.quote-capture-host .quote-table th{font-size:12px!important}.quote-capture-host .quote-table td{font-size:13px!important}.quote-capture-host .letterhead{display:block!important}.quote-capture-host .quote-logo{display:block;width:180px!important;height:80px!important;margin-bottom:16px;object-position:left center}.quote-capture-host .letterhead h2{font-size:19px!important}.quote-capture-host .letterhead p{font-size:12px!important}.quote-capture-host .quote-heading{display:flex!important}.quote-capture-host .quote-heading h2{font-size:28px!important}.quote-capture-host .recipient h3{font-size:18px!important}.quote-capture-host .recipient p{font-size:13px!important}.quote-capture-host .summary-row{font-size:13px!important}.quote-capture-host .summary-grand b{font-size:20px!important}.quote-capture-host .quote-reference b{font-size:14px!important}.quote-capture-host .quote-reference small{font-size:11px!important}.quote-capture-host .quote-notes p{font-size:12px!important}.quote-capture-host .signature{width:260px!important}.quote-capture-host .quote-footer{font-size:11px!important}.quote-capture-host .quote-grid-block{overflow:hidden!important}
@media(max-width:600px){.quote-logo{width:150px;height:65px}.letterhead{gap:10px}.image-preview-modal .card{padding:17px}.image-preview-list{max-height:48vh;padding:6px}.image-preview-toolbar .button,.image-preview-toolbar button{font-size:12px}.quote-capture-host .quote-heading .eyebrow{font-size:9px!important;letter-spacing:1.3px}.quote-capture-host .recipient{padding:18px 20px!important}.quote-capture-host .summary-row b{width:175px!important}.quote-capture-host .signature strong{margin-top:48px!important}}
@media print{.letterhead{display:block}.quote-logo{display:block;width:150px;height:65px;margin-bottom:14px}.image-status,.image-preview-modal,.quote-capture-host{display:none!important}}
/* v1.6: customer rows and mobile action rail */
.customer-list-panel{padding:24px}.customer-list-head,.customer-list-row{display:grid;grid-template-columns:44px minmax(0,1.2fr) minmax(0,1fr) 110px;align-items:center;gap:16px}.customer-list-head{font-size:10px;font-weight:700;letter-spacing:.6px;color:#7d929a;background:#f4f8f9;padding:14px 12px;border-radius:9px}.customer-list-row{padding:18px 12px;border-bottom:1px solid #e8eff1;min-height:90px}.customer-list-row:last-of-type{border-bottom:0}.customer-list-row:hover{background:#fafcfd}.customer-no{color:#81969e;font-size:12px}.customer-identity{display:flex;align-items:center;gap:14px;min-width:0}.customer-identity h3{margin:0;font-size:15px;overflow-wrap:anywhere}.customer-identity p{font-size:12px;color:#78909a;margin:5px 0 0;overflow-wrap:anywhere}.customer-avatar{flex-shrink:0}.customer-contact{display:grid;gap:6px;font-size:13px;overflow-wrap:anywhere}.customer-contact small{color:#7a909a}.customer-row-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.customer-row-actions form{margin:0}.action-edit,.action-delete,.delete-quote{width:44px!important;height:44px!important;min-width:44px!important;border-radius:12px!important;display:inline-flex;align-items:center;justify-content:center;padding:0!important;border:1px solid!important;transition:background .15s}.action-edit{color:#2677a0!important;background:#edf6fc!important;border-color:#d8eaf6!important}.action-delete,.delete-quote{color:#bd5454!important;background:#fff2f1!important;border-color:#f5deda!important}.action-edit:hover{background:#dceef9!important}.action-delete:hover,.delete-quote:hover{background:#fce2df!important}.customer-search{align-items:center}.page-size{display:flex;align-items:center;gap:8px;margin:0!important;white-space:nowrap;font-size:12px}.page-size select{width:auto;min-width:145px;margin:0}.detail-meta{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:-6px 0 18px}.detail-meta>small{display:none}.sidebar .i-list,.mobile-nav .i-list{color:#4284b8}
@media(max-width:767px){.mobile-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}.mobile-nav a{min-width:0;padding:7px 2px!important;font-size:9px!important}.mobile-nav a span:not(.icon){white-space:nowrap}.customer-list-panel{padding:14px}.customer-list-head{display:none}.customer-list-row{grid-template-columns:minmax(0,1fr) 96px;gap:8px 10px;padding:16px 0;min-height:105px}.customer-no{display:none}.customer-identity{grid-column:1;gap:10px}.customer-avatar{width:36px;height:36px}.customer-identity h3{font-size:14px}.customer-identity p{font-size:11px}.customer-contact{grid-column:1;padding-left:46px;font-size:12px}.customer-row-actions{grid-column:2;grid-row:1/3;gap:6px}.customer-row-actions .restore-customer{font-size:11px;padding:8px}.customer-row-actions .restore-customer .icon{display:none}.customer-search{display:grid;grid-template-columns:1fr auto;gap:10px}.customer-search .search-field{grid-column:1/-1;width:100%}.customer-search .page-size{justify-content:flex-start}.customer-tabs{gap:8px}.customer-tabs .button{font-size:11px;padding:10px}.customer-list-panel .pagination{gap:12px;flex-wrap:wrap;font-size:11px}.detail-actions{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overscroll-behavior-x:contain;gap:8px!important;padding:0 0 10px;max-width:100%;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.detail-actions>a,.detail-actions>button{flex:0 0 auto!important;white-space:nowrap;min-height:44px!important;padding:10px 12px!important;font-size:12px!important}.detail-meta{justify-content:space-between;margin:0 0 15px}.detail-meta>small{display:block;color:#8299a2;font-size:10px}.detail-actions::-webkit-scrollbar{height:3px}.detail-actions::-webkit-scrollbar-thumb{background:#b6ced6;border-radius:6px}}
@media print{.detail-meta{display:none!important}}

/* v1.7 quote entry */
.notes-panel{background:#f0f7f8;border:1px solid #d7e8eb;border-radius:14px;padding:16px;margin:18px 0 20px}
.notes-panel summary{color:#14566a}.notes-panel textarea{background:#fff}.notes-panel .condition-picks{margin-top:14px}
.quote-meta{display:grid;grid-template-columns:minmax(180px,1fr) minmax(380px,2fr);gap:20px;align-items:start}
.status-field{border:0;padding:0;margin:0;min-width:0}.status-field legend{font-weight:700;font-size:14px;margin-bottom:8px;padding:0}
.status-options{display:flex;gap:8px}.status-choice{position:relative;flex:1;margin:0;cursor:pointer;min-width:0}
.status-choice input{position:absolute;opacity:0;width:1px;height:1px}.status-choice>span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:52px;border:1px solid #d7e2e7;border-radius:12px;background:#fff;font-size:14px;white-space:nowrap;color:#617581}
.status-choice input:checked+span{border-color:currentColor;background:#eaf5f7;box-shadow:0 0 0 1px currentColor;color:#15748a}.status-choice input:focus-visible+span{outline:3px solid #efad66;outline-offset:2px}
.status-sent .icon{color:#2685ce}.status-accepted .icon{color:#16966d}.status-cancelled .icon{color:#ce5961}.status-draft .icon{color:#b38131}
@media(max-width:700px){.quote-meta{grid-template-columns:minmax(135px,.9fr) minmax(0,1.7fr);gap:10px}.status-options{gap:4px}.status-choice>span{flex-direction:column;gap:3px;min-height:54px;font-size:10px;border-radius:9px}.status-choice .icon{width:16px;height:16px}.quote-meta label,.status-field legend{font-size:12px}.validity-field input{padding:12px 6px;min-width:0;width:100%;font-size:14px}.notes-panel{padding:12px}}
.quote-meta>.validity-field{margin:0}

@media(max-width:700px){.status-choice>span{font-size:9px;letter-spacing:-.15px}.status-options{gap:3px}.quote-meta{grid-template-columns:minmax(125px,.85fr) minmax(0,1.8fr)}}

/* v1.8: six visible quote actions on phones */
@media(max-width:767px){
.detail-actions{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px!important;overflow:visible;padding:0;margin-bottom:10px}
.detail-actions>a,.detail-actions>button{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;min-height:62px!important;padding:8px 1px!important;border-radius:11px;box-shadow:none;font-size:10px!important;line-height:1.2;letter-spacing:-.15px}
.detail-actions .icon{width:19px;height:19px;flex-shrink:0;color:inherit}
.detail-actions .action-label{font-size:0;white-space:nowrap}
.detail-actions .action-label:after{content:attr(data-mobile-label);font-size:10px;line-height:1.2}
.detail-actions .quote-action-edit{color:#176379;background:#eaf4f7;border-color:#cfe4eb}
.detail-actions .action-copy{color:#8054b2;background:#f4effb;border-color:#e4d8f2}
.detail-actions .save-image{color:#ad6d23;background:#fff6e8;border-color:#f1dfc2}
.detail-actions .print{color:#c1545c;background:#fff0f1;border-color:#f0d8dc}
.detail-actions .action-word{color:#2c73b5;background:#eef5ff;border-color:#d6e5f7}
.detail-actions .action-excel{color:#258457;background:#eff9f2;border-color:#d6eadc}
.detail-actions>a:active,.detail-actions>button:active{filter:brightness(.94);transform:translateY(1px)}
.detail-actions>a:focus-visible,.detail-actions>button:focus-visible{outline:3px solid #dfa76a;outline-offset:2px}
.detail-meta{justify-content:flex-end}
}

@media(min-width:768px){.detail-actions>.quote-action-edit{width:auto;min-width:120px;min-height:44px;white-space:nowrap;flex-shrink:0}.detail-actions>.quote-action-edit .icon{flex-shrink:0}}

/* Keep Font Awesome glyphs independent of the CSS line-icon geometry. */
.detail-actions .icon.fa{font-family:FontAwesome;font-size:20px;font-weight:normal;font-style:normal;line-height:20px;text-align:center}
.detail-actions .icon.fa:before{position:static;display:inline;border:0;background:none;box-shadow:none;transform:none}
.detail-actions .icon.fa:after{display:none}

/* v1.11 single-surface status controls */
.status-options .status-choice{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;color:inherit;line-height:1.2;isolation:isolate}
.status-options .status-choice:before,.status-options .status-choice:after{content:none;display:none}
.status-options .status-choice>span{background:#fff;border:1px solid #dce5e9;box-shadow:none;min-height:50px;border-radius:11px;color:#657a85;transition:background .15s,border-color .15s}
.status-options .status-choice input:checked+span{background:#edf6f8;border-color:#248095;color:#155b70;box-shadow:inset 0 0 0 1px #248095}
.status-options .status-choice:hover>span{background:#f4f8fa}
.status-options .status-choice input:focus-visible+span{outline:2px solid #248095;outline-offset:3px}
.filter-form{flex-wrap:wrap;align-items:flex-end}.filter-form .search-field{flex:1 1 240px}.list-status-field{flex:2 1 530px}.list-status-field legend{font-size:12px}.list-status-field .status-choice>span{min-height:44px;font-size:12px;padding:8px}.list-status-field .icon{width:17px;height:17px;flex-basis:17px}
.row-actions .row-view{width:44px;height:44px;border:1px solid #d5e7f2;border-radius:12px;background:#eef7fc;color:#2677a0;flex-shrink:0}.row-view .fa{font-size:19px}.row-actions .row-view:hover{background:#dceefa}
.create-quote,.create-quote.primary{position:relative;background:#d74248;border-color:#d74248;color:#fff;box-shadow:0 3px 9px #d7424822;isolation:isolate}
.create-quote:hover,.create-quote.primary:hover{background:#bd3038;border-color:#bd3038;color:#fff}
.create-quote:before{content:"";position:absolute;inset:-1px;border:2px solid #dc565b;border-radius:inherit;pointer-events:none;animation:create-ripple 3.5s ease-out infinite}
@keyframes create-ripple{0%,55%{opacity:0;transform:scale(1)}65%{opacity:.3}100%{opacity:0;transform:scale(1.1,1.35)}}
@media(prefers-reduced-motion:reduce){.create-quote:before{animation:none;display:none}}
.trash-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.trash-controls form{margin:0}.purge-confirm .check{align-items:flex-start}.purge-confirm .check input{flex-shrink:0}.purge-confirm .actions{margin-top:18px}
@media(max-width:767px){.list-status-field{flex:1 1 100%;width:100%}.list-status-field .status-options{gap:5px}.list-status-field .status-choice>span{font-size:10px;padding:6px 2px;min-height:52px}.filter-form>button{width:100%}.trash-row{gap:14px;align-items:flex-start;flex-wrap:wrap}.trash-controls{justify-content:flex-start}.trash-controls button{font-size:12px}.status-options .status-choice>span{min-height:54px}}
@media(max-width:767px){.filter-form{display:flex;flex-direction:column;align-items:stretch;gap:12px}.filter-form .search-field,.filter-form .list-status-field{flex:none;width:100%}.filter-form>button{align-self:stretch}.list-status-field .status-choice>span{font-size:11px}.list-status-field .status-choice .icon{width:18px;height:18px}}

/* v1.12: shared full-color status buttons and list badges */
.status-options .status-draft{--status-color:#be5b10;--status-hover:#a64c08}
.status-options .status-sent{--status-color:#087caf;--status-hover:#066792}
.status-options .status-accepted{--status-color:#248048;--status-hover:#196c39}
.status-options .status-cancelled{--status-color:#c23e4b;--status-hover:#aa2c38}
.status-options .status-choice:not(.status-all)>span{background:var(--status-color);border-color:var(--status-color);color:#fff;box-shadow:none}
.status-options .status-choice:not(.status-all):hover>span{background:var(--status-hover);border-color:var(--status-hover)}
.status-options .status-choice:not(.status-all) input:checked+span{background:var(--status-color);border-color:var(--status-color);color:#fff;box-shadow:inset 0 0 0 2px #fff;outline:2px solid var(--status-color);outline-offset:1px}
.status-options .status-choice:not(.status-all) input:focus-visible+span{outline:3px solid #163e50;outline-offset:3px}
.status-options .status-choice .fa{font-size:18px;line-height:20px;width:20px;flex:0 0 20px;text-align:center;color:inherit}
.quote-list .badge.status-draft{background:#be5b10;color:#fff}
.quote-list .badge.status-sent{background:#087caf;color:#fff}
.quote-list .badge.status-accepted{background:#248048;color:#fff}
.quote-list .badge.status-cancelled{background:#c23e4b;color:#fff}
.quote-list .badge .fa{font-size:13px;margin-right:3px}
@media(max-width:700px){.status-options .status-choice .fa{font-size:17px;line-height:18px;flex-basis:18px}}

/* v1.13: quiet list statuses, framed logout, archived customers */
@media(min-width:901px){.heading-create-quote{display:none}}
.quote-list .badge:before{content:none;display:none}
.quote-list .badge{background:#fff!important;border:1px solid;border-radius:9px;display:inline-flex;align-items:center;gap:4px;padding:5px 9px;white-space:nowrap}
.quote-list .badge.status-draft{color:#a75312;border-color:#e6c6ad}
.quote-list .badge.status-sent{color:#0878a7;border-color:#b1d6e7}
.quote-list .badge.status-accepted{color:#287748;border-color:#bbdac7}
.quote-list .badge.status-cancelled{color:#b63d49;border-color:#e5bfc4}
.quote-list .badge .fa{margin:0}
.header-tools .logout-button{border:1px solid #e3c9c5;background:#fff8f6;color:#ad594c;border-radius:11px;min-width:44px;height:44px}
.header-tools .logout-button .fa{font-size:20px;line-height:1}
.header-tools .logout-button:hover{background:#faeae7;border-color:#c88e84}
.deleted-customers-panel .customer-row-actions{gap:7px;flex-wrap:wrap}
.deleted-customers-panel .customer-row-actions button{padding:8px 10px;font-size:12px}
@media(max-width:767px){.deleted-customers-panel .customer-row-actions{flex-direction:column;align-items:stretch}.deleted-customers-panel .customer-row-actions form,.deleted-customers-panel .customer-row-actions button{width:100%}}

.deleted-customers-panel .customer-row-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end}
.deleted-customers-panel .customer-row-actions form{width:auto;flex:0 0 auto}
.deleted-customers-panel .customer-row-actions button{width:auto;white-space:nowrap}
.activity-size-form label{display:flex;align-items:center;gap:10px;margin:0;font-size:12px}.activity-size-form select{width:auto;margin:0}.log-cleanup{padding:14px;background:#f8fafb;border:1px solid #e1e9eb;border-radius:12px;margin-bottom:18px}.log-cleanup form{display:flex;gap:12px;align-items:flex-end}.log-cleanup label{flex:1;margin:0}.log-cleanup button{margin-bottom:0}.quick-status-card{padding:18px}.quick-status-card form{margin:0}.quick-status-card .status-options{max-width:700px}.auto-status .quick-status-submit{display:none}.quick-status-submit{margin-top:12px}.status-result-modal{z-index:100}.status-result-modal .card{text-align:center;max-width:400px;width:100%}.status-result-modal .fa-info-circle{font-size:34px;color:#238196;margin-bottom:14px}.status-result-modal h2{margin-bottom:10px}
@media(max-width:767px){.deleted-customers-panel .customer-list-row{grid-template-columns:minmax(0,1fr)}.deleted-customers-panel .customer-row-actions{grid-column:1;grid-row:auto;justify-content:flex-start;padding-left:46px}.deleted-customers-panel .customer-row-actions .icon{display:inline-block}.log-cleanup form{flex-direction:column;align-items:stretch}.activity-size-form label{flex-direction:column;align-items:flex-start;gap:4px}.activity-size-form select{max-width:145px}.quick-status-card .status-options{gap:8px}}

/* v1.15 compact quote-view header and status strip */
.quote-detail-main .quote-detail-frame>.detail-actions{margin-top:10px;margin-bottom:10px}
.quote-detail-main .quick-status-card{padding:9px 18px;margin-bottom:11px}
.quick-status-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.quick-status-heading h2{font-size:13px;line-height:18px;margin:0}
.quick-status-current{display:flex;align-items:center;flex-shrink:0}
.quick-status-current .badge{font-size:10px;padding:3px 8px}
.quick-status-card .status-options{max-width:700px;gap:8px}
.quick-status-card .status-options .status-choice>span{min-height:26px;height:26px;font-size:12px;border-radius:8px;gap:6px;padding:3px 8px}
.quick-status-card .status-options .status-choice .fa{font-size:14px;line-height:16px;width:16px;flex-basis:16px}
.quote-detail-main .quote-detail-frame>.paper{margin-top:0}
@media(min-width:1280px){
.app-shell main.quote-detail-main{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:24px;row-gap:0;align-items:start}
.quote-detail-main .quote-detail-frame>*{grid-column:1/-1;min-width:0}
.quote-detail-main .quote-detail-frame>.page-heading{grid-column:1;grid-row:1;align-self:end;margin:0 0 12px}
.quote-detail-main .quote-detail-frame>.page-heading h1{margin:0;line-height:44px}
.quote-detail-main .quote-detail-frame>.detail-actions{grid-column:2;grid-row:1;align-self:end;justify-content:flex-start;flex-wrap:nowrap;margin:0 0 12px;gap:8px}
.quote-detail-main .quote-detail-frame>.detail-actions>a,.quote-detail-main .quote-detail-frame>.detail-actions>button{white-space:nowrap;flex-shrink:0}
}
@media(min-width:1280px) and (max-width:1450px){.quote-detail-main .quote-detail-frame>.detail-actions>a,.quote-detail-main .quote-detail-frame>.detail-actions>button{font-size:12px;padding:10px}.quote-detail-main .quote-detail-frame>.detail-actions>.quote-action-edit{min-width:110px}}
@media(max-width:767px){.quote-detail-main .quick-status-card{padding:10px 12px}.quick-status-card .status-options .status-choice>span{min-height:44px;height:44px;padding:4px 2px;font-size:10px;gap:3px}.quick-status-card .status-options{gap:7px}.quick-status-heading h2{font-size:12px}.quick-status-heading{margin-bottom:8px}.quote-detail-main .quote-detail-frame>.detail-actions{margin-top:4px;margin-bottom:10px}}
@media print{.quick-status-card{display:none!important}.app-shell main.quote-detail-main{display:block!important}}

/* v1.16 collapsed search/status filters and warning cleanup dialog */
.collapsible-list-panel{position:relative}
.collapsible-list-panel>.section-title{padding-right:48px}
.quote-filter-disclosure{margin:0 0 14px}
.quote-filter-disclosure>summary{position:absolute;right:20px;top:20px;display:flex;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;list-style:none;cursor:pointer;color:#23778c;background:#f0f7f9;border:1px solid #d5e6ec;border-radius:11px}
.quote-filter-disclosure>summary::-webkit-details-marker{display:none}
.quote-filter-disclosure>summary::marker{content:""}
.quote-filter-disclosure>summary .fa{font-size:17px}
.filter-toggle-mark{width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-top:-4px}
.quote-filter-disclosure[open] .filter-toggle-mark{transform:rotate(225deg);margin-top:4px}
.quote-filter-disclosure>summary:focus-visible{outline:2px solid #23778c;outline-offset:3px}
.quote-filter-disclosure .filter-form{margin-top:12px}
.log-cleanup{background:#fff8e9;border:1px solid #f0d6a4;color:#825117}
.log-cleanup summary{font-weight:700;color:#925a14}
.log-cleanup summary .fa{margin-right:7px;color:#b9791c}
.log-cleanup p{color:#8a6a40}
.warning-button{background:#ad6410;border-color:#ad6410;color:#fff;box-shadow:none}
.warning-button:hover{background:#94540b;border-color:#94540b;color:#fff}
.warning-confirm-modal{z-index:100;padding:20px}
.warning-confirm-modal .card{width:100%;max-width:460px;border:1px solid #e9cf9d;border-radius:18px;padding:26px;margin:0;max-height:calc(100vh - 40px);overflow:auto}
.warning-symbol{display:flex!important;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 14px;background:#fff1cd;border-radius:50%;color:#ad6410;font-size:20px!important}
.warning-confirm-modal h2{text-align:center;color:#704516}
.warning-confirm-modal .check{background:#fff8e9;font-size:13px;align-items:flex-start}
.warning-confirm-modal .check input{flex-shrink:0}
.warning-confirm-modal .actions{justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
body.has-warning-dialog{overflow:hidden}
@media(max-width:767px){.collapsible-list-panel>.section-title{display:block;padding-right:44px}.collapsible-list-panel>.section-title .list-tools{margin-top:8px;justify-content:flex-start}.quote-filter-disclosure>summary{top:16px;right:14px}.warning-confirm-modal{padding:14px}.warning-confirm-modal .card{padding:20px}.warning-confirm-modal .actions{display:grid;grid-template-columns:1fr}.warning-confirm-modal .actions>*{width:100%}}

/* v1.17 harmonious quote-view controls */
.quote-detail-main .quote-detail-frame>.page-heading .eyebrow{display:none}
.quote-detail-main .quote-detail-frame>.page-heading h1{font-size:16px;font-weight:700;letter-spacing:-.5px}
.quote-detail-main .quote-detail-frame>.detail-actions{gap:8px}
.quote-detail-main .quote-detail-frame>.detail-actions>a:not(.primary),.quote-detail-main .quote-detail-frame>.detail-actions>button{background:#fff;border-color:#dce5e9;color:#435c68;box-shadow:none}
.quote-detail-main .quote-detail-frame>.detail-actions>.action-copy .icon{color:#805ca1}
.quote-detail-main .quote-detail-frame>.detail-actions>.save-image .icon{color:#b57a2e}
.quote-detail-main .quote-detail-frame>.detail-actions>.print .icon{color:#9871ad}
.quote-detail-main .quote-detail-frame>.detail-actions>.action-word .icon{color:#307dbb}
.quote-detail-main .quote-detail-frame>.detail-actions>.action-excel .icon{color:#2a8b5e}
.quote-detail-main .quote-detail-frame>.detail-actions>a:not(.primary):hover,.quote-detail-main .quote-detail-frame>.detail-actions>button:hover{background:#f6f9fa;border-color:#bdd0d8}
.quote-detail-main .quote-detail-frame>.detail-actions>.primary{background:#123b48;border-color:#123b48;color:#fff;box-shadow:none}
.quote-detail-main .quick-status-card{padding:12px;margin-bottom:16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.quick-status-card .quick-status-heading{margin:0;flex-shrink:0}
.quick-status-card .quick-status-heading h2{font-size:13px;font-weight:600;color:#617580}
.quick-status-card form{flex:1;min-width:0}
.quick-status-card .status-options{max-width:none;gap:8px;flex-wrap:wrap}
.quick-status-card .status-choice{flex:0 0 auto}
.quick-status-card .status-draft{--status-soft:#fff4e8}
.quick-status-card .status-sent{--status-soft:#edf6fc}
.quick-status-card .status-accepted{--status-soft:#edf7f0}
.quick-status-card .status-cancelled{--status-soft:#fdf0f1}
.quick-status-card .status-options .status-choice>span{background:var(--status-soft);border:1px solid transparent;color:var(--status-color);min-height:32px;height:32px;padding:5px 14px;font-size:12px;border-radius:9px;box-shadow:none;outline:none}
.quick-status-card .status-options .status-choice input:checked+span{background:var(--status-color);border:1px solid var(--status-color);color:#fff;box-shadow:none;outline:none}
.quick-status-card .status-options .status-choice:hover>span{border-color:var(--status-color);background:var(--status-soft)}
.quick-status-card .status-options .status-choice input:checked:hover+span{background:var(--status-hover)}
.quick-status-card .status-options .status-choice input:focus-visible+span{outline:2px solid #173f50;outline-offset:3px}
@media(min-width:768px){.quote-detail-main .quote-detail-frame>.detail-actions>a,.quote-detail-main .quote-detail-frame>.detail-actions>button{min-height:40px!important;height:40px;padding:8px 13px;font-size:13px}.quote-detail-main .quote-detail-frame>.detail-actions>.quote-action-edit{min-width:120px}}
@media(min-width:1280px){.quote-detail-main .quote-detail-frame>.detail-actions{justify-content:flex-end;margin-bottom:12px}.quote-detail-main .quote-detail-frame>.page-heading{margin-bottom:12px}.quote-detail-main .quote-detail-frame>.page-heading h1{line-height:40px}}
@media(min-width:1280px) and (max-width:1450px){.quote-detail-main .quote-detail-frame>.detail-actions>a,.quote-detail-main .quote-detail-frame>.detail-actions>button{padding:8px 10px;font-size:12px}}
@media(max-width:767px){.quote-detail-main .quote-detail-frame>.detail-actions{gap:5px!important}.quote-detail-main .quick-status-card{display:block;padding:12px}.quick-status-card .quick-status-heading{margin-bottom:10px}.quick-status-card .status-options{flex-wrap:nowrap;gap:7px}.quick-status-card .status-choice{flex:1;min-width:0}.quick-status-card .status-options .status-choice>span{min-height:44px;height:44px;padding:4px 2px;font-size:10px}.quote-detail-main .quote-detail-frame>.detail-actions>.primary .icon{color:#fff}}

/* v1.18: outlined quick status, selected check in top-left corner */
.quick-status-card .status-options .status-choice>span,
.quick-status-card .status-options .status-choice:hover>span,
.quick-status-card .status-options .status-choice input:checked+span,
.quick-status-card .status-options .status-choice input:checked:hover+span{position:relative;background:transparent;border:1px solid var(--status-color);color:var(--status-color);box-shadow:none;outline:none}
.quick-status-card .status-options .status-choice input:checked+span{border-width:2px}
.quick-status-card .status-options .status-choice input:checked+span:before{content:"\f00c";font-family:FontAwesome;font-size:9px;font-weight:normal;font-style:normal;line-height:10px;position:absolute;top:1px;left:2px;color:var(--status-color);pointer-events:none}
.quick-status-card .status-options .status-choice input:focus-visible+span{outline:2px solid #173f50;outline-offset:3px}

/* v1.19: shared outlined statuses for edit, list filter and detail */
.app-shell .status-options .status-choice:not(.status-all)>span,
.app-shell .status-options .status-choice:not(.status-all):hover>span,
.app-shell .status-options .status-choice:not(.status-all) input:checked+span,
.app-shell .status-options .status-choice:not(.status-all) input:checked:hover+span{position:relative;background:transparent;border:1px solid var(--status-color);color:var(--status-color);box-shadow:none;outline:none}
.app-shell .status-options .status-choice:not(.status-all) input:checked+span{border-width:1px}
.app-shell .status-options .status-choice:not(.status-all) input:checked+span:before{content:"\f00c";font-family:FontAwesome;font-size:9px;font-weight:normal;font-style:normal;line-height:10px;position:absolute;top:1px;left:2px;color:var(--status-color);pointer-events:none}
.app-shell .status-options .status-choice:not(.status-all) input:focus-visible+span{outline:2px solid #173f50;outline-offset:3px}

/* v1.20: green selected-status indicator */
.app-shell .status-options .status-choice:not(.status-all) input:checked+span:before,
.quick-status-card .status-options .status-choice input:checked+span:before{content:"";position:absolute;top:2px;left:3px;width:9px;height:9px;box-sizing:border-box;border:2px solid #b4e4c6;border-radius:50%;background:#187042;line-height:normal;pointer-events:none;animation:status-selected-pulse 2.6s ease-out infinite}
@keyframes status-selected-pulse{0%,55%{box-shadow:0 0 0 0 rgba(40,153,87,0)}65%{box-shadow:0 0 0 0 rgba(40,153,87,.3)}100%{box-shadow:0 0 0 5px rgba(40,153,87,0)}}
@media(prefers-reduced-motion:reduce){.app-shell .status-options .status-choice input:checked+span:before{animation:none}}

.activity-header-tools{display:flex;align-items:center;gap:12px}
.cleanup-open{height:40px;min-height:40px;color:#985b17;background:#fff8e9;border-color:#ecd7b2;font-size:13px;border-radius:10px;white-space:nowrap}
.cleanup-open:hover{background:#fff0d3;border-color:#d6b279}
.cleanup-count{padding:11px 12px;background:#fff8e9;border-radius:10px;color:#855215;font-weight:600;font-size:14px;margin:14px 0}
.warning-confirm-modal select{margin-top:7px}.warning-confirm-modal .actions{display:flex;justify-content:flex-end}.warning-confirm-modal .actions>*{width:auto}
@media(max-width:767px){.activity-heading{display:block}.activity-header-tools{margin-top:14px;justify-content:space-between;gap:8px}.activity-header-tools .activity-size-form label{flex-direction:row;align-items:center;gap:7px}.activity-header-tools .activity-size-form label{font-size:0}.activity-header-tools .activity-size-form select{font-size:12px;max-width:155px;height:40px;padding:8px}.cleanup-open{font-size:12px;padding:8px 10px}.warning-confirm-modal .actions{display:flex;gap:8px}.warning-confirm-modal .actions>*{flex:1;min-width:0;font-size:12px}}

.customer-edit-modal{z-index:100;padding:20px}.customer-edit-modal .card{width:100%;max-width:520px;margin:0;padding:24px;max-height:calc(100vh - 40px);overflow:auto;border-radius:18px}.customer-edit-modal .section-title{align-items:flex-start;margin-bottom:16px}.customer-edit-modal .section-title h2{font-size:20px}.customer-edit-modal .section-title p{font-size:12px;color:#7a8e96}.customer-edit-modal form{margin:0}.customer-edit-modal .actions{justify-content:flex-end;margin-top:20px}.customer-edit-modal .icon-button{background:#f3f7f8;border:1px solid #e0e8eb;flex-shrink:0}
@media(max-width:600px){.customer-edit-modal{padding:12px}.customer-edit-modal .card{padding:18px;max-height:calc(100vh - 24px)}.customer-edit-modal .actions>*{flex:1}}

/* v1.23 requested wording and color refinements */
.customer-tabs .deleted-customers-tab{color:#b63d49;background:#fff8f7;border-color:#e8c4c8;box-shadow:none}
.customer-tabs .deleted-customers-tab .icon{color:inherit}
.customer-tabs .deleted-customers-tab:hover{color:#a62f3b;background:#fceeee;border-color:#cc939a}
.customer-tabs .deleted-customers-tab.primary{border-color:#b63d49;background:#fff1f1}
.quote-detail-main .quote-detail-frame>.detail-actions>.quote-action-edit{background:#b65b17;border-color:#b65b17;color:#fff}
.quote-detail-main .quote-detail-frame>.detail-actions>.quote-action-edit:hover{background:#9b4b10;border-color:#9b4b10}
.share-form button.primary{background:#b65b17;border-color:#b65b17;color:#fff;box-shadow:none}
.share-form button.primary:hover{background:#9b4b10;border-color:#9b4b10}
.company-settings-card input,.company-settings-card textarea,.company-settings-card select{font-size:14px}

.template-content-card input,.template-content-card textarea,.template-content-card select,.signature-settings-card input,.signature-settings-card textarea,.signature-settings-card select{font-size:14px}
.logout-confirm-modal{z-index:110;padding:16px}.logout-confirm-modal .card{max-width:410px;width:100%;margin:0;text-align:center;border-radius:18px;padding:26px}.logout-symbol{font-size:32px!important;color:#ad594c;margin-bottom:14px}.logout-confirm-modal .actions{justify-content:center;margin-top:20px}.logout-confirm-modal .actions button{min-width:120px}
@media(max-width:600px){.login-story h2{font-size:22px}}

.brand-symbol.brand-monogram{letter-spacing:0;font-size:18px;padding:0}.brand>span:last-child{min-width:0;overflow-wrap:anywhere}.brand{min-width:0}.application-settings-card input{font-size:14px}.delete-quote-modal{z-index:110;padding:16px}.delete-quote-modal .card{width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow:auto;margin:0;padding:26px;border-radius:18px;text-align:center}.delete-quote-symbol{font-size:30px!important;color:#bd5454;margin-bottom:14px}.delete-quote-modal .actions{justify-content:center;flex-wrap:wrap;margin-top:20px}.delete-quote-modal p{overflow-wrap:anywhere}
@media(max-width:600px){.brand>span:last-child{max-width:185px}.delete-quote-modal .actions{display:flex}.delete-quote-modal .actions button{flex:1;font-size:12px}}

/* v1.28 intrinsic logo ratio and immediately visible preview actions */
.paper .letterhead{gap:7px}
.paper .quote-logo{display:block;width:auto;height:auto;max-width:180px;max-height:80px;object-fit:contain;flex-shrink:0}
.quote-capture-host .paper .quote-logo{width:auto!important;height:auto!important;max-width:180px!important;max-height:80px!important;margin-bottom:8px}
.image-preview-modal{padding:18px;z-index:100}
.image-preview-modal>.card{display:flex;flex-direction:column;width:100%;max-width:800px;max-height:calc(100vh - 36px);margin:0;overflow:hidden;min-height:0}
.image-preview-modal .section-title{flex-shrink:0;margin-bottom:12px}
.image-preview-modal .image-preview-fixed-tools{flex-shrink:0;display:flex;align-items:center;gap:8px;margin:0 0 8px;flex-wrap:wrap}
.image-preview-modal .image-preview-hint{flex-shrink:0;margin:0 0 10px}
.image-preview-modal .image-preview-list{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
.image-part-picker{display:flex;align-items:center;gap:8px;margin:0 0 0 auto;font-size:12px}.image-part-picker select{width:auto;margin:0;padding:8px;font-size:12px}
@media(max-width:600px){.paper .quote-logo{max-width:150px;max-height:65px}.paper .letterhead{gap:5px}.image-preview-modal{padding:12px}.image-preview-modal>.card{max-height:calc(100vh - 24px);padding:16px}.image-preview-fixed-tools>.button,.image-preview-fixed-tools>button{flex:1;font-size:12px;padding:10px 8px}.image-part-picker{width:100%;margin:0;justify-content:space-between}}
@media print{.paper .quote-logo{width:auto;height:auto;max-width:150px;max-height:65px}.paper .letterhead{margin-bottom:8px}}

/* v1.29 balanced configuration cards */
.settings-form .settings-grid{align-items:stretch}
.settings-form .settings-grid>.card{align-self:stretch;min-width:0;margin:0}
.settings-help-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.settings-help-heading>.section-icon{flex:0 0 40px;width:40px;height:40px;margin:0;border-radius:12px}
.settings-help-heading>h2{margin:0;min-width:0;line-height:1.4}

/* v1.31 unified content frame for admin modules */
.admin-content-frame{width:100%;min-width:0;background:#fff;border:1px solid #dfe8ec;border-radius:18px;padding:24px;box-shadow:0 4px 18px rgba(27,57,71,.035)}
.admin-content-frame>.page-heading{margin-bottom:22px}
.admin-content-frame>.page-heading h1{margin-bottom:0}
.admin-content-frame .card{box-shadow:none;border-color:#e5ecef}
.admin-content-frame>.card:last-child{margin-bottom:0}
.admin-content-frame .toolbar{min-width:0}
.admin-content-frame input,.admin-content-frame select,.admin-content-frame textarea{max-width:100%}
.admin-content-frame .settings-grid,.admin-content-frame .quick-admin-grid{min-width:0}
@media(max-width:1180px){.admin-content-frame{padding:20px}}
@media(max-width:767px){.admin-content-frame{padding:14px;border-radius:15px}.admin-content-frame>.page-heading{margin-bottom:18px}.admin-content-frame .card{padding:16px}.admin-content-frame .customer-list-panel{padding:12px}.admin-content-frame .modal .card{padding:20px}}
@media print{.admin-content-frame{border:0;padding:0;box-shadow:none}}

.password-change-modal{z-index:105;padding:16px}.password-change-modal .card{width:100%;max-width:440px;margin:0;padding:24px;max-height:calc(100vh - 32px);overflow:auto;border-radius:18px}.password-change-modal .section-title h2{display:flex;align-items:center;gap:10px;margin:0}.password-change-modal .section-title .icon-button{background:#f4f8f9;flex-shrink:0}.password-change-modal form{margin:0}.password-change-modal .actions{justify-content:flex-end;margin-top:20px}.password-change-modal input{font-size:16px}
@media(max-width:600px){.password-change-modal .card{padding:20px}.password-change-modal .actions>*{flex:1;font-size:13px}}

/* v1.33 frame for quote detail and desktop action alignment */
.app-shell main.quote-detail-main{display:block}
.quote-detail-frame>.page-heading{margin-bottom:12px}
.quote-detail-frame>.paper{width:100%;max-width:none}
@media(min-width:1400px){.quote-detail-frame{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:24px;row-gap:0;align-items:start}.quote-detail-frame>*{grid-column:1/-1;min-width:0}.quote-detail-frame>.page-heading{grid-column:1;grid-row:1;align-self:end}.quote-detail-frame>.detail-actions{grid-column:2;grid-row:1;align-self:end}}
@media(min-width:901px){.app-shell .topbar{padding-right:var(--admin-action-right,32px)}.app-shell .sticky{padding-right:var(--admin-action-right,38px)}}
@media print{.quote-detail-frame{display:block!important}}

/* v1.34 stable app header and independently scrolling desktop menu */
body.app-shell{--admin-header-height:72px;padding-top:var(--admin-header-height)}
.app-shell .topbar{position:fixed;top:0;left:0;right:0;height:var(--admin-header-height);z-index:15;box-shadow:none;transition:box-shadow .18s ease}
.app-shell.header-scrolled .topbar{box-shadow:0 3px 12px rgba(20,53,66,.09)}
.app-shell .sidebar{top:var(--admin-header-height);width:253px;z-index:10;min-height:0}
.app-shell .sidebar>.nav-caption{flex-shrink:0}
.app-shell .sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;overscroll-behavior-y:contain;padding-bottom:12px;scrollbar-width:thin}
.app-shell .sidebar-bottom{flex-shrink:0;margin-top:0}
.app-shell .sidebar>.version{flex-shrink:0}
.app-shell main [id]{scroll-margin-top:calc(var(--admin-header-height) + 12px)}
@media(max-width:900px){body.app-shell{--admin-header-height:68px}}
@media(max-width:600px){body.app-shell{--admin-header-height:64px}}
@media(prefers-reduced-motion:reduce){.app-shell .topbar{transition:none}}
@media print{body.app-shell{padding-top:0!important}.app-shell .topbar,.app-shell .sidebar{display:none!important}}

/* v1.37 outlined quote-list tools */
.list-tools .quote-trash-link{border:1px solid #d87680;background:#fff;box-shadow:none}
.list-tools .quote-trash-link .icon{color:#b83f4b}
.list-tools .quote-trash-link:hover{background:#fff5f5;border-color:#ba414e}
.list-tools .quote-activity-link{border:1px solid #60b5df;background:#fff;box-shadow:none}
.list-tools .quote-activity-link .icon{color:#1688bc}
.list-tools .quote-activity-link:hover{background:#f1faff;border-color:#1688bc}

/* v1.38 aligned list tools and single-row customer toolbar */
.collapsible-list-panel .list-tools{gap:8px;align-items:center}
.collapsible-list-panel .list-tools>.button,.collapsible-list-panel .quote-filter-disclosure>summary{height:44px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}
.collapsible-list-panel .list-tools>.button{padding:0 12px;white-space:nowrap}
.customer-toolbar-row{margin-bottom:20px;min-width:0}
@media(min-width:1200px){.customer-toolbar-row{display:flex;align-items:center;gap:16px}.customer-toolbar-row .customer-tabs{flex-shrink:0;flex-wrap:nowrap;gap:8px;margin:0}.customer-toolbar-row>.toolbar{flex:1;min-width:0;margin:0}.customer-toolbar-row .customer-search{display:flex;align-items:center;gap:10px;margin:0;flex-wrap:nowrap}.customer-toolbar-row .customer-search .search-field{flex:1;min-width:100px;width:auto}.customer-toolbar-row .page-size{flex-shrink:0;gap:6px;margin:0;white-space:nowrap}.customer-toolbar-row .page-size select{width:165px;margin:0}.customer-toolbar-row .customer-search button{flex-shrink:0}.customer-toolbar-row .customer-tabs>.button,.customer-toolbar-row .customer-search input,.customer-toolbar-row .customer-search select,.customer-toolbar-row .customer-search button{height:44px;min-height:44px}.customer-toolbar-row .customer-tabs>.button{font-size:12px;padding:8px 10px}.customer-toolbar-row .customer-search input,.customer-toolbar-row .customer-search select{font-size:13px;padding:8px 10px}}
@media(max-width:767px){.collapsible-list-panel .list-tools>.button{font-size:11px;padding:0 10px;gap:5px}.collapsible-list-panel .list-tools{gap:6px}}

/* Reserve the icon width plus a 15px text gap at every viewport. */
.customer-search .search-field>.icon{left:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);margin:0;pointer-events:none}
.customer-toolbar-row .customer-search .search-field input{padding-left:48px}

/* Compact date display, including Safari's long localized date control. */
.quote-meta>.validity-field,.quote-meta>.status-field{min-width:0}
.validity-date-control{position:relative;display:block;width:100%;min-width:0;margin-top:8px}
.validity-date-control input{display:block;max-width:100%;margin:0}
.validity-date-label{display:none}
.validity-date-control.is-formatted input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.validity-date-control.is-formatted .validity-date-label{display:flex;align-items:center;min-height:50px;width:100%;padding:12px 8px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#243e4a;font-size:14px;font-weight:400;white-space:nowrap;box-sizing:border-box}
.validity-date-control.is-formatted:focus-within .validity-date-label{outline:2px solid #4f9aac;outline-offset:2px}
