:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#182421;background:#f6f8f9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}#app{display:flex;min-height:100vh}.sidebar{width:265px;flex:none;background:linear-gradient(150deg,#003c2d,#004e39 50%,#003d30);color:white;padding:15px 9px;display:flex;flex-direction:column;gap:22px;min-height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:5px 16px 8px}.brand-icon{font-size:46px;color:#8de1d1}.brand b{font-size:21px;line-height:1.05;display:block}.brand small,.user small{display:block;font-size:13px;font-weight:400;margin-top:4px}nav{display:grid;gap:3px}nav button{display:flex;align-items:center;gap:15px;width:100%;background:transparent;border:0;color:#fff;padding:12px 14px;text-align:left;border-radius:9px;font-size:15px}nav button.active,nav button:hover{background:#07834f}nav button .ico{font-size:22px;width:23px;text-align:center}.modules{margin-top:auto;border:1px solid #238b69;border-radius:13px;padding:16px}.modules p{display:flex;justify-content:space-between;margin:14px 0 0}.modules span{background:#12a34d;border-radius:5px;padding:1px 6px}main{flex:1;min-width:0;padding:0 20px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 7px 17px;border-bottom:1px solid #dfe6e6;margin-bottom:16px}h1{font-size:34px;margin:0;line-height:1.1}header p{margin:4px 0 0;color:#3e5052}.header-right{display:flex;align-items:center;gap:16px}.header-right input{width:min(370px,27vw);padding:13px;border:1px solid #cdd7dc;border-radius:9px;background:white}.bell{font-size:26px;color:#005e3a}.avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#13964e;color:#fff;font-weight:700}.user{min-width:92px}.mobile-menu{display:none}.ghost{border:1px solid #cbd9d1;background:white;border-radius:7px;padding:8px}.banners{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:16px}.banner{height:150px;border-radius:12px;overflow:hidden;position:relative;display:flex;align-items:center;padding:24px;background:#d8f4e8}.banner.stone{background:#f1e7df}.banner .banner-text{position:relative;z-index:1;width:55%}.banner h2{font-size:27px;margin:0 0 6px}.banner p{line-height:1.45;margin:0}.banner .art{position:absolute;right:0;top:0;width:47%;height:100%;background-size:cover;background-position:center}.banner.glass .art{background-image:linear-gradient(90deg,#d8f4e8,transparent 40%),url('assets/vidracaria.jpg')}.banner.stone .art{background-image:linear-gradient(90deg,#f1e7df,transparent 40%),url('assets/marmoraria.jpg')}.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(290px,1fr);gap:16px}.left-col,.right-col{display:grid;gap:16px;align-content:start}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.panel,.stat{background:#fff;border:1px solid #e1e7e8;border-radius:12px;box-shadow:0 2px 5px #173f2710}.stat{min-height:99px;padding:16px 12px;display:flex;gap:12px;align-items:center}.stat .symbol{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#e7f8ee;color:#087c40;font-size:25px;flex:none}.stat small{font-size:12px}.stat strong{display:block;font-size:25px;margin-top:6px}.panel{padding:15px}.panel h3{font-size:19px;margin:0 0 15px}.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick button{border:0;border-radius:10px;background:linear-gradient(150deg,#eef9f4,#e0f4eb);padding:16px 7px;min-height:94px;color:#111;font-weight:700}.quick button span{display:block;font-size:30px;color:#078442;margin-bottom:7px}.quick button:hover{outline:2px solid #07964e}.empty{text-align:center;color:#697780;padding:24px 12px}.empty .empty-icon{font-size:42px}.empty strong{display:block;color:#182421;margin:8px}.primary{border:0;background:#007b31;color:white;padding:12px 18px;border-radius:8px;font-weight:700}.primary:hover{background:#006429}.secondary{border:1px solid #bcd7c7;background:#eff8f2;color:#075f34;padding:10px 15px;border-radius:8px;font-weight:650}.primary:disabled{opacity:.5;cursor:not-allowed}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.link-btn{background:none;border:0;color:#006d32;font-weight:700}.tabs{display:flex;border:1px solid #dae2de;border-radius:7px;overflow:hidden;margin-bottom:12px}.tabs button{flex:1;border:0;padding:10px;background:#f7f8f8}.tabs button.active{background:#dff8e7;border-bottom:3px solid #005e27;font-weight:700}.field{display:grid;gap:5px;margin-bottom:10px}.field label{font-size:13px}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #cbd6d8;border-radius:7px;background:white;min-width:0}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.total{display:flex;align-items:center;justify-content:space-between;background:#e0f9e6;padding:14px;border-radius:8px;margin:12px 0;color:#005b24}.total strong{font-size:23px}.full{width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:#eef2f4;text-align:left}td,th{padding:11px;border-bottom:1px solid #e5ebed}td:last-child{text-align:right}.muted{color:#64757a}.pill{border-radius:20px;background:#e2f6e8;color:#006a35;padding:4px 9px;font-size:12px}.warning{color:#8d5a04;background:#fff5db;padding:12px;border-radius:8px;font-size:13px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.card-item{padding:20px}.card-item h3{margin:5px 0}.card-item p{color:#52676a}footer{text-align:center;color:#84908d;font-size:12px;padding:25px}.overlay{position:fixed;inset:0;background:#003d2fdd;display:grid;place-items:center;z-index:10;padding:15px}.overlay.hidden{display:none}.login{background:white;width:min(430px,100%);padding:30px;border-radius:16px;display:grid;gap:12px;box-shadow:0 10px 40px #0003}.login h2{text-align:center;margin:0}.login p,.login small{color:#5c7072;text-align:center}.login label{display:grid;gap:6px}.login input{padding:12px;border:1px solid #cdd8d5;border-radius:8px}.login-logo{text-align:center;color:#007d4b;font-size:55px}.error{color:#ad2929;font-size:13px}#toast{position:fixed;bottom:20px;right:20px;z-index:20;background:#164b36;color:white;padding:12px 18px;border-radius:9px;display:none;max-width:350px}.mobile-menu{border:0;background:#e3f3e8;border-radius:6px;padding:8px}@media(max-width:1250px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.quick{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{width:220px}.banners{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.header-right input{display:none}}@media(max-width:650px){.sidebar{display:none;position:fixed;z-index:8;top:0;bottom:0;overflow:auto}.sidebar.open{display:flex}main{padding:0 12px}.mobile-menu{display:block}header{gap:8px}h1{font-size:25px}header p{font-size:12px}.user,.bell{display:none}.banner{height:135px;padding:16px}.banner h2{font-size:23px}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:10px}.stat .symbol{display:none}.quick{grid-template-columns:repeat(2,1fr)}.field-row.three{grid-template-columns:1fr 1fr}}

/* Versão 1.1 — Clientes */
.client-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.client-fields .wide{grid-column:1/-1}.client-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.client-actions button{padding:8px 12px;font-size:13px}.client-actions .danger{color:#a12e2e;border-color:#e6c4c4;background:#fff8f8}#clientEditor{scroll-margin-top:15px}#clientForm .client-actions{justify-content:flex-start;margin-top:15px}#clientFormError{margin-top:10px}@media(max-width:650px){.client-fields{grid-template-columns:1fr}.client-actions{justify-content:flex-start}}

/* V1.2.1 - metragem e composicao dos orcamentos */
.quote-area-preview{display:flex;gap:24px;flex-wrap:wrap;background:#eff9f2;border:1px solid #cce8d4;border-radius:8px;padding:12px 14px;margin:10px 0;color:#075f34;font-size:14px}.quote-area-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#e5f7ec;border-radius:8px;padding:13px 16px;margin:12px 0;color:#075f34}.quote-area-summary strong{font-size:20px}.quote-composition-row td{background:#f8fbf9;text-align:left!important;padding:9px 12px}.quote-composition-row details summary{cursor:pointer;color:#075f34;font-weight:650}.quote-composition-row details[open] summary{margin-bottom:10px}
