.planner-head{padding-top:42px;padding-bottom:30px;}
.planner-head h1{font-size:clamp(36px,4.3vw,58px);line-height:1.08;margin-bottom:18px;}
.planner-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;}
#planner-save-state{color:#a3b3b8;font-size:11px;}
.planner-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:24px;align-items:start;padding-bottom:70px;}
.planner-workspace,.planner-sidebar{display:grid;gap:22px;min-width:0;}
.planner-card{padding:26px;border:1px solid #354056;border-radius:14px;background:linear-gradient(130deg,#192034,#121a2b);min-width:0;}
.planner-card h2{font-size:21px;letter-spacing:-.65px;margin-bottom:18px;}
.planner-card label{display:flex;flex-direction:column;gap:8px;color:#afbbd0;font-size:11px;min-width:0;line-height:1.5;}
.planner-card input,.planner-card select,.planner-card textarea{min-width:0;font-size:12px;background:#0e1425;}
.planner-card input[aria-invalid="true"]{border-color:#e1a385;}
.planner-card small{font-size:10px;}
.planner-project-label{margin-bottom:14px;}
.planner-project-label input{font-size:17px;}
.planner-add-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:24px 0 18px;}
.planner-add-title h2{margin:0;}
.planner-add-title button{font-size:11px;}
.planner-add-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;align-items:end;}
.planner-add-fields label:first-child{grid-column:1/-1;}
.planner-add-fields label:nth-child(2){grid-column:span 2;}
.planner-add-fields button{padding:13px 9px;font-size:12px;min-height:44px;}
#planner-add-hint{margin:13px 0 0;font-size:10px;min-height:17px;}
#planner-import{display:grid;gap:12px;padding:18px;margin:0 0 20px;border:1px solid #856c4280;border-radius:8px;background:#b48a3910;}
#planner-import[hidden]{display:none;}
#planner-import p{margin:0;font-size:12px;}
#planner-import button{justify-self:start;font-size:11px;}
.planned-services .planner-add-title{margin-top:0;}
#planner-items{display:grid;gap:16px;}
.planner-service{min-width:0;border:1px solid #35445a;border-radius:10px;background:#10182a;padding:17px;}
.planner-service-heading{display:flex;align-items:center;gap:13px;margin-bottom:17px;}
.planner-service-heading img{width:64px;height:45px;object-fit:cover;border-radius:5px;}
.planner-service-heading > div{flex:1;min-width:0;}
.planner-service-heading h3{margin:0 0 6px;font-size:16px;overflow-wrap:anywhere;}
.planner-service-heading span{color:#92a1b9;font-size:10px;overflow-wrap:anywhere;}
.planner-remove{align-self:start;background:transparent;color:#aab4c8;width:32px;height:32px;border:1px solid #3c485a;border-radius:6px;flex-shrink:0;font-size:19px;}
.planner-remove:hover{border-color:#d1a876;color:#e9c68b;}
.planner-row-fields{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:10px;}
.planner-row-fields select{padding:11px 9px;}
.planner-row-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;}
.planner-row-footer > span{color:#d9bd84;font-size:19px;}
.planner-row-footer button{font-size:11px;}
.planner-empty{text-align:center;padding:30px 14px;border:1px dashed #3c475c;border-radius:8px;}
.planner-empty > span{display:block;font-size:38px;color:#b79757;margin-bottom:16px;}
.planner-empty h3{font-size:18px;line-height:1.4;}
.planner-empty p{font-size:12px;max-width:340px;margin:0 auto;}
.planner-budget{border-color:#857049;background:radial-gradient(ellipse at 100% 0,#ac843324,transparent 60%),#172033;}
.planner-budget .eyebrow{font-size:9px;margin-bottom:12px;}
.planner-budget h2{margin-bottom:22px;}
.planner-total{color:#e0bf7b;font-size:44px;letter-spacing:-1.8px;line-height:1.1;}
.planner-total small{color:#a8b2c7;letter-spacing:0;font-size:12px;}
#planner-annual{font-size:10px;color:#98a6bf;line-height:1.7;margin-top:10px;}
.planner-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 0;margin:0 0 20px;border-bottom:1px solid #3a4658;}
.planner-metrics span{color:#8d9eb9;font-size:10px;}
.planner-metrics strong{display:block;color:#d2dceb;font-size:18px;margin-bottom:6px;}
.planner-budget meter{appearance:none;display:block;width:100%;height:8px;border:0;margin-top:17px;border-radius:8px;overflow:hidden;background:#293348;}
.planner-budget meter::-webkit-meter-bar{background:#293348;border:0;border-radius:8px;}
.planner-budget meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#6d9b9f,#b9cba6);transition:width .3s ease;}
.planner-budget meter.over-budget::-webkit-meter-optimum-value{background:#d3a176;}
.planner-budget meter::-moz-meter-bar{background:#8cb9ae;}
#planner-budget-feedback{font-size:12px;color:#a7c7bd;margin:10px 0 20px;}
#planner-budget-feedback.over-budget{color:#e1b18b;}
.planner-export{display:grid;gap:9px;margin:22px 0 18px;}
.planner-export button{justify-content:center;font-size:12px;}
.planner-export button:disabled{cursor:default;}
.planner-budget > a{font-size:12px;}
#planner-export-status{color:#d7bd85;font-size:11px;margin:14px 0 0;}
#planner-export-status:empty{display:none;}
.planner-readiness p{font-size:12px;margin:-6px 0 18px;}
.planner-readiness label{flex-direction:row;align-items:start;gap:10px;padding:12px 0;border-bottom:1px solid #303a4e;}
.planner-readiness label input{width:17px;height:17px;margin:1px 0 0;accent-color:#b89553;flex-shrink:0;}
.planner-readiness label:has(input:checked) span{color:#b4cdbf;}
.planner-readiness progress{width:100%;height:6px;display:block;border:0;border-radius:5px;overflow:hidden;margin:22px 0 10px;accent-color:#b9975a;}
.planner-readiness progress::-webkit-progress-bar{background:#2c374b;}
.planner-readiness progress::-webkit-progress-value{background:#b9975a;transition:width .25s ease;}
#planner-ready-count{color:#b2bfd1;font-size:10px;}
.planner-entry{display:flex;gap:20px;align-items:center;justify-content:space-between;border:1px solid #514832;background:#b68d3f09;border-radius:9px;padding:18px 22px;margin-top:20px;}
.planner-entry strong{color:#d0b982;font-size:13px;}
.planner-entry p{font-size:11px;margin:5px 0 0;}
.planner-entry a{flex-shrink:0;font-size:12px;}
@media(min-width:1100px){.planner-sidebar { position: sticky; top: 20px; }}
@media(max-width:900px){.planner-layout{grid-template-columns:minmax(0,1fr);}.planner-sidebar { grid-template-columns: 1fr 1fr; align-items: start; }}
@media(max-width:620px){.planner-sidebar{grid-template-columns:minmax(0,1fr);}.planner-card{padding:20px;}.planner-entry{align-items:start;flex-direction:column;}.planner-head h1 { letter-spacing: -1.5px; }}
@media(max-width:390px){.planner-card { padding: 16px; }.planner-add-fields { grid-template-columns: 1fr 1fr; }.planner-add-fields label:nth-child(2) { grid-column: 1/-1; }.planner-row-fields { grid-template-columns: 1fr 1fr; }.planner-row-fields label:first-child { grid-column: 1/-1; }.planner-service { padding: 13px; }.planner-total { font-size: 38px; }.planner-service-heading img { width: 45px; height: 40px; }}