:root{color:#1a1c1a;font-synthesis:none;background:#f7f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f7f7f5;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.auth-page{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:radial-gradient(circle at 100% 0,#e8e2ce 0,#0000 40%),#f7f7f5;place-items:center;display:grid}.auth-card{background:#fffffdf0;border:1px solid #deded8;border-radius:28px;width:min(100%,430px);padding:32px 25px 28px;box-shadow:0 18px 50px #1e221c14}.auth-card.centered{text-align:center}.brand-mark,.empty-icon,.warning-icon{color:#f7f7f5;background:#1a1c1a;border-radius:18px;place-items:center;width:56px;height:56px;display:grid}.brand-mark span{border:3px solid #f7f7f5;border-radius:4px;width:24px;height:18px;display:block;position:relative}.brand-mark span:before{content:"";background:#d6a54b;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;left:4px}.brand-mark span:after{content:"";border-top:3px solid #6a9a82;border-left:3px solid #6a9a82;width:14px;height:7px;position:absolute;bottom:3px;left:3px;transform:skewY(-30deg)}.eyebrow{color:#657168;letter-spacing:.11em;margin:22px 0 8px;font-size:.73rem;font-weight:750}h1,h2{color:#1a1c1a;letter-spacing:-.04em;margin:0}h1{font-size:clamp(2rem,7vw,2.65rem);line-height:1}h2{font-size:1.45rem;line-height:1.12}.intro,.empty-state p:not(.eyebrow),.private-note{color:#596159;line-height:1.55}.intro{margin:17px 0 24px}.private-note{margin:23px 0 0;font-size:.8rem}.private-note:before{content:"•";color:#d6a54b;margin-right:7px}.form-stack{gap:16px;display:grid}.form-stack label{color:#31372f;gap:8px;font-size:.88rem;font-weight:650;display:grid}input,select{color:#1a1c1a;background:#fff;border:1px solid #cdd0c9;border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 13px}input:focus{border-color:#476e5e;box-shadow:0 0 0 3px #476e5e24}.primary-button,.secondary-button{border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:50px;font-weight:720;display:inline-flex}.primary-button{color:#fff;background:#1a1c1a;border:0;margin-top:5px}.primary-button svg:last-child{margin-left:auto}.secondary-button{color:#1a1c1a;background:0 0;border:1px solid #bfc5bc;padding:0 18px}.text-button,.back-button{color:#476e5e;background:0 0;border:0;padding:0;font-weight:700}.text-button{margin-top:20px}.back-button{align-items:center;gap:7px;margin-bottom:14px;display:inline-flex}.form-message{color:#9c3030;background:#fff0ef;border-radius:10px;margin:0;padding:10px 12px;font-size:.86rem}.success-message{color:#275f45;background:#ebf5ed;border-radius:14px;margin:20px 0;padding:15px;line-height:1.5}.warning-icon{color:#35290c;background:#f0c976;margin:0 auto}.loading{color:#596159}.global-error{color:#9c3030;background:#fff0ef;border-radius:12px;max-width:430px;margin:0 auto;padding:12px;font-size:.85rem;position:fixed;bottom:20px;left:20px;right:20px}.app-shell{min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) 20px max(18px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.app-header{justify-content:space-between;align-items:flex-start;width:100%;max-width:820px;margin:0 auto;display:flex}.app-header .eyebrow{margin-top:0}.icon-button{color:#1a1c1a;background:#fff;border:1px solid #d8dad4;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.empty-state{text-align:center;background:#fff;border:1px solid #deded8;border-radius:28px;width:min(100%,510px);margin:auto;padding:30px 25px}.empty-state .empty-icon{background:#476e5e;margin:0 auto}.empty-state .primary-button{width:100%;margin-top:14px}.app-footer{color:#687069;text-align:center;overflow-wrap:anywhere;width:100%;max-width:820px;margin:24px auto 0;font-size:.78rem}.header-actions{gap:8px;display:flex}.projects-content{width:min(100%,720px);margin:38px auto auto}.projects-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.projects-heading .eyebrow{margin:0 0 6px}.projects-heading p:not(.eyebrow){color:#657168;margin:8px 0 0}.compact-button{white-space:nowrap;min-height:44px;padding:0 14px}.compact-button svg:last-child{margin-left:0}.project-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.project-card{background:#fff;border:1px solid #deded8;border-radius:18px;display:flex;overflow:hidden}.project-main{text-align:left;color:#1a1c1a;background:0 0;border:0;flex:1;align-items:center;gap:13px;min-width:0;padding:15px;display:flex}.project-main:disabled{cursor:default;opacity:1}.project-icon{color:#fff;background:#476e5e;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid}.project-summary{gap:4px;min-width:0;display:grid}.project-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.project-summary small{color:#687069;font-size:.76rem}.project-main>svg{color:#788078;flex:none;margin-left:auto}.project-actions{align-items:center;gap:6px;padding-right:10px;display:flex}.small-icon-button,.close-button{color:#536055;background:#f0f1ed;border:0;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.danger-icon{color:#a23030;background:#fff0ef}.loading-projects{color:#657168;place-content:center;justify-items:center;gap:12px;min-height:180px;display:grid}.spin{animation:1s linear infinite spin}.page-error{color:#852b2b;background:#fff0ef;border-radius:14px;gap:7px;margin-bottom:20px;padding:15px;display:grid}.page-error span{font-size:.84rem}.page-error .text-button{color:#852b2b;width:fit-content;margin:4px 0 0}.dialog-backdrop{z-index:10;background:#181c1773;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.project-dialog{background:#fff;border-radius:24px;width:min(100%,470px);padding:28px 22px 22px;position:relative;box-shadow:0 20px 60px #00000038}.project-dialog .eyebrow{margin:0 0 7px}.close-button{position:absolute;top:16px;right:16px}.dialog-form{margin-top:24px}.dialog-copy{color:#596159;margin:17px 0;line-height:1.5}.dialog-actions{gap:10px;margin-top:22px;display:flex}.dialog-actions>*{flex:1}.danger-button{color:#fff;background:#a23030;border:0;border-radius:14px;min-height:50px;font-weight:720}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=640px){.auth-card{padding:38px}.app-shell{padding-left:36px;padding-right:36px}.dialog-backdrop{place-items:center}.project-dialog{padding:32px}}.workspace-header,.workspace-content{width:min(100%,820px);margin-left:auto;margin-right:auto}.workspace-header{margin-bottom:24px}.workspace-header .eyebrow{margin:4px 0 7px}.workspace-content{gap:16px;margin-bottom:28px;display:grid}.project-stats{color:#596159;flex-wrap:wrap;gap:8px;font-size:.82rem;display:flex}.project-stats span{background:#edeee9;border-radius:9px;padding:7px 9px}.project-stats strong{color:#31372f}.quota-card,.import-card,.preview-section,.import-report{background:#fff;border:1px solid #deded8;border-radius:20px}.quota-card{gap:11px;padding:17px;display:grid}.quota-card>div:first-child{justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;display:flex}.quota-card>div:first-child span{color:#526057;align-items:center;gap:7px;font-weight:700;display:inline-flex}.quota-card small{color:#687069;line-height:1.4}.quota-track{background:#e8ebe5;border-radius:99px;height:9px;overflow:hidden}.quota-track span{border-radius:inherit;background:#476e5e;height:100%;display:block}.quota-notice .quota-track span{background:#b3832f}.quota-warning .quota-track span{background:#c56528}.quota-danger .quota-track span{background:#a23030}.import-card{gap:18px;padding:20px;display:grid}.import-card .eyebrow,.preview-section .eyebrow{margin:0 0 7px}.import-card p:not(.eyebrow){color:#596159;margin:10px 0 0;line-height:1.48}.import-card .primary-button{width:100%;margin:0}.file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.import-report{color:#275f45;background:#ebf5ed;gap:5px;padding:15px;font-size:.87rem;display:grid}.import-report small{color:#506859}.preview-section{gap:16px;padding:20px;display:grid}.empty-preview{color:#687069;text-align:center;margin:0;padding:24px 0 8px}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.preview-tile{color:#31372f;text-align:left;background:#f6f7f4;border:1px solid #e0e2dc;border-radius:12px;min-width:0;padding:0;overflow:hidden}.preview-tile img{aspect-ratio:1;object-fit:cover;background:#e6e9e3;width:100%;display:block}.preview-tile span{text-overflow:ellipsis;white-space:nowrap;padding:8px;font-size:.72rem;display:block;overflow:hidden}.lightbox{z-index:20;background:#0b0e0beb;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.lightbox .close-button{z-index:1;top:max(16px, env(safe-area-inset-top));color:#1a1c1a;background:#fff;position:fixed;right:16px}.lightbox img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.project-main:hover{background:#f7f8f5}@media (width>=640px){.import-card{grid-template-columns:1fr auto;align-items:center}.import-card .primary-button{width:auto;min-width:185px}.preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.empty-state-illustration{border-radius:18px;width:min(100%,180px);margin:0 auto 20px;display:block}.import-report-copy{gap:5px;display:grid}.import-success{grid-template-columns:minmax(0,1fr) 92px;align-items:center}.import-success img{object-fit:cover;border-radius:14px;width:92px;height:92px}.import-progress{color:#405b4a;background:#f0f5ef;border:1px solid #d6ddd6;border-radius:14px;align-items:center;gap:10px;padding:14px 15px;font-size:.9rem;font-weight:650;display:flex}.login-brand{align-items:center;gap:14px;display:flex}.login-brand-icon{object-fit:cover;border-radius:22px;flex:none;width:72px;height:72px}.login-brand .eyebrow{margin:0 0 8px}.projects-shell{height:auto;min-height:0;position:fixed;inset:0;overflow:hidden}.projects-shell .projects-content{flex-direction:column;flex:1;min-height:0;margin-top:28px;display:flex}.projects-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:0 2px 16px;overflow-y:auto}.projects-shell .app-footer{flex:none;margin-top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.brand-title-art{border-radius:16px;height:auto;display:block}.login-brand-title{width:100%;margin-bottom:24px;display:block}.login-brand-title .brand-title-art{border-radius:18px;width:100%}.pwa-update-prompt{z-index:40;right:16px;bottom:max(16px, env(safe-area-inset-bottom));color:#1a1c1a;background:#fff;border:1px solid #d7dbd4;border-radius:18px;gap:14px;max-width:440px;margin:auto;padding:16px;display:grid;position:fixed;left:16px;box-shadow:0 14px 40px #1e221c2e}.pwa-update-prompt>div:first-child{gap:4px;display:grid}.pwa-update-prompt span{color:#596159;font-size:.86rem}.pwa-update-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.pwa-update-actions .text-button,.pwa-update-actions .primary-button{margin:0}.pwa-update-actions .primary-button{min-height:42px;padding:0 13px}.pwa-update-actions .primary-button svg:last-child{margin-left:0}.preview-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.preview-heading .eyebrow{margin:0 0 7px}.preview-heading .compact-button{min-height:38px;padding:0 10px;font-size:.78rem}.preview-tile{display:grid;position:relative}.preview-image-button{background:0 0;border:0;padding:0}.preview-image-button img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.photo-position{z-index:1;color:#1a1c1a;text-align:center;background:#fffffff0;border:0;border-radius:8px;width:38px;min-height:30px;padding:0 5px;font-size:.78rem;font-weight:800;position:absolute;top:7px;left:7px}.preview-meta{color:#596159;align-items:center;padding:7px 8px 2px;font-size:.7rem;display:flex}.photo-actions button{color:#4e5b50;background:#e9ece7;border:0;border-radius:8px;place-items:center;display:grid}.photo-actions{grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 8px 8px;display:grid}.photo-actions button{min-height:30px}.photo-actions .active-photo-action{color:#fff;background:#c28a2c}.preview-tile.is-excluded{opacity:.52}.preview-tile.is-excluded .preview-image-button img{filter:grayscale()}.compact-workspace-header{top:max(0px, env(safe-area-inset-top));z-index:10;background:#f7f7f5;align-items:center;gap:13px;margin-bottom:13px;padding:10px 0;display:flex;position:sticky}.compact-workspace-header:after{content:"";pointer-events:none;background:linear-gradient(#f7f7f5,#0000);height:8px;position:absolute;bottom:-7px;left:0;right:0}.compact-workspace-header .back-button{flex:none;margin:0}.compact-workspace-header h1{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.35rem,6vw,2rem);overflow:hidden}.project-summary-line{color:#596159;flex-wrap:wrap;gap:8px;font-size:.82rem;display:flex}.project-summary-line span{background:#edeee9;border-radius:9px;padding:6px 9px}.project-summary-line strong{color:#31372f}.compact-quota{gap:8px;padding:13px 15px}.compact-quota small{display:none}.import-button{color:#31372f;background:#fff;width:100%;min-height:46px}.access-inline{color:#687069;margin:0;padding:10px 2px;font-size:.82rem}.compact-import-report{color:#275f45;background:#ebf5ed;border-radius:12px;gap:4px;padding:11px 13px;font-size:.82rem;display:grid}.compact-import-report span{color:#506859}.compact-import-report details{color:#275f45}.compact-import-report summary{cursor:pointer;font-weight:700}.compact-import-report details p{overflow-wrap:anywhere;margin:6px 0 0}.load-more-sentinel{color:#657168;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:.82rem;display:flex}.members-dialog{max-height:min(90dvh,740px);overflow-y:auto}.members-list{gap:8px;margin-top:22px;display:grid}.member-row{background:#f0f1ed;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:11px;display:flex}.member-row>div:first-child{gap:3px;min-width:0;display:grid}.member-row small{color:#687069;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-controls{align-items:center;gap:6px;display:flex}.member-row select{width:auto;min-height:38px;padding:0 8px;font-size:.78rem}.member-role{color:#526057;font-size:.8rem;font-weight:700}.access-note{background:#f0f5ef}.saved-message{color:#275f45;background:#ebf5ed;border-radius:10px;margin:0 0 16px;padding:11px 12px;font-size:.86rem}.workspace-saved{margin:0}.role-guide{color:#526057;background:#f6f7f4;border-radius:12px;gap:4px;margin:20px 0 0;padding:12px;font-size:.78rem;line-height:1.35;display:grid}.role-guide p{margin:0}.storage-summary{margin-top:25px;padding-top:4px}.storage-summary .eyebrow{margin:0 0 7px}.storage-summary h3{margin:0;font-size:1.05rem}.storage-summary>p:not(.eyebrow){color:#687069;margin:6px 0 12px;font-size:.82rem}.storage-row{color:#596159;border-top:1px solid #e5e7e2;justify-content:space-between;gap:10px;padding:9px 0;font-size:.8rem;display:flex}.storage-row span{gap:3px;min-width:0;display:grid}.storage-row span small{color:#687069}.storage-row strong{color:#31372f;white-space:nowrap}
