.plan-analysis-card{position:relative;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--text-primary);box-shadow:var(--shadow-lg);overflow:hidden}.plan-analysis-title{font-size:var(--text-xl);font-weight:800;margin:0 0 var(--space-2) 0;text-align:center;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.plan-analysis-subtitle{color:var(--text-secondary);text-align:center;font-size:var(--text-base);margin:0 0 var(--space-5) 0;line-height:var(--leading-normal)}.plan-upload-zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.plan-drop-zone{width:100%;border:2px dashed var(--border-strong);border-radius:var(--radius-md);padding:var(--space-8) var(--space-5);text-align:center;background:var(--surface-2);cursor:pointer;transition:box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.plan-drop-zone:hover,.plan-drop-zone--dragging{box-shadow:0 0 0 3px #818cf833;transform:translateY(-1px);border-color:var(--brand-primary)}.plan-drop-zone--has-file{border-style:solid;border-color:var(--brand-primary);background:var(--surface-1)}.plan-file-input{display:none}.plan-drop-prompt{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.plan-drop-icon{font-size:2.5rem;line-height:1}.plan-drop-text{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}.plan-drop-or{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.plan-choose-btn{display:inline-block;background:var(--brand-gradient);color:var(--text-inverse);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-weight:700;font-size:var(--text-sm);box-shadow:var(--shadow-md);transition:filter var(--duration-normal) var(--ease-out)}.plan-choose-btn:hover{filter:brightness(1.05)}.plan-format-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin:var(--space-1) 0 0}.plan-preview-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.plan-preview-img{max-width:100%;max-height:280px;border-radius:var(--radius-sm);object-fit:contain;border:1px solid var(--border-default)}.plan-preview-name{font-size:var(--text-sm);color:var(--text-secondary);font-weight:600;margin:0}.plan-file-info{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.plan-error{color:var(--text-error, #ef4444);font-size:var(--text-sm);font-weight:600;text-align:center;margin:0;padding:var(--space-3);background:#ef444414;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.2)}.plan-analyze-btn{min-width:220px;font-size:var(--text-base)}.plan-analyzing{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-4)}.plan-progress-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-3)}.plan-progress-bar{width:100%;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden;border:1px solid var(--border-default)}.plan-progress-fill{height:100%;background:#2563eb;transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:4px}.plan-progress-phase{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0;text-align:center;min-height:1.5em}.plan-analyzing-hint{font-size:var(--text-sm);color:var(--text-tertiary);margin:0;text-align:center}.plan-results{display:flex;flex-direction:column;gap:var(--space-4)}.plan-results-header{text-align:center}.plan-results-title{font-size:var(--text-lg);font-weight:700;margin:0 0 var(--space-2) 0;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.plan-confidence{font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-3);border-radius:999px;background:#818cf81f;color:var(--brand-primary)}.plan-results-notes{font-size:var(--text-sm);color:var(--text-secondary);margin:0;font-style:italic}.plan-rooms-list{display:flex;flex-direction:column;gap:var(--space-2)}.plan-room-item{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:border-color var(--duration-normal) var(--ease-out)}.plan-room-item:hover{border-color:var(--border-strong)}.plan-room-main{display:flex;align-items:center;gap:var(--space-3)}.plan-room-name-input{flex:1;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-size:var(--text-base);font-weight:600;transition:border-color var(--duration-normal) var(--ease-out)}.plan-room-name-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px #818cf826}.plan-room-surface{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.plan-room-surface-input{width:70px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-2);color:var(--text-primary);font-size:var(--text-base);text-align:right;transition:border-color var(--duration-normal) var(--ease-out)}.plan-room-surface-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px #818cf826}.plan-room-unit{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:600}.plan-room-remove{background:none;border:none;color:var(--text-tertiary);font-size:var(--text-base);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out);line-height:1}.plan-room-remove:hover{color:var(--text-error, #ef4444);background:#ef444414}.plan-room-equipment{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-2);padding-left:var(--space-3)}.plan-room-equip-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full, 999px);font-size:var(--text-xs);font-weight:600;background:#818cf81a;color:var(--brand-primary);border:1px solid rgba(129,140,248,.18);white-space:nowrap}.plan-room-note,.plan-room-adjacent{font-size:var(--text-xs);color:var(--text-tertiary);margin:var(--space-1) 0 0;padding-left:var(--space-3)}.plan-room-adjacent{font-style:italic}.plan-results-summary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);padding:var(--space-2) 0}.plan-results-sep{color:var(--text-tertiary)}.plan-results-edit-hint{font-size:var(--text-sm);color:var(--text-tertiary);text-align:center;margin:0;line-height:var(--leading-normal)}.plan-results-actions{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2)}.plan-analysis-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.plan-skip-btn{font-weight:600;color:var(--text-secondary)}.plan-skip-btn:hover{color:var(--text-primary)}.plan-skip-hint{font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;margin:var(--space-2) 0 0;font-style:italic}@media(max-width:640px){.plan-analysis-card{padding:var(--space-4)}.plan-room-main{flex-wrap:wrap}.plan-room-name-input{min-width:0}.plan-results-actions{flex-direction:column}.plan-results-actions .btn{width:100%}}.genprog-overlay{position:absolute;inset:0;background:#000000d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:20;animation:genprog-fadeIn .3s ease;padding:var(--space-4)}@keyframes genprog-fadeIn{0%{opacity:0}to{opacity:1}}.genprog-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);max-width:480px;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);box-shadow:0 20px 60px #00000080}.genprog-logo{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.genprog-pulse{position:absolute;inset:-8px;border-radius:50%;background:#6366f133;animation:genprog-pulseAnim 2s ease-in-out infinite}@keyframes genprog-pulseAnim{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.3);opacity:0}}.genprog-logo-icon{font-size:2rem;position:relative;z-index:1}.genprog-title{margin:0;font-size:var(--text-lg);font-weight:800;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-align:center}.genprog-bar-track{width:100%;height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.genprog-bar-fill{height:100%;background:var(--brand-gradient);border-radius:3px;transition:width .5s ease}.genprog-stages{width:100%;display:flex;flex-direction:column;gap:var(--space-2)}.genprog-stage{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:all .3s ease;font-size:var(--text-sm)}.genprog-stage--done{opacity:.5}.genprog-stage--active{background:#6366f11a;border:1px solid rgba(99,102,241,.2)}.genprog-stage--pending{opacity:.3}.genprog-stage-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.genprog-stage--done .genprog-stage-icon{color:var(--success, #22c55e);font-weight:700}.genprog-stage-label{flex:1;color:var(--text-primary);font-weight:500}.genprog-stage--done .genprog-stage-label{text-decoration:line-through;color:var(--text-secondary)}.genprog-stage-dots{display:flex;gap:3px;margin-left:auto}.genprog-dot{width:5px;height:5px;border-radius:50%;background:var(--brand-primary, #6366f1);animation:genprog-dotPulse 1.4s ease-in-out infinite}.genprog-dot:nth-child(2){animation-delay:.2s}.genprog-dot:nth-child(3){animation-delay:.4s}@keyframes genprog-dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.genprog-hint{margin:0;font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}.genprog-countdown{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:4px 12px;margin-top:calc(var(--space-1) * -1)}.genprog-countdown-label{color:var(--text-tertiary)}.genprog-countdown-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent-orange, #E8671A);min-width:60px}.genprog-bg-btn{display:flex;align-items:center;gap:var(--space-2);padding:8px 16px;border-radius:var(--radius-full);border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast);margin-top:var(--space-1)}.genprog-bg-btn:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--border-strong)}.genprog-bg-btn:active{transform:scale(.97)}.genprog-bg-badge{position:fixed;bottom:calc(var(--bottom-nav-height, 64px) + 12px);right:16px;display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;z-index:var(--z-notification, 6000);box-shadow:var(--shadow-lg);animation:genprog-fadeIn .3s ease;transition:transform var(--duration-fast),box-shadow var(--duration-fast)}.genprog-bg-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.genprog-bg-badge:active{transform:scale(.97)}.genprog-bg-badge-pulse{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--brand-primary);animation:genprog-pulseDot 2s ease-in-out infinite}@keyframes genprog-pulseDot{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.5);opacity:.5}}.genprog-bg-badge-label{color:var(--text-secondary);font-weight:500}.genprog-bg-badge-pct{color:var(--brand-primary);font-size:var(--text-xs);font-weight:700;min-width:32px;text-align:right}.genprog-tip{font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--border-subtle);width:100%;line-height:var(--leading-relaxed);animation:genprog-fadeIn .5s ease}.genprog-success-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-6);max-width:400px;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);box-shadow:0 24px 80px #00000080;animation:genprog-successIn .5s cubic-bezier(.34,1.56,.64,1) both;position:relative;z-index:1}@keyframes genprog-successIn{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.genprog-success-icon{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;color:#22c55e}.genprog-success-ring{position:absolute;inset:0;border-radius:50%;background:#22c55e26;border:3px solid rgba(34,197,94,.4);animation:genprog-ringPop .6s cubic-bezier(.34,1.56,.64,1) both .1s}@keyframes genprog-ringPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.genprog-success-icon svg{animation:genprog-checkDraw .5s ease both .35s}@keyframes genprog-checkDraw{0%{opacity:0;transform:scale(.4) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}.genprog-success-title{margin:0;font-size:var(--text-xl);font-weight:800;text-align:center;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.genprog-success-xp{display:flex;align-items:center;gap:var(--space-2);background:#6366f11a;border:1px solid rgba(99,102,241,.25);border-radius:var(--radius-full);padding:6px 14px;animation:genprog-fadeIn .4s ease both .6s}.genprog-xp-badge{font-weight:800;font-size:var(--text-sm);color:var(--brand-primary, #6366f1)}.genprog-xp-label{font-size:var(--text-xs);color:var(--text-secondary)}.genprog-success-desc{margin:0;font-size:var(--text-sm);color:var(--text-secondary);text-align:center;line-height:var(--leading-relaxed);animation:genprog-fadeIn .4s ease both .7s}.genprog-success-cta{display:flex;align-items:center;gap:var(--space-2);padding:12px 28px;background:var(--brand-gradient);color:#fff;border:none;border-radius:var(--radius-full);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:opacity .15s,transform .15s;box-shadow:0 4px 24px #6366f159;animation:genprog-fadeIn .4s ease both .8s}.genprog-success-cta:hover{opacity:.9;transform:translateY(-1px)}.genprog-success-cta:active{transform:scale(.97)}.genprog-disclaimer{margin:0;font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;animation:genprog-fadeIn .4s ease both .9s}.genprog-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.genprog-confetti-piece{position:absolute;top:-10px;width:8px;height:14px;border-radius:2px;animation:genprog-confettiFall linear both}@keyframes genprog-confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}@media(max-width:480px){.genprog-card{padding:var(--space-4)}.genprog-stage-label{font-size:var(--text-xs)}}.genprog-plan-svg{width:100%;max-width:200px;height:auto;color:var(--brand-primary, #818cf8);opacity:.55;margin:var(--space-3) 0}@keyframes genprog-drawLine{0%{stroke-dashoffset:200;opacity:.2}to{stroke-dashoffset:0;opacity:1}}.genprog-svg-wall{stroke-dasharray:200;stroke-dashoffset:200}.genprog-svg-wall--1{animation:genprog-drawLine 1.8s ease forwards}.genprog-svg-wall--2{animation:genprog-drawLine .9s ease .6s forwards}.genprog-svg-wall--3{animation:genprog-drawLine .8s ease 1s forwards}.genprog-svg-wall--4{animation:genprog-drawLine .6s ease 1.4s forwards}.genprog-svg-door{stroke-dasharray:50;stroke-dashoffset:50}.genprog-svg-door--1{animation:genprog-drawLine .5s ease 1.6s forwards}.genprog-svg-door--2{animation:genprog-drawLine .5s ease 1.8s forwards}.genprog-svg-dim{stroke-dasharray:50;stroke-dashoffset:50;animation:genprog-drawLine .6s ease 2s forwards}.genprog-tips-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%}.genprog-phase-msg{font-size:var(--text-sm);font-weight:600;color:var(--brand-primary, #818cf8);text-align:center;transition:opacity .5s ease}@media(prefers-reduced-motion:reduce){.genprog-overlay,.genprog-pulse{animation:none!important}.genprog-dot{animation:none!important;opacity:.5}.genprog-bar-fill{transition:none}.genprog-success-card{animation:none!important}.genprog-success-ring,.genprog-success-icon svg,.genprog-success-xp,.genprog-success-desc,.genprog-success-cta,.genprog-disclaimer{animation:none!important;opacity:1}.genprog-confetti-piece{display:none}.genprog-svg-wall,.genprog-svg-door,.genprog-svg-dim{animation:none!important;stroke-dashoffset:0;opacity:1}}.sgi-container{display:block}.sgi-title{margin:0 0 var(--space-4) 0;font-size:var(--text-xl);font-weight:800;letter-spacing:.2px;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sgi-field{margin-bottom:var(--space-3)}.sgi-label,.label{display:block;margin:0 0 var(--space-1) 0;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.srd-hint{margin:var(--space-1) 0 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.section-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--text-primary);box-shadow:var(--shadow-lg);margin-bottom:var(--space-5)}.section-title{font-weight:900;font-size:var(--text-base);letter-spacing:.2px;margin-bottom:var(--space-3);color:var(--brand-primary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4);margin-bottom:var(--space-3)}.form-field{min-width:0}.input{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);outline:none;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out);box-sizing:border-box;min-height:44px}.input:hover{background:var(--surface-3)}.input:focus-visible{border-color:var(--brand-primary);box-shadow:0 0 0 3px #818cf833}.input[disabled],.input:disabled{opacity:.6;cursor:not-allowed}.input[type=number]::-webkit-outer-spin-button,.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield}.input-group{display:flex;gap:var(--space-2);align-items:center}.input-group .input{flex:1}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-base);color:var(--text-primary);-webkit-user-select:none;user-select:none}.checkbox-field{display:flex;align-items:flex-end}.checkbox-input{width:18px;height:18px;accent-color:var(--brand-primary)}.chips-wrap{display:flex;gap:var(--space-2);align-items:center;padding-bottom:var(--space-1);border-bottom:1px dashed var(--border-default);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}.chips-wrap::-webkit-scrollbar{height:8px}.chips-wrap::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}.chip{display:inline-flex;align-items:center;height:32px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--surface-2);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.link-chip{background:var(--surface-2)}.link-chip:hover{background:var(--surface-3);transform:translateY(-1px)}.link-chip.active{border-color:var(--brand-primary);box-shadow:0 0 0 3px #818cf833}.rooms-illustration-mask{width:100%;aspect-ratio:5 / 2;background:var(--brand-primary);opacity:.95;border-radius:var(--radius-md);border:1px solid var(--border-default);margin:var(--space-2) 0 var(--space-3) 0;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-position:center;mask-repeat:no-repeat;mask-size:contain}.acc-header{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-weight:700;cursor:pointer;transition:background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.acc-header:hover{background:var(--surface-3);border-color:var(--border-strong)}.acc-caret{font-size:var(--text-base);color:var(--text-secondary)}.acc-body{max-height:0;overflow:hidden;transition:max-height var(--duration-normal) var(--ease-out),opacity var(--duration-normal) var(--ease-out);opacity:0}.acc-body.open{max-height:2000px;opacity:1;margin-top:var(--space-2)}.category-block{margin-top:var(--space-4)}.category-title{font-size:var(--text-sm);font-weight:800;color:var(--brand-primary);margin:0 0 var(--space-2) 2px}.room-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2);border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-2);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.room-card:hover{background:var(--surface-3);transform:translateY(-1px)}.room-card--active{border-color:var(--brand-primary);box-shadow:0 0 0 3px #818cf82e}.room-title{text-align:left;background:transparent;border:none;color:var(--text-primary);font-weight:700;cursor:pointer;padding:0}.room-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.btn-icon{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-2);color:var(--text-primary);font-size:18px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-normal) var(--ease-out)}.btn-icon:hover{background:var(--surface-3)}.btn-icon:disabled{opacity:.45;cursor:not-allowed}.room-count{min-width:30px;text-align:center;font-weight:800}.room-count--muted{color:var(--text-secondary)}.summary-line{margin-top:var(--space-3);display:flex;align-items:center;gap:var(--space-2);background:var(--surface-2);border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.summary-text{font-size:var(--text-sm);color:var(--text-primary)}.nav-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-3)}.btn{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);font-size:var(--text-base);font-weight:700}.btn:hover{transform:translateY(-1px);background:var(--surface-3)}.btn-primary{background:var(--brand-gradient);border:none;color:var(--text-inverse);box-shadow:0 6px 16px #67e8f933}.btn-primary:hover{filter:brightness(1.04);transform:translateY(-1px)}.input:focus-visible,.btn:focus-visible,.checkbox-input:focus-visible,.acc-header:focus-visible,.chip:focus-visible,.btn-icon:focus-visible,.room-title:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media(max-width:480px){.form-grid,.nav-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.btn:hover,.link-chip:hover,.room-card:hover{transform:none}.acc-body,.chip,.input,.btn,.acc-header,.btn-icon,.room-card{transition:none!important}}.srd-container{max-width:900px;margin:0 auto;color:var(--text-primary);font-family:var(--font-sans)}.srd-title{font-size:var(--text-xl);font-weight:800;margin:0 0 var(--space-1) 0;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.srd-subtitle{margin:0 0 var(--space-4) 0;color:var(--text-secondary);font-size:var(--text-base)}.srd-list-wrap{margin-bottom:var(--space-4)}.srd-list-title{font-size:var(--text-base);font-weight:700;margin:0 0 var(--space-2) 0;color:var(--text-primary)}.srd-list{display:flex;flex-direction:column;gap:var(--space-3)}.srd-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;justify-content:space-between;gap:var(--space-3);transition:all var(--duration-normal) var(--ease-out)}.srd-card:hover{background:var(--surface-2)}.srd-card-name{margin:0 0 var(--space-1) 0;font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.srd-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm)}.srd-italic{font-style:italic}.srd-card-actions{display:flex;gap:var(--space-2)}.srd-card-left{display:flex;align-items:center;gap:var(--space-2);min-width:150px}.srd-check{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);cursor:pointer}.srd-card-main{flex:1;min-width:0}.srd-card--muted{opacity:.6;filter:grayscale(.15)}.srd-level-sep{border-top:2px dashed var(--border-default);margin:var(--space-2) 0 var(--space-3);opacity:.7}@media(max-width:560px){.srd-card{flex-direction:column}.srd-card-left{min-width:0}.srd-card-actions{flex-wrap:wrap}}.srd-form{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-lg)}.srd-form-title{font-size:var(--text-base);font-weight:700;margin:0 0 var(--space-3) 0}.srd-field{margin-bottom:var(--space-3)}.srd-label{display:block;font-weight:600;margin-bottom:var(--space-1);color:var(--text-primary);font-size:var(--text-sm)}.srd-input,.srd-select,.srd-textarea{width:100%;background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;transition:all var(--duration-normal) var(--ease-out)}.srd-input:focus,.srd-select:focus,.srd-textarea:focus{outline:none;border-color:var(--brand-primary);background:var(--surface-3)}.srd-input::placeholder,.srd-textarea::placeholder{color:var(--text-tertiary)}.srd-textarea{resize:vertical;min-height:84px}.srd-input[disabled],.srd-select[disabled],.srd-textarea[disabled]{opacity:.7;cursor:not-allowed}.srd-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.srd-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3)}@media(max-width:860px){.srd-grid-3{grid-template-columns:1fr 1fr}}@media(max-width:620px){.srd-grid-2,.srd-grid-3{grid-template-columns:1fr}}.srd-section-title{margin:var(--space-3) 0 var(--space-2);font-weight:800;font-size:var(--text-sm);letter-spacing:.2px;color:var(--text-primary);opacity:.9}.srd-checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}@media(max-width:700px){.srd-checkgrid{grid-template-columns:1fr}}.srd-check--box{border:1px solid var(--border-default);background:var(--surface-2);border-radius:var(--radius-md);padding:var(--space-2) var(--space-2);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);-webkit-user-select:none;user-select:none}.srd-check--box input{display:none}.srd-check--box.is-checked{outline:2px solid var(--brand-primary);outline-offset:-2px;background:var(--surface-3)}.srd-check--box:hover{transform:translateY(-1px);background:var(--surface-3)}.srd-btn{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);font-size:var(--text-sm);font-weight:600}.srd-btn:hover{transform:translateY(-1px);background:var(--surface-3)}.srd-btn-danger{background:transparent;color:var(--danger);border:1px dashed var(--danger-border)}.srd-btn-danger:hover{background:var(--danger-soft)}.srd-btn-success{background:linear-gradient(135deg,var(--success),#059669);border:none;color:var(--text-inverse)}.srd-btn-primary{background:var(--brand-gradient);border:none;color:var(--text-inverse)}.srd-btn-block{width:100%;margin:0 0 var(--space-4) 0}.srd-btn-disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.srd-footer{display:flex;gap:var(--space-2);margin-top:var(--space-5)}.srd-input:focus-visible,.srd-select:focus-visible,.srd-textarea:focus-visible,.srd-btn:focus-visible,.srd-check--box:focus-visible,.srd-back:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.srd-hint{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-1)}.srd-chip{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs)}.srd-divider{height:1px;background:var(--border-default);margin:var(--space-3) 0}.srd-cta{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-3);border-radius:var(--radius-md);text-align:center;font-weight:700;transition:all var(--duration-normal) var(--ease-out)}.srd-cta:hover{background:var(--surface-3);transform:translateY(-1px)}.srd-type-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-1)}@media(max-width:860px){.srd-type-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.srd-type-menu{grid-template-columns:1fr}}.srd-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);text-align:left}.srd-type-card:hover{transform:translateY(-1px);background:var(--surface-3)}.srd-type-card.is-active{outline:2px solid var(--brand-primary);outline-offset:0;background:var(--brand-gradient);color:var(--text-inverse)}.srd-type-card-icon{font-size:20px;line-height:1}.srd-type-card-title{font-weight:700}.srd-type-card-hint{font-size:var(--text-xs);color:var(--text-secondary)}.srd-topbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);position:sticky;top:var(--space-2);z-index:2}.srd-back{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-2);cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.srd-back:hover{background:var(--surface-3)}.srd-topbar-title{font-weight:800}.srd-topbar-chips{margin-left:auto;display:flex;flex-wrap:wrap;gap:var(--space-1)}.srd-error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-sm)}.srd-field .srd-error{margin-top:var(--space-2)}.srd-hidden{display:none!important}.srd-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;border:0;padding:0;white-space:nowrap;clip-path:inset(100%);clip:rect(0 0 0 0);overflow:hidden}@media(prefers-reduced-motion:reduce){.srd-btn:hover,.srd-check--box:hover,.srd-type-card:hover{transform:none}.srd-input,.srd-select,.srd-textarea,.srd-btn,.srd-check--box,.srd-back{transition:none!important}}@media print{.srd-container{max-width:100%}.srd-form,.srd-card{box-shadow:none;background:#fff;color:#000;border-color:#ddd}.srd-input,.srd-select,.srd-textarea{background:#fff;color:#000;border-color:#ddd}.srd-type-card{background:#fff;color:#000}.srd-btn,.srd-back{display:none!important}}.srd-delete-confirm{display:flex;align-items:center;gap:var(--space-2, 8px);animation:fadeIn .15s ease}.srd-delete-confirm-text{font-size:var(--text-sm, 13px);color:var(--text-secondary, rgba(255, 255, 255, .7));white-space:nowrap}.srd-btn-sm{padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--text-xs, 12px);min-height:28px}.srd-advanced-section{margin-top:var(--space-2)}.srd-advanced-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s ease;text-align:left}.srd-advanced-toggle:hover{background:var(--surface-2);color:var(--text-primary)}.srd-advanced-toggle--filled{border-style:solid;border-color:#6366f133;background:#6366f10a}.srd-advanced-caret{font-size:.75rem;transition:transform .15s ease}.srd-advanced-body{margin-top:var(--space-2);padding-left:var(--space-2);border-left:2px solid var(--border-default);animation:css-slideDown .2s ease}.step-validation{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3);animation:css-slideDown .2s ease}.step-validation-msg{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.4}.step-validation-icon{font-size:.85rem;flex-shrink:0;margin-top:1px}.step-validation-text{flex:1}.css-container{display:flex;flex-direction:column;gap:var(--space-3)}.css-section-label{font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.css-severity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}@media(max-width:700px){.css-severity-grid{grid-template-columns:repeat(2,1fr)}}.css-severity-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-3) var(--space-2);background:var(--surface-2);border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all .15s ease;text-align:center;min-height:100px}.css-severity-card:hover{background:var(--surface-3);transform:translateY(-2px)}.css-severity-active{transform:translateY(-2px);box-shadow:0 4px 16px #0003}.css-severity-icon{font-size:1.5rem;line-height:1}.css-severity-label{font-weight:700;font-size:var(--text-sm);color:var(--text-primary);line-height:1.2}.css-severity-desc{font-size:var(--text-xs);color:var(--text-muted, var(--text-secondary));line-height:1.3}.css-expand-toggle{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s ease;width:100%;text-align:left}.css-expand-toggle:hover{background:var(--surface-2);color:var(--text-primary)}.css-badge{margin-left:auto;background:var(--brand-primary, #6366f1);color:#fff;font-size:var(--text-xs);font-weight:700;padding:2px 8px;border-radius:var(--radius-full);min-width:20px;text-align:center}.css-issues-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);animation:css-slideDown .2s ease}@keyframes css-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.css-issue-group-title{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.css-issue-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.css-issue-tag{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .12s ease;white-space:nowrap}.css-issue-tag:hover{background:var(--surface-3);border-color:var(--text-secondary)}.css-issue-active{background:#6366f126;border-color:var(--brand-primary, #6366f1);color:var(--brand-primary, #6366f1);font-weight:700}.css-issue-active:hover{background:#6366f138}.css-issue-icon{font-size:.85rem;line-height:1}.css-preview{padding:var(--space-2) var(--space-3);background:var(--surface-2);border-left:3px solid var(--brand-primary, #6366f1);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-xs)}.css-preview-label{font-weight:700;color:var(--text-secondary);margin-bottom:2px;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.css-preview-text{color:var(--text-primary);line-height:1.4}.css-freetext-wrap{display:flex;flex-direction:column;gap:4px}.css-freetext-label{font-weight:600;font-size:var(--text-xs);color:var(--text-secondary)}.css-optional{font-weight:400;color:var(--text-muted, var(--text-tertiary))}.css-freetext{min-height:56px!important}@media(max-width:380px){.css-severity-card{padding:var(--space-2);min-height:80px}.css-severity-icon{font-size:1.2rem}.css-severity-desc{display:none}}@media(prefers-reduced-motion:reduce){.css-severity-card:hover,.css-severity-active{transform:none}.css-issues-panel{animation:none}.css-issue-tag,.css-expand-toggle{transition:none}}.srw-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-2)}@media(max-width:520px){.srw-category-grid{grid-template-columns:1fr}}.srw-accordion{display:flex;flex-direction:column;gap:var(--space-2)}.srw-room{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-1);overflow:hidden;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.srw-room:hover{border-color:var(--border-strong)}.srw-room--expanded{border-color:var(--brand-primary);box-shadow:0 0 0 3px #818cf81f}.srw-room-header{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:var(--text-base);font-family:inherit;text-align:left;transition:background var(--duration-normal) var(--ease-out)}.srw-room-header:hover{background:var(--surface-2)}.srw-room-header:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.srw-room-name{flex:1;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srw-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.srw-badge--done{background:#2e7d3226;color:#2e7d32}.srw-badge--pending{background:#e651001f;color:#e65100}.srw-badge--done{animation:srw-badgePop .3s ease}@keyframes srw-badgePop{0%{transform:scale(.85);opacity:.5}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.srw-caret{color:var(--text-secondary);font-size:var(--text-sm);flex-shrink:0;width:16px;text-align:center;transition:transform .25s ease}.srw-room--expanded .srw-caret{transform:rotate(90deg)}.srw-room-body{padding:0 var(--space-3) var(--space-3);border-top:1px solid var(--border-default);animation:srw-slideDown .2s ease}@keyframes srw-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.srw-room-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-default)}.srw-room-actions .srd-btn-success{flex:1}@media(prefers-reduced-motion:reduce){.srw-room,.srw-room-header{transition:none}.srw-room-body,.srw-badge--done{animation:none!important}.srw-caret{transition:none}}@media print{.srw-room{box-shadow:none;border-color:#ddd}.srw-room-header{background:#fff;color:#000}.srw-badge--done{color:#2e7d32}.srw-badge--pending{color:#e65100}.nav-actions{display:none!important}}.prefilled-banner{display:flex;align-items:flex-start;gap:var(--space-3);background:#818cf814;border:1px solid rgba(129,140,248,.25);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--text-primary);line-height:var(--leading-normal)}.prefilled-banner-thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-default);flex-shrink:0}.prefilled-banner-icon{font-size:1.3rem;flex-shrink:0;margin-top:1px}.prefilled-banner-hint{color:var(--text-secondary);font-size:var(--text-xs)}.srw-substeps{display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.srw-substep{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#ffffff80;font-size:.85rem;cursor:pointer;transition:all .2s}.srw-substep:hover{border-color:#ffffff40;color:#fffc}.srw-substep--active{background:#6366f126;border-color:#6366f1;color:#fff;font-weight:600}.srw-substep--done .srw-substep-num{color:#10b981}.srw-substep-num{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#ffffff14;font-size:.75rem;font-weight:700}.srw-substep--active .srw-substep-num{background:#6366f1;color:#fff}.srw-substep-nav{display:flex;gap:var(--space-2);margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.guidance-sticky{position:sticky;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#1e1b4bf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:2px solid rgba(99,102,241,.4);box-shadow:0 -4px 20px #0000004d;flex-wrap:wrap}.guidance-sticky-msg{flex:1;font-size:.9rem;color:#ffffffd9}.guidance-sticky-btn{padding:.4rem 1rem;font-size:.85rem;border-radius:.375rem;background:#6366f1;color:#fff;border:none;cursor:pointer;white-space:nowrap;transition:background .2s}.guidance-sticky-btn:hover{background:#4f46e5}.gen-progress{margin:1.25rem 0;padding:1rem 1.25rem;background:var(--bg-secondary, #f5f5f5);border-radius:12px;border:1px solid var(--border-color, #e0e0e0)}.gen-progress__bar{height:8px;background:var(--bg-tertiary, #e0e0e0);border-radius:99px;overflow:hidden;margin-bottom:.6rem}.gen-progress__fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:99px}.gen-progress__label{font-size:.85rem;color:var(--text-secondary, #666);text-align:center;margin:0}.srw-label-with-tip{display:inline-flex;align-items:center;gap:4px}.srw-help-icon{color:var(--text-muted, #9ca3af);flex-shrink:0;cursor:help;transition:color .15s}.srw-help-icon:hover{color:var(--brand-primary, #6366f1)}.srw-full-width{grid-column:1 / -1}.srw-slider-row{display:flex;align-items:center;gap:var(--space-2, 8px);margin-top:var(--space-1, 4px)}.srw-slider-label{font-size:.72rem;color:var(--text-secondary, #64748b);font-weight:600;min-width:28px;text-align:center}.srw-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;border-radius:99px;background:linear-gradient(to right,var(--primary, #6366f1) 0%,var(--primary, #6366f1) var(--pct, 50%),var(--border-default, #e2e8f0) var(--pct, 50%),var(--border-default, #e2e8f0) 100%);outline:none;cursor:pointer}.srw-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary, #6366f1);box-shadow:0 2px 6px #6366f166;cursor:grab;border:2px solid white}.srw-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary, #6366f1);box-shadow:0 2px 6px #6366f166;cursor:grab;border:2px solid white}.srw-slider:focus-visible{outline:2px solid var(--primary, #6366f1);outline-offset:3px}.upload-card{position:relative;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--text-primary);box-shadow:var(--shadow-lg);overflow:hidden}.upload-title{font-size:var(--text-xl);font-weight:800;margin:0 0 var(--space-2) 0;text-align:center;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.upload-subtitle{color:var(--text-secondary);text-align:center;font-size:var(--text-base);margin:0 0 var(--space-5) 0;line-height:var(--leading-normal)}.drop-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-md);padding:var(--space-8) var(--space-5);text-align:center;background:var(--surface-2);transition:box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.drop-zone:hover{box-shadow:0 0 0 3px #6366f133;transform:translateY(-1px);border-color:var(--brand-primary)}.file-input{display:none}.choose-file-btn{display:inline-block;cursor:pointer;background:var(--brand-gradient);color:var(--text-inverse);padding:var(--space-3) var(--space-7);border-radius:var(--radius-md);font-weight:800;transition:filter var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-lg);border:none;min-height:48px;min-width:200px;-webkit-tap-highlight-color:transparent}.choose-file-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.file-info{margin-top:var(--space-3);font-size:var(--text-base);color:var(--text-primary);font-weight:600}.format-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.plan-already-uploaded{display:flex;align-items:center;gap:var(--space-2);background:#10b98114;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--text-primary);line-height:var(--leading-normal)}.plan-already-icon{flex-shrink:0;font-size:1.1rem}.error-text{margin-top:var(--space-2);font-size:var(--text-base);color:var(--danger);font-weight:600}.upload-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--space-3);margin-top:var(--space-6)}.btn{border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-base);font-weight:800;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.btn-primary{background:var(--brand-gradient);border:none;color:var(--text-inverse);box-shadow:var(--shadow-lg)}.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{background:var(--surface-2);color:var(--text-tertiary);box-shadow:none;cursor:not-allowed;opacity:.7}.spinner{width:56px;height:56px;border:5px solid var(--border-subtle);border-top-color:var(--brand-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.choose-file-btn:focus-visible,.btn:focus-visible,.drop-zone:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media(max-width:420px){.upload-actions{grid-template-columns:1fr}}.completeness-card{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.completeness-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.completeness-title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.completeness-pct{font-size:var(--text-sm);font-weight:800;color:var(--text-secondary)}.completeness-pct--full{color:var(--success, #22c55e)}.completeness-bar{height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;margin-bottom:var(--space-3)}.completeness-fill{height:100%;background:var(--brand-gradient);border-radius:2px;transition:width .4s ease}.completeness-checks{display:flex;flex-direction:column;gap:var(--space-1)}.completeness-check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);padding:4px 0}.completeness-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.completeness-check--ok .completeness-icon{background:#22c55e26;color:var(--success, #22c55e)}.completeness-check--miss .completeness-icon{background:#f59e0b1a;color:var(--warning, #f59e0b)}.completeness-label{flex:1;color:var(--text-primary);font-weight:500}.completeness-check--ok .completeness-label{color:var(--text-secondary)}.completeness-detail{color:var(--text-tertiary);font-size:var(--text-xs)}.completeness-hint{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic}.success-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-8);color:var(--text-primary);text-align:center;box-shadow:var(--shadow-lg);max-width:580px;margin:var(--space-9) auto}.success-emoji{font-size:60px;margin-bottom:var(--space-4);animation:bounce var(--duration-slow) ease infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.success-title{font-size:var(--text-2xl);font-weight:800;margin:0 0 var(--space-2) 0;background:linear-gradient(135deg,var(--success),#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.success-text{font-size:var(--text-md);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.success-tips{list-style:none;padding:0;margin:0 0 var(--space-7) 0;text-align:left;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4)}.success-tips li{padding:var(--space-2) 0;padding-left:var(--space-6);position:relative;font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.success-tips li:before{content:"→";position:absolute;left:0;color:var(--brand-primary);font-weight:700}.success-tips li:not(:last-child){border-bottom:1px solid var(--border-subtle)}.success-summary-card{background:linear-gradient(135deg,var(--surface-2) 0%,var(--surface-3) 100%);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-7);box-shadow:0 4px 12px #0003}.summary-title{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-4) 0;opacity:.9}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-3)}.summary-item{text-align:center}.summary-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-2);display:block}.summary-value{font-size:var(--text-lg);font-weight:700;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.success-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.btn{border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-size:var(--text-md);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.btn-ghost{background:transparent;border:1px dashed var(--border-default);color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-2)}.btn-success{background:linear-gradient(135deg,var(--success),#059669);color:var(--text-inverse);border:none;box-shadow:0 6px 16px #34d39940}.btn-success:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media(max-width:480px){.success-card{padding:var(--space-6)}.btn{width:100%}}@media(prefers-reduced-motion:reduce){.success-emoji{animation:none!important}}.ps-card{margin-top:var(--space-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--text-primary);box-shadow:var(--shadow-lg)}.ps-title{font-size:var(--text-xl);font-weight:800;margin:0 0 var(--space-4) 0;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ps-rules{margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.ps-section{margin-bottom:var(--space-5)}.ps-section--border-top{border-top:1px solid var(--border-default);padding-top:var(--space-3)}.ps-section-title{font-size:var(--text-base);font-weight:800;color:var(--text-primary);margin:0 0 var(--space-2) 0}.ps-table-wrapper{overflow-x:auto}.ps-table{width:100%;border-collapse:collapse;font-size:var(--text-base);min-width:520px}.ps-table thead tr{background:var(--surface-2)}.ps-table th,.ps-table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--border-default);white-space:nowrap}.ps-table th{color:var(--text-secondary);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.02em}.ps-table tbody tr:hover{background:var(--surface-2)}.ps-list{margin:0;padding-left:18px;color:var(--text-primary);line-height:var(--leading-relaxed);font-size:var(--text-base)}.ps-list--tight li{margin:2px 0}.ps-list--warn{color:var(--danger)}.ps-budget-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2);color:var(--text-primary);font-size:var(--text-base)}@media(min-width:600px){.ps-budget-grid{grid-template-columns:1fr 1fr}}.ps-notes{color:var(--text-secondary);font-size:var(--text-xs);margin-top:var(--space-1);font-style:italic}.ps-subtitle{font-weight:800;color:var(--text-primary);margin:0 0 var(--space-1) 0}.ps-subtitle--warn{color:var(--danger)}.ps-block{margin-bottom:var(--space-2)}.ps-table:focus-visible,.ps-list:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.project-details-container{background:radial-gradient(ellipse 80% 40% at 50% -10%,rgba(129,140,248,.05),transparent),var(--surface-0);color:var(--text-primary);min-height:100vh;min-height:100dvh;padding:var(--space-5);font-family:var(--font-sans)}.project-details-card{max-width:980px;margin:0 auto;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-md);animation:fadeInUp var(--duration-enter) var(--ease-out)}.project-details-container .project-header{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-3);margin-bottom:var(--space-4)}.project-details-container .project-header h1{margin:0;font-size:var(--text-lg);font-weight:800;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.project-details-container .project-header p{margin:0;color:var(--text-secondary);font-size:var(--text-base)}.project-content{display:grid;gap:var(--space-4)}.project-details-container .btn,.project-details-container .btn-ghost,.project-details-container .btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);font-weight:600}.project-details-container .btn{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary)}.project-details-container .btn:hover{background:var(--surface-3);border-color:var(--border-strong);transform:translateY(-1px)}.project-details-container .btn-ghost{background:transparent;border:1px solid var(--border-default);color:var(--text-secondary)}.project-details-container .btn-ghost:hover{background:var(--surface-2);color:var(--text-primary)}.project-details-container .btn-danger{background:var(--danger);border:1px solid #dc2626;color:#fff}.project-details-container .btn-danger:hover{filter:brightness(1.05);transform:translateY(-1px)}.project-details-container .danger-zone{margin-top:var(--space-5);padding:0;background:transparent!important;border:0!important;box-shadow:none!important}.project-details-container .btn.btn-link-danger{display:inline;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0;color:var(--text-tertiary);font-size:var(--text-sm);border-radius:0!important;cursor:pointer;text-decoration:none}.project-details-container .btn.btn-link-danger:hover{color:var(--danger);text-decoration:underline}.project-details-container .danger-confirm-box{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:var(--space-3);max-width:760px}.project-details-container .danger-caption{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.project-details-container .danger-caption .semibold{color:var(--text-primary);font-weight:600}.project-details-container .danger-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.project-details-container .btn.btn-danger-quiet{background:var(--surface-2);border:1px solid var(--danger-border);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.project-details-container .btn.btn-danger-quiet:hover{background:var(--danger-soft);border-color:#f8717180;transform:translateY(-1px)}.project-details-container .btn.btn-danger-quiet:disabled{opacity:.6;cursor:not-allowed}.success-toast{border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-base);animation:fadeInDown var(--duration-normal) var(--ease-out)}.success-toast{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border)}.project-details-container .form-row{display:grid;gap:var(--space-3)}.project-details-container .input,.project-details-container .textarea,.project-details-container .select{width:100%;background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-base);transition:all var(--duration-normal) var(--ease-out)}.project-details-container .textarea{min-height:90px;resize:vertical}.project-details-container .input:hover,.project-details-container .textarea:hover,.project-details-container .select:hover{border-color:var(--border-strong)}.project-details-container .input:focus,.project-details-container .textarea:focus,.project-details-container .select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #818cf81f}.step-progress{display:flex;align-items:center;justify-content:center;gap:var(--space-2, 8px);margin-top:var(--space-3, 12px)}.step-progress__item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1, 4px);position:relative;flex:1;max-width:100px}.step-progress__item:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 20px);width:calc(100% - 40px);height:2px;background:var(--border-subtle, rgba(255, 255, 255, .06));z-index:0}.step-progress__item--done:not(:last-child):after{background:var(--brand-primary, #818cf8)}.step-progress__dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:var(--surface-2, #111a33);border:2px solid var(--border-subtle, rgba(255, 255, 255, .06));color:var(--text-tertiary, rgba(255, 255, 255, .4));position:relative;z-index:1;transition:all .2s ease}.step-progress__item--active .step-progress__dot{background:var(--brand-primary, #818cf8);border-color:var(--brand-primary, #818cf8);color:#fff;box-shadow:0 0 0 4px #818cf833}.step-progress__item--done .step-progress__dot{background:var(--brand-primary, #818cf8);border-color:var(--brand-primary, #818cf8);color:#fff}.step-progress__label{font-size:11px;color:var(--text-tertiary, rgba(255, 255, 255, .4));font-weight:500;white-space:nowrap}.step-progress__item--active .step-progress__label{color:var(--text-primary, rgba(255, 255, 255, .95))}.step-progress__item--done .step-progress__label{color:var(--text-secondary, rgba(255, 255, 255, .7))}.step-progress__time{font-size:10px;color:var(--text-tertiary, rgba(255, 255, 255, .35));font-weight:400;margin-top:2px}.step-progress__item--active .step-progress__time{color:var(--text-secondary, rgba(255, 255, 255, .65))}.step-progress__item--done .step-progress__time{color:var(--text-tertiary)}.step-progress__current{font-size:var(--text-sm);color:var(--text-secondary);font-weight:600;margin-left:auto;padding-right:var(--space-2)}@media(max-width:640px){.step-progress__current{display:none}}@media(max-width:480px){.step-progress__label{font-size:10px}.step-progress__dot{width:28px;height:28px;font-size:12px}}@media(max-width:599px){.project-details-card{padding:var(--space-3);border-radius:var(--radius-lg)}.project-details-container .project-header h1{font-size:var(--text-md)}.project-details-container .project-header p{font-size:var(--text-sm)}.project-details-container{padding:var(--space-3)}}.draft-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-lg);animation:fadeInDown .3s ease;margin-bottom:var(--space-3)}.draft-banner-icon{font-size:1.4rem;flex-shrink:0}.draft-banner-body{flex:1;display:flex;flex-direction:column;gap:2px}.draft-banner-title{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.draft-banner-text{font-size:var(--text-xs);color:var(--text-secondary)}.draft-banner-actions{display:flex;gap:var(--space-2);flex-shrink:0}.draft-banner-btn{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.draft-banner-btn--continue{background:var(--brand-primary, #6366f1);color:#fff;border:none}.draft-banner-btn--continue:hover{filter:brightness(1.1)}.draft-banner-btn--discard{background:transparent;color:var(--text-secondary);border:1px dashed var(--border-default)}.draft-banner-btn--discard:hover{color:var(--danger);border-color:var(--danger-border)}.draft-banner-btn--confirm{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border)}.draft-banner-btn--confirm:hover{background:#ef444433}@media(max-width:560px){.draft-banner{flex-direction:column;align-items:flex-start}.draft-banner-actions{width:100%}.draft-banner-btn{flex:1;text-align:center}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.step-content-focus{outline:none}.step-content-focus:focus-visible{outline:2px solid var(--brand-primary);outline-offset:4px;border-radius:var(--radius-md)}.step-progress__dot{transition:all .35s cubic-bezier(.4,0,.2,1)}.step-progress__item--active .step-progress__dot{animation:stepPulse .4s ease}@keyframes stepPulse{0%{transform:scale(.85)}50%{transform:scale(1.1)}to{transform:scale(1)}}.step-progress__item:not(:last-child):after{transition:background .4s ease}.save-indicator{display:block;text-align:right;font-size:.75rem;color:#fff6;margin-top:.25rem;transition:opacity .3s}.wizard-nav-sticky{position:sticky;bottom:0;background:rgba(var(--surface-1-rgb, 15, 20, 40),.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));z-index:10;display:flex;gap:var(--space-3, 12px);justify-content:space-between;align-items:center;flex-wrap:wrap}@media(max-width:600px){.wizard-nav-sticky{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));gap:var(--space-2, 8px)}.wizard-nav-sticky .btn{flex:1;min-width:100px}}
