.sp{--sp-bg:#101311;--sp-surface:#181c19;--sp-border:#353d36;--sp-text:#f0f0e7;--sp-muted:#b0b7ae;--sp-gold:#d4b47b;background:var(--sp-bg);color:var(--sp-text);font:16px/1.55 'DM Sans',sans-serif;margin:0}.sp *{box-sizing:border-box}.sp [hidden]{display:none!important}.sp a{color:inherit}.sp button,.sp input,.sp select,.sp textarea{font:inherit}.sp button,.sp select{cursor:pointer}.sp button:disabled{opacity:.5;cursor:wait}.sp button:focus-visible,.sp a:focus-visible,.sp input:focus-visible,.sp select:focus-visible,.sp textarea:focus-visible{outline:2px solid var(--sp-gold);outline-offset:3px}.sp h1,.sp h2,.sp h3,.sp p{margin:0}.sp h1,.sp h2{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.12}.sp h1{font-size:clamp(2rem,3vw,3.4rem)}.sp h2{font-size:1.85rem}.sp h3{font-size:1rem;font-weight:500}.sp label{display:grid;gap:7px;font-size:.875rem;color:var(--sp-muted)}.sp input,.sp select,.sp textarea{color:var(--sp-text);background:#111512;border:1px solid var(--sp-border);border-radius:4px;padding:11px 12px;width:100%;min-width:0}.sp textarea{resize:vertical;min-height:90px}.sp form{display:grid;gap:18px}.sp input[readonly]{color:var(--sp-muted)}.sp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;border:1px solid #4b564c;border-radius:4px;color:var(--sp-text);background:transparent;text-decoration:none;font-size:.875rem;line-height:1.3}.sp-button:hover{background:#2b322c}.sp-button.primary{background:var(--sp-gold);color:#171b16;border-color:var(--sp-gold);font-weight:500}.sp-button.primary:hover{background:#e1c899}.sp-button.compact{padding:8px 12px}.sp-top{height:72px;border-bottom:1px solid var(--sp-border);padding:0 32px;display:flex;align-items:center;gap:25px}.sp-wordmark{letter-spacing:.23em;font-family:Montserrat,sans-serif;font-size:1.1rem;text-decoration:none}.sp-top>span{font-size:.75rem;letter-spacing:.12em;border-left:1px solid var(--sp-border);padding-left:25px;color:var(--sp-muted)}.sp-top>a:last-child:not(:first-child){margin-left:auto;font-size:.875rem}.sp-eyebrow{font-size:.75rem;letter-spacing:.14em;color:var(--sp-gold);margin-bottom:10px!important}.sp-muted{font-size:.875rem;line-height:1.6;color:var(--sp-muted)}.sp-heading,.sp-project-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.sp-projects{max-width:1200px;margin:0 auto;padding:50px 30px}.sp-create{display:flex!important;flex-wrap:wrap;align-items:end;margin:30px 0;padding:24px;border:1px solid var(--sp-border);border-radius:6px;background:var(--sp-surface)}.sp-create label{flex:1;min-width:220px}.sp-create p{width:100%}.sp-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.sp-project-card{display:grid;gap:18px;border:1px solid var(--sp-border);padding:25px;background:var(--sp-surface);text-decoration:none;border-radius:5px;transition:border-color .2s}.sp-project-card:hover{border-color:var(--sp-gold)}.sp-project-card h2{overflow-wrap:anywhere}.sp-project-card footer{display:flex;justify-content:space-between;align-items:center;color:var(--sp-muted);font-size:.875rem}.sp-account{max-width:500px;margin:70px auto;padding:0 25px}.sp-account>p{margin:24px 0;color:var(--sp-muted)}.sp-account form{margin-top:28px}.sp-account .primary{width:100%}.sp-message:empty,.sp-notice:empty{display:none}.sp-message,.sp-notice{color:#f2d9a5}.sp-project-heading{padding:26px 30px;border-bottom:1px solid var(--sp-border)}.sp-project-heading h1{font-size:clamp(1.8rem,2.6vw,2.7rem);overflow-wrap:anywhere}.sp-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:12px}.sp-header-actions>span{width:100%;text-align:right}.sp-notice{padding:13px 30px;background:#393324;border-bottom:1px solid #635337;font-size:.875rem}.sp-workspace{display:grid;grid-template-columns:210px minmax(0,1fr) 330px;min-height:calc(100svh - 190px)}.sp-windows{padding:24px 16px;background:#151916;border-right:1px solid var(--sp-border)}.sp-section-title{display:flex;justify-content:space-between;align-items:center;margin:0 6px 18px}.sp-section-title h2{font-size:1.5rem}.sp-section-title span{font-size:.875rem;color:var(--sp-muted)}.sp-window-item{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:4px;padding:12px 8px;color:var(--sp-text);margin-bottom:6px}.sp-window-item:hover{background:#242b24}.sp-window-item[aria-pressed=true]{border-color:#68755e;background:#2b3429}.sp-window-item .sp-number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:.75rem;border:1px solid #68755e}.sp-window-item strong{display:block;font-size:.875rem;font-weight:500;overflow-wrap:anywhere}.sp-window-item small{font-size:.75rem;color:var(--sp-muted)}.sp-window-item.confirmed .sp-number{background:#b9c69f;color:#152013;border-color:#b9c69f}.sp-windows>.sp-button{width:100%;margin-top:22px;text-align:left}.sp-sync{padding:18px 5px}.sp-plan-panel{min-width:0;background:#d9ded5;display:flex;flex-direction:column}.sp-plan-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:15px;padding:16px;background:#1c211c;border-bottom:1px solid var(--sp-border)}.sp-plan-toolbar>label{flex:1;min-width:140px;max-width:300px}.sp-plan-actions{display:flex;gap:7px;flex-wrap:wrap}.sp-plan-actions .sp-button{min-height:40px;padding:8px 10px}.sp-upload{position:relative;overflow:hidden;cursor:pointer;color:var(--sp-text)!important}.sp-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.sp-upload:focus-within{outline:2px solid var(--sp-gold);outline-offset:3px}.sp-plan-instructions{color:#3e4b3a;padding:10px 20px;font-size:.875rem;border-bottom:1px solid #b5beae;background:#e4e8df}.sp-plan-viewport{flex:1;overflow:auto;padding:28px;max-height:calc(100svh - 315px);min-height:480px;position:relative;background-image:radial-gradient(#a4afa1 .8px,transparent .8px);background-size:14px 14px}.sp-plan-stage{position:relative;width:100%;margin:0 auto;box-shadow:0 4px 25px #242d2133;background:white;line-height:0}.sp-plan-stage>img{display:block;width:100%;height:auto;user-select:none}.sp-plan-stage.marking{cursor:crosshair;outline:3px solid #9e7939}.sp-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#222e22;color:white;border:2px solid white;box-shadow:0 1px 7px #0008;font-size:.75rem;font-weight:600;line-height:1;z-index:1}.sp-pin[aria-pressed=true]{background:#ba8f4c;outline:3px solid #cdae7266;z-index:2}.sp-pin.confirmed{background:#58723c}.sp-empty{max-width:410px;margin:70px auto;text-align:center;color:#263323}.sp-empty h2{font-size:2.5rem;margin:20px 0}.sp-empty p{margin:12px 0}.sp-empty .sp-muted{color:#4c5948}.sp-empty-number{font:400 3rem 'Cormorant Garamond',serif;border-bottom:1px solid #98a18f;padding:0 16px 10px}.sp-detail{padding:26px 22px;min-width:0;overflow-y:auto;max-height:calc(100svh - 190px);background:var(--sp-surface);border-left:1px solid var(--sp-border)}.sp-detail h2{margin-bottom:12px}.sp-detail>.sp-muted{margin-top:14px}.sp-badge{display:inline-block;padding:4px 8px;background:#2b342a;border:1px solid #53634e;color:#d2dbbc;font-size:.75rem;border-radius:3px;margin:4px 0 16px}.sp-badge.confirmed{background:#39472f}.sp-fabric-choice{margin:8px 0 20px}.sp-fabric-choice img{width:100%;height:135px;object-fit:cover;border:1px solid #5d6757;margin-bottom:14px;border-radius:4px}.sp-fabric-choice h3{margin:7px 0}.sp-fabric-choice .sp-button{width:100%;margin-top:16px}.sp-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.sp-detail-actions .sp-button{flex:1}.sp-shortlist{display:flex;gap:10px;overflow-x:auto;padding:12px 0}.sp-shortlist button{min-width:72px;max-width:90px;border:1px solid var(--sp-border);color:var(--sp-text);background:#111812;padding:4px;border-radius:4px;text-align:left}.sp-shortlist img{width:100%;height:60px;object-fit:cover}.sp-shortlist span{font-size:.75rem;display:block;padding:4px}.sp-admin-tools{margin:20px 0;border-top:1px solid var(--sp-border);padding-top:14px}.sp-admin-tools summary{font-size:.875rem;color:var(--sp-muted);cursor:pointer}.sp-admin-tools>div{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}.sp-comments{margin:15px 0;display:grid;gap:15px;max-height:300px;overflow:auto}.sp-comment{border-left:2px solid #556248;padding:4px 0 4px 12px}.sp-comment.decision{border-color:var(--sp-gold);font-size:.875rem}.sp-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px}.sp-comment small{font-size:.75rem;color:var(--sp-muted)}#conversation{border-top:1px solid var(--sp-border);margin-top:26px;padding-top:22px}#comment-form{gap:10px}#comment-form button{justify-self:end}.sp-dialog,.sp-fabric-dialog{position:fixed;inset:0;margin:auto;background:var(--sp-surface);color:var(--sp-text);border:1px solid #53604d;border-radius:7px;max-height:94svh;overflow:auto;box-shadow:0 30px 100px #0006}.sp-dialog{padding:28px;width:min(530px,94vw)}.sp-dialog::backdrop,.sp-fabric-dialog::backdrop{background:#030703cc}.sp-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.sp-dialog-heading h2{font-size:1.8rem}.sp-dialog>.sp-muted{margin-bottom:22px}.sp-dialog h3{margin:26px 0 12px}.sp-dialog p[role=status]:not(:empty){margin:16px 0;color:#f2d9a5}.sp-inline{display:flex;gap:10px;flex-wrap:wrap}.sp-inline>*{flex:1}.sp-person{border-top:1px solid var(--sp-border);padding:13px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.875rem;overflow-wrap:anywhere}.sp-person small{display:block;color:var(--sp-muted)}#invite-result{padding:18px;background:#242d22;border:1px solid #53604d;border-radius:4px}#invite-result button{margin-top:12px}.sp-fabric-dialog{width:min(1440px,97vw);height:94svh;padding:18px;overflow:hidden}.sp-fabric-dialog[open]{display:flex;flex-direction:column}.sp-fabric-dialog>.sp-dialog-heading{margin-bottom:12px}.sp-fabric-dialog iframe{flex:1;min-height:0;width:100%;border:1px solid var(--sp-border);border-radius:4px;background:#050505}.sp-fabric-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;font-size:.875rem}.sp-fabric-footer>p{max-width:60ch}.sp-fabric-footer>div{display:flex;gap:10px;flex-shrink:0}.sp-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sp-plan-alert{color:#f4e7c4;background:#34372a;padding:14px 18px;font-size:.875rem}.sp-plan-alert button{margin-left:12px}.sp-remove{color:#efb8a4!important}
@media(min-width:1650px){.sp-workspace{grid-template-columns:240px minmax(0,1fr) 380px}.sp-plan-viewport{padding:40px}}
@media(max-width:1200px){.sp-workspace{grid-template-columns:170px minmax(0,1fr) 295px}.sp-detail{padding:22px 16px}.sp-plan-viewport{padding:18px}.sp-project-heading{padding:22px}.sp-plan-toolbar{padding:12px}.sp-plan-toolbar>label{max-width:none}.sp-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.sp-workspace{grid-template-columns:180px minmax(0,1fr)}.sp-detail{grid-column:1/-1;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:30px;border-left:0;border-top:1px solid var(--sp-border);padding:26px}#conversation{margin-top:0;padding-top:0;border-top:0}.sp-plan-viewport{min-height:450px;max-height:65svh}.sp-project-heading{align-items:start}.sp-header-actions>span{width:auto}.sp-fabric-footer{flex-wrap:wrap;gap:10px}.sp-fabric-footer>p{max-width:none}.sp-fabric-footer>div{margin-left:auto}.sp-project-heading h1{font-size:2rem}}
@media(max-width:600px){.sp-top{padding:0 16px;height:62px;gap:12px}.sp-top>span{display:none}.sp-projects{padding:30px 18px}.sp-heading{align-items:start}.sp-heading>.sp-muted{max-width:100px;text-align:right}.sp-create{padding:18px}.sp-project-grid{grid-template-columns:1fr}.sp-project-heading{display:block;padding:22px 16px}.sp-header-actions{justify-content:start;margin-top:18px;gap:8px}.sp-header-actions>span{width:100%;text-align:left}.sp-header-actions .sp-button{flex:1}.sp-workspace{display:flex;flex-direction:column}.sp-windows{padding:15px 12px;border-right:0;border-bottom:1px solid var(--sp-border)}.sp-section-title{margin-bottom:10px}.sp-windows #window-list{display:flex;overflow:auto;gap:8px}.sp-window-item{min-width:170px;max-width:210px;margin:0}.sp-windows>.sp-button{width:auto;margin-top:12px}.sp-sync{display:inline-block;padding:8px 12px}.sp-plan-toolbar{gap:10px}.sp-plan-toolbar>label{width:100%;max-width:none}.sp-plan-actions{width:100%;justify-content:space-between}.sp-plan-viewport{padding:16px;min-height:320px;max-height:60svh}.sp-plan-instructions{padding:10px 16px}.sp-detail{display:block;padding:25px 18px;overflow:visible}#conversation{margin-top:25px;border-top:1px solid var(--sp-border);padding-top:20px}.sp-fabric-choice{display:flow-root}.sp-fabric-choice img{width:100px;height:100px;float:left;margin:0 18px 12px 0}.sp-fabric-choice .sp-button{clear:both}.sp-empty{margin:35px auto}.sp-empty h2{font-size:2rem}.sp-fabric-dialog{padding:12px}.sp-fabric-dialog .sp-dialog-heading h2{font-size:1.4rem}.sp-fabric-footer>div{width:100%;margin:0}.sp-fabric-footer button{flex:1;padding:10px;font-size:.8125rem}.sp-dialog{padding:22px}.sp-account{margin:45px auto}.sp-notice{padding:12px 16px}}
.sp-mark-cursor{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border:2px dashed #8c511c;color:#8c511c;border-radius:50%;background:#fff9;line-height:28px;text-align:center;font-size:24px;pointer-events:none;z-index:5}

/* Shared editing workspace: keep the plan, list, and decisions within reach. */
.sp-project-card footer{padding:0;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}
.sp:has(#shade-project){height:100svh;display:flex;flex-direction:column;overflow:hidden}
.sp-top{flex-shrink:0}
#shade-project{min-height:0;flex:1;display:flex;flex-direction:column}
.sp-project-heading,.sp-notice{flex-shrink:0}
.sp-workspace{grid-template-columns:280px minmax(0,1fr) 340px;min-height:0;flex:1;overflow:hidden}
.sp-windows{display:flex;flex-direction:column;min-height:0;padding:18px 12px}
.sp-section-title{margin-bottom:12px;flex-shrink:0}
.sp-window-tools{display:grid;gap:9px;margin-bottom:12px;flex-shrink:0}
.sp-window-tools input,.sp-window-tools select{padding:9px 10px;font-size:.875rem}
.sp-window-tools>.sp-button{width:100%}
.sp-scope-tools{display:flex;gap:6px}
.sp-scope-tools>.sp-button{flex:1;font-size:.8125rem}
.sp-windows #window-list{display:block;overflow:auto;min-height:0;flex:1;scrollbar-width:thin;overscroll-behavior:contain}
.sp-window-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;border-radius:5px;margin-bottom:5px}
.sp-window-row.is-selected{background:#303b2d;box-shadow:inset 0 0 0 1px #728068}
.sp input.sp-window-check{width:18px;height:18px;min-width:18px;margin:0 4px 0 6px;padding:0;accent-color:#d4b47b;cursor:pointer}
.sp-window-item{min-width:0;max-width:none;grid-template-columns:24px minmax(0,1fr);margin:0;padding:10px 7px;gap:7px}
.sp-window-item .sp-number{width:23px;height:23px}
.sp-window-item small{font-size:.8125rem;line-height:1.45}
.sp-window-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:6px}
.sp-operation{font-size:.8125rem;line-height:1.4;border:1px solid #596353;border-radius:3px;padding:2px 5px;white-space:nowrap}
.sp-operation.motorized{color:#d5e9cf;background:#314330;border-color:#647f60}
.sp-operation.manual{color:#dfdefa;background:#323447;border-color:#666989}
.sp-operation.undecided{color:#c2c5ba;background:#252b24}
.sp-windows>.sp-button{margin-top:12px;flex-shrink:0}
.sp-sync{padding:12px 5px 0;font-size:.8125rem;flex-shrink:0}
.sp-plan-panel{min-height:0}
.sp-plan-toolbar{padding:12px;gap:10px;flex-shrink:0}
.sp-plan-toolbar>label{max-width:none;min-width:120px}
.sp-plan-viewport{min-height:0;max-height:none;padding:22px;overscroll-behavior:contain}
.sp-plan-stage{max-width:none}
.sp-detail{min-height:0;max-height:none;padding:24px 20px;overscroll-behavior:contain}
.sp-selection-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;background:#303d2b;color:#eff2e6;border-bottom:1px solid #66735a;flex-shrink:0}
.sp-selection-bar>div:last-child{display:flex;gap:6px;flex-shrink:0}
.sp-selection-bar strong{display:block;font-size:.9375rem}
.sp-selection-bar span{display:block;font-size:.8125rem;color:#c9d0c1}
.sp-selection-bar .sp-button{font-size:.8125rem;border-color:#7a876c}
.sp-plan-instructions{font-size:.8125rem;flex-shrink:0}
.sp-pin{width:26px;height:26px;font-size:.75rem}
.sp-pin.motorized{border-color:#bdd9ad}
.sp-pin.manual{border-color:#bec1e8}
.sp-pin.bulk-selected{background:#d4b47b;color:#182015;outline:3px solid #d4b47b66;border-color:#fff4d8;z-index:2}
.sp-operation-field{margin:4px 0 22px}
.sp-bulk-form{margin:22px 0 16px}
.sp-bulk-form fieldset{min-width:0;display:grid;gap:14px;border:0;padding:0;margin:0}
.sp-bulk-form legend{font-size:.9375rem;font-weight:500;margin-bottom:12px}
.sp-bulk-form p{font-size:.875rem;overflow-wrap:anywhere}
.sp-bulk-form label{margin-top:8px}
.sp-bulk-fabric{width:100%;height:110px;object-fit:cover;border:1px solid #65705c;border-radius:4px}
.sp-bulk-summary{padding:12px;border:1px solid #505d44;background:#242e20;border-radius:4px;line-height:1.6}
.sp-header-actions .sp-button{white-space:nowrap}
.sp-button:disabled,.sp select:disabled{cursor:default}
.sp-comment small{font-size:.8125rem}
@media(min-width:1650px){.sp-workspace{grid-template-columns:300px minmax(0,1fr) 380px}.sp-plan-viewport{padding:28px}}
@media(max-width:1200px) and (min-width:951px){.sp-workspace{grid-template-columns:245px minmax(0,1fr) 300px}.sp-header-actions{gap:8px}.sp-header-actions .sp-button{padding:9px 11px}.sp-detail{padding:20px 15px}.sp-selection-bar{flex-wrap:wrap}.sp-plan-actions{gap:5px}}
@media(max-width:950px){
  .sp:has(#shade-project){height:auto;min-height:100svh;overflow:auto}
  #shade-project{display:block}
  .sp-workspace{display:grid;grid-template-columns:245px minmax(0,1fr);overflow:visible}
  .sp-windows{height:65svh;min-height:450px}
  .sp-plan-panel{height:65svh;min-height:450px}
  .sp-plan-viewport{min-height:0;max-height:none}
  .sp-detail{grid-column:1/-1;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:25px;overflow:visible}
  .sp-detail:has(#conversation[hidden]){display:block}
  .sp-detail:has(#conversation[hidden])>#window-detail{max-width:650px;margin:auto}
  .sp-project-heading{align-items:start}
  .sp-header-actions{max-width:430px}
  .sp-selection-bar{flex-wrap:wrap}
}
@media(max-width:600px){
  .sp-workspace{display:flex;flex-direction:column}
  .sp-header-actions{max-width:none;gap:8px}
  .sp-header-actions .sp-button{white-space:normal}
  .sp-windows{height:auto;min-height:0;max-height:none;padding:16px}
  .sp-window-tools{grid-template-columns:1fr 1fr;gap:8px}
  .sp-window-tools>#window-search{grid-column:1/-1}
  .sp-scope-tools{grid-column:1/-1}
  .sp-windows #window-list{display:block;max-height:240px;min-height:0;flex:none;overflow:auto}
  .sp-window-row{grid-template-columns:32px minmax(0,1fr)}
  .sp-window-item{min-width:0;max-width:none}
  .sp-window-meta{margin-top:3px}
  .sp-windows>.sp-button{width:auto;align-self:start}
  .sp-sync{padding-top:10px}
  .sp-plan-panel{height:65svh;min-height:400px}
  .sp-plan-toolbar>label{min-width:0}
  .sp-plan-viewport{padding:16px}
  .sp-plan-actions{gap:5px}
  .sp-plan-actions .sp-button{padding:8px;min-height:40px}
  .sp-selection-bar{padding:10px 12px;gap:8px}
  .sp-detail{display:block;padding:24px 18px}
  .sp-detail:has(#conversation[hidden])>#window-detail{max-width:none}
}
@media(prefers-reduced-motion:reduce){.sp *{scroll-behavior:auto!important;transition:none!important}}
.sp-back-to-group{width:100%;margin-bottom:22px}
@media(max-width:600px){
  .sp-plan-panel{order:1}
  .sp-windows{order:2}
  .sp-detail{order:3}
  .sp input.sp-window-check{width:24px;height:24px;min-width:24px;margin-left:3px}
  .sp-project-heading h1{font-size:1.9rem}
  .sp-header-actions{display:grid;grid-template-columns:1fr 1fr}
  .sp-header-actions>span{grid-column:1/-1}
  .sp-header-actions #set-all-windows{grid-column:1/-1}
  .sp-header-actions .sp-button{min-height:42px;padding:10px}
}

@media(max-width:600px){.sp-header-actions #export-selections:last-child{grid-column:1/-1}}
