:root{--color-base:#f3f2ee;--color-surface-1:#fff;--color-surface-2:#efede8;--color-surface-3:#e6e3dc;--color-surface-4:#dad7ce;--color-border-subtle:#e8e5df;--color-border-default:#d3cfc6;--color-border-strong:#b5b0a6;--color-text-primary:#1c1a17;--color-text-secondary:#6b6560;--color-text-muted:#a09890;--color-accent:#1747c8;--color-accent-hover:#1c56e4;--color-accent-dim:#1747c812;--color-accent-glow:#1747c824;--color-calibrate:#b86a00;--color-calibrate-hover:#d07a00;--color-calibrate-dim:#b86a0012;--color-calibrate-glow:#b86a0029;--color-success:#187a52;--color-success-dim:#187a5214;--color-danger:#c03030;--color-danger-hover:#d84040;--shadow-sm:0 1px 2px #0000000d, 0 1px 4px #0000000a;--shadow-md:0 4px 12px #00000012, 0 2px 4px #0000000a;--shadow-lg:0 8px 32px #00000017, 0 4px 8px #0000000d;--shadow-glow-blue:0 0 0 1.5px var(--color-accent), 0 0 12px var(--color-accent-glow);--shadow-glow-amber:0 0 0 1.5px var(--color-calibrate), 0 0 16px var(--color-calibrate-glow);--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--transition-fast:.12s ease;--transition-base:.2s ease;--glass-bg:#f3f2eef0;--glass-border:#ffffffb3;--glass-blur:blur(20px);--glass-shadow:0 8px 40px #00000024, 0 2px 8px #00000014, inset 0 1px 0 #fffc}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-base);color:var(--color-text-primary);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{background-color:var(--color-surface-1);border-bottom:1px solid var(--color-border-subtle);box-shadow:0 1px 0 var(--color-border-subtle), var(--shadow-sm);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.app-header-left{align-items:center;gap:1rem;display:flex}.app-title{letter-spacing:-.02em;color:var(--color-text-primary);align-items:center;gap:.45rem;font-size:1rem;font-weight:700;display:flex}.save-indicator{transition:all var(--transition-base);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:500}.save-indicator--saved{color:var(--color-success);background:var(--color-success-dim)}.save-indicator--saving{color:var(--color-text-muted);background:var(--color-surface-2)}.save-indicator--error{color:var(--color-danger);background:#c0303014}.project-name-prompt{background:var(--color-surface-1);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;align-items:center;gap:1rem;min-width:400px;max-width:480px;margin-bottom:2rem;padding:2.5rem 3rem;display:flex}.project-name-prompt-icon{color:var(--color-accent);opacity:.7}.project-name-prompt h2{letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:1.25rem;font-weight:700}.project-name-prompt-file{color:var(--color-text-muted);margin:0;font-family:Geist Mono,monospace;font-size:.8rem}.project-name-prompt-input{width:100%}.project-name-prompt-actions{gap:.75rem;width:100%;display:flex}.project-name-prompt-actions .btn-primary,.project-name-prompt-actions .btn-secondary{flex:1}.app-title:before{content:"";background:var(--color-accent);border-radius:2px;width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.app-content{flex:1;display:flex;overflow:hidden}.sidebar-toggle{background-color:var(--color-surface-2);width:28px;height:28px;color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-toggle:hover{background-color:var(--color-surface-3);color:var(--color-text-primary);border-color:var(--color-border-strong)}.toolbar{background-color:var(--color-surface-1);border-right:1px solid var(--color-border-subtle);scrollbar-width:thin;scrollbar-color:var(--color-border-default) transparent;width:250px;transition:width var(--transition-base);flex-direction:column;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.toolbar::-webkit-scrollbar{width:4px}.toolbar::-webkit-scrollbar-track{background:0 0}.toolbar::-webkit-scrollbar-thumb{background-color:var(--color-border-default);border-radius:2px}.toolbar.collapsed{width:52px;padding:.75rem .5rem;overflow:hidden}.toolbar.collapsed .btn-label,.toolbar.collapsed .toolbar-section h3{display:none}.toolbar.collapsed .toolbar-section{margin-bottom:.5rem;padding-bottom:.5rem}.toolbar.collapsed .toolbar-section button{justify-content:center;padding:.6rem}.toolbar.collapsed .zoom-level{display:none}.toolbar.collapsed .calibration-info{text-align:center;padding:.4rem}.toolbar-content{flex-direction:column;flex:1;min-height:0;display:flex}.toolbar-section{border-bottom:1px solid var(--color-border-subtle);margin-bottom:1.5rem;padding-bottom:1.5rem}.toolbar-section:last-child{border-bottom:none}.toolbar-section h3{text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);border-left:2px solid var(--color-accent);margin-bottom:.75rem;padding-left:.5rem;font-size:.62rem;font-weight:700}.toolbar button{background-color:var(--color-surface-2);width:100%;color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);align-items:center;gap:.5rem;margin-bottom:.375rem;padding:.7rem .75rem;font-family:inherit;font-size:.8rem;font-weight:500;display:flex}.toolbar button:hover:not(:disabled){background-color:var(--color-surface-3);border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.toolbar button:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.toolbar button:disabled{opacity:.45;cursor:not-allowed}.toolbar button.active{background-color:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-accent);box-shadow:var(--shadow-glow-blue)}.calibration-info{background-color:var(--color-success-dim);border:1px solid var(--color-success);border-radius:var(--radius-sm);color:var(--color-success);text-align:center;padding:.5rem;font-size:.75rem}.zoom-level{text-align:center;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;background-color:var(--color-surface-2);border-radius:var(--radius-sm);padding:.5rem;font-family:Geist Mono,monospace;font-size:.875rem;display:block}.main-area{background-color:var(--color-base);background-image:radial-gradient(ellipse at 50% 0%, #1747c80d, transparent 55%), linear-gradient(var(--color-border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--color-border-subtle) 1px, transparent 1px);background-size:100% 100%,24px 24px,24px 24px;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;padding-top:2rem;display:flex;position:relative;overflow:auto}.uploader-layout{align-items:stretch;gap:0;margin-bottom:2rem;display:flex}.uploader-or{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;padding:0 1.25rem;font-size:.75rem;font-weight:600;display:flex}.cloud-project-card{background:var(--color-surface-1);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);min-width:320px;box-shadow:var(--shadow-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;font-family:inherit;display:flex;position:relative;overflow:hidden}.cloud-project-card:before{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), transparent);opacity:0;height:3px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.cloud-project-card:hover{background:var(--color-surface-2);border-color:var(--color-accent);box-shadow:var(--shadow-lg);border-style:solid;transform:translateY(-2px)}.cloud-project-card:hover:before{opacity:1}.cloud-project-card svg{opacity:.55;color:var(--color-accent);transition:all var(--transition-base)}.cloud-project-card:hover svg{opacity:1}.cloud-project-card h2{letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:1.4rem;font-weight:600}.cloud-project-card p{color:var(--color-text-secondary);margin:0;font-size:.875rem}.cloud-project-card:hover .file-uploader-cta{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim)}.file-uploader{background:var(--color-surface-1);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);min-width:400px;box-shadow:var(--shadow-md);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;display:flex;position:relative;overflow:hidden}.file-uploader:before{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), transparent);opacity:0;height:3px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.file-uploader:hover{background:var(--color-surface-2);border-color:var(--color-accent);box-shadow:var(--shadow-lg);border-style:solid;transform:translateY(-2px)}.file-uploader:hover:before{opacity:1}.file-uploader:hover svg{opacity:1;color:var(--color-accent)}.file-uploader svg{opacity:.55;color:var(--color-accent);transition:all var(--transition-base)}.file-uploader h2{letter-spacing:-.02em;color:var(--color-text-primary);font-size:1.4rem;font-weight:600}.file-uploader p{color:var(--color-text-secondary);font-size:.875rem}.file-uploader-cta{border:1px solid var(--color-border-default);color:var(--color-text-secondary);transition:all var(--transition-base);border-radius:999px;padding:.4rem 1.1rem;font-size:.8rem;font-weight:500;display:inline-block}.file-uploader:hover .file-uploader-cta{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim)}.canvas-container{box-shadow:var(--shadow-lg), 0 0 0 1px #0000000f;border-radius:2px;max-width:calc(100% - 4rem);margin:0 auto 6rem;position:relative}.pdf-viewer canvas{background-color:#fff;display:block}.measurement-canvas{cursor:crosshair;position:absolute;top:0;left:0}.page-navigator{-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background-color:#ffffffeb;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.page-navigator button{background-color:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;padding:.5rem;display:flex}.page-navigator button:hover:not(:disabled){background-color:var(--color-surface-3);border-color:var(--color-border-strong)}.page-navigator button:disabled{opacity:.4;cursor:not-allowed}.page-navigator span{color:var(--color-text-primary);text-align:center;font-variant-numeric:tabular-nums;min-width:100px;font-family:Geist Mono,monospace;font-size:.875rem}.measurements-list{background-color:var(--color-surface-1);border-left:1px solid var(--color-border-subtle);scrollbar-width:thin;scrollbar-color:var(--color-border-default) transparent;width:300px;transition:width var(--transition-base);flex-direction:column;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.measurements-list::-webkit-scrollbar{width:4px}.measurements-list::-webkit-scrollbar-track{background:0 0}.measurements-list::-webkit-scrollbar-thumb{background-color:var(--color-border-default);border-radius:2px}.measurements-list.collapsed{width:48px;padding:.75rem .5rem;overflow:hidden}.measurements-list.collapsed .sidebar-content{display:none}.sidebar-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.measurements-list h3{text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;font-size:.62rem;font-weight:700;display:flex}.measurements-count{background-color:var(--color-accent-dim);min-width:1.4em;color:var(--color-accent);font-variant-numeric:tabular-nums;border:1px solid #1747c833;border-radius:999px;justify-content:center;align-items:center;padding:.1em .45em;font-family:Geist Mono,monospace;font-size:.7rem;display:inline-flex}.empty-message{color:var(--color-text-muted);text-align:center;padding:2rem 1rem;font-size:.875rem}.page-group{margin-bottom:1.5rem}.page-group h4{text-transform:uppercase;color:var(--color-text-muted);background-color:var(--color-surface-2);letter-spacing:.1em;border-radius:999px;margin-bottom:.5rem;padding:.2em .6em;font-size:.6rem;font-weight:700;display:inline-block}.measurement-item{background-color:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:flex}.measurement-item:hover{background-color:var(--color-surface-3);border-color:var(--color-border-default);box-shadow:var(--shadow-md);transform:translateY(-1px)}.measurement-item.selected{background-color:var(--color-accent-dim);border-color:var(--color-accent);box-shadow:var(--shadow-glow-blue)}.measurement-color{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 2px #00000014}.measurement-info{flex:1;min-width:0}.measurement-type{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:500}.measurement-value{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-primary);font-family:Geist Mono,monospace;font-size:.875rem;font-weight:600;overflow:hidden}.measurement-item .delete-button{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:0;transition:all var(--transition-base);background-color:#0000;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.measurement-item:hover .delete-button{opacity:1}.measurement-item .delete-button:hover{color:var(--color-danger);background-color:#c0303014}@keyframes modal-enter{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modal-exit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.96)translateY(6px)}}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes overlay-exit{0%{opacity:1}to{opacity:0}}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:1000;background-color:#1c1a178c;justify-content:center;align-items:center;animation:.22s ease-out overlay-enter;display:flex;position:fixed;inset:0}.modal{background-color:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:90vh;box-shadow:var(--glass-shadow);flex-direction:column;animation:.22s ease-out modal-enter;display:flex}[data-closing=true]{animation:.18s ease-in forwards overlay-exit}[data-closing=true] .modal{animation:.18s ease-in forwards modal-exit}.modal-header{border-bottom:1px solid var(--glass-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-header h2{letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:1.15rem;font-weight:700}.modal-body{flex:1;padding:20px 24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--glass-border);flex-shrink:0;padding:14px 24px}.close-button{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background-color:#0000;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.close-button:hover{color:var(--color-text-primary);background-color:var(--color-surface-2)}.modal-content{flex:1;padding:1.5rem;overflow-y:auto}.modal-content p{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.875rem}.calibration-canvas{cursor:crosshair;background-color:#fff;border-radius:4px;width:100%;max-width:100%;margin-bottom:1rem}.input-group{gap:.5rem;margin-top:1rem;display:flex}.input-group input,.input-group select{background-color:var(--color-surface-1);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem;font-family:inherit;font-size:.875rem}.input-group input:focus,.input-group select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow);outline:none}.input-group input{flex:1}.input-group select{min-width:120px}.calibration-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1.5px solid var(--color-calibrate);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow), var(--shadow-glow-amber);z-index:900;min-width:400px;max-width:500px;padding:1.5rem;position:fixed;top:5rem;left:50%;transform:translate(-50%)}.calibration-header{border-bottom:1px solid #b86a002e;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.calibration-header h3{color:var(--color-calibrate);letter-spacing:-.01em;margin:0;font-size:1.075rem;font-weight:700}.calibration-content{flex-direction:column;gap:1rem;display:flex}.calibration-step{background-color:var(--color-calibrate-dim);border-left:3px solid var(--color-calibrate);border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:.75rem;font-size:.875rem}.calibration-step strong{color:var(--color-calibrate)}.calibration-status{text-align:center;background-color:var(--color-accent-dim);border-radius:var(--radius-sm);color:var(--color-accent);border:1px solid #1747c833;padding:.5rem;font-size:.875rem;font-weight:600}.calibration-actions{gap:.75rem;margin-top:.5rem;display:flex}.calibration-actions button{background-color:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);flex:1;padding:.75rem;font-family:inherit;font-size:.875rem;font-weight:500}.calibration-actions button:hover:not(:disabled){background-color:var(--color-surface-3);border-color:var(--color-border-strong)}.calibration-actions button:disabled{opacity:.45;cursor:not-allowed}.calibration-actions button.primary{background-color:var(--color-calibrate);border-color:var(--color-calibrate);color:#fff;font-weight:600}.calibration-actions button.primary:hover:not(:disabled){background-color:var(--color-calibrate-hover);border-color:var(--color-calibrate-hover);box-shadow:0 0 12px var(--color-calibrate-glow)}.header-auth{align-items:center;gap:8px;display:flex}.btn-sign-in{border-radius:var(--radius-sm);border:1px solid var(--color-border-default);background:var(--color-surface-2);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);padding:6px 16px;font-family:inherit;font-size:.8rem;font-weight:600}.btn-sign-in:hover{background:var(--color-surface-3);border-color:var(--color-border-strong)}.plan-badge{letter-spacing:.08em;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:3px 9px;font-family:inherit;font-size:.62rem;font-weight:700}.plan-badge:hover{opacity:.8}.plan-badge--free{background:var(--color-surface-3);color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.plan-badge--pro{color:#7c3aed;background:#7c3aed1a;border:1px solid #7c3aed40}.plan-badge--team{background:var(--color-accent-dim);color:var(--color-accent);border:1px solid #1747c833}.tool-entry{flex-direction:column;gap:2px;margin-bottom:2px;display:flex}.tool-locked{opacity:.55}.pro-badge{letter-spacing:.04em;border-radius:var(--radius-sm);color:#7c3aed;vertical-align:middle;background:#7c3aed1a;border:1px solid #7c3aed33;margin-left:4px;padding:1px 5px;font-size:.55rem;font-weight:700}.upgrade-modal{max-width:580px;max-height:85vh}.upgrade-modal .current-plan-note{color:var(--color-text-secondary);margin-bottom:16px;font-size:.85rem}.currency-selector-row{color:var(--color-text-secondary);align-items:center;gap:8px;margin-bottom:20px;font-size:.85rem;display:flex}.currency-selector-row select{border:1px solid var(--color-border-default);background:var(--color-surface-1);color:var(--color-text-primary);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:.85rem}.modal-loading,.modal-signin-prompt{color:var(--color-text-secondary);margin-bottom:16px;font-size:.9rem}.modal-error{color:var(--color-danger);margin-top:12px;font-size:.85rem}.link-btn{color:var(--color-accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.plan-cards{gap:16px;margin-bottom:20px;display:flex}.plan-card{border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);background:#ffffff8c;flex-direction:column;flex:1;gap:10px;padding:18px;display:flex}.plan-card--current{border-color:var(--color-accent);box-shadow:var(--shadow-glow-blue);background:#1747c80f}.plan-card-header{justify-content:space-between;align-items:center;display:flex}.plan-card h3{letter-spacing:-.01em;color:var(--color-text-primary);font-size:1rem;font-weight:700}.current-badge{letter-spacing:.06em;border-radius:var(--radius-sm);background:var(--color-accent-dim);color:var(--color-accent);border:1px solid #1747c833;padding:2px 7px;font-size:.62rem;font-weight:700}.plan-price{letter-spacing:-.02em;color:var(--color-text-primary);font-family:Geist Mono,monospace;font-size:1.6rem;font-weight:700}.plan-price-mo{color:var(--color-text-muted);margin-left:2px;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.85rem;font-weight:400}.plan-features{flex-direction:column;flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan-features li{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:.82rem;display:flex}.plan-feature-check{color:var(--color-success);flex-shrink:0}.btn-primary{border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;cursor:pointer;transition:background var(--transition-base);letter-spacing:.01em;border:none;width:100%;padding:9px 16px;font-family:inherit;font-size:.85rem;font-weight:700}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.plan-card .btn-primary{padding:11px 16px}.btn-secondary{border-radius:var(--radius-sm);border:1px solid var(--color-border-default);background:var(--color-surface-2);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-base);padding:7px 14px;font-family:inherit;font-size:.85rem;font-weight:500}.btn-secondary:hover{background:var(--color-surface-3)}.plan-confirm{text-align:center;border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);background:#ffffff8c;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px;padding:24px 16px;display:flex}.plan-confirm-icon{background:var(--color-accent-dim);width:44px;height:44px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.plan-confirm-title{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:700}.plan-confirm-body{color:var(--color-text-secondary);max-width:360px;margin:0;font-size:.85rem;line-height:1.5}.plan-confirm-actions{gap:10px;margin-top:4px;display:flex}.plan-confirm-submit{width:auto;padding:9px 20px}.modal-close{margin-top:8px}.projects-modal{max-width:520px;max-height:80vh}.projects-upsell{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.projects-upsell p{color:var(--color-text-secondary);font-size:.9rem}.projects-save-row{align-items:center;gap:8px;margin-bottom:16px;display:flex}.projects-name-input{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-surface-1);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex:1;padding:7px 10px;font-family:inherit;font-size:.85rem}.projects-name-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.projects-name-input:disabled{opacity:.45}.projects-count{color:var(--color-text-muted);white-space:nowrap;font-family:Geist Mono,monospace;font-size:.78rem}.projects-empty{color:var(--color-text-muted);margin-bottom:16px;font-size:.85rem}.projects-list{margin:0 0 16px;padding:0;list-style:none}.projects-item-group{border-bottom:1px solid var(--color-border-subtle)}.projects-item-group:last-child{border-bottom:none}.projects-item{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.share-panel{border-top:1px solid var(--color-border-subtle);padding:.625rem 0 .75rem}.share-input-row{gap:8px;margin-bottom:.5rem;display:flex}.collaborators-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.collaborator-item{background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.collaborator-email{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.collaborator-remove{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px 4px;display:flex}.collaborator-remove:hover{color:var(--color-danger);background:#c0303014}.btn-icon{justify-content:center;align-items:center;padding:5px 8px;display:flex}.projects-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.projects-item-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.projects-item-meta{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:Geist Mono,monospace;font-size:.75rem;overflow:hidden}.projects-item-actions{flex-shrink:0;gap:6px;display:flex}.btn-danger{border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;transition:background var(--transition-fast);background:#c030300f;border:1px solid #c0303040;padding:5px 10px;font-family:inherit;font-size:.8rem;font-weight:500}.btn-danger:hover{color:var(--color-danger-hover);background:#c030301f}.projects-item--locked .projects-item-name{opacity:.6}.projects-item--locked .projects-item-meta{color:var(--color-warning,#e8a838);font-size:.75rem}.manage-subscription-row{margin-top:16px;margin-bottom:8px}.legal-page{background:var(--color-base);min-height:100vh;padding:3rem 1.5rem}.legal-container{max-width:760px;margin:0 auto}.legal-back{color:var(--color-accent);margin-bottom:2rem;font-size:.875rem;text-decoration:none;display:inline-block}.legal-back:hover{color:var(--color-accent-hover);text-decoration:underline}.legal-title{letter-spacing:-.02em;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle);margin-bottom:2rem;padding-bottom:1rem;font-size:1.75rem;font-weight:700}.legal-body{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.legal-body p{margin-bottom:1rem}.legal-body h2{color:var(--color-text-primary);margin-top:2rem;margin-bottom:.75rem;font-size:1.0625rem;font-weight:600}.legal-body ul{margin-bottom:1rem;padding-left:1.5rem}.legal-body ul li{margin-bottom:.35rem}.legal-body a{color:var(--color-accent);text-decoration:underline}.legal-body a:hover{color:var(--color-accent-hover)}.legal-intro{color:var(--color-text-secondary);background:var(--color-surface-2);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);padding:1rem 1.25rem;margin-bottom:1.5rem!important}.modal-legal-note{color:var(--color-text-muted);text-align:center;margin-top:1rem;font-size:.75rem}.modal-legal-note a{color:var(--color-text-secondary);text-decoration:underline}.modal-legal-note a:hover{color:var(--color-text-primary)}
