.offline-banner{z-index:10000;background:var(--warning-bg,#f0e0c4);color:var(--warning-text,#7a5210);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.offline-banner .material-symbols-sharp{font-size:18px}.offline-queue-count{opacity:.7;font-size:13px}.offline-banner~* .nav-offset{padding-top:calc(var(--header-height) + 40px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--primary-color:#3b6fa0;--primary-dark:#2b5580;--primary-light:#d4e4f0;--secondary-color:#4a5568;--success-color:#4a7a4a;--error-color:#8b3a2a;--warning-color:#c8882a;--info-color:#6b5b8a;--text-primary:#292524;--text-secondary:#57534e;--text-disabled:#a8a29e;--background:#f7f6f4;--background-alt:#efedea;--surface:#fff;--border:#d6d3cd;--border-light:#efedea;--tint-02:#29252405;--tint-05:#2925240d;--tint-08:#29252414;--tint-10:#2925241a;--primary-03:#3b6fa008;--primary-05:#3b6fa00d;--primary-06:#3b6fa00f;--primary-08:#3b6fa014;--primary-10:#3b6fa01a;--primary-20:#3b6fa033;--success-light:#4a7a4a1a;--error-light:#8b3a2a1a;--warning-light:#c8882a1a;--info-light:#6b5b8a1a;--success-bg:#d4e4d4;--success-text:#2e5e2e;--warning-bg:#f0e0c4;--warning-text:#7a5210;--error-bg:#f0d4cc;--error-text:#6b2a1a;--danger-color:#8b3a2a;--danger-hover:#7a3020;--danger-active:#6b2a1a;--success-dark:#3a6a3a;--info-bg:#e8e3f0;--info-text:#4a3d6b;--info-dark:#5a4d7a;--warning-accent:#a07020;--warning-bg-light:#faf2e4;--warning-bg-amber:#f8f0da;--warning-text-dark:#6b4a10;--indigo:#5a4d7a;--indigo-light:#ece8f4;--indigo-border:#d0c8e0;--indigo-dark:#4a3d6b;--purple:#7b5ea7;--purple-light:#ede8f4;--purple-dark:#5a4080;--neutral-gray:#57534e;--border-subtle:#e8e5e0;--overlay:#29252480;--overlay-dark:#292524d9;--shadow-sm:0 1px 2px #2925240f;--shadow-md:0 4px 8px #29252414;--shadow-lg:0 12px 24px #2925241f;--border-radius:0;--tag-notch:10px;--card-padding:16px;--card-radius:var(--border-radius);--card-border:1px solid var(--border);--card-bg:var(--surface);--card-shadow:var(--shadow-sm);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--transition:background .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), opacity .2s var(--ease-out), transform .2s var(--ease-out);--header-height:56px;--nav-zone-height:84px}@media (width<=480px){:root{--nav-zone-height:72px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{overscroll-behavior-y:none}body{color:var(--text-primary);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-y;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}.app-container{flex-direction:column;min-height:100vh;display:flex}.container{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:16px}.app-header{height:var(--header-height);background:var(--primary-color);color:#fff;box-shadow:var(--shadow-md);z-index:100;align-items:center;padding:0 16px;display:flex;position:sticky;top:0}.header-title{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0 16px;font-size:20px;font-weight:600;overflow:hidden}.header-actions{gap:8px;display:flex}.nav-offset{padding-top:16px!important}.surface-header{background:var(--surface);flex-shrink:0;padding:84px 0 0}.surface-header-inner{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.surface-header .v-page-header{margin-bottom:0!important}.surface-header--no-tabs{padding-bottom:16px}.surface-header .v-page-header__title-row{position:relative}.surface-header .v-page-header__actions{position:absolute;top:0;right:0}.surface-header .v-page-header__title{padding-right:52px}.surface-header .tab-bar{margin-bottom:0}@media (width<=480px){.surface-header{padding-top:72px}}.scroll-sentinel{pointer-events:none;width:100%;height:0}.sticky-tabs{top:var(--nav-zone-height);z-index:100;background:var(--surface);position:sticky;box-shadow:0 2px 4px #2925240f}.sticky-tabs-inner{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.sticky-tabs .tab-bar{margin-bottom:0}.compact-title{height:var(--nav-zone-height);z-index:199;pointer-events:none;background:var(--surface);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;padding:0 72px;font-family:Lexend Deca,sans-serif;font-size:16px;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0;overflow:hidden}@media (width<=480px){.compact-title{padding:0 68px;font-size:15px}}.compact-title-enter-active,.compact-title-leave-active{transition:opacity .2s var(--ease-out), transform .2s var(--ease-out)}.compact-title-enter-from,.compact-title-leave-to{opacity:0;transform:translateY(-8px)}.section{margin-bottom:32px}.section-title{margin-bottom:16px;font-size:20px;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h2{font-size:24px;font-weight:600}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}:focus:not(:focus-visible){outline:none}.text-muted{color:var(--text-secondary)}.text-center{text-align:center}.text-small{font-size:.875rem}.text-right{text-align:right}.hidden{display:none!important}.filters-section{margin-bottom:20px}@media (width>=768px){.container{padding:24px}.surface-header-inner{padding-left:24px;padding-right:24px}.action-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.media-upload-group{grid-template-columns:repeat(2,1fr)}.toast-container{inset:24px 24px auto auto}}@media (width>=1024px){.app-header{position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 24px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:none;transition-duration:80ms;transform:translateY(1px)scale(.98)}.btn:focus-visible,.btn-icon:focus-visible,.fab:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--background);border-color:var(--text-disabled)}.btn-secondary:active:not(:disabled){transition-duration:80ms;transform:scale(.98)}.btn-block{width:100%;display:flex}.btn-icon{color:inherit;cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:8px;display:flex}.btn-icon:hover{background:var(--tint-10)}.btn-link{color:var(--primary-color);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.btn-outline{border:1px solid var(--primary-color);color:var(--primary-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:0 0;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex}.btn-outline:hover{background-color:var(--primary-light)}.btn-small{cursor:pointer;padding:8px 16px;font-size:14px}.btn-loading{color:#0000;pointer-events:none;position:relative}.btn-loading:after{content:"";color:#fff;border:2px solid;border-top-color:#0000;border-radius:50%;width:18px;height:18px;margin-top:-9px;margin-left:-9px;animation:.7s linear infinite spin;position:absolute;top:50%;left:50%}.btn-secondary.btn-loading:after{color:var(--text-primary)}.fab{background:var(--primary-color);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-lg);cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s,box-shadow .2s;animation:.3s cubic-bezier(.16,1,.3,1) both fab-enter;display:flex;position:fixed;bottom:16px;right:16px}@keyframes fab-enter{0%{opacity:0;transform:scale(.5)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.fab:hover{background:var(--primary-dark);transform:scale(1.08);box-shadow:0 12px 24px #29252433}.fab:active{transition-duration:80ms;transform:scale(.92)}.fab .material-symbols-sharp{font-size:24px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group label.required:after{content:" *";color:var(--error-color)}.form-hint{color:var(--text-secondary);margin-top:4px;font-size:12px;font-style:italic;display:block}.form-error{color:var(--error-color,#e53935);margin-top:4px;font-size:13px;font-weight:500;display:block}.form-group.has-error label{color:var(--error-color,#e53935)}.input-error,.form-group.has-error .form-input,.form-group.has-error .form-select,.form-group.has-error .form-textarea{border-color:var(--error-color,#e53935)}.input-error:focus,.form-group.has-error .form-input:focus,.form-group.has-error .form-select:focus{border-color:var(--error-color,#e53935);box-shadow:0 0 0 3px #e5393526}.form-input,.form-textarea,.form-select{border:1px solid var(--border);border-radius:var(--border-radius);width:100%;transition:var(--transition);background:var(--surface);color:var(--text-primary);padding:12px 16px;font-family:inherit;font-size:16px}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-textarea{resize:vertical;min-height:100px}.form-select[multiple]{min-height:120px}.form-help{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-section{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:24px}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:16px;font-size:12px;font-weight:600}.form-actions{gap:12px;margin-top:24px;margin-bottom:24px;display:flex}.form-actions .btn{flex:1}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:48px;padding:4px 0;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:24px;height:24px}.color-picker-group{align-items:center;gap:12px;display:flex}.color-input{border:1px solid var(--border);border-radius:var(--border-radius);cursor:pointer;background:0 0;width:48px;height:48px;padding:4px}.color-hex-input{flex:1;font-family:monospace}.search-box{margin-bottom:12px;position:relative}.search-box .material-symbols-sharp{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{border:1px solid var(--border);border-radius:var(--border-radius);width:100%;padding:12px 16px 12px 44px;font-size:16px}.form-page-container{padding:80px 16px 24px}.form-page-container .auth-form{max-width:600px;margin:0 auto}.section-title{color:var(--text-primary);margin:0 0 8px;font-size:20px;font-weight:600}.simple-project-form{max-width:500px;margin:0 auto}.project-name-group{gap:12px;margin-bottom:24px;display:flex}.project-name-input{flex:1;font-weight:500;padding:16px!important;font-size:18px!important}.location-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:56px;height:56px;transition:var(--transition);color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.location-btn:hover{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color);transform:scale(1.05)}.location-btn:active{transform:scale(.95)}.location-btn .material-symbols-sharp{font-size:24px}.btn-lg{padding:16px 24px;font-size:18px;font-weight:600}.wizard-actions{gap:12px;margin-top:24px;display:flex}.wizard-actions .btn{flex:1}.project-management-actions{border-top:1px solid var(--border);flex-direction:column;gap:12px;max-width:600px;margin:32px auto 24px;padding-top:32px;display:flex}.btn-danger{background:var(--error-color);color:#fff;border:none}.btn-danger:hover{background:var(--danger-hover)}.btn-danger:active{background:var(--danger-active)}@media (width<=480px){.form-row{grid-template-columns:1fr;gap:20px}.form-page-container{padding-top:64px}.project-name-input{font-size:16px!important}.location-btn{width:52px;height:52px}}.places-autocomplete-group{position:relative}.places-dropdown{z-index:1000;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-height:260px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.places-item{text-align:left;border:none;border-top:1px solid var(--border);cursor:pointer;width:100%;min-height:48px;color:var(--text-primary);background:0 0;align-items:center;gap:10px;padding:12px 16px;font-family:inherit;font-size:14px;line-height:1.4;display:flex}.places-item:first-child{border-top:none}.places-item:hover,.places-item:focus{background:var(--bg-secondary)}.places-item-icon{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.action-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:24px 0;display:grid}.action-card{background:var(--card-bg);padding:var(--card-padding);border-radius:var(--card-radius);border:var(--card-border);box-shadow:var(--card-shadow);color:var(--text-primary);transition:var(--transition);text-align:center;flex-direction:column;align-items:center;text-decoration:none;display:flex}.action-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-card:active{transition-duration:80ms;transform:scale(.97)}.action-cards>.action-card{animation:.3s cubic-bezier(.21,1.02,.73,1) both card-enter}.action-cards>.action-card:first-child{animation-delay:0s}.action-cards>.action-card:nth-child(2){animation-delay:50ms}.action-cards>.action-card:nth-child(3){animation-delay:.1s}.action-cards>.action-card:nth-child(4){animation-delay:.15s}.action-card.primary{background:var(--primary-color);color:#fff}.action-icon{justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;display:flex}.action-icon .material-symbols-sharp{font-size:32px}.action-card h3{margin-bottom:4px;font-size:18px}.action-card p{opacity:.8;margin:0;font-size:14px}.collapsible-section{border:1px solid var(--border);border-radius:var(--border-radius);margin-bottom:16px;overflow:hidden}.collapsible-header{background:var(--background);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.collapsible-header:hover{background:var(--border)}.collapsible-header h4{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.collapsible-header h4 .material-symbols-sharp{font-size:18px}.collapsible-toggle{width:20px;height:20px;color:var(--text-secondary);transition:transform .2s}.collapsible-section.open .collapsible-toggle{transform:rotate(180deg)}.collapsible-content{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.collapsible-section.open .collapsible-content{grid-template-rows:1fr}.collapsible-inner{border-top:1px solid var(--border);padding:0 16px;overflow:hidden}.collapsible-section.open .collapsible-inner{padding:16px}.collapsible-inner .form-group:last-child{margin-bottom:0}.badge{padding:4px calc(12px + var(--tag-notch));text-transform:uppercase;letter-spacing:.5px;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-size:12px;font-weight:500;transition:background .3s,color .3s;display:inline-block}.badge-success{background:var(--success-color);color:#fff}.badge-error{background:var(--error-color);color:#fff}.badge-warning{background:var(--warning-color);color:#fff}.badge-info{background:var(--info-color);color:#fff}.badge-default{background:var(--text-disabled);color:var(--text-primary)}.alert{border-radius:var(--border-radius);align-items:center;gap:12px;margin-bottom:16px;padding:16px;display:flex}.alert-info{background:var(--primary-light);color:var(--primary-dark)}.alert-success{background:var(--success-bg);color:var(--success-text)}.alert-warning{background:var(--warning-bg);color:var(--warning-text)}.alert-error{background:var(--error-bg);color:var(--error-text)}.toast-container{z-index:1100;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.toast{pointer-events:auto;background:var(--surface);color:var(--text-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);align-items:center;gap:10px;max-width:400px;padding:14px 16px;display:flex}.toast-icon{flex-shrink:0;width:18px;height:18px}.toast-message{flex:1;min-width:0;font-size:14px;line-height:1.4}.toast-success{background:var(--success-bg);border:1px solid var(--success-color);color:var(--success-text)}.toast-success .toast-icon{color:var(--success-color)}.toast-error{background:var(--error-bg);border:1px solid var(--error-color);color:var(--error-text)}.toast-error .toast-icon{color:var(--error-color)}.toast-warning{background:var(--warning-bg);border:1px solid var(--warning-color);color:var(--warning-text)}.toast-warning .toast-icon{color:var(--warning-color)}.toast-info{background:var(--info-bg);border:1px solid var(--info-color);color:var(--info-text)}.toast-info .toast-icon{color:var(--info-color)}.toast-enter-active{transition:transform .3s cubic-bezier(.21,1.02,.73,1),opacity .3s}.toast-leave-active{transition:transform .2s ease-in,opacity .2s ease-in}.toast-enter-from{opacity:0;transform:translateY(16px)scale(.96)}.toast-leave-to{opacity:0;transform:translate(-24px)}.toast-move{transition:transform .3s}.empty-state{text-align:center;color:var(--text-secondary);padding:48px 24px;animation:.4s both empty-fade-in}@keyframes empty-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-icon{opacity:.25;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:48px;display:flex}.empty-icon .material-symbols-sharp{font-size:inherit}.empty-state p{max-width:280px;margin:0 auto;font-size:15px;line-height:1.5}.loading-overlay{-webkit-backdrop-filter:blur(2px);z-index:9999;opacity:1;background:#29252459;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-overlay p{color:#fff;font-size:14px;font-weight:500}.spinner,.loading-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal{z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-backdrop{background:var(--overlay-dark);position:absolute;inset:0}.modal-dialog{z-index:1001;width:100%;max-width:600px;position:relative}.modal-content{background:var(--surface);z-index:1;border-radius:0;flex-direction:column;max-height:90vh;display:flex;position:relative;box-shadow:0 8px 32px #29252433}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:24px 24px 20px;display:flex}.modal-header h3{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:22px;font-weight:600;overflow:hidden}.modal-body{flex:1;min-height:0;padding:28px 24px;overflow-y:auto}.modal-body>p{max-width:70ch}.modal-body>p:first-child{margin-top:0}.modal-body>p:last-child{margin-bottom:0}.modal-footer{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.modal-footer .btn{flex:none}.modal-delete-btn{color:var(--danger-color);cursor:pointer;background:0 0;border:none;align-items:center;margin-right:auto;padding:8px 4px;font-size:14px;font-weight:500;transition:opacity .2s;display:inline-flex}.modal-delete-btn:hover{opacity:.7}.modal-animated{animation:.2s modalFadeIn}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.modal-close:hover{color:var(--text-primary)}.modal-close .material-symbols-sharp{font-size:24px}.media-modal{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.media-modal .modal-content{max-width:90vw;max-height:90vh;animation:.2s modalFadeIn}.media-modal .modal-content img{border-radius:0;max-width:100%;max-height:85vh;box-shadow:0 10px 40px #2925244d}.media-modal .modal-close{color:#fff;background:#fff3;border-radius:50%;width:48px;height:48px;position:absolute;top:-48px;right:0}.media-modal .modal-close:hover{background:#ffffff4d}.media-modal .modal-close .material-symbols-sharp{font-size:20px}.image-modal .modal-content{box-shadow:none;background:0 0;justify-content:center;align-items:center;max-width:95vw;max-height:95vh;display:flex;position:relative}.image-modal .image-container{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex;overflow:hidden}.image-modal .image-container img{cursor:default;border-radius:0;max-width:100%;max-height:90vh;box-shadow:0 10px 40px #29252480}.image-modal .modal-close{color:#fff;z-index:1002;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;width:48px;height:48px;position:fixed;top:16px;right:16px}.image-modal .modal-close:hover{background:#ffffff4d}.lightbox-nav{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);z-index:1002;background:#ffffff26;border:none;border-radius:0;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff4d}.lightbox-nav-prev{left:12px}.lightbox-nav-next{right:12px}.lightbox-counter{color:#fffc;-webkit-backdrop-filter:blur(10px);z-index:1002;padding:6px 16px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));background:#0006;font-size:14px;font-weight:500;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (width>=769px){.modal-footer{align-items:center}}@media (width<=768px){.image-modal .modal-close{width:48px;height:48px;top:8px;right:8px}}.transcript-modal .modal-content{background:var(--surface);border-radius:0;flex-direction:column;width:90vw;max-width:500px;max-height:80vh;display:flex}.transcript-modal .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.transcript-modal .modal-header h3{margin:0;font-size:18px;font-weight:600}.transcript-modal .modal-close{background:var(--background);color:var(--text-secondary);position:static}.transcript-modal .modal-close:hover{background:var(--border);color:var(--text-primary)}.transcript-modal .modal-body{padding:20px;overflow-y:auto}.transcript-section{margin-bottom:20px}.transcript-section:last-child{margin-bottom:0}.transcript-section h4{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600}.transcript-section p{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}.translation-section{border-top:1px solid var(--border);padding-top:16px}.camera-modal{z-index:2000;opacity:0;background:#000000f2;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.camera-modal.show{opacity:1}.camera-modal-content{background:var(--surface);border-radius:0;flex-direction:column;width:90vw;max-width:800px;max-height:90vh;display:flex;overflow:hidden}.camera-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.camera-modal-header h3{margin:0;font-size:18px;font-weight:600}.camera-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.camera-close-btn:hover{color:var(--text-primary)}.camera-close-btn .material-symbols-sharp{font-size:24px}.camera-preview-container{background:#000;justify-content:center;align-items:center;min-height:300px;max-height:60vh;display:flex;position:relative}.camera-preview-container video{object-fit:contain;width:100%;height:100%}.camera-controls{flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.camera-select{border:1px solid var(--border);background:var(--background);width:100%;max-width:300px;color:var(--text-primary);border-radius:0;padding:10px;font-size:14px}.camera-capture-btn{justify-content:center;align-items:center;gap:8px;width:100%;max-width:300px;display:flex}.camera-capture-btn .material-symbols-sharp{font-size:20px}.camera-error{color:var(--danger-color);text-align:center;background:#dc35451a;border-top:1px solid #dc354533;padding:12px 20px;font-size:14px}.enhanced-image-input{flex-wrap:wrap;gap:12px;display:flex}.enhanced-image-input .media-upload-btn{flex:1;min-width:140px}@media (width<=768px){.modal-dialog{align-items:flex-end;max-width:100%;height:100%;margin:0;padding:0;display:flex}.modal-content{border-radius:0;width:100%;max-height:92vh}.modal-header{flex-shrink:0;padding:24px 20px 20px}.modal-header h3{font-size:20px}.modal-body{padding:24px 20px}.modal-footer{gap:10px;padding:16px 20px 24px;box-shadow:0 -4px 12px #2925240d}.phase-dates-section{display:none}.modal-footer .modal-delete-btn{margin-right:auto}.camera-modal-content{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}.camera-preview-container{flex:1;max-height:none}}.file-upload-area{border:2px dashed var(--border);text-align:center;cursor:pointer;transition:var(--transition);border-radius:0;padding:24px}.file-upload-area:hover,.file-upload-area.dragover{border-color:var(--primary-color);background:var(--primary-light)}.file-upload-area .material-symbols-sharp{color:var(--text-secondary);margin-bottom:8px;font-size:32px}.file-upload-area p{color:var(--text-secondary);margin:0;font-size:14px}.file-upload-area input{display:none}.file-list{margin-top:12px}.file-item{background:var(--background);border-radius:0;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;display:flex}.file-item:last-child{margin-bottom:0}.file-item-name{color:var(--text-primary);flex:1;align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.file-item-name span:not(.material-symbols-sharp){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-item-name .material-symbols-sharp{flex-shrink:0;font-size:16px}.file-item-remove{color:var(--error-color);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.file-item-remove .material-symbols-sharp{font-size:16px}.media-section h3{margin-bottom:16px;font-size:18px}.media-upload-group{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.media-upload-btn{border:2px dashed var(--border);cursor:pointer;transition:var(--transition);background:var(--surface);border-radius:0;flex-direction:column;justify-content:center;align-items:center;min-height:120px;padding:24px;display:flex}.media-upload-btn:hover{border-color:var(--primary-color);background:var(--primary-light)}.media-upload-btn .material-symbols-sharp{color:var(--text-secondary);margin-bottom:8px;font-size:32px}.media-upload-btn span:not(.material-symbols-sharp){font-size:14px;font-weight:500}.media-upload-btn.recording{border-color:var(--error-color);background:#ef44440d;border-style:solid;animation:2s ease-in-out infinite pulse-recording}.media-upload-btn.recording .material-symbols-sharp{color:var(--error-color)}.media-upload-btn.recording span:not(.material-symbols-sharp){color:var(--error-color);font-weight:600}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.75}}.media-preview{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:16px;display:grid}.media-preview-item{background:var(--background);border-radius:0;position:relative;overflow:hidden}.media-preview-item img{object-fit:cover;width:100%;height:100px;display:block}.media-preview-item.audio{flex-direction:column;justify-content:center;align-items:center;height:100px;padding:16px;display:flex}.remove-media{background:var(--error-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:12px;display:flex;position:absolute;top:4px;right:4px}.media-thumbnail{background:var(--background);width:60px;height:60px;color:var(--text-secondary);border-radius:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.media-thumbnail.has-image{background:var(--border)}.media-thumbnail.has-image img{object-fit:cover;width:100%;height:100%}.media-thumbnail.more-count{background:var(--text-secondary);color:#fff;font-size:14px;font-weight:600}.media-thumbnail.audio{background:var(--primary-light);color:var(--primary-color);flex-direction:column;gap:4px}.media-thumbnail.audio.processing{background:var(--info-color);color:#fff}.media-thumbnail.audio.failed{background:var(--error-color);color:#fff}.media-thumbnail .audio-badge{text-transform:uppercase;background:var(--success-color);color:#fff;white-space:nowrap;border-radius:0;padding:2px 6px;font-size:10px;font-weight:600;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.media-badge{background:var(--background);border-radius:0;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.media-badge .material-symbols-sharp{font-size:16px}.audio-info{text-align:center;flex-direction:column;align-items:center;gap:8px;font-size:12px;display:flex}.audio-icon{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.audio-icon .material-symbols-sharp{font-size:18px}.audio-icon-large{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.audio-icon-large .material-symbols-sharp{font-size:24px}.audio-filename{font-size:14px;font-weight:500}.processing-spinner{border:2px solid var(--info-color);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin}.processing-spinner.small{width:16px;height:16px}.processing-indicator{color:var(--text-secondary);background:var(--background);border-radius:0;align-items:center;gap:8px;padding:8px;font-size:14px;display:flex}.tab-bar{border-bottom:2px solid var(--border);gap:0;margin-bottom:16px;display:flex}.tab-item{color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:48px;padding:12px 16px;font-family:inherit;font-size:15px;font-weight:500;transition:color .2s;display:flex;position:relative;overflow:hidden}.tab-item:active{transform:scale(.97)}.tab-item.active{color:var(--text-primary);font-weight:600}.tab-item.active:after{content:"";background:var(--primary-color);border-radius:0;height:4px;position:absolute;bottom:-2px;left:0;right:0}.tab-count{background:var(--background-alt);color:var(--text-secondary);padding:2px calc(8px + var(--tag-notch));text-align:center;min-width:24px;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-size:13px;font-weight:600}.tab-item.active .tab-count{background:var(--primary-color);color:#fff}.search-bar{background:var(--background);border:1px solid var(--border);border-radius:0;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;transition:border-color .2s;display:flex}.search-bar:focus-within{border-color:var(--primary-color)}.search-bar-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.search-bar-icon .material-symbols-sharp{font-size:20px}.search-bar-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:15px}.search-bar-input::placeholder{color:var(--text-disabled)}.ptr-container{z-index:9999;pointer-events:none;height:0;position:fixed;top:0;left:0;right:0;overflow:visible}.ptr-indicator{opacity:0;justify-content:center;align-items:center;width:40px;height:40px;transition:none;display:flex;position:absolute;top:-60px;left:50%;transform:translate(-50%)translateY(0)}.ptr-icon{width:28px;height:28px;color:var(--primary-color,#3b6fa0);justify-content:center;align-items:center;transition:transform .2s;display:flex}.ptr-icon .material-symbols-sharp{font-size:inherit}.ptr-active .ptr-icon{color:var(--primary-color,#3b6fa0)}.ptr-spinner{justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ptr-spinner-circle{border:3px solid var(--primary-20);border-top-color:var(--primary-color,#3b6fa0);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}.ptr-icon.hidden,.ptr-spinner.hidden{display:none}@media (width<=768px){.ptr-indicator{top:-50px}}body.ptr-enabled{overscroll-behavior-y:contain}.skeleton-line,.skeleton-circle,.skeleton-icon{background:var(--background-alt);position:relative;overflow:hidden}.skeleton-line:after,.skeleton-circle:after,.skeleton-icon:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);animation:1.5s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-project-card{padding:var(--card-padding);background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow);align-items:center;gap:12px;display:flex}.skeleton-project-card .skeleton-content{flex-direction:column;flex:1;gap:10px;display:flex}.skeleton-line{height:14px}.skeleton-line.title{width:65%;height:18px}.skeleton-line.subtitle{width:45%;height:14px}.skeleton-line.meta{width:35%;height:12px}.skeleton-line.full{width:100%}.skeleton-line.stat-value{width:50%;height:32px}.skeleton-line.stat-label{width:70%;height:14px}.skeleton-circle{border-radius:50%;flex-shrink:0;width:44px;height:44px}.skeleton-update-card{padding:var(--card-padding);background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow);flex-direction:column;gap:10px;display:flex}.skeleton-row{align-items:center;gap:8px;display:flex}.skeleton-stat-card{background:var(--card-bg);border:var(--card-border);padding:var(--card-padding);box-shadow:var(--card-shadow);gap:16px;display:flex}.skeleton-icon{flex-shrink:0;width:48px;height:48px}.skeleton-stat-card .skeleton-content{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-project-card:first-child .skeleton-line:after,.skeleton-project-card:first-child .skeleton-circle:after{animation-delay:0s}.skeleton-project-card:nth-child(2) .skeleton-line:after,.skeleton-project-card:nth-child(2) .skeleton-circle:after{animation-delay:.1s}.skeleton-project-card:nth-child(3) .skeleton-line:after,.skeleton-project-card:nth-child(3) .skeleton-circle:after{animation-delay:.2s}.skeleton-project-card:nth-child(4) .skeleton-line:after,.skeleton-project-card:nth-child(4) .skeleton-circle:after{animation-delay:.3s}.skeleton-project-card:nth-child(5) .skeleton-line:after,.skeleton-project-card:nth-child(5) .skeleton-circle:after{animation-delay:.4s}.auth-footer{text-align:center;margin-top:24px}.auth-link{color:var(--primary-color);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.hamburger-menu{background:var(--surface);width:48px;height:48px;box-shadow:var(--shadow-md);cursor:pointer;z-index:200;transition:var(--transition);color:var(--text-primary);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:24px;right:24px}.hamburger-menu:hover{box-shadow:var(--shadow-lg);transform:scale(1.05)}.hamburger-menu:active{transform:scale(.95)}.hamburger-menu .material-symbols-sharp{font-size:24px}.home-logo{z-index:200;position:fixed;top:24px;left:24px}.home-logo img{width:auto;height:48px;display:block}.home-container{padding-bottom:16px}.welcome-section{margin-bottom:24px}.welcome-section h2{margin-bottom:4px;font-size:24px;font-weight:600}.create-project-btn{margin-top:24px}.menu-overlay{background:var(--overlay);z-index:300;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.menu-overlay.active{opacity:1;visibility:visible}.menu-content{background:var(--surface);width:280px;max-width:85vw;box-shadow:var(--shadow-lg);flex-direction:column;transition:transform .3s;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.menu-overlay.active .menu-content{transform:translate(0)}.workspace-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:0;max-height:320px;margin-top:8px;overflow-y:auto}.workspace-dropdown-item{cursor:pointer;width:100%;transition:var(--transition);color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px;font-family:inherit;font-size:14px;display:flex}.workspace-dropdown-item:hover:not(:disabled){background:var(--background)}.workspace-dropdown-item:disabled{cursor:default}.workspace-dropdown-item.active{background:var(--background);font-weight:600}.workspace-dropdown-item.create-workspace{color:var(--primary-color);font-weight:500}.workspace-dropdown-item.create-workspace:hover{background:var(--primary-light)}.workspace-icon-small{color:#fff;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;overflow:hidden}.workspace-icon-small .material-symbols-sharp{font-size:16px}.workspace-icon-small.workspace-icon-logo img{object-fit:cover;width:100%;height:100%}.workspace-icon-small.workspace-icon-initial span{font-size:14px;font-weight:700;line-height:1}.workspace-dropdown-item>span:not(.material-symbols-sharp){white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.workspace-dropdown-item .check-icon{color:var(--success-color);flex:none}.workspace-dropdown-item .check-icon .material-symbols-sharp{font-size:18px}.workspace-dropdown-divider{background:var(--border);height:1px;margin:4px 0}.sidebar-workspace-section{border-bottom:1px solid var(--border);padding:20px}.workspace-selector-btn{background:var(--background);border:1px solid var(--border);cursor:pointer;width:100%;transition:var(--transition);border-radius:0;align-items:center;gap:12px;padding:12px;font-family:inherit;display:flex}.workspace-selector-btn:hover{background:var(--tint-02)}.workspace-selector-icon{color:#fff;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.workspace-selector-icon .material-symbols-sharp{font-size:20px}.workspace-selector-icon.workspace-icon-logo img{object-fit:cover;width:100%;height:100%}.workspace-selector-icon.workspace-icon-initial span{font-size:18px;font-weight:700;line-height:1}.workspace-selector-info{text-align:left;flex:1;min-width:0}.workspace-selector-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.workspace-selector-btn .material-symbols-sharp:last-child{color:var(--text-secondary);flex-shrink:0;font-size:20px}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.sidebar-nav-group{padding:16px 0}.sidebar-nav-group-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);padding:0 20px 8px;font-size:11px;font-weight:600}.sidebar-nav-item{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:12px;width:calc(100% - 24px);margin:2px 12px;padding:10px 20px;font-family:inherit;font-size:15px;text-decoration:none;transition:background .15s;display:flex}.sidebar-nav-item:hover{background:var(--background)}.sidebar-nav-item.active{background:var(--primary-10);color:var(--primary-color)}.sidebar-nav-item .material-symbols-sharp{flex-shrink:0;font-size:20px}.sidebar-nav-item>span:not(.sidebar-badge):not(.material-symbols-sharp){text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-badge{min-width:24px;height:24px;padding:0 calc(6px + var(--tag-notch));background:var(--primary-color);color:#fff;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.sidebar-nav-item-danger{color:var(--error-color)}.sidebar-nav-item-danger:hover{background:#8b3a2a1a}.sidebar-user-section{border-top:1px solid var(--border);padding:16px 0}.sidebar-user-info-block{align-items:center;gap:12px;padding:12px 20px 16px;display:flex}.sidebar-user-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.sidebar-user-details{flex:1;min-width:0}.sidebar-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.sidebar-user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.sidebar-version-info{padding:12px 20px}.sidebar-version-info p{margin:2px 0;font-size:10px;line-height:1.4}.menu-content{width:288px;max-width:85vw}.onboarding-steps{text-align:left;flex-direction:column;gap:16px;max-width:320px;margin-top:32px;margin-left:auto;margin-right:auto;display:flex}.onboarding-step{align-items:flex-start;gap:12px;display:flex}.onboarding-step-number{background:var(--primary-color);color:#fff;width:28px;height:28px;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.onboarding-step-content strong{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600;display:block}.onboarding-step-content p{color:var(--text-secondary);max-width:none;margin:0;font-size:13px;line-height:1.4}@media (width<=480px){.home-logo{top:16px;left:16px}.home-logo img{height:44px}.hamburger-menu{width:48px;height:48px;top:16px;right:16px}}.projects-container{padding:16px}.projects-list{flex-direction:column;gap:12px;display:flex}.projects-list>.project-card{animation:.3s cubic-bezier(.21,1.02,.73,1) both card-enter}.projects-list>.project-card:first-child{animation-delay:0s}.projects-list>.project-card:nth-child(2){animation-delay:40ms}.projects-list>.project-card:nth-child(3){animation-delay:80ms}.projects-list>.project-card:nth-child(4){animation-delay:.12s}.projects-list>.project-card:nth-child(5){animation-delay:.16s}.projects-list>.project-card:nth-child(n+6){animation-delay:.2s}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.quick-start-section{margin-bottom:24px}.quick-start-card{background:var(--card-bg);border-radius:var(--card-radius);padding:var(--card-padding);border:var(--card-border);box-shadow:var(--card-shadow)}.quick-start-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.quick-start-header .material-symbols-sharp{color:var(--primary-color);font-size:24px}.quick-start-header h3{margin:0;font-size:18px;font-weight:600}.document-upload-area{border:2px dashed var(--border);border-radius:var(--border-radius);text-align:center;cursor:pointer;transition:var(--transition);margin-top:16px;padding:32px 24px}.document-upload-area:hover{border-color:var(--primary-color);background:var(--primary-light)}.document-upload-area .material-symbols-sharp{color:var(--text-secondary);margin-bottom:8px;font-size:32px}.document-upload-area p{color:var(--text-secondary);margin:0;font-size:14px}#document-analysis-status{margin-top:16px}.analysis-progress,.analysis-success,.analysis-error{border-radius:var(--border-radius);align-items:center;gap:12px;padding:12px;display:flex}.analysis-progress{background:var(--primary-light);color:var(--primary-color)}.analysis-success{background:var(--success-light);color:var(--success-color)}.analysis-error{background:var(--error-light);color:var(--error-color)}.analysis-progress .material-symbols-sharp,.analysis-success .material-symbols-sharp,.analysis-error .material-symbols-sharp{flex-shrink:0;font-size:20px}.analysis-progress p,.analysis-success p,.analysis-error p{margin:0;font-size:14px}.spinner-small{border:2px solid var(--primary-light);border-top-color:var(--primary-color);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.divider-with-text{text-align:center;align-items:center;margin:24px 0;display:flex}.divider-with-text:before,.divider-with-text:after{content:"";border-bottom:1px solid var(--border);flex:1}.divider-with-text span{color:var(--text-secondary);padding:0 16px;font-size:14px;font-weight:500}.project-card{padding:var(--card-padding);background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border:var(--card-border);cursor:pointer;align-items:center;transition:box-shadow .2s,transform .15s;display:flex;position:relative;overflow:hidden}.project-card-progress{border-radius:0;height:4px;transition:width .6s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0}.project-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-1px)}.project-card:active{transform:scale(.98)}.project-card-content{flex:1;min-width:0}.project-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.project-title-row{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.project-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.3px;margin:0;font-family:Lexend Deca,sans-serif;font-size:18px;font-weight:600;overflow:hidden}.project-time{color:var(--text-secondary);white-space:nowrap;margin-left:8px;font-size:12px}.project-customer{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.customer-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.customer-contact{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.project-description{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;font-size:14px;overflow:hidden}.project-meta-row{align-items:center;gap:12px;margin-top:4px;display:flex}.project-manager{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.project-manager .material-symbols-sharp{font-size:14px}.project-distance{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.project-distance .material-symbols-sharp{font-size:14px}.project-filter-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding-bottom:12px;display:flex;overflow-x:auto}.project-filter-pills::-webkit-scrollbar{display:none}.filter-pill{padding:8px calc(16px + var(--tag-notch));background:var(--background-alt);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:var(--transition);clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border:none;border-radius:0;flex-shrink:0;align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.filter-pill:hover{background:var(--border-light)}.filter-pill:active{transition-duration:80ms;transform:scale(.95)}.filter-pill.active{background:var(--primary-color);color:#fff}.filter-pill-count{opacity:.7;font-size:12px;font-weight:600}.unread-indicator{background:var(--primary-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;position:absolute;top:12px;right:12px}.unshared-badge{white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;padding:2px calc(8px + var(--tag-notch))!important;color:#fff!important;text-transform:none!important;opacity:1!important;visibility:visible!important;font-size:12px!important;display:inline-flex!important}.search-filter-row{align-items:stretch;gap:8px;margin-bottom:16px;display:flex}.search-filter-row .search-bar{flex:1;margin-bottom:0}.filter-toggle-btn{border:1px solid var(--border);background:var(--background);width:48px;min-height:48px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.filter-toggle-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-toggle-btn.has-filters{border-color:var(--primary-color);color:#fff;background:var(--primary-color)}.filter-count-badge{background:var(--primary-color);color:#fff;min-width:18px;height:18px;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.filter-panel{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.filter-panel.expanded{grid-template-rows:1fr}.filter-panel-inner{overflow:hidden}.filter-panel-content{flex-direction:column;gap:12px;padding-bottom:16px;display:flex}.filter-section{flex-direction:column;gap:6px;display:flex}.filter-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.filter-select{border:1px solid var(--border);background:var(--background);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2357534E' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:0;min-height:44px;padding:10px 32px 10px 12px;font-family:inherit;font-size:14px}.filter-select:focus{border-color:var(--primary-color);outline:none}.filter-pill-group{flex-wrap:wrap;gap:6px;display:flex}.filter-pill-group .filter-pill{padding:6px calc(12px + var(--tag-notch));min-height:36px;font-size:13px}.filter-clear-row{justify-content:flex-end;padding-top:4px;display:flex}.filter-clear-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:13px;font-weight:500}.filter-clear-btn:hover{text-decoration:underline}.active-filters-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:12px;display:flex;overflow-x:auto}.active-filters-row::-webkit-scrollbar{display:none}.active-filter-pill{padding:4px calc(10px + var(--tag-notch));background:var(--primary-color);color:#fff;white-space:nowrap;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);flex-shrink:0;align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}.active-filter-pill .close-filter{cursor:pointer;opacity:.7;align-items:center;display:flex}.active-filter-pill .close-filter:hover{opacity:1}.active-filter-pill .close-filter .material-symbols-sharp{font-size:14px}.no-filter-results{text-align:center;color:var(--text-secondary);padding:32px 16px}.no-filter-results p{margin:0 0 12px;font-size:14px}@media (width<=600px){.project-card{padding:16px}.project-name{font-size:16px}.project-title-row{flex-wrap:wrap}.project-mic-btn{width:44px;height:44px}}.edit-overview{flex-direction:column;gap:12px;display:flex}.form-section-label{margin-bottom:12px;font-size:14px;font-weight:500;display:block}.file-list-existing{margin-top:0;margin-bottom:16px}.edit-save-footer{padding:16px 0 32px}.edit-save-footer .btn{padding:14px 24px;font-size:16px}.selection-group{margin-bottom:24px}.selection-group-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:600}.selection-option{border:1px solid var(--border);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:var(--surface);align-items:center;gap:12px;margin-bottom:8px;padding:14px 16px;display:flex}.selection-option:hover{border-color:var(--text-disabled)}.selection-option:active{transition-duration:80ms;transform:scale(.98)}.selection-option.selected{border-color:var(--primary-color);background:var(--primary-05)}.selection-option-check{border:2px solid var(--border);width:24px;height:24px;transition:var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.selection-option.selected .selection-option-check{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.selection-option-check .material-symbols-sharp{font-size:14px}.selection-option-content{flex:1;min-width:0}.selection-option-label{color:var(--text-primary);font-size:15px;font-weight:500}.selection-option-sublabel{color:var(--text-secondary);margin-top:2px;font-size:13px}.project-status-badge{padding:4px calc(12px + var(--tag-notch));clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-size:13px;font-weight:500;transition:background .3s,color .3s;display:inline-block}.project-status-badge.status-planning{color:var(--info-color);background:#6b5b8a1f}.project-status-badge.status-active{color:var(--success-color);background:#4a7a4a1f}.project-status-badge.status-on_hold{color:var(--warning-color);background:#c8882a1f}.project-status-badge.status-completed,.project-status-badge.status-archived{background:var(--tint-08);color:var(--text-secondary)}.project-status-badge.status-pending{color:var(--warning-color);background:#c8882a1f}.project-card.pending-acceptance{border:2px solid var(--warning-color);cursor:default}.pending-acceptance-actions{gap:10px;margin-top:12px;display:flex}.pending-acceptance-actions .btn{border-radius:var(--border-radius);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:background .2s,opacity .2s;display:inline-flex}.pending-acceptance-actions .btn .material-symbols-sharp{font-size:16px}.pending-acceptance-actions .btn-accept{background:var(--success-color);color:#fff}.pending-acceptance-actions .btn-accept:hover{opacity:.9}.pending-acceptance-actions .btn-decline{background:var(--background-alt);color:var(--text-secondary);border:1px solid var(--border)}.pending-acceptance-actions .btn-decline:hover{background:var(--border-light);border-color:var(--text-disabled)}.status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-dot.planning{background:var(--info-color)}.status-dot.active{background:var(--success-color)}.status-dot.on_hold{background:var(--warning-color)}.status-dot.completed,.status-dot.archived{background:var(--text-disabled)}.edit-management-section{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.edit-management-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:600}.edit-management-section .btn{margin-bottom:8px}.edit-danger-zone{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.edit-danger-zone h4{text-transform:uppercase;letter-spacing:.5px;color:var(--error-color);margin-bottom:12px;font-size:13px;font-weight:600}.edit-danger-zone .btn{margin-bottom:8px}.form-separator{border-top:1px solid var(--border);margin:20px 0;padding-top:20px}.project-mic-btn{background:var(--background);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;z-index:1;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;transition:background .2s,color .2s,transform .15s;display:flex}.project-mic-btn .material-symbols-sharp{font-size:20px}.project-mic-btn:hover{background:var(--primary-light,#3b6fa01a);color:var(--primary-color)}.project-mic-btn:active,.project-mic-btn.recording{background:var(--error-color,#e74c3c);color:#fff;transform:scale(1.15)}.quick-recording-overlay{z-index:9999;background:var(--overlay-dark);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .2s;display:flex;position:fixed;inset:0}.quick-recording-overlay.visible{opacity:1;pointer-events:auto}button.quick-recording-pulse{background:var(--surface);width:88px;height:88px;color:var(--primary-color,#3b6fa0);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;animation:1.2s ease-in-out infinite quick-rec-ring;display:flex;box-shadow:0 0 0 6px #e74c3c80}button.quick-recording-pulse .material-symbols-sharp{margin-left:4px;font-size:34px}button.quick-recording-pulse:active{animation:none;transform:scale(.92)}@keyframes quick-rec-ring{0%,to{box-shadow:0 0 0 6px #e74c3c80}50%{box-shadow:0 0 0 14px #e74c3c26}}.quick-recording-label{color:#fff;align-items:center;gap:8px;font-size:24px;font-weight:600;display:flex}.quick-recording-label .material-symbols-sharp{font-size:28px}.quick-recording-hint{color:#ffffffb3;margin:0;font-size:14px}.quick-recording-project-name{color:#ffffffd9;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:80%;margin:0 0 8px;font-size:16px;font-weight:500;overflow:hidden}.quick-recording-cancel-btn{border-radius:var(--border-radius);color:#fffc;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff1f;border:1px solid #ffffff40;margin-top:24px;padding:8px 20px;font-size:13px;font-weight:500}.quick-recording-cancel-btn:active{color:#ffffffe6}.phases-container{max-width:900px;margin:0 auto;padding:0 16px 100px}.phases-header{margin-bottom:24px}.phases-header h1{margin-bottom:4px;font-size:28px;font-weight:600}.phases-header .text-muted{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.overall-progress-card{background:var(--card-bg);padding:var(--card-padding);border:var(--card-border);box-shadow:var(--card-shadow);border-top:3px solid var(--primary-color);border-radius:0;margin-top:16px}.overall-progress-card .progress-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.overall-progress-card .progress-label{color:var(--text-primary);font-size:16px;font-weight:500}.overall-progress-card .progress-percentage{color:var(--primary-color);font-size:24px;font-weight:700}.progress-bar-container{background:var(--border);border-radius:0;height:8px;overflow:hidden}.progress-bar-container.small{height:6px;margin-top:4px}.progress-bar-fill{background:var(--primary-color);height:100%;transition:width .3s}.phases-list{flex-direction:column;gap:16px;margin-top:24px;display:flex}.phase-card{background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow);border-radius:0;transition:box-shadow .3s}.phase-card:hover,.phase-card.expanded{box-shadow:var(--shadow-md)}.phase-header{padding:var(--card-padding);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;text-align:left;width:100%;min-height:44px;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:12px;display:flex}.phase-header h3{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:18px;font-weight:600;overflow:hidden}.phase-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.phase-count{color:var(--text-secondary);white-space:nowrap;font-size:13px}.phase-edit-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:12px;transition:color .2s,background .2s;display:flex}.phase-edit-btn:hover{background:var(--background-alt);color:var(--text-primary)}.phase-status-badge{padding:4px calc(10px + var(--tag-notch));color:#fff;text-transform:capitalize;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-size:12px;font-weight:500;display:inline-block}.chevron-indicator{color:var(--text-secondary);justify-content:center;align-items:center;transition:transform .3s;display:flex}.phase-complete-hint{background:var(--success-bg);border-top:1px solid var(--success-bg);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.phase-complete-hint span{color:var(--success-text);font-size:14px}.phase-complete-hint button{background:var(--success-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:0;padding:6px 14px;font-size:13px;font-weight:500}.phase-complete-hint button:hover{background:var(--success-dark)}.phase-inprogress-hint{background:var(--info-bg);border-top:1px solid var(--primary-light);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.phase-inprogress-hint span{color:var(--info-text);font-size:14px}.phase-inprogress-hint button{background:var(--primary-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:0;padding:6px 14px;font-size:13px;font-weight:500}.phase-inprogress-hint button:hover{background:var(--info-dark)}.phase-content{border-top:1px solid var(--border);padding:var(--card-padding);border-radius:0;animation:.3s slideDown;overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tasks-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.no-tasks{text-align:center;color:var(--text-secondary);padding:20px;font-size:14px}.task-item{background:var(--background);border-radius:0;align-items:center;gap:12px;min-height:48px;padding:12px;transition:background .2s;display:flex}.task-item:hover{background:var(--background-alt)}.task-item.completed{opacity:.6}.task-item.completed .task-name{color:var(--secondary-color);text-decoration:line-through}.task-checkbox-wrapper{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.task-checkbox{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.task-checkbox-custom{border:2px solid var(--primary-color);background:var(--surface);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:background .2s,border-color .2s;display:flex;position:relative}.task-checkbox:checked+.task-checkbox-custom{background:var(--primary-color)}.task-checkbox:checked+.task-checkbox-custom:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;margin-top:-2px;display:block;transform:rotate(45deg)}.task-content{cursor:pointer;flex:1;min-width:0}.task-name{color:var(--text-primary);word-break:break-word;margin-bottom:4px;font-size:15px}.task-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.task-notes-preview{color:var(--text-secondary);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin-top:4px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.task-item.completed .task-notes-preview{color:var(--text-disabled);text-decoration:none}.task-assignee,.task-due-date{align-items:center;gap:4px;display:flex}.task-icon{font-size:14px}.task-blocker-badge{padding:2px calc(8px + var(--tag-notch));background:var(--warning-bg-light);color:var(--warning-accent);clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-weight:500;display:inline-block}.task-edit-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:12px;transition:color .2s,background .2s;display:flex}.task-edit-btn:hover{background:var(--border);color:var(--text-primary)}.add-task-inline{background:var(--surface);border:2px dashed var(--border);border-radius:0;align-items:center;gap:10px;padding:10px 14px;transition:border-color .2s;display:flex}.add-task-inline:focus-within{border-color:var(--primary-color)}.add-task-icon{flex-shrink:0}.add-task-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px}.add-task-input::placeholder{color:var(--text-disabled)}.add-task-input:disabled{opacity:.5}.add-phase-inline{padding:var(--card-padding);background:var(--card-bg);box-shadow:var(--shadow-sm);border:2px dashed var(--border);border-radius:0;align-items:center;gap:12px;margin-top:16px;transition:border-color .2s;display:flex}.add-phase-inline:focus-within{border-color:var(--primary-color)}.add-phase-icon{flex-shrink:0}.add-phase-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:16px}.add-phase-input::placeholder{color:var(--text-disabled)}.add-phase-input:disabled{opacity:.5}.add-item-btn{cursor:pointer;width:48px;height:48px;box-shadow:var(--shadow-sm);border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s,transform .1s;display:flex}.add-item-btn:hover{opacity:.9}.add-item-btn:focus-visible{outline-offset:2px;outline:2px solid}.add-item-btn:active{transform:scale(.95)}.add-item-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;color:var(--text-secondary);padding:60px 20px}.empty-state>.empty-icon .material-symbols-sharp{margin-bottom:16px}.empty-state h3{color:var(--text-primary);margin-bottom:8px;font-size:20px;font-weight:600}.empty-state p{color:var(--text-secondary);font-size:14px}#phase-modal,#task-modal{display:none}#phase-modal.show,#task-modal.show{display:flex}.phase-delegated-badge{padding:4px calc(10px + var(--tag-notch));background:var(--indigo-light);color:var(--indigo);clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}.phase-delegated-hint{background:var(--indigo-light);border-top:1px solid var(--indigo-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.phase-delegated-hint span{color:var(--indigo);font-size:14px}.phase-delegated-hint button{background:var(--indigo);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:0;padding:6px 14px;font-size:13px;font-weight:500}.phase-delegated-hint button:hover{background:var(--indigo-dark)}.task-item.read-only{background:var(--purple-light);border:1px solid var(--purple);border-radius:0}.task-item.read-only .task-content{cursor:default}.task-lock-icon{width:24px;height:24px;color:var(--purple);flex-shrink:0;justify-content:center;align-items:center;display:flex}.task-readonly-badge{padding:4px calc(10px + var(--tag-notch));background:var(--purple-light);color:var(--purple-dark);clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-size:12px;font-weight:500;display:inline-block}#handoff-modal{display:none}#handoff-modal.show{display:flex}.handoff-description{color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.5}.btn-outline-primary{border:1px solid var(--primary-color);color:var(--primary-color);cursor:pointer;background:0 0;border-radius:0;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s,color .2s,border-color .2s}.btn-outline-primary:hover{background:var(--info-bg)}@media (width<=768px){.phases-container{padding:0 12px 90px}.phase-header{padding:16px}}.phase-name-section{margin-bottom:20px}.phase-name-input{border:1px solid var(--border);width:100%;color:var(--text-primary);background:var(--background);border-radius:0;outline:none;padding:10px 12px;font-size:24px;font-weight:600;transition:border-color .2s,background .2s}.phase-name-input:hover{border-color:var(--text-disabled);background:var(--background-alt)}.phase-name-input:focus{border-color:var(--primary-color);background:var(--surface)}.phase-name-input::placeholder{color:var(--text-disabled);font-weight:400}.phase-pills-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.phase-pill-selector{position:relative}.phase-pill{padding:8px calc(16px + var(--tag-notch));background:var(--background-alt);color:var(--text-primary);cursor:pointer;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border:none;border-radius:0;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.phase-pill:hover{background:var(--border-light)}.phase-pill .material-symbols-sharp{flex-shrink:0}.status-indicator{border-radius:50%;flex-shrink:0;width:12px;height:12px}.status-indicator.status-not-started{background-color:var(--secondary-color)}.status-indicator.status-in-progress{background-color:var(--primary-color)}.status-indicator.status-completed{background-color:var(--success-color)}.status-indicator.status-delayed{background-color:var(--warning-color)}.owner-avatar{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:none}.owner-avatar-small{background:var(--border);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.phase-pill-dropdown{background:var(--surface);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-md);z-index:1100;border-radius:0;max-height:300px;position:fixed;overflow-y:auto}.pill-dropdown-option{cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.pill-dropdown-option:hover{background:var(--background-alt)}.pill-dropdown-option:first-child,.pill-dropdown-option:last-child{border-radius:0}.pill-dropdown-option span:nth-child(2){color:var(--text-primary);font-size:14px}.phase-meta-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.phase-meta-chip{padding:8px calc(14px + var(--tag-notch));background:var(--background-alt);color:var(--neutral-gray);cursor:pointer;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border:none;border-radius:0;align-items:center;gap:8px;font-size:14px;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.phase-meta-chip:hover{background:var(--border-light);border-color:var(--text-disabled)}.phase-meta-chip .material-symbols-sharp{color:var(--text-secondary);flex-shrink:0}.phase-meta-chip label{color:var(--text-secondary);cursor:pointer;margin:0;font-size:13px}.phase-meta-chip .weight-input{width:40px;color:var(--text-primary);text-align:center;background:0 0;border:none;outline:none;font-size:14px;font-weight:600}.weight-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.weight-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.weight-input{-moz-appearance:textfield}.phase-dates-section{background:var(--background);border-radius:0;margin-bottom:20px;padding:16px}.form-section-label{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:500}.phase-dates-row .form-group{margin:0}.phase-dates-row .form-input{width:100%}.delegation-toggle-card{border:var(--card-border);background:var(--card-bg);border-radius:0;margin-bottom:20px;overflow:hidden}.delegation-toggle-header{cursor:pointer;justify-content:space-between;align-items:center;padding:16px;transition:background .2s;display:flex}.delegation-toggle-header:hover{background:var(--background)}.delegation-toggle-info{flex:1}.delegation-toggle-title{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:500}.delegation-toggle-desc{color:var(--text-secondary);font-size:13px}.toggle-switch{flex-shrink:0;width:48px;height:28px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--border);border-radius:0;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:4px;left:4px}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.delegation-fields{border-top:1px solid var(--border-subtle);padding:0 16px 16px}.delegation-fields .form-group,.delegation-fields .form-group:first-child{margin-top:16px}.delegation-fields label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.delegation-fields .form-input{border:1px solid var(--border);border-radius:0;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.delegation-fields .form-input:focus{border-color:var(--primary-color)}.subcontractor-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.subcontractor-option{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:0;align-items:center;gap:12px;padding:10px 12px;transition:background .2s,color .2s,border-color .2s;display:flex}.subcontractor-option:hover{background:var(--background-alt);border-color:var(--text-disabled)}.subcontractor-option.selected{border-color:var(--primary-color);background:var(--primary-06)}.subcontractor-avatar{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:flex}.subcontractor-info{flex-direction:column;min-width:0;display:flex}.subcontractor-name{color:var(--text-primary);font-size:14px;font-weight:500}.subcontractor-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.new-subcontractor-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:12px;padding:8px 0;font-size:14px;font-weight:500;transition:opacity .2s;display:flex}.new-subcontractor-btn:hover{opacity:.8}.new-subcontractor-btn .material-symbols-sharp{font-size:16px}.new-subcontractor-fields,.new-subcontractor-fields .form-group{margin-top:12px}.delete-action-section{flex-direction:column;gap:8px;display:flex}.modal-body .delete-action-section{border-top:1px solid var(--border-subtle);padding-top:20px}.modal-footer .delete-action-section{border:none;padding:0}.delete-action-btn{color:var(--danger-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 0;font-size:14px;transition:opacity .2s;display:flex}.delete-action-btn:hover{opacity:.8}.delete-action-btn .material-symbols-sharp{flex-shrink:0}.delete-confirmation{background:var(--error-light);border:1px solid var(--error-bg);border-radius:0;flex-direction:column;gap:12px;padding:12px;display:none}.delete-confirmation span{color:var(--error-text);font-size:14px}.delete-confirmation-actions{justify-content:flex-end;gap:8px;display:flex}.btn-text{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:0;padding:6px 12px;font-size:14px;transition:background .2s}.btn-text:hover{background:var(--background-alt)}.btn-danger-small{background:var(--danger-color);color:#fff;cursor:pointer;border:none;border-radius:0;padding:6px 16px;font-size:14px;font-weight:500;transition:background .2s}.btn-danger-small:hover{background:var(--danger-hover)}@media (width<=768px){.phase-pills-row{flex-direction:column;gap:8px}.phase-pill{justify-content:space-between;width:100%}}.alert{border-radius:0;margin-bottom:16px;padding:16px}.alert-info{background-color:var(--info-bg);border:1px solid var(--primary-light);color:var(--info-text)}.alert p{margin:0 0 12px;line-height:1.5}.alert p:last-child{margin-bottom:0}.alert strong{font-weight:600}.sub-activity-header{padding:var(--card-padding);background:var(--background);border-radius:0;align-items:center;gap:14px;margin-bottom:16px;display:flex}.sub-avatar{background:var(--indigo);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:600;display:flex}.sub-header-info{flex:1;min-width:0}.sub-name{color:var(--text-primary);margin-bottom:2px;font-size:16px;font-weight:600}.sub-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sub-active-badge{border-radius:0;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.sub-active-badge.active{background:var(--success-bg);color:var(--success-text)}.sub-active-badge.inactive{background:var(--warning-bg-light);color:var(--warning-text)}.sub-progress-section{margin-bottom:20px}.sub-progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sub-progress-label{color:var(--neutral-gray);font-size:14px;font-weight:500}.sub-progress-pct{color:var(--text-primary);font-size:18px;font-weight:700}.sub-stats-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.sub-stat-card{background:var(--background);text-align:center;border-radius:0;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;display:flex}.sub-stat-icon{color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.sub-stat-value{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.2}.sub-stat-label{color:var(--text-secondary);font-size:12px;font-weight:500}.sub-reports-section{border-top:1px solid var(--border);padding-top:16px}.sub-section-title{color:var(--text-primary);margin-bottom:12px;font-size:14px;font-weight:600}.sub-reports-list{flex-direction:column;gap:8px;max-height:200px;display:flex;overflow-y:auto}.sub-report-item{background:var(--background);border:1px solid var(--border-subtle);border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.sub-report-info{flex:1;min-width:0}.sub-report-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.sub-report-date{color:var(--text-secondary);margin-top:2px;font-size:12px}.sub-report-badge{border-radius:0;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.sub-report-badge.sent{background:var(--success-bg);color:var(--success-text)}.sub-report-badge.draft{background:var(--warning-bg-amber);color:var(--warning-text-dark)}.sub-report-view-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:background .2s,color .2s,border-color .2s;display:flex}.sub-report-view-btn:hover{background:var(--border);color:var(--text-primary)}@media (width<=480px){.sub-stats-row{grid-template-columns:1fr;gap:8px}.sub-stat-card{text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 14px}.sub-stat-icon{order:0}.sub-stat-value{order:2;margin-left:auto;font-size:16px}.sub-stat-label{order:1;font-size:13px}}.updates-list{flex-direction:column;gap:12px;display:flex}.project-reports-content{padding:16px}.reports-list{flex-direction:column;gap:12px;display:flex}.report-card{background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition);border-radius:0;padding:20px}.report-card:hover{box-shadow:var(--shadow-md)}.report-card h3{margin-bottom:8px;font-size:18px}.report-date{color:var(--text-secondary);margin-top:4px;font-size:14px}.report-group{background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow);border-radius:0;flex-shrink:0;overflow:hidden}.report-group-header{padding:var(--card-padding);color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.report-group-header:hover{background:var(--tint-05)}.report-group-info{cursor:pointer;flex:1;min-width:0}.report-group-actions{align-items:center;gap:4px;display:flex}.report-preview-btn,.report-edit-btn,.report-delete-btn{cursor:pointer;min-width:48px;min-height:48px;color:var(--text-secondary);transition:var(--transition);opacity:.7;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:12px;display:flex}.report-preview-btn:hover,.report-edit-btn:hover,.report-delete-btn:hover{opacity:1}.report-preview-btn:hover,.report-edit-btn:hover{background:var(--primary-10);color:var(--primary-color)}.report-delete-btn:hover{color:var(--error-color);background:#8b3a2a1a}.report-preview-btn .material-symbols-sharp,.report-edit-btn .material-symbols-sharp,.report-delete-btn .material-symbols-sharp{font-size:18px}.report-group-title{align-items:center;gap:8px;margin-bottom:6px;display:flex}.report-group-title h4{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:flex}.report-group-title .material-symbols-sharp{color:var(--text-secondary);flex-shrink:0;font-size:18px}.report-expand-btn{border:none;border-top:1px solid var(--border);padding:10px var(--card-padding);cursor:pointer;width:100%;min-height:44px;color:var(--text-secondary);transition:var(--transition);background:0 0;border-radius:0;align-items:center;gap:6px;display:flex}.report-expand-btn:hover{background:var(--tint-05)}.report-expand-btn .material-symbols-sharp{font-size:18px;transition:transform .2s}.report-expand-btn.expanded .material-symbols-sharp{transform:rotate(180deg)}.report-included-updates{border-top:1px solid var(--border);padding:12px var(--card-padding);flex-direction:column;gap:10px;display:flex}.included-update-item{color:var(--text-secondary);align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;line-height:1.4;display:flex}.included-update-item+.included-update-item{border-top:1px solid var(--tint-05)}.included-update-meta{flex-direction:column;flex-shrink:0;gap:2px;min-width:80px;display:flex}.included-update-user{color:var(--text-primary);font-size:12px;font-weight:600}.included-update-date{color:var(--text-secondary);font-size:11px}.included-update-text{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.included-update-images{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.included-image-thumb{cursor:pointer;background:var(--background);width:48px;height:48px;transition:transform .2s;overflow:hidden}.included-image-thumb:hover{transform:scale(1.05)}.included-image-thumb img{object-fit:cover;width:100%;height:100%}.included-update-media{color:var(--text-secondary);align-items:center;gap:4px;margin-top:2px;font-size:12px;display:flex}.included-update-media .material-symbols-sharp{font-size:14px}.report-update-count{padding:2px calc(8px + var(--tag-notch));background:var(--success-color);color:#fff;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-size:12px;font-weight:600;line-height:1.2;display:inline-block}.report-group-meta{color:var(--text-secondary);margin-bottom:6px;font-size:13px}.report-summary{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.report-group-updates{background:var(--background);flex-direction:column;gap:10px;padding:12px;display:flex}.report-group-updates .update-card{margin:0}.report-group.open .collapsible-content{max-height:none;overflow:visible}.auto-save-status{color:var(--text-secondary);transition:var(--transition);align-items:center;gap:4px;font-size:12px;display:inline-flex}.auto-save-status--error{color:var(--error-color)}.report-edit-content{padding-top:8px}.report-preview-content{min-height:60vh;padding-top:8px}.report-preview-iframe{border:1px solid var(--border);border-radius:0;width:100%;min-height:70vh}.report-preview-loading{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:48px 16px;font-size:14px;display:flex}.report-detail{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:0;padding:24px}.report-header{margin-bottom:24px}.report-header h2{margin-bottom:8px;font-size:24px}.report-header .badge{margin-top:8px;display:inline-block}.report-editor{font-family:Monaco,Courier New,monospace;font-size:14px;line-height:1.8}.report-title-input{border:1px solid var(--border);border-radius:0;margin-bottom:12px;padding:12px 16px;font-size:18px;font-weight:500}.report-title-input:disabled{background-color:var(--background);color:var(--text-secondary);cursor:not-allowed}.report-title-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light);outline:none}.report-textarea-wrapper{margin:16px 0}.report-textarea{border:1px solid var(--border);width:100%;max-width:70ch;min-height:350px;color:var(--text-primary);background:var(--surface);resize:vertical;box-sizing:border-box;border-radius:0;padding:16px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.7}.report-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light);outline:none}.report-textarea:disabled{background-color:var(--background);color:var(--text-secondary);cursor:not-allowed}.report-textarea::placeholder{color:var(--text-disabled)}.report-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.report-actions .btn{align-items:center;gap:8px;display:flex}.report-images-section{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.report-images-section h3{margin-bottom:8px;font-size:16px;font-weight:600}.section-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-header-row h3{margin:0}.add-image-btn{background:var(--primary-color);color:#fff;cursor:pointer;transition:var(--transition);border-radius:0;align-items:center;gap:6px;padding:8px 12px;font-size:14px;display:flex}.add-image-btn:hover{background:var(--primary-dark)}.add-image-btn .material-symbols-sharp{font-size:16px}.images-hint{margin-bottom:12px;font-size:13px}.report-images-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.report-images-gallery.readonly{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.report-image-item{aspect-ratio:1;cursor:pointer;transition:var(--transition);border:3px solid #0000;border-radius:0;position:relative;overflow:hidden}.report-image-item img{object-fit:cover;width:100%;height:100%}.report-image-item:hover{transform:scale(1.02)}.report-image-item.selected{border-color:var(--success-color)}.image-selection-overlay{opacity:.5;width:28px;height:28px;transition:var(--transition);background:#0000004d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.image-selection-overlay .material-symbols-sharp{color:#fff;font-size:16px}.report-image-item.selected .icon-selected{display:flex}.report-image-item.selected .icon-deselected,.report-image-item:not(.selected) .icon-selected{display:none}.report-image-item:not(.selected) .icon-deselected{display:flex}.report-image-item.selected .image-selection-overlay{background:var(--success-color);opacity:1}.report-image-item:not(.selected) .image-selection-overlay{background:var(--danger-color,#e74c3c);opacity:.85}.no-images-text{color:var(--text-secondary);text-align:center;background:var(--background);border-radius:0;padding:20px;font-style:italic}.send-report-modal-content{background:var(--surface);border-radius:0;width:90%;max-width:450px;margin:0 auto;padding:0}@media (width<=768px){.send-report-modal-content{border-radius:0;width:100%}}.send-report-modal-content .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.send-report-modal-content .modal-header h3{margin:0;font-size:18px}.send-report-modal-content .modal-body{padding:20px}.send-report-modal-content .form-hint{color:var(--text-secondary);margin-top:6px;font-size:12px}.send-report-modal-content .form-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.preview-modal-content{background:var(--surface);border-radius:0;flex-direction:column;width:90vw;max-width:700px;height:80vh;display:flex;overflow:hidden}.preview-modal-content .modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.preview-modal-content .modal-header h3{margin:0;font-size:18px}.preview-modal-body{height:calc(90vh - 70px);margin:-28px -24px;padding:0;overflow:hidden}.preview-modal-body iframe{border:none;width:100%;height:100%;display:block}.preview-modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.preview-modal-footer .btn{align-items:center;gap:6px;display:flex}.chat-page-container{padding:0!important}.chat-back-btn{background:var(--surface);width:48px;height:48px;box-shadow:var(--shadow-md);cursor:pointer;z-index:200;transition:var(--transition);color:var(--text-primary);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:24px;left:16px}.chat-back-btn:hover{box-shadow:var(--shadow-lg);transform:scale(1.05)}.chat-back-btn:active{transform:scale(.95)}.chat-back-btn:focus-visible,.project-action-btn:focus-visible,.progress-manage-btn:focus-visible,.audio-play-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.chat-back-btn .material-symbols-sharp{font-size:24px}.project-detail-progress{align-items:center;gap:10px;display:flex}.progress-bar-mini{background:var(--background-alt);border-radius:0;flex:1;height:8px;overflow:hidden}.progress-bar-mini .progress-fill{border-radius:0;height:100%;transition:width .3s}.progress-value-mini{white-space:nowrap;font-size:15px;font-weight:700}.project-tasks-content,.project-info-content{-webkit-overflow-scrolling:touch;flex:1;padding:16px;overflow-y:auto}.project-info-content .edit-management-section,.project-info-content .edit-danger-zone{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.project-overview{border-bottom:1px solid var(--border);padding:12px 0 16px;margin-bottom:16px!important}.project-overview-main{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.project-overview-text{flex:1;min-width:0}.project-overview-title{letter-spacing:-.75px;margin:0 0 6px;font-family:Lexend Deca,sans-serif;font-size:28px;font-weight:700;line-height:1.15}.project-overview-subtitle{color:var(--text-secondary);margin:0 0 8px;font-size:16px;line-height:1.4}.project-overview-location-text{color:var(--text-secondary);align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.project-overview-location-text .material-symbols-sharp{flex-shrink:0;font-size:16px}.project-overview-progress{margin-bottom:16px}.project-overview-progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.project-overview-progress-label{color:var(--text-secondary);font-size:13px;font-weight:500}.project-overview-progress-header-right{align-items:center;gap:6px;display:flex}.project-overview-progress-value{font-size:20px;font-weight:700}.progress-expand-chevron{color:var(--text-secondary);align-items:center;transition:transform .2s;display:flex}.project-overview-progress.expanded .progress-expand-chevron{transform:rotate(180deg)}.project-overview-progress-bar{background:var(--background-alt);border-radius:0;height:10px;margin-bottom:12px;overflow:hidden}.project-overview-progress-fill{border-radius:0;height:100%;transition:width .3s}.project-overview-progress-row{align-items:center;gap:0;display:flex}.project-overview-progress-row .project-overview-progress-clickable{flex:1;min-width:0}.progress-manage-btn{width:36px;height:36px;color:var(--text-secondary);transition:var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;text-decoration:none;display:none}.progress-manage-btn .material-symbols-sharp{font-size:18px}.progress-manage-btn:hover{background:var(--background);color:var(--primary-color)}.project-overview-progress.expanded .progress-manage-btn{display:flex}.project-overview-progress-clickable{cursor:pointer;transition:var(--transition);border-radius:var(--border-radius);margin:-4px;padding:4px}.project-overview-progress-clickable:hover{background:var(--background)}.project-overview-progress-clickable:active{transform:scale(.98)}.progress-task-list{margin-top:12px;animation:.2s slideDown}.progress-task-list-content{background:var(--background);border-radius:var(--border-radius);max-height:400px;padding:12px;overflow-y:auto}.progress-phase-item{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px}.progress-phase-item:last-of-type{border-bottom:none;margin-bottom:8px}.progress-phase-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:6px;padding:4px 0;display:flex}.progress-phase-header:active{opacity:.7}.progress-phase-header-left{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.progress-phase-chevron{color:var(--text-secondary);flex-shrink:0;align-items:center;display:flex}.progress-phase-chevron .material-symbols-sharp{font-size:16px}.progress-phase-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.progress-phase-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.progress-phase-status-wrapper{cursor:pointer;position:relative}.progress-phase-status-badge{color:#fff;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;border-radius:0;padding:4px 8px;font-size:12px;font-weight:600}.progress-phase-status-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:100;border-radius:0;min-width:160px;padding:4px;animation:.15s slideDown;display:none;position:absolute;top:calc(100% + 4px);right:0}.progress-phase-status-dropdown.open{display:block}.progress-phase-status-option{color:var(--text-primary);cursor:pointer;border-radius:0;align-items:center;gap:8px;min-height:44px;padding:12px;font-size:14px;transition:background .15s;display:flex}.progress-phase-status-option:hover{background:var(--background)}.progress-phase-status-option.active{font-weight:600}.progress-phase-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.progress-phase-progress{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.progress-phase-bar{background:var(--border);border-radius:0;height:4px;margin-bottom:4px;overflow:hidden}.progress-phase-item.collapsed .progress-phase-bar{margin-bottom:0}.progress-phase-bar-fill{border-radius:0;height:100%;transition:width .3s}.progress-phase-complete-hint{background:var(--success-bg);color:var(--success-text);border-radius:0;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;font-size:12px;animation:.15s slideDown;display:flex}.progress-phase-complete-hint span{flex:1;line-height:1.3}.progress-phase-complete-hint button{background:var(--success-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:0;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.progress-phase-complete-hint button:active{opacity:.8}.progress-tasks-list{flex-direction:column;gap:6px;margin-top:8px;animation:.15s slideDown;display:flex}.progress-task-item{background:var(--surface);color:var(--text-primary);cursor:pointer;border-radius:0;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-size:14px;display:flex}.progress-task-item.completed{opacity:.6}.progress-task-item.completed .progress-task-name{color:var(--text-secondary);text-decoration:line-through}.progress-task-checkbox{border:2px solid var(--border);width:24px;height:24px;color:var(--primary-color);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.progress-task-item.completed .progress-task-checkbox{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.progress-task-name{flex:1;line-height:1.3}.progress-empty-state{text-align:center;color:var(--text-secondary);padding:24px 16px}.progress-empty-state .material-symbols-sharp{opacity:.4;margin-bottom:8px;font-size:32px}.progress-empty-state p{margin:0;font-size:14px}.progress-empty-state .btn{margin-top:4px}.project-action-icons{gap:8px;display:flex}.project-action-btn{background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition);color:var(--text-primary);border:none;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex}.project-action-btn:hover{background:var(--primary-light);box-shadow:var(--shadow-md);color:var(--primary-color);transform:translateY(-2px)}.project-action-btn:active{transform:translateY(0)}.project-action-btn .material-symbols-sharp{font-size:20px}.chat-container{background:var(--background);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.drop-overlay{background:var(--primary-08);border:3px dashed var(--primary-color,#3b6fa0);z-index:50;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drop-overlay-content{text-align:center;color:var(--primary-color,#3b6fa0)}.drop-overlay-content .material-symbols-sharp{opacity:.6;margin-bottom:8px;font-size:48px}.drop-overlay-content p{margin:0;font-size:16px;font-weight:600}.drop-overlay-content .text-muted{color:var(--text-secondary);margin-top:4px;font-size:13px;font-weight:400}.chat-messages{flex-direction:column;gap:8px;padding:16px;display:flex}.project-updates-list{background:var(--background);padding:16px 16px 100px}.chat-page-container.container{padding-left:0!important;padding-right:0!important}.project-updates-list>*{margin-bottom:12px}.project-updates-list>:last-child{margin-bottom:0}.btn-generate-report{flex-shrink:0;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:12px;display:flex}.btn-generate-report .material-symbols-sharp{font-size:20px}.empty-chat{text-align:center;color:var(--text-secondary);margin:auto;padding:48px 24px}.empty-chat>.material-symbols-sharp{opacity:.25;color:var(--primary-color);margin-bottom:12px;font-size:48px}.empty-chat-actions{max-width:260px;margin:0 auto}.empty-chat-hint{max-width:260px;margin-top:12px;margin-left:auto;margin-right:auto;font-size:13px}.chat-message{margin-bottom:4px;display:flex}.chat-message.own-message{justify-content:flex-end}.message-bubble{background:var(--surface);max-width:75%;box-shadow:var(--shadow-sm);border-radius:0;padding:8px 12px}.chat-message.own-message .message-bubble{background:var(--success-bg)}.message-header{margin-bottom:4px}.message-sender{color:var(--primary-color);font-size:13px;font-weight:600}.chat-message.own-message .message-sender{color:var(--success-color)}.message-text{word-wrap:break-word;margin-bottom:4px;font-size:14px;line-height:1.5}.message-media{gap:8px;margin-bottom:4px;display:flex}.message-time{color:var(--text-secondary);font-size:11px}.message-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.message-images{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.message-image-thumb{cursor:pointer;background:var(--background);border-radius:0;width:80px;height:80px;transition:transform .2s;overflow:hidden}.message-image-thumb:hover{transform:scale(1.05)}.message-image-thumb img{object-fit:cover;width:100%;height:100%}.quick-media-item span:not(.material-symbols-sharp){text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.quick-image-preview{border-radius:0;flex-shrink:0;width:64px;height:64px;padding:4px;position:relative;overflow:hidden}.quick-image-preview img{object-fit:cover;border-radius:0;width:100%;height:100%}.quick-image-preview .remove-media{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex;position:absolute;top:2px;right:2px}.quick-image-preview .remove-media .material-symbols-sharp{font-size:14px}.quick-image-preview .remove-media:hover{background:#000c}.message-audio-container{background:var(--tint-05);border-radius:0;margin:8px 0;padding:12px}.chat-message.own-message .message-audio-container{background:var(--tint-08)}.audio-player-row{align-items:center;gap:10px;display:flex}.audio-waveform{flex:1;align-items:center;height:32px;display:flex}.waveform-bars{align-items:center;gap:2px;height:100%;display:flex}.waveform-bar{background:var(--primary-color);opacity:.6;border-radius:0;width:3px;animation:1.5s ease-in-out infinite waveform-idle}.waveform-bar:first-child{height:40%;animation-delay:0s}.waveform-bar:nth-child(2){height:60%;animation-delay:.1s}.waveform-bar:nth-child(3){height:80%;animation-delay:.2s}.waveform-bar:nth-child(4){height:50%;animation-delay:.3s}.waveform-bar:nth-child(5){height:70%;animation-delay:.4s}.waveform-bar:nth-child(6){height:90%;animation-delay:.5s}.waveform-bar:nth-child(7){height:60%;animation-delay:.6s}.waveform-bar:nth-child(8){height:80%;animation-delay:.7s}.waveform-bar:nth-child(9){height:40%;animation-delay:.8s}.waveform-bar:nth-child(10){height:65%;animation-delay:.9s}.waveform-bar:nth-child(11){height:85%;animation-delay:1s}.waveform-bar:nth-child(12){height:55%;animation-delay:1.1s}@keyframes waveform-idle{0%,to{opacity:.4}50%{opacity:.8}}.audio-play-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s,transform .2s;display:flex}.audio-play-btn:hover{background:var(--primary-dark);transform:scale(1.05)}.audio-play-btn .material-symbols-sharp{font-size:18px}.audio-status{color:var(--text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.audio-status.pending .status-dot{background:var(--warning-color);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}.audio-status.processing{color:var(--info-color)}.audio-status.failed{color:var(--error-color)}.audio-status.failed .material-symbols-sharp{font-size:14px}.audio-summary{border-top:1px solid var(--tint-10);margin-top:10px;padding-top:10px}.audio-summary .summary-text{color:var(--text-primary);margin:0 0 6px;font-size:13px;line-height:1.4}.audio-summary .view-transcript{color:var(--primary-color);padding:0;font-size:12px}.audio-translation-badge{margin-top:6px}.translation-label{background:var(--primary-light);color:var(--primary-dark);border-radius:0;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}@media (width<=480px){.chat-back-btn{width:48px;height:48px;top:16px;left:12px}.project-overview{padding:8px 0 12px}.project-overview-title{font-size:24px}.project-overview-subtitle{font-size:15px}.project-overview-location-text{font-size:13px}.project-action-btn{width:44px;height:44px}.project-action-btn .material-symbols-sharp{font-size:20px}}.phases-embedded .phases-list{gap:6px;margin-top:0}.phases-embedded .phase-card{border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.phases-embedded .phase-card:hover{box-shadow:0 1px 4px #2925241a}.phases-embedded .phase-header{min-height:unset;gap:8px;padding:10px 12px}.phases-embedded .phase-header h3{font-size:15px}.phases-embedded .phase-edit-btn{flex-shrink:0;min-width:48px;min-height:48px;padding:12px}.phases-embedded .phase-edit-btn .material-symbols-sharp{font-size:18px}.phases-embedded .phase-progress-info .progress-text{white-space:nowrap;color:var(--text-secondary);grid-area:1/2;margin:0;font-size:12px}.phases-embedded .phase-progress-info .progress-bar-container{grid-area:2/1/auto/-1;height:3px;margin:0}.phases-embedded .phase-progress-info .progress-bar-container .progress-bar-fill{border-radius:0}.phases-embedded .chevron-indicator{grid-area:1/3}.phases-embedded .chevron-indicator .material-symbols-sharp{font-size:16px}.phases-embedded .phase-complete-hint,.phases-embedded .phase-inprogress-hint,.phases-embedded .phase-delegated-hint{gap:8px;padding:6px 12px;font-size:12px}.phases-embedded .phase-complete-hint button,.phases-embedded .phase-inprogress-hint button,.phases-embedded .phase-delegated-hint button{padding:3px 10px;font-size:12px}.phases-embedded .phase-content{padding:8px 12px 12px}.phases-embedded .tasks-list{gap:4px}.phases-embedded .task-item{border-radius:0;gap:8px;padding:8px 10px}.phases-embedded .task-name{font-size:14px}.phases-embedded .task-meta{gap:6px}.phases-embedded .task-meta span{font-size:11px}.phases-embedded .task-notes-preview{font-size:12px}.phases-embedded .task-edit-btn{padding:4px}.phases-embedded .task-edit-btn .material-symbols-sharp{font-size:14px}.phases-embedded .add-phase-inline{border-radius:0;gap:8px;margin-top:8px;padding:10px 12px}.phases-embedded .add-phase-inline .add-phase-input{font-size:14px}.phases-embedded .add-task-inline{gap:8px;padding:6px 10px}.phases-embedded .empty-state{padding:24px 16px}.phases-embedded .empty-state .material-symbols-sharp{font-size:40px}.phases-embedded .empty-state h3{font-size:16px}.phases-embedded .no-tasks{padding:8px 0;font-size:13px}.profile-tab-content{padding:16px 0}.profile-tab-save{padding:24px 0 16px}.profile-tab-save .btn{padding:14px 24px;font-size:16px}.permission-item{background:var(--background);border:1px solid var(--border);border-radius:var(--border-radius);margin-bottom:12px;padding:16px}.permission-item:last-child{margin-bottom:0}.permission-header{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.permission-icon{background:var(--primary-light);width:40px;height:40px;color:var(--primary-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.permission-icon .material-symbols-sharp{font-size:20px}.permission-info{flex:1;min-width:0}.permission-name{color:var(--text-color);margin:0 0 4px;font-size:16px;font-weight:600}.permission-description{color:var(--text-secondary);margin:0;font-size:14px}.permission-badge{padding:4px calc(12px + var(--tag-notch));white-space:nowrap;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;flex-shrink:0;font-size:13px;font-weight:500}.permission-granted{background:var(--success-light);color:var(--success-text)}.permission-denied{background:var(--error-light);color:var(--error-text)}.permission-prompt{background:var(--warning-light);color:var(--warning-text)}.permission-unsupported{background:var(--background-alt);color:var(--text-secondary)}.permission-instructions{border-radius:var(--border-radius);background:#f8d7da4d;border:1px solid #f8d7da;margin-top:12px;padding:12px}.permission-instructions strong{color:var(--text-color);margin-bottom:8px;display:block}.permission-instructions ol{margin:0;padding-left:20px}.permission-instructions li{color:var(--text-secondary);margin-bottom:6px;font-size:14px}.permission-request-btn{width:100%;margin-top:12px}.loading-spinner{text-align:center;color:var(--text-secondary);padding:20px}.mcp-keys-header{justify-content:space-between;align-items:center;margin-top:16px;margin-bottom:12px;display:flex}.mcp-keys-title{margin:0;font-size:16px;font-weight:600}.mcp-empty-state{text-align:center;background:var(--background);border:1px dashed var(--border);border-radius:var(--border-radius);padding:16px}.api-keys-header{justify-content:space-between;align-items:center;margin:16px 0;display:flex}.api-key-item{background:var(--background);border:1px solid var(--border);border-radius:var(--border-radius);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;display:flex}.api-key-item:last-child{margin-bottom:0}.api-key-info{align-items:center;gap:10px;min-width:0;display:flex}.api-key-name{color:var(--text-color);font-size:14px;font-weight:500}.api-key-prefix{color:var(--text-secondary);background:var(--surface);border-radius:0;padding:2px 8px;font-family:monospace;font-size:13px}.api-key-meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.btn-text-danger{color:var(--error-color);cursor:pointer;background:0 0;border:none;border-radius:0;padding:4px 8px;font-size:13px;font-weight:500}.btn-text-danger:hover{background:#f8d7da}.mcp-instructions{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.mcp-instructions-title{margin:0 0 4px;font-size:16px;font-weight:600}.mcp-app-tabs{border-bottom:1px solid var(--border);gap:4px;margin:16px 0 12px;padding-bottom:0;display:flex;overflow-x:auto}.mcp-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s}.mcp-tab:hover{color:var(--text-color)}.mcp-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.mcp-tab-content{display:none}.mcp-tab-content.active{display:block}.mcp-config-path{margin-bottom:12px}.mcp-config-path code{background:var(--background);word-break:break-all;border-radius:0;padding:2px 6px;font-size:12px}.mcp-code-block{border-radius:var(--border-radius);background:#1e1e2e;position:relative;overflow:hidden}.mcp-code-block pre{-webkit-overflow-scrolling:touch;margin:0;padding:16px;overflow-x:auto}.mcp-code-block code{color:#cdd6f4;white-space:pre;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5}.mcp-code-block .mcp-key-placeholder{color:#f9e2af;font-weight:500}.mcp-copy-btn{cursor:pointer;color:#cdd6f4;background:#ffffff1a;border:none;border-radius:0;justify-content:center;align-items:center;padding:6px;transition:background .2s;display:flex;position:absolute;top:8px;right:8px}.mcp-copy-btn:hover{background:#fff3}.mcp-setup-fields{flex-direction:column;gap:8px;margin-top:12px;display:flex}.mcp-field{background:var(--background);border:1px solid var(--border);border-radius:var(--border-radius);align-items:baseline;gap:12px;padding:10px 14px;display:flex}.mcp-field-label{color:var(--text-secondary);flex-shrink:0;min-width:80px;font-size:13px;font-weight:600}.mcp-field-value{color:var(--text-color);word-break:break-all;font-family:monospace;font-size:13px}.mcp-field-value .mcp-key-placeholder{color:var(--warning-color);font-weight:500}.mcp-key-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.mcp-key-modal{background:var(--surface);border-radius:var(--border-radius);width:100%;max-width:480px;box-shadow:var(--shadow-lg,0 10px 40px #0003);padding:24px}.mcp-key-modal h3{margin:0 0 8px;font-size:18px}.mcp-new-key-display{border-radius:var(--border-radius);background:#1e1e2e;align-items:center;gap:8px;margin-top:16px;padding:12px;display:flex}.mcp-new-key-display code{color:#f9e2af;word-break:break-all;flex:1;font-family:monospace;font-size:13px}@media (width<=480px){.api-key-item{flex-direction:column;align-items:flex-start;gap:8px}.api-key-meta{justify-content:space-between;width:100%}.mcp-field{flex-direction:column;gap:4px}.mcp-field-label{min-width:auto}}.agent-info-card{background:var(--surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);text-align:center;max-width:500px;margin:0 auto;padding:32px 24px}.agent-info-card>.material-symbols-sharp:first-child{background:var(--primary-light);color:var(--primary-color);border-radius:50%;margin-bottom:20px;padding:20px;font-size:44px}.agent-info-card>p{color:var(--text-secondary);margin-bottom:24px;font-size:16px;line-height:1.5}.agent-features{text-align:left;margin:0 0 28px;padding:0;list-style:none}.agent-features li{color:var(--text-primary);border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:12px 0;font-size:15px;display:flex}.agent-features li:last-child{border-bottom:none}.agent-features li:before{content:"";background:var(--primary-color);border-radius:50%;flex-shrink:0;width:8px;height:8px}.agent-privacy-notice{background:var(--info-bg);border-radius:var(--border-radius);text-align:left;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.agent-privacy-notice .material-symbols-sharp{color:var(--info-text);flex-shrink:0;margin-top:1px;font-size:20px}.agent-privacy-notice p{color:var(--info-text);margin:0;font-size:13px;line-height:1.5}.agent-privacy-notice a{color:var(--primary-dark);font-weight:500;text-decoration:underline}.agent-connecting{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;display:flex}.agent-connecting .spinner{border:4px solid var(--primary-light);border-top-color:var(--primary-color);width:48px;height:48px;margin-bottom:24px}.agent-connecting p{color:var(--text-secondary);font-size:18px;font-weight:500}.agent-active-call{flex-direction:column;gap:16px;max-width:500px;margin:0 auto;display:flex}.agent-state-indicator{padding:12px calc(20px + var(--tag-notch));background:var(--success-light);color:var(--success-text);clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;justify-content:center;align-self:center;align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.agent-state-pulse{background:var(--success-color);border-radius:50%;width:12px;height:12px;animation:2s ease-in-out infinite agent-pulse}.agent-state-indicator.speaking{background:var(--info-light);color:var(--info-text)}.agent-state-indicator.speaking .agent-state-pulse{background:var(--info-color)}.agent-state-indicator.listening{background:var(--warning-light);color:var(--warning-text)}.agent-state-indicator.listening .agent-state-pulse{background:var(--warning-color)}@keyframes agent-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.agent-timer{text-align:center;color:var(--text-primary);letter-spacing:-1px;font-family:Lexend Deca,sans-serif;font-size:36px;font-weight:700}.agent-transcript{background:var(--background);border-radius:var(--border-radius);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:12px;max-height:40vh;padding:16px;display:flex;overflow-y:auto}.transcript-entry{border-radius:0;max-width:85%;padding:12px 16px;font-size:14px;line-height:1.5}.transcript-entry.user{background:var(--primary-light);border-bottom-right-radius:0;align-self:flex-end}.transcript-entry.agent{background:var(--surface);box-shadow:var(--shadow-sm);border-bottom-left-radius:0;align-self:flex-start}.transcript-entry strong{color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.agent-transcript-empty{text-align:center;color:var(--text-disabled);padding:24px;font-size:14px}.agent-secure-note{text-align:center;color:var(--text-disabled);margin-top:12px;font-size:13px}.privacy-policy{max-width:680px;margin:0 auto}.privacy-last-updated{color:var(--text-disabled);margin-bottom:24px;font-size:13px}.privacy-section{margin-bottom:32px}.privacy-section h2{color:var(--text-primary);margin-bottom:12px;font-size:18px;font-weight:600}.privacy-section p,.privacy-section li{color:var(--text-secondary);margin-bottom:12px;font-size:15px;line-height:1.7}.privacy-section ul{margin-bottom:12px;padding-left:20px}.privacy-section li{margin-bottom:6px}@media (width<=480px){.agent-info-card{padding:24px 16px}.agent-timer{font-size:28px}.agent-transcript{max-height:35vh}}@media (prefers-reduced-motion:reduce){.agent-state-pulse{animation:none}}.admin-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.admin-header h2{margin:0;font-size:24px;font-weight:600}.admin-actions{gap:12px;display:flex}.stats-grid{grid-template-columns:1fr;gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);gap:16px;display:flex}.stat-icon{background:var(--primary-color);color:#fff;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon .material-symbols-sharp{font-size:24px}.stat-content{flex:1}.stat-value{color:var(--text-primary);margin-bottom:4px;font-size:32px;font-weight:700;line-height:1}.stat-label{color:var(--text-secondary);margin-bottom:8px;font-size:14px}.stat-breakdown{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.stat-breakdown span{background:var(--bg-secondary);border-radius:0;padding:4px 8px}.stat-breakdown .text-error{color:var(--danger);background:#8b3a2a1a}.error-list{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.error-card{border:1px solid var(--danger-color,#dc3545);background:#8b3a2a08;border-radius:0;padding:16px}.error-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.error-details{font-size:14px}.error-details p{color:var(--text-secondary);margin:4px 0}.customer-list{grid-template-columns:1fr;gap:12px;margin-bottom:32px;display:grid}.customer-card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);justify-content:space-between;align-items:center;display:flex}.customer-info h4{margin:0 0 4px;font-size:16px;font-weight:600}.customer-info p{margin:0;font-size:14px}.customer-status{align-items:center;display:flex}.user-list{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.user-card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);justify-content:space-between;align-items:center;gap:16px;display:flex}.user-info{flex:1;gap:12px;min-width:0;display:flex}.user-avatar{background:var(--bg-secondary);width:48px;height:48px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-avatar .material-symbols-sharp{font-size:24px}.user-info>div{flex:1;min-width:0}.user-info h4{text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:16px;font-weight:600;overflow:hidden}.user-info p{text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;font-size:14px;overflow:hidden}.user-meta{flex-wrap:wrap;gap:8px;display:flex}.user-actions{flex-shrink:0;gap:8px;display:flex}.badge-role{padding:4px calc(10px + var(--tag-notch));text-transform:capitalize;clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-size:12px;font-weight:600}.badge-role-admin,.badge-role-owner{color:var(--purple-dark);background:#7b5ea71f}.badge-role-pm{color:var(--info-text);background:#3b6fa01f}.badge-role-worker{color:var(--success-text);background:#4a7a4a1f}.badge-role-viewer{color:var(--neutral-gray);background:#9e9e9e1f}@media (width>=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}}.branding-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--border-radius);margin-top:32px;padding:20px}.branding-section .section-title{margin-bottom:20px}.logo-preview{border:1px solid var(--border);border-radius:var(--border-radius);text-align:center;background:var(--background);justify-content:center;align-items:center;min-height:80px;padding:16px;display:flex}.logo-preview img{object-fit:contain;max-width:200px;max-height:80px}.logo-placeholder{color:var(--text-secondary);flex-direction:column;align-items:center;gap:8px;font-size:14px;display:flex}.logo-placeholder .material-symbols-sharp{font-size:32px}.logo-upload-row{margin-top:12px}.report-settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--border-radius);margin-top:32px;padding:20px}.report-settings-section .section-title{margin-bottom:20px}.prompt-help-text{background:var(--background);border-radius:var(--border-radius);border:1px solid var(--border);margin-top:8px;padding:12px}.prompt-help-text ul{margin:0}.prompt-help-text li{margin-bottom:4px}.settings-tab-content{padding:16px 0}.settings-tab-save{padding:24px 0 16px}.settings-tab-save .btn{padding:14px 24px;font-size:16px}.settings-member-list{flex-direction:column;display:flex}.settings-member-row{border-bottom:1px solid var(--border-light);cursor:pointer;transition:var(--transition);align-items:center;gap:12px;padding:12px 0;display:flex}.settings-member-row:last-of-type{border-bottom:none}.settings-member-row:active{opacity:.7}.settings-member-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:flex}.settings-member-info{flex:1;min-width:0}.settings-member-name{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:500;display:flex}.settings-member-name .badge-invited{color:var(--warning-color);background:var(--warning-light);padding:2px calc(8px + var(--tag-notch));clip-path:polygon(var(--tag-notch) 0%, calc(100% - var(--tag-notch)) 0%, 100% 50%, calc(100% - var(--tag-notch)) 100%, var(--tag-notch) 100%, 0% 50%);border-radius:0;font-size:11px;font-weight:500}.settings-member-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.settings-member-role{flex-shrink:0}.settings-member-chevron{color:var(--text-disabled);flex-shrink:0}.settings-member-chevron .material-symbols-sharp{font-size:18px}.color-swatches{grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:12px;display:grid}.color-swatch{aspect-ratio:1;cursor:pointer;width:100%;transition:var(--transition);border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:flex}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--text-primary)}.color-swatch.selected:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") 50%/contain no-repeat;width:16px;height:16px;display:block}.color-hex-row{align-items:center;gap:12px;margin-top:4px;display:flex}.color-hex-row .color-preview{border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:40px;height:40px}.color-hex-row .form-input{max-width:120px;font-family:monospace}.report-preview-card{background:var(--background);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);margin-top:20px;position:relative;overflow:hidden}.report-preview-label{letter-spacing:.5px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;font-size:11px;font-weight:600}.report-preview-title{text-transform:uppercase;margin-bottom:4px;font-size:14px;font-weight:700}.report-preview-subtitle{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.report-preview-meta{color:var(--text-secondary);font-size:13px}.settings-logo-upload{border:2px dashed var(--border);border-radius:var(--card-radius);text-align:center;cursor:pointer;transition:var(--transition);background:var(--background);margin-bottom:4px;padding:24px}.settings-logo-upload:hover{border-color:var(--text-disabled);background:var(--background-alt)}.settings-logo-upload.dragover{border-color:var(--primary-color);background:var(--info-light)}.settings-logo-upload .material-symbols-sharp{color:var(--text-disabled);margin-bottom:8px}.settings-logo-upload p{color:var(--text-secondary);margin:0;font-size:14px}.settings-logo-upload .logo-hint{color:var(--text-disabled);margin-top:4px;font-size:12px}.settings-logo-upload img{object-fit:contain;max-width:200px;max-height:80px}.material-symbols-sharp{vertical-align:middle;flex-grow:0;flex-shrink:0;width:1em;height:1em;font-size:24px;line-height:1;display:inline-block;overflow:hidden}
