:root{--navy:#071526;--navy2:#0d2239;--gold:#f7c400;--bg:#f4f7fb;--text:#152238;--muted:#718096;--white:#fff;--green:#18a56b;--red:#e34b4b;--blue:#2879df;--line:#e3e9f2}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#061322,#102b46)}.login-card{width:min(440px,92vw);background:#fff;border-radius:22px;padding:32px;box-shadow:0 25px 70px #0005}.brand{font-weight:900;font-size:28px;letter-spacing:-1px}.brand span{color:var(--gold)}.login h1{margin:28px 0 8px}.muted{color:var(--muted)}.field{display:grid;gap:7px;margin:16px 0}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:var(--gold);color:#111}.dark{background:var(--navy);color:#fff}.outline{background:#fff;border:1px solid var(--line)}.danger{background:#fff1f1;color:#b52f2f}.app{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.side{background:var(--navy);color:#fff;padding:22px 14px;position:sticky;top:0;height:100vh}.side .brand{padding:5px 10px 25px}.nav{display:grid;gap:6px}.nav button{border:0;background:transparent;color:#cbd7e6;text-align:left;padding:12px;border-radius:10px;cursor:pointer}.nav button.active,.nav button:hover{background:#f7c400;color:#111}.main{min-width:0}.top{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.content{padding:28px}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.stat{font-size:28px;font-weight:850;margin-top:6px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}.table th{font-size:12px;text-transform:uppercase;color:var(--muted)}.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.green{background:#e7f8f0;color:#168055}.yellow{background:#fff7d5;color:#927200}.blue{background:#e9f2ff;color:#2465b9}.red{background:#ffe9e9;color:#a92d2d}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-head h2{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}.actions{display:flex;gap:8px;flex-wrap:wrap}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo{height:150px;border-radius:12px;background:linear-gradient(135deg,#17334e,#6c7f90);display:flex;align-items:end;padding:12px;color:#fff;font-weight:800;position:relative;overflow:hidden}.photo:before{content:'☀';position:absolute;right:15px;top:12px;font-size:42px;color:#f7c400aa}.quote-total{font-size:30px;font-weight:900}.steps{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.step{padding:8px 12px;border-radius:999px;background:#edf1f6;color:#65748a;font-size:13px}.step.active{background:var(--gold);color:#111}@media(max-width:900px){.app{grid-template-columns:1fr}.side{position:relative;height:auto}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}@media(max-width:600px){.content{padding:16px}.cards{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.top{padding:0 16px}.hide-mobile{display:none}}
.wide{width:100%}.demo{font-size:12px;margin-top:16px}.logout{margin-top:25px}.mt{margin-top:16px}.mt-sm{margin-top:10px}.mb{margin-bottom:16px}.row-between{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.link-btn{text-decoration:none}.table-wrap{overflow:auto}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{padding:0;overflow:hidden}.service-card>img,.service-placeholder{width:100%;height:155px;object-fit:cover;background:linear-gradient(135deg,#102b46,#1e4669);display:grid;place-items:center;font-size:46px;color:var(--gold)}.service-body{padding:18px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{padding:0;overflow:hidden}.project-cover{height:190px;background:linear-gradient(135deg,#17334e,#6c7f90);background-size:cover;background-position:center;position:relative;display:grid;place-items:center;font-size:50px;color:var(--gold)}.cover-badge{position:absolute;top:12px;right:12px}.project-body{padding:18px}.modal-backdrop{position:fixed;inset:0;background:#061322b8;z-index:50;display:grid;place-items:center;padding:22px;overflow:auto}.modal-panel{width:min(820px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 90px #0006}.modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.modal-head h2{margin:0 0 5px}.icon-btn{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer;font-weight:900}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.image-drop{border:1px dashed #c7d2e1;border-radius:16px;padding:14px;margin-bottom:18px;display:grid;place-items:center;gap:12px;background:#f8fafc}.image-drop img{width:100%;height:220px;object-fit:cover;border-radius:12px}.image-drop>div{height:170px;display:grid;place-items:center;align-content:center;gap:8px;font-size:52px;color:#d0a600}.image-drop>div span{font-size:13px;color:var(--muted)}.hidden{display:none!important}.switch-field{display:flex;align-items:center;gap:10px;margin:16px 0;font-weight:700}.switch-field input{width:18px;height:18px}.upload-zone{border:1px dashed #c7d2e1;border-radius:14px;padding:16px;margin-bottom:18px}.pending-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.pending-grid div{min-width:0}.pending-grid img{width:100%;height:90px;object-fit:cover;border-radius:9px}.pending-grid small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-manager{display:grid;gap:12px}.gallery-item{display:grid;grid-template-columns:115px 1fr auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:13px;padding:10px}.gallery-item img{width:115px;height:80px;object-fit:cover;border-radius:9px}.gallery-meta{display:grid;gap:6px;justify-items:start}.gallery-buttons{display:flex;gap:6px}.danger-text{color:#b52f2f}.empty-state{text-align:center;padding:35px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:#152238;color:white;padding:13px 18px;border-radius:11px;box-shadow:0 15px 40px #0004;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#a92d2d}
@media(max-width:1000px){.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.service-grid,.project-grid{grid-template-columns:1fr}.modal-backdrop{padding:8px}.modal-panel{padding:16px}.gallery-item{grid-template-columns:90px 1fr}.gallery-item img{width:90px;height:70px}.gallery-buttons{grid-column:1/-1}.pending-grid{grid-template-columns:repeat(2,1fr)}}
.internal-box{background:#fffaf0;border:1px solid #f3df9a;border-radius:15px;padding:18px}.internal-box h3{margin:4px 0 0}.calc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.calc-grid>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.calc-grid small{display:block;color:var(--muted);margin-bottom:6px}.calc-grid strong{font-size:20px}.warn-text{color:#b52f2f;font-weight:800;margin-top:10px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em}.field input[readonly]{background:#f1f4f8;color:#59677c}
@media(max-width:700px){.calc-grid{grid-template-columns:1fr}}
.proposal-section{border:1px solid var(--line);border-radius:15px;padding:18px;margin:0 0 16px;background:#fff}.proposal-section h3{margin:0 0 10px}.quote-summary .small-stat{font-size:20px;line-height:1.25}.table .btn{padding:8px 10px;font-size:12px}.modal-panel{scrollbar-width:thin}.steps{position:sticky;top:-24px;background:#fff;z-index:3;padding:10px 0;border-bottom:1px solid var(--line)}
@media(max-width:700px){.quote-summary{grid-template-columns:1fr 1fr}.quote-summary .stat{font-size:22px}}
