.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-light) 100%);padding:20px}.login-box{background:var(--white);border-radius:12px;box-shadow:0 8px 32px #0000001a;padding:48px;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:28px;font-weight:700;color:var(--primary-dark);margin-bottom:8px}.login-header p{font-size:16px;color:var(--primary-light)}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input{padding:12px 16px;border:2px solid var(--gray);border-radius:8px;font-size:16px;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--primary-light)}.form-group input:disabled{background-color:var(--background);cursor:not-allowed}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;padding:12px;color:#c33;font-size:14px}.login-button{padding:14px 24px;background-color:var(--orange);color:var(--white);font-size:16px;font-weight:600;border-radius:8px;transition:all .2s;margin-top:8px}.login-button:hover:not(:disabled){background-color:#d67f1f;transform:translateY(-1px);box-shadow:0 4px 12px #e490314d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.element-library{width:320px;background:var(--white);border-right:2px solid #e0e0e0;display:flex;flex-direction:column;height:100%}.library-header{padding:24px;border-bottom:2px solid #e0e0e0}.library-header h2{font-size:20px;font-weight:700;color:var(--primary-dark);margin-bottom:16px}.search-input{width:100%;padding:10px 14px;border:2px solid var(--gray);border-radius:8px;font-size:14px;transition:all .2s}.search-input:focus{outline:none;border-color:var(--primary-light)}.search-input::placeholder{color:var(--gray)}.library-content{flex:1;overflow-y:auto;padding:16px 0}.category-section{margin-bottom:8px}.category-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:transparent;color:var(--primary-dark);transition:all .2s;text-align:left}.category-header:hover{background:var(--background)}.category-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}.element-count{font-size:12px;font-weight:400;color:var(--gray)}.elements-list{padding:8px 16px;display:flex;flex-direction:column;gap:4px}.element-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border-radius:8px;transition:all .2s;text-align:left;width:100%}.element-item:hover{background:var(--background);transform:translate(4px)}.element-preview{width:40px;height:40px;border-radius:6px;border:2px solid rgba(0,0,0,.1);flex-shrink:0}.element-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.element-name{font-size:14px;font-weight:500;color:var(--primary-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.element-type{font-size:11px;color:var(--gray);text-transform:capitalize}.library-footer{padding:16px 24px;border-top:2px solid #e0e0e0;background:var(--background)}.help-text{font-size:12px;color:var(--gray);line-height:1.5;text-align:center}.dimension-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#10253acc;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.dimension-dialog{background:var(--white);border-radius:16px;width:100%;max-width:600px;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:32px 32px 24px;border-bottom:2px solid var(--background)}.dialog-title{display:flex;align-items:center;gap:12px;color:var(--primary-dark)}.dialog-title h2{font-size:24px;font-weight:700}.close-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:transparent;color:var(--gray);transition:all .2s}.close-button:hover{background:var(--background);color:var(--primary-dark)}.dialog-form{padding:32px;display:flex;flex-direction:column;gap:32px}.form-section{display:flex;flex-direction:column;gap:20px}.form-section h3{font-size:16px;font-weight:600;color:var(--primary-dark);margin-bottom:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:var(--primary-dark)}.input-with-unit{position:relative;display:flex;align-items:center}.input-with-unit input{width:100%;padding:12px 60px 12px 16px;border:2px solid var(--gray);border-radius:8px;font-size:16px;transition:all .2s}.input-with-unit input:focus{outline:none;border-color:var(--primary-light)}.unit{position:absolute;right:16px;font-size:14px;color:var(--gray);font-weight:500;pointer-events:none}.preset-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preset-button{padding:14px 20px;background:var(--background);color:var(--primary-dark);border:2px solid transparent;border-radius:8px;font-size:14px;font-weight:600;transition:all .2s}.preset-button:hover{background:var(--primary-light);color:var(--white);transform:translateY(-1px)}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;padding:12px 16px;color:#c33;font-size:14px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.cancel-button,.create-button{padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;transition:all .2s}.cancel-button{background:var(--background);color:var(--primary-dark)}.cancel-button:hover{background:var(--gray)}.create-button{background:var(--orange);color:var(--white)}.create-button:hover{background:#d67f1f;transform:translateY(-1px);box-shadow:0 4px 12px #e490314d}.designer{display:flex;flex-direction:column;height:100vh;background-color:var(--background)}.designer-header{background:var(--white);border-bottom:2px solid #e0e0e0;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 2px 4px #0000000d}.header-left{display:flex;align-items:center;gap:16px;flex:1}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--background);color:var(--primary-dark);transition:all .2s}.back-button:hover{background:var(--primary-light);color:var(--white)}.layout-name-input{font-size:18px;font-weight:600;color:var(--primary-dark);border:2px solid transparent;padding:8px 12px;border-radius:8px;background:transparent;transition:all .2s;max-width:300px}.layout-name-input:hover{background:var(--background)}.layout-name-input:focus{outline:none;background:var(--white);border-color:var(--primary-light)}.layout-dimensions{font-size:14px;color:var(--gray);padding:8px 16px;background:var(--background);border-radius:8px}.header-right{display:flex;align-items:center;gap:16px}.toolbar-group{display:flex;align-items:center;gap:8px;padding:0 16px;border-right:1px solid #e0e0e0}.toolbar-group:last-child{border-right:none;padding-right:0}.toolbar-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--background);color:var(--primary-dark);transition:all .2s}.toolbar-button:hover,.toolbar-button.active{background:var(--primary-light);color:var(--white)}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.zoom-level{font-size:14px;font-weight:600;color:var(--primary-dark);min-width:50px;text-align:center}.save-button,.export-button{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;transition:all .2s}.save-button{background:var(--orange);color:var(--white)}.save-button:hover:not(:disabled){background:#d67f1f;transform:translateY(-1px);box-shadow:0 4px 12px #e490314d}.save-button:disabled{opacity:.6;cursor:not-allowed}.export-button{background:var(--primary-light);color:var(--white)}.export-button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #10253a4d}.designer-content{display:flex;flex:1;overflow:hidden}.canvas-container{flex:1;background:#f0f0f0;overflow:auto;padding:40px;position:relative}.canvas-wrapper{display:inline-block;transform-origin:top left;transition:transform .2s ease}.properties-panel{width:300px;background:var(--white);border-left:2px solid #e0e0e0;padding:24px;overflow-y:auto;position:relative}.properties-panel h3{font-size:18px;font-weight:600;color:var(--primary-dark);margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.close-properties{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;background:transparent;color:var(--gray);cursor:pointer;transition:all .2s}.close-properties:hover{background:var(--background);color:var(--primary-dark)}.properties-panel h3{font-size:18px;font-weight:600;color:var(--primary-dark);margin-bottom:20px}.properties-content{display:flex;flex-direction:column;gap:16px}.property-row{display:flex;flex-direction:column;gap:4px}.property-row label{font-size:12px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}.property-row span{font-size:14px;color:var(--primary-dark)}.project-selector{min-height:100vh;background-color:var(--background)}.project-selector-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;gap:16px}.spinner{width:40px;height:40px;border:4px solid var(--gray);border-top-color:var(--primary-light);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.selector-header{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-light) 100%);color:var(--white);padding:32px 48px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.header-content h1{font-size:32px;font-weight:700;margin-bottom:4px}.header-content p{font-size:16px;opacity:.9}.header-actions{display:flex;align-items:center;gap:16px}.user-email{font-size:14px;opacity:.9}.sign-out-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff3;color:var(--white);border-radius:8px;font-size:14px;font-weight:600;transition:all .2s}.sign-out-button:hover{background:#ffffff4d}.selector-content{max-width:1200px;margin:0 auto;padding:48px 24px}.selector-section{margin-bottom:48px}.section-header{margin-bottom:24px}.section-header h2{font-size:24px;font-weight:700;color:var(--primary-dark);display:flex;align-items:center;gap:12px}.create-new-button{width:100%;display:flex;align-items:center;gap:20px;padding:24px;background:var(--white);border:2px dashed var(--gray);border-radius:12px;transition:all .2s}.create-new-button:hover{border-color:var(--orange);background:#fff8f0;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.create-new-button svg{color:var(--orange);flex-shrink:0}.create-new-button h3{font-size:18px;font-weight:600;color:var(--primary-dark);margin-bottom:4px;text-align:left}.create-new-button p{font-size:14px;color:var(--primary-light);text-align:left}.layouts-grid,.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.layout-card,.project-card{background:var(--white);border-radius:12px;padding:24px;cursor:pointer;transition:all .2s;border:1px solid #e0e0e0}.layout-card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--primary-light)}.layout-card{display:flex;gap:16px}.layout-card-icon{width:60px;height:60px;background:var(--background);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--primary-light);flex-shrink:0}.layout-card-info h3{font-size:18px;font-weight:600;color:var(--primary-dark);margin-bottom:4px}.layout-card-info p{font-size:14px;color:var(--primary-light);margin-bottom:8px}.layout-date{font-size:12px;color:var(--gray)}.project-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.project-card-header h3{font-size:18px;font-weight:600;color:var(--primary-dark)}.project-status{font-size:12px;padding:4px 12px;background:var(--background);color:var(--primary-light);border-radius:12px;font-weight:600;text-transform:capitalize}.project-company{font-size:14px;color:var(--primary-light);margin-bottom:16px}.project-card-footer{padding-top:12px;border-top:1px solid var(--background)}.project-date{font-size:12px;color:var(--gray)}:root{--primary-dark: #10253a;--primary-light: #6b8aab;--gray: #b0b8c0;--white: #ffffff;--orange: #e49031;--background: #f5f7fa}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--primary-dark)}#root{width:100%;height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--gray);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}
