:root{--navy:#17365d;--blue:#3157e8;--ink:#172033;--muted:#6b788c;--line:#dfe6ee;--bg:#f3f6fa;--green:#16845b;--orange:#d97a16}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;z-index:20;background:#102a4b;flex-direction:column;height:100vh;padding:24px 17px;display:flex;position:sticky;top:0}.logo{align-items:center;gap:11px;padding:0 8px 28px;display:flex}.logo-mark{width:41px;height:41px;color:var(--navy);background:linear-gradient(145deg,#fff,#b8d6ff);border-radius:12px;place-items:center;font-size:22px;font-weight:900;display:grid}.logo strong,.logo small{display:block}.logo strong{font-size:17px}.logo small{color:#aebed1;margin-top:2px}.sidebar nav{gap:5px;display:grid}.sidebar nav button{appearance:none;color:#b9c8d9;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;font-weight:650;display:flex}.sidebar nav button span{text-align:center;width:22px;font-size:18px}.sidebar nav button b{color:#3b2b00;background:#ffcf5a;border-radius:20px;margin-left:auto;padding:2px 7px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#23496f}.user-card{border-top:1px solid #315172;align-items:center;gap:10px;margin-top:auto;padding:18px 6px 2px;display:flex}.user-card strong,.user-card small{display:block}.user-card small{color:#aebed1}.avatar{width:38px;height:38px;color:var(--navy);background:#d9e9ff;border-radius:50%;place-items:center;font-weight:800;display:grid}.avatar.large{width:64px;height:64px;margin:auto;font-size:20px}.topbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:16px;height:92px;padding:18px 30px;display:flex}.topbar h1{margin:0;font-size:25px}.topbar p{color:var(--muted);margin:3px 0 0}.topbar .primary{margin-left:auto}.menu-button{display:none}.content{max-width:1500px;padding:26px 30px}.primary,.secondary,.text-button{font:inherit;cursor:pointer;border:0;border-radius:8px;padding:10px 15px;font-weight:700}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 15px #3157e833}.secondary{color:#25354b;background:#edf1f6}.text-button{color:var(--blue);background:0 0}.small{padding:8px 12px}.full{width:100%}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:13px;padding:18px;position:relative;overflow:hidden}.stat:before{content:"";background:#3f6ce1;width:5px;position:absolute;top:0;bottom:0;left:0}.stat.purple:before{background:#7957c8}.stat.green:before{background:#27a774}.stat.orange:before{background:#e69a31}.stat span{color:var(--muted);font-size:13px}.stat strong{margin-top:8px;font-size:30px;display:block}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:20px;padding:21px;box-shadow:0 5px 18px #14233c09}.panel.highlight{background:linear-gradient(135deg,#fff,#f3fcf7);border-color:#b8ddce}.panel-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;display:flex}.panel h2,.panel-head h2{margin:0;font-size:19px}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:850}.action-row,.list-row,.inspection-row,.quote-row{border-top:1px solid #ebf0f5;align-items:center;gap:14px;padding:13px 0;display:grid}.action-row{grid-template-columns:1fr auto auto}.action-row strong,.action-row span,.list-row strong,.list-row span{display:block}.action-row span,.list-row span{color:var(--muted);font-size:13px}.dashboard-grid{grid-template-columns:1.2fr .8fr;gap:20px;display:grid}.date-box{text-align:center;width:49px;color:var(--navy);background:#edf3ff;border-radius:9px;padding:7px}.date-box strong,.date-box span{display:block}.date-box strong{font-size:19px}.date-box span{font-size:10px}.list-row{grid-template-columns:auto 1fr auto}.owner{background:#eef3f8;border-radius:20px;padding:5px 9px;font-size:12px;display:inline-block}.pipeline{gap:12px;display:grid}.pipeline div{background:#f6f8fb;border-radius:9px;justify-content:space-between;align-items:center;padding:12px;display:flex}.pipeline b{font-size:19px}.badge{color:#42536a;background:#e8eef5;border-radius:20px;align-items:center;width:max-content;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.badge.green{color:#126342;background:#dcf5e8}.badge.red{color:#9b1c1c;background:#fee5e5}.badge.amber{color:#8a5700;background:#fff0cc}.toolbar{justify-content:space-between;gap:12px;margin-bottom:17px;display:flex}.search,input,select,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #cdd7e2;border-radius:8px;padding:10px 11px}.search{min-width:320px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.form-grid h2,.form-actions{grid-column:1/-1}.form-grid label,.settings-grid label,.contact-card label,.project-card label{gap:5px;font-size:12px;font-weight:700;display:grid}.form-actions{justify-content:flex-end;gap:9px;display:flex}.table-wrap{padding:0;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e8edf3;padding:14px}th{color:var(--muted);background:#f8fafc;font-size:12px}td a,td small{color:var(--muted);margin-top:3px;text-decoration:none;display:block}.card-grid{grid-template-columns:repeat(2,1fr);gap:17px;display:grid}.contact-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px}.contact-head{justify-content:space-between;display:flex}.contact-head h2{margin:7px 0 3px}.contact-head p{color:var(--muted);margin:0}.priority{font-size:11px;font-weight:800}.priority.hög{color:#aa2020}.phone{color:var(--navy);margin:18px 0;font-size:21px;font-weight:800;text-decoration:none;display:block}.mini-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.contact-card textarea{min-height:80px}.calendar-strip{gap:9px;margin-bottom:18px;display:flex;overflow:auto}.calendar-strip div{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;min-width:77px;padding:10px}.calendar-strip span,.calendar-strip strong{display:block}.calendar-strip span{color:var(--muted);font-size:10px}.calendar-strip strong{font-size:20px}.calendar-strip .selected{background:var(--navy);color:#fff}.calendar-strip .selected span{color:#c5d3e2}.inspection-row{grid-template-columns:110px 1fr auto auto}.inspection-time strong,.inspection-time span{display:block}.inspection-row h3,.inspection-row p{margin:2px 0}.inspection-row p{color:var(--muted)}.inspection-row>div:nth-child(3){gap:6px;display:grid}.quote-row{grid-template-columns:1.2fr auto .8fr auto}.quote-row h3{margin:5px 0}.quote-row span{color:var(--muted);font-size:12px}.quote-price strong,.quote-price span{display:block}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.kanban{grid-template-columns:repeat(5,minmax(220px,1fr));gap:13px;display:grid;overflow:auto}.kanban-col{background:#eaf0f6;border-radius:12px;min-height:430px;padding:11px}.kanban-col>h3{justify-content:space-between;margin:0 0 10px;padding:4px 5px;font-size:13px;display:flex}.kanban-col>h3 span{background:#fff;border-radius:20px;padding:2px 7px}.project-card{background:#fff;border-radius:10px;margin-bottom:10px;padding:14px;box-shadow:0 3px 9px #14233c0f}.project-card>span{color:var(--muted);font-size:11px}.project-card h4{margin:7px 0}.project-card p{color:var(--muted);font-size:13px}.project-card>strong{margin:10px 0;display:block}.empty{text-align:center;padding:80px 20px}.empty div{color:#9fb0c4;font-size:50px}.team-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.person-card,.invite-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:25px}.person-card h2{font-size:18px}.person-card p{color:var(--muted)}.person-card a{color:var(--blue);margin:7px;text-decoration:none;display:block}.person-card .badge{margin-top:12px}.invite-card{border-style:dashed;place-content:center;display:grid}.invite-card>span{color:var(--blue);font-size:40px}.settings-grid{grid-template-columns:1fr 1fr;gap:19px;display:grid}.settings-grid .panel{gap:12px;display:grid}.integration{background:#f6f8fb;border-radius:10px;align-items:center;gap:12px;padding:13px;display:flex}.integration-logo{color:#fff;background:#28a66f;border-radius:9px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:grid}.integration-logo.mail{background:#3157e8}.integration p{color:var(--muted);margin:3px 0;font-size:12px}.integration .badge{margin-left:auto}.warning{background:#fff8e7;border-color:#f0d58f;grid-column:1/-1}.muted{color:var(--muted)}@media (max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{width:250px;transition:all .2s;position:fixed;left:-270px}.sidebar.open{left:0;box-shadow:12px 0 30px #0003}.menu-button{background:#edf1f6;border:0;border-radius:8px;padding:10px;display:block}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.topbar{padding:15px 18px}.content{padding:20px}.quote-row{grid-template-columns:1fr auto}.quote-price,.row-actions{grid-column:1/-1}}@media (max-width:680px){.topbar p{display:none}.topbar h1{font-size:20px}.topbar .primary{padding:10px;font-size:0}.topbar .primary:after{content:"+";font-size:20px}.content{padding:14px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px}.stat strong{font-size:24px}.action-row{grid-template-columns:1fr auto}.action-row button{grid-column:1/-1}.card-grid,.team-grid,.settings-grid,.form-grid{grid-template-columns:1fr}.search{width:100%;min-width:0}.toolbar{align-items:stretch}.inspection-row{grid-template-columns:75px 1fr}.inspection-row>div:nth-child(3),.inspection-row button{grid-column:2}.quote-row{grid-template-columns:1fr}.quote-row>*{grid-column:1}.panel{padding:16px}.mini-grid{grid-template-columns:1fr}.warning{grid-column:auto}}.login-page{background:#102a4b;grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 20% 10%,#31577e,#102a4b 60%);justify-content:center;align-items:center;gap:22px;padding:70px;display:flex}.login-brand h1{margin:0;font-size:42px}.login-brand p{color:#c2d3e5}.login-logo{color:#17365d;background:#fff;border-radius:24px;place-items:center;width:86px;height:86px;font-size:45px;font-weight:900;display:grid}.login-card{background:#fff;border-radius:18px;align-self:center;max-width:480px;margin:40px;padding:38px;box-shadow:0 25px 70px #00000040}.login-card h2{margin:8px 0;font-size:27px}.login-card>p{color:var(--muted)}.login-card form{gap:14px;margin:25px 0 10px;display:grid}.login-card label{gap:6px;font-size:13px;font-weight:750;display:grid}.login-card small{color:var(--muted);margin-top:18px;display:block}.form-error{background:#fff1f0;border-radius:8px;padding:10px 12px;font-size:13px;color:#b42318!important}.activation-link{text-align:center;margin-top:22px;text-decoration:none;display:block}.login-card button:disabled{opacity:.65;cursor:wait}@media (max-width:800px){.login-page{padding:22px;display:block}.login-brand{padding:45px 15px}.login-brand h1{font-size:30px}.login-logo{width:64px;height:64px}.login-card{margin:0 auto;padding:25px}}
.lead-form{gap:18px;display:grid}.import-box{background:#f3f7fd;border:1px solid #b9cbe1;border-radius:12px;gap:12px;padding:17px;display:grid}.import-box label{gap:6px;font-size:12px;font-weight:750;display:grid}.import-box textarea{min-height:130px}.import-box .secondary{justify-self:start}.import-message{color:#214f3b;margin:0;font-weight:700}.lead-form .form-grid h3{border-top:1px solid var(--line);color:var(--navy);grid-column:1/-1;margin:12px 0 0;padding-top:12px}.nl-field-wide{grid-column:1/-1}.lead-form textarea{min-height:85px}
.call-history{border-top:1px dashed var(--line);margin-top:16px;padding-top:12px}.call-history summary{cursor:pointer;color:var(--navy);font-weight:800}.call-entry{border-bottom:1px solid #edf1f5;padding:11px 0}.call-entry strong,.call-entry span{display:block}.call-entry span{color:var(--muted);margin-top:3px;font-size:12px}.call-entry p{white-space:pre-wrap;margin:6px 0 0}
.inspection-form{max-width:1100px}.inspection-form .form-grid h3{border-top:1px solid var(--line);color:var(--navy);grid-column:1/-1;margin:14px 0 0;padding-top:14px}.inspection-form .wide{grid-column:1/-1}.inspection-form textarea{min-height:95px}
.quote-form{max-width:1150px}.quote-form .wide{grid-column:1/-1}.quote-form textarea{min-height:80px}.check-label{grid-template-columns:auto 1fr;align-self:end;align-items:center;display:flex!important}.check-label input{width:18px;height:18px}.calculation{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.calc-columns{grid-template-columns:1fr 1fr;gap:22px;display:grid}.calc-line{border-bottom:1px solid #edf1f5;justify-content:space-between;gap:12px;padding:9px 0;display:flex}.calc-line span,.calc-line small{display:block}.calc-line small{color:var(--muted);margin-top:3px}.calc-summary{background:#eef4ff;border-radius:12px;gap:8px;margin-top:18px;padding:18px;display:grid}.calc-summary span{justify-content:space-between;display:flex}.calc-summary .total{border-top:1px solid #bfd0e8;padding-top:10px;font-size:19px}@media (max-width:680px){.calc-columns{grid-template-columns:1fr}}
.public-offer{color:#172033;background:#fff;max-width:920px;margin:30px auto;padding:42px;box-shadow:0 10px 40px #14233c1f}.public-offer header{border-bottom:2px solid #17365d;align-items:center;gap:14px;padding-bottom:25px;display:flex}.public-offer header div:nth-child(2){gap:3px;display:grid}.public-offer header span{color:#6b788c;font-size:13px}.offer-logo{color:#fff;background:#17365d;border-radius:12px;place-items:center;width:50px;height:50px;font-size:28px;font-weight:900;display:grid}.print-hint{background:#eef3f8;border:0;border-radius:8px;margin-left:auto;padding:10px}.offer-hero{padding:40px 0 24px}.offer-hero>span{color:#3157e8;font-weight:800}.offer-hero h1{margin:8px 0;font-size:36px}.offer-hero p{color:#6b788c}.offer-section,.offer-terms,.offer-response{border-top:1px solid #dfe6ee;padding:25px 0}.preline{white-space:pre-line}.offer-lines>div{border-bottom:1px solid #edf1f5;justify-content:space-between;padding:11px 0;display:flex}.offer-lines span,.offer-lines small{display:block}.offer-lines small{color:#6b788c;margin-top:3px}.offer-total{background:#f2f6fb;border-radius:12px;margin:25px 0;padding:22px}.offer-total div{justify-content:space-between;padding:7px;display:flex}.offer-total .grand{border-top:1px solid #bfd0e8;margin-top:7px;padding-top:14px;font-size:22px}.offer-terms{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.offer-response{gap:12px;display:grid}.offer-response label{gap:6px;font-weight:700;display:grid}.offer-response textarea{min-height:90px}.offer-response>div{gap:12px;display:flex}.offer-approve,.offer-decline{color:#fff;border:0;border-radius:8px;padding:13px 20px;font-weight:800}.offer-approve{background:#16845b}.offer-decline{background:#b42318}.offer-result{background:#eef3f8;border-radius:10px;padding:20px}.offer-result.success{color:#126342;background:#dcf5e8}.public-offer footer{color:#6b788c;border-top:1px solid #dfe6ee;margin-top:30px;padding-top:20px;font-size:12px}@media (max-width:700px){.public-offer{box-shadow:none;margin:0;padding:22px}.offer-terms{grid-template-columns:1fr}.offer-response>div{display:grid}.print-hint{display:none}}@media print{body{background:#fff}.public-offer{box-shadow:none;max-width:none;margin:0}.offer-response,.print-hint{display:none}}
.editor-page{max-width:1050px;margin:35px auto;padding:0 20px}.editor-page>a{color:#3157e8;margin-bottom:18px;font-weight:700;text-decoration:none;display:inline-block}.editor-page h1{margin:10px 0}.editor-page .wide{grid-column:1/-1}.editor-page textarea{min-height:100px}.editor-page input[readonly]{width:100%;margin:12px 0}.editor-page a.primary,.editor-page a.secondary,.action-row a.primary{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (max-width:680px){.editor-page{margin:15px auto}.editor-page .wide{grid-column:auto}}
.projects-view{gap:18px;display:grid}.project-summary{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.project-summary>div{border:1px solid var(--line);background:#fff;border-radius:13px;padding:17px 20px}.project-summary span,.project-summary strong{display:block}.project-summary span{color:var(--muted);font-size:12px;font-weight:700}.project-summary strong{margin-top:6px;font-size:24px}.project-toolbar{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-tabs{background:#e7edf4;border-radius:10px;gap:5px;padding:4px;display:flex;overflow:auto}.project-tabs button{color:#56667b;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:8px 13px;font-weight:700}.project-tabs button.active{color:var(--navy);background:#fff;box-shadow:0 2px 8px #14233c1a}.project-list{gap:9px;display:grid}.project-list-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.project-list-card.open{border-color:#9cb4db;box-shadow:0 8px 22px #14233c12}.project-main{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fff;border:0;grid-template-columns:auto minmax(180px,1.5fr) minmax(110px,.7fr) minmax(120px,.7fr) auto auto;align-items:center;gap:15px;padding:17px;display:grid}.project-symbol{color:#3157e8;background:#edf3ff;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.project-identity,.project-manager,.project-value{gap:3px;display:grid}.project-identity small,.project-manager small,.project-value small{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:800}.project-identity>span{color:var(--muted);font-size:12px}.project-status{white-space:nowrap;background:#edf1f6;border-radius:20px;padding:6px 9px;font-size:11px;font-weight:800}.status-in_progress{color:#214db4;background:#dce8ff}.status-completed,.status-paid,.status-closed{color:#126342;background:#dcf5e8}.status-waiting_customer{color:#8a5700;background:#fff0cc}.chevron{color:var(--muted);font-size:20px}.project-details{border-top:1px solid var(--line);background:#f8fafc;padding:18px 20px}.project-fields{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;display:grid}.project-details label{gap:5px;font-size:12px;font-weight:700;display:grid}.project-details textarea{width:100%;min-height:90px}.project-actions{justify-content:flex-end;align-items:center;gap:17px;margin-top:11px;display:flex}.project-actions .check-label{align-items:center;display:flex}.save-toast{color:#fff;background:#17365d;border-radius:9px;padding:12px 18px;position:fixed;bottom:25px;right:25px;box-shadow:0 8px 25px #0003}.empty.compact{padding:35px}@media (max-width:900px){.project-main{grid-template-columns:auto 1fr auto}.project-manager,.project-value{display:none}.project-toolbar{flex-direction:column;align-items:stretch}.project-toolbar .search{width:100%}}@media (max-width:600px){.project-summary{grid-template-columns:1fr 1fr}.project-summary>div:last-child{grid-column:1/-1}.project-summary strong{font-size:20px}.project-main{grid-template-columns:auto 1fr auto;gap:10px;padding:14px}.project-status{grid-column:2}.chevron{grid-area:1/3/3}.project-fields{grid-template-columns:1fr}.project-actions{flex-direction:column;align-items:stretch}.project-actions .primary,.project-tabs{width:100%}.projects-view{gap:13px}}
