:root{--blue:#126e95;--navy:#173e55;--ink:#243d50;--muted:#718594;--line:#e0e8ed;--bg:#f3f6f8;--orange:#f29425;--pale:#eaf4f8;--red:#b43838;--green:#207954;--shadow:0 8px 32px #173e5508;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}input,select,textarea{width:100%;border:1px solid #d5e0e7;border-radius:8px;padding:11px 12px;color:var(--ink);background:white;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #126e9518}textarea{resize:vertical;min-height:92px;line-height:1.6}label{display:block;font-size:12px;font-weight:600;color:#506a7c;margin-bottom:7px}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:650;letter-spacing:-.8px}h2{font-size:18px;letter-spacing:-.2px}h3{font-size:14px}.muted{color:var(--muted)}.small{font-size:12px}.caption{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:650;color:var(--muted)}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:white;border-right:1px solid var(--line);padding:30px 19px;position:fixed;inset:0 auto 0 0;width:232px;display:flex;flex-direction:column;z-index:10}.brand{width:194px;margin:0 auto 28px;display:block}.sidebar .caption{margin:8px 12px 14px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-radius:8px;background:transparent;color:#587182;padding:13px 14px;font-weight:500}.nav button.active{color:var(--blue);background:var(--pale);font-weight:650}.nav button:hover{background:#f4f8fa}.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.65;flex-shrink:0}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:20px 10px 0}.user-block{display:flex;gap:11px;align-items:center;margin-bottom:15px}.avatar{background:var(--pale);color:var(--blue);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-weight:700}.main{grid-column:2;min-width:0}.topbar{height:76px;background:#ffffffb8;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px}.breadcrumb{font-size:12px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.content{padding:32px 38px 50px;max-width:1680px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-head p{margin-top:9px;line-height:1.6;color:var(--muted)}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:white;padding:11px 16px;color:var(--ink);font-weight:600;white-space:nowrap}.btn:hover{background:#eef5f8}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.primary:hover{background:#105f81}.btn.orange{background:var(--orange);color:white;border-color:var(--orange)}.btn.ghost{background:transparent;border:0;padding:7px 8px}.btn.danger{color:var(--red)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:28px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:21px 23px;box-shadow:var(--shadow)}.stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.stat-top .icon{color:var(--blue)}.stat-value{font-size:27px;font-weight:600;letter-spacing:-.7px;margin-top:14px}.stat-note{font-size:11px;margin-top:8px;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid var(--line);gap:20px}.card-body{padding:23px}.filterbar{display:flex;align-items:center;gap:14px;padding:18px 23px;border-bottom:1px solid var(--line)}.search{position:relative;flex:1;max-width:430px}.search input{padding-left:38px;background:#f9fbfc}.search .icon{position:absolute;left:12px;top:12px;color:var(--muted)}.filterbar select{width:auto;min-width:140px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{padding:14px 18px;text-align:left;background:#f9fbfc;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 18px;border-bottom:1px solid #edf1f4;vertical-align:middle}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover{background:#f7fbfd}.num{text-align:right;font-variant-numeric:tabular-nums}.quote-num{font-weight:650;color:var(--blue);margin-bottom:4px}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:600;background:#f0f3f5;color:#627987;white-space:nowrap}.badge.sent{background:#e8f3fc;color:#2a74a5}.badge.approved{background:#e8f5ed;color:#277553}.badge.declined{background:#fbecec;color:#ad4747}.badge.archived{background:#f4f1ed;color:#817464}.empty{padding:54px 28px;text-align:center;max-width:560px;margin:auto}.empty .icon{width:34px;height:34px;color:var(--blue);margin-bottom:15px}.empty p{color:var(--muted);line-height:1.7;margin:10px 0 23px}.card-foot{padding:16px 23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:21px;align-items:start}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding:0 22px;overflow:auto;background:white}.tabs button{background:none;border:0;padding:17px 9px;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.section{padding:25px}.section h2{margin-bottom:8px}.section-description{color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.span2{grid-column:span 2}.field-help{font-size:11px;color:var(--muted);line-height:1.6;margin-top:6px}.form-divider{margin:26px 0 21px;border:0;border-top:1px solid var(--line)}.pipe-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.pipe-box{border:1px solid var(--line);border-radius:10px;padding:18px 15px;background:#fcfdfe}.pipe-box .diameter{font-size:20px;font-weight:650;margin:7px 0 17px}.input-suffix{position:relative}.input-suffix input{padding-right:32px}.input-suffix span{position:absolute;right:12px;top:12px;color:var(--muted);font-size:11px}.switch{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.6;font-weight:500;color:var(--ink);cursor:pointer;margin-bottom:0}.switch input{width:16px;height:16px;accent-color:var(--blue);margin:0;flex-shrink:0}.summary{position:sticky;top:24px}.summary .card-body{padding:23px}.total-label{font-size:12px;color:var(--muted);margin:2px 0 8px}.grand-total{font-size:31px;letter-spacing:-1px;font-weight:650;color:var(--navy)}.summary-note{margin-top:10px;font-size:11px;color:var(--muted);line-height:1.6}.summary-groups{padding:20px 0;margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:12px}.summary-row{display:flex;justify-content:space-between;gap:16px;font-size:11px;line-height:1.5}.summary-row span{color:var(--muted)}.summary-row strong{font-weight:550;white-space:nowrap}.summary .btn{width:100%;margin-top:18px}.technical-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.technical-stats b{display:block;font-size:18px;margin-bottom:5px;font-weight:600}.technical-stats span{font-size:10px;color:var(--muted)}.notice{padding:13px 16px;border-radius:8px;background:#fff7e9;border:1px solid #f2dfba;color:#84601d;font-size:11px;line-height:1.7;margin-top:14px}.notice.info{background:var(--pale);border-color:#cde3ed;color:#3d6d81}.error-msg{color:var(--red);font-size:12px;margin-top:12px;line-height:1.6}.reservoir-sketch{margin-top:24px;background:#f7fafc;border-radius:10px;border:1px solid var(--line);padding:20px;display:flex;gap:20px;align-items:center}.reservoir-sketch svg{width:170px;flex-shrink:0}.dimension-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;flex:1}.dimension-grid span{font-size:10px;color:var(--muted)}.dimension-grid b{display:block;font-size:14px;margin-top:5px;font-weight:550}.mini-input{width:90px;padding:7px}.composition td{padding:13px 12px}.composition th{padding:12px}.composition input[type=checkbox]{width:16px;accent-color:var(--blue)}.composition .description{min-width:240px}.composition .description div{font-size:10px;color:var(--muted);margin-top:5px}.composition .btn{padding:5px 8px;font-size:10px}.composition .group-row td{font-weight:650;background:#f2f7fa;color:var(--navy)}.disabled-row{opacity:.5}.catalog-name{max-width:550px;line-height:1.6}.top-info{margin-bottom:23px;color:var(--muted);font-size:12px;line-height:1.7}.loading{display:grid;place-items:center;min-height:100vh;color:var(--blue)}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:var(--navy);color:white;padding:64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story::after{content:"";position:absolute;width:560px;height:560px;border:1px solid #ffffff15;border-radius:50%;right:-230px;bottom:-280px;box-shadow:0 0 0 80px #ffffff04,0 0 0 160px #ffffff03}.login-logo{background:white;border-radius:8px;padding:10px;width:220px}.login-story h1{font-size:44px;font-weight:500;line-height:1.15;letter-spacing:-1.3px;max-width:460px;margin-bottom:20px}.login-story p{line-height:1.9;color:#bdd0da;max-width:360px}.login-story .caption{color:#c8dbe5}.login-form-wrap{display:grid;place-items:center;padding:40px}.login-form{width:100%;max-width:355px}.login-form h2{font-size:25px;margin-bottom:12px}.login-form p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:32px}.login-form .field{margin-bottom:20px}.login-form .btn{width:100%;margin-top:8px}.login-form .small{margin-top:24px;line-height:1.7;color:var(--muted)}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;max-width:90vw;background:var(--navy);color:white;padding:14px 22px;border-radius:10px;box-shadow:0 4px 24px #173e5533;display:none;font-size:13px}#toast.show{display:block}.modal-overlay{position:fixed;inset:0;background:#0d263b66;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:white;border-radius:13px;max-width:680px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 12px 60px #08283e33}.modal-head{padding:21px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:24px}.modal-foot{padding:17px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.mobile-brand{display:none}.list-pill{padding:5px 9px;border-radius:5px;background:#f2f7fa;color:var(--blue);font-size:11px}.settings-block{margin-bottom:22px}.new-quote-tile{border:1px dashed #a8c6d6;background:#f7fbfd;border-radius:11px;padding:24px;cursor:pointer;display:flex;align-items:center;gap:18px;margin-bottom:26px}.new-quote-tile .icon{width:29px;height:29px;color:var(--blue)}.new-quote-tile p{color:var(--muted);font-size:12px;margin-top:7px}.recent-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}button:focus-visible,a:focus-visible{outline:3px solid #f2942580;outline-offset:2px}.unsaved{color:#ad6e1b;font-size:11px}.saved{color:var(--muted);font-size:11px}.text-link{color:var(--blue);background:none;border:0;padding:0;font-weight:600}.btn-full{width:100%}.align-end{align-self:end}.danger-box{padding:14px;background:#fff1f1;border-radius:8px;font-size:12px;color:var(--red);line-height:1.7}.history-line{padding:12px 0;border-bottom:1px solid var(--line)}
@media(min-width:1550px){.content{padding:36px 50px}.editor-grid{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1180px){.sidebar{width:194px;padding:25px 14px}.brand{width:162px}.shell{grid-template-columns:194px 1fr}.content{padding:27px 24px}.topbar{padding:0 24px}.editor-grid{grid-template-columns:minmax(0,1fr) 265px}.stats{gap:12px}.stat{padding:18px}.stat-value{font-size:23px}.pipe-inputs{grid-template-columns:1fr 1fr}.grand-total{font-size:27px}}@media(max-width:960px){.editor-grid{grid-template-columns:1fr}.summary{position:static}.summary-groups{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.login-story{padding:40px}.login-story h1{font-size:36px}.page-head{align-items:flex-start}.form-grid.three{grid-template-columns:1fr 1fr}}@media(max-width:700px){.shell{display:block}.sidebar{position:sticky;top:0;width:100%;padding:10px 15px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between;height:67px}.brand{width:120px;margin:0}.sidebar .caption,.sidebar-bottom{display:none}.nav{flex-direction:row;gap:4px}.nav button{padding:9px}.nav button span{display:none}.main{display:block}.topbar{height:48px;padding:0 19px}.topbar-right{font-size:10px}.content{padding:22px 17px 40px}.page-head{flex-direction:column;gap:18px;margin-bottom:23px}h1{font-size:25px}.stats{gap:10px}.stat{padding:16px}.stat-value{font-size:23px}.stat-note{font-size:10px}.filterbar{padding:14px;flex-wrap:wrap}.filterbar .search{max-width:none;flex-basis:100%}.card-head{padding:18px}.section{padding:20px}.form-grid,.form-grid.three{grid-template-columns:1fr}.span2{grid-column:auto}.pipe-inputs{gap:10px}.pipe-box{padding:15px 12px}.tabs{padding:0 12px}.summary-groups{grid-template-columns:1fr}.reservoir-sketch{flex-direction:column}.dimension-grid{width:100%}.login{grid-template-columns:1fr}.login-story{padding:28px;min-height:230px}.login-story h1{font-size:29px;margin:27px 0 12px}.login-story p{display:none}.login-story>.small{display:none}.login-form-wrap{padding:33px 25px}.modal-overlay{padding:12px}.modal-body{padding:18px}.actions .btn{font-size:12px;padding:10px 13px}.topbar .logout-mobile{display:inline-flex}}

.top-gap{margin-top:8px}.stat-value{overflow-wrap:anywhere}
