@font-face{font-family:Deja;src:url(assets/ui-font.ttf);font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2f5f2;color:#203b38;font-family:Arial,sans-serif;font-size:14px;--accent:#137b71;--soft:#e5f1ed}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #d6aa5b;outline-offset:3px}input,select{max-width:100%;width:100%;border:1px solid #d5dfd9;border-radius:9px;background:#fff;color:#203b38;padding:12px;font-size:15px;min-height:45px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{width:19px;height:19px;min-height:0;accent-color:var(--accent)}label{display:block}label>span{display:block;color:#647770;font-size:12px;margin-bottom:8px}header{background:#152d2c;color:#fff;padding:19px 4vw;display:flex;align-items:center;gap:15px}header .logo{width:35px;height:35px;border:1px solid #7aa49b;padding:6px;border-radius:7px}header strong{font-size:19px;letter-spacing:-.8px}header small{display:block;color:#a8bdb6;font-size:10px;margin-top:4px;letter-spacing:.8px}header .private{margin-left:auto;background:#24413d;border:1px solid #3a5650;padding:7px 11px;border-radius:20px;font-size:11px;color:#bcd4c9}.top-actions{display:flex;gap:8px}.top-actions button{background:transparent;color:white;border:1px solid #49635d;border-radius:8px;padding:9px 13px}.shell{max-width:1380px;margin:0 auto;padding:30px 4vw 110px}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}h1{font-size:29px;font-weight:600;letter-spacing:-1.2px;margin:10px 0 9px}p.sub{color:#718079;margin:0;font-size:13px;line-height:1.6}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.version{color:#74847b;text-align:right;font-size:11px;line-height:1.8}.layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:23px;align-items:start}.left,.right{min-width:0}.right{position:sticky;top:20px}.card{background:white;border:1px solid #e0e6df;border-radius:16px;margin-bottom:18px;padding:23px;box-shadow:0 3px 10px #233f2a03}.section-title{display:flex;align-items:center;gap:10px;margin:0 0 22px;font-size:16px;font-weight:600}.number{display:inline-flex;align-items:center;justify-content:center;background:var(--soft);color:var(--accent);font-size:11px;width:25px;height:25px;border-radius:7px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:18px}.full{grid-column:1/-1}.pillrow{display:flex;gap:7px;flex-wrap:wrap}.pill{border:1px solid #dce3dc;border-radius:9px;padding:11px 17px;color:#6c7b72;background:#fff}.pill.active{background:var(--soft);color:var(--accent);border-color:var(--accent);font-weight:bold}.profile-description{font-size:11px;color:#73827b;margin-top:9px}.scheme-select{display:flex;align-items:center;gap:12px;border:1px solid #dde7e0;border-radius:10px;background:#f8faf7;padding:9px}.scheme-select select{border:0;background:transparent;padding:4px;min-width:0;font-size:13px}.scheme-icon{width:58px;flex-shrink:0;height:35px}.smallnote{font-size:11px;color:#7e8c82;line-height:1.6}.divider{border:0;border-top:1px solid #edf0eb;margin:20px 0}.check{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.6;cursor:pointer}.door-card{background:#f7f9f5;border:1px solid #e1e7df;border-radius:11px;padding:16px;margin-top:12px}.door-head{display:flex;align-items:center;gap:8px;margin-bottom:16px}.door-head b{font-size:13px}.badge{font-size:10px;border-radius:5px;padding:4px 7px;background:white;border:1px solid #dde4dc;color:#718278}.door-head .badge{margin-left:auto}.swatch{width:25px;height:25px;border-radius:5px;border:1px solid #a9bbb3;display:inline-block;background:linear-gradient(135deg,#c9dbd5,#f4f8f7);flex-shrink:0}.glass-choice{display:flex;gap:8px;align-items:center}.glass-choice select{font-size:12px;padding-left:7px}.door-mini{font-size:11px;color:#6d7f73;margin-top:12px;line-height:1.7}.preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.preview-head h2{font-size:15px;margin:0}.live{font-size:10px;color:var(--accent);background:var(--soft);padding:6px 8px;border-radius:12px}.live:before{content:'●';margin-right:5px;font-size:8px}.drawing{background:#f5f8f5;border:1px solid #e5ebe3;border-radius:10px;padding:14px 3px 2px}.drawing svg{width:100%;height:auto;display:block}.specs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:19px;gap:5px}.specs span{font-size:10px;color:#7c8980}.specs b{display:block;font-size:13px;margin-top:6px}.warning{background:#fff0ed;border:1px solid #f1c8bf;color:#ae342c;padding:12px;border-radius:9px;margin-top:15px;font-size:12px;line-height:1.6}.price-list>div{display:flex;justify-content:space-between;gap:12px;margin:14px 0;font-size:13px;color:#697a6f}.price-list b{color:#2b4439;font-weight:500}.price-total{display:flex;align-items:end;justify-content:space-between;gap:12px;border-top:1px solid #e4e9df;padding-top:20px;margin-top:20px}.price-total span{font-size:12px}.price-total b{font-size:29px;letter-spacing:-1px;color:var(--accent)}.primary{background:var(--accent);color:white;border:0;border-radius:9px;padding:14px 18px;font-weight:600}.secondary{background:#fff;color:#3c5646;border:1px solid #d5dfd5;border-radius:9px;padding:12px 14px}.wide{width:100%;margin-top:20px}.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.document{background:#f7f9f4;border:1px solid #dfe6da;border-radius:10px;text-align:left;padding:15px;color:#294431;font-weight:600;font-size:12px}.document span{display:block;font-weight:400;color:#7e8d7c;font-size:10px;margin-top:7px}.document i{font-style:normal;color:var(--accent);display:block;font-size:18px;margin-bottom:10px}.bottom{display:none}.tabs{display:flex;gap:5px;border-bottom:1px solid #dce5db;margin-bottom:20px;overflow:auto}.tab{border:0;background:transparent;white-space:nowrap;padding:12px 16px;color:#7a897d;font-size:12px;border-bottom:2px solid transparent}.tab.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:#7b887b;font-size:10px;font-weight:400;padding:10px 7px;border-bottom:1px solid #dfe6dc}td{padding:12px 7px;border-bottom:1px solid #edf0e9;vertical-align:top;line-height:1.5}td small{display:block;color:#7d8d7d;font-size:9px}.detail-card{grid-column:1/-1}.mobile-nav{display:none}dialog{border:0;border-radius:16px;padding:25px;max-width:540px;width:calc(100% - 32px);max-height:85vh;overflow:auto;color:#294431;box-shadow:0 20px 100px #15382b40}dialog::backdrop{background:#142e2b80}dialog h2{margin:0 0 10px;font-size:20px}dialog .close{float:right;border:0;background:transparent;font-size:23px;color:#76867a}.saved-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e1e7dd;padding:16px 0}.saved-row small{display:block;color:#80907e;margin-top:5px}.saved-row button{padding:7px 10px}.dialog-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);padding:13px 20px;border-radius:10px;background:#1d3e35;color:white;z-index:100;box-shadow:0 5px 30px #15382b30;opacity:0;pointer-events:none;transition:opacity .2s;font-size:13px;width:max-content;max-width:90vw}.loading{padding:30vh 20px;text-align:center;font-size:24px;color:#137b71}.loading small{font-size:12px}.empty{padding:22px 0;color:#82907d;font-size:12px}.advanced summary{color:#637860;font-size:12px;cursor:pointer;padding:4px 0}.advanced .grid2{margin-top:17px}.copy{margin-top:12px;font-size:12px;width:100%}.error{color:#b1372a}.smallnote a{color:var(--accent)}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}
@media(min-width:1300px){.shell{padding-left:45px;padding-right:45px}.layout{gap:28px}.card{padding:25px}}
@media(max-width:760px){header{padding:15px 18px;gap:10px}header strong{font-size:18px}header .private{display:none}.top-actions{margin-left:auto}.top-actions button{font-size:11px;padding:8px}.shell{padding:23px 15px 115px}.page-title{margin-bottom:19px}.version{display:none}h1{font-size:25px}.layout{display:flex;flex-direction:column;gap:0}.left,.right{width:100%}.right{position:static;display:flex;flex-direction:column}.preview{order:-1}.card{padding:18px;border-radius:13px;margin-bottom:14px}.section-title{margin-bottom:19px}.grid2{gap:13px}.door-card .grid2{gap:12px}.field{margin-bottom:16px}.document-grid{gap:8px}.document{padding:14px}.price-total b{font-size:27px}.bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;position:fixed;bottom:0;left:0;right:0;background:#fffefc;border-top:1px solid #dce6da;padding:12px 18px calc(12px + env(safe-area-inset-bottom));z-index:20;box-shadow:0 -8px 25px #233c2206}.bottom small{display:block;color:#8a9687;font-size:10px;margin-bottom:3px}.bottom strong{font-size:21px;letter-spacing:-.5px}.bottom button{padding:12px 18px;font-size:12px}.mobile-nav{display:flex;position:sticky;top:0;z-index:15;background:#f2f5f2ef;backdrop-filter:blur(10px);margin:0 -15px 18px;padding:0 15px;border-bottom:1px solid #dde6da}.mobile-nav a{flex:1;text-align:center;text-decoration:none;color:#778571;font-size:11px;padding:13px 5px}.mobile-nav a:first-child{color:var(--accent);border-bottom:2px solid var(--accent)}#parameters,#glass,#results{scroll-margin-top:55px}.detail-card{width:100%}.specs b{font-size:12px}.door-head{margin-bottom:13px}.door-card select{font-size:12px}.scheme-select select{font-size:12px}.price-list>div{font-size:12px}.drawing{padding-top:18px}.pill{flex:1;padding:10px}.sub{max-width:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.diagram-legend{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:14px;font-size:11px;color:#6a7b70}.diagram-legend b{color:#304b3c;margin-right:4px}.diagram-legend span{font-size:10px;display:block;margin:4px 0 0 20px;color:#899486}
.archive-error{color:#ae342c;font-size:12px;line-height:1.6;margin-top:14px}dialog form{margin-top:20px}dialog a.secondary{text-decoration:none;display:inline-block}dialog h3{font-size:15px;margin-top:28px}dialog input,dialog select{font-size:15px}@media(max-width:760px){header .top-actions{gap:4px}header .top-actions button{padding:8px;font-size:10px;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header:has([data-action=account]) .logo{display:none}header:has([data-action=account]) strong{font-size:15px}header:has([data-action=account]) small{font-size:7px;letter-spacing:.3px}}

dialog.pdf-preview{width:calc(100% - 24px);max-width:1000px;max-height:94dvh;padding:20px;overflow:auto}.pdf-preview-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.pdf-preview-head h2{margin:0;font-size:19px}.pdf-preview-head .close{float:none;flex-shrink:0}.pdf-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.pdf-preview-actions a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.pdf-preview-frame{display:block;width:100%;height:65vh;height:65dvh;border:1px solid #dfe6da;border-radius:8px;background:#f2f5f2}@media(max-width:760px){dialog.pdf-preview{padding:14px}.pdf-preview-head h2{font-size:16px}.pdf-preview-actions{gap:8px}.pdf-preview-actions a{padding:11px 12px;font-size:12px}.pdf-preview-frame{height:60vh;height:60dvh}}
