:root{color:#202523;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f8f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{letter-spacing:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #0d7c61}.app-shell{color:#202523;background:#f7f8f7;min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #e1e6e1;grid-template-columns:minmax(210px,280px) minmax(280px,1fr) 44px 44px 44px;align-items:center;gap:18px;padding:14px 22px;display:grid;position:sticky;top:0}.login-screen{background:#f7f8f7;place-items:center;min-height:100vh;padding:22px;display:grid}.login-card{background:#fff;border:1px solid #e1e6e1;border-radius:8px;gap:18px;width:min(100%,420px);padding:28px;display:grid;box-shadow:0 18px 44px #1f272314}.login-card h1{font-size:26px}.login-card p{color:#69736f;font-size:14px}.login-card label{gap:7px;display:grid}.login-card label span{color:#202523;font-size:13px;font-weight:800}.login-error{font-weight:700;color:#b42318!important}.customer-view .topbar{grid-template-columns:1fr}.admin-topbar{grid-template-columns:minmax(210px,1fr) auto}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark,.icon-button{color:#0f7b5f;background:#e8f5ef;border:1px solid #c8e4d9;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid}.brand strong,.brand span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.brand strong{font-size:15px;line-height:1.2}.brand-mark{background:0 0;border-color:#0000;overflow:visible}.brand-logo{object-fit:contain;width:24px;height:30px;display:block}.topbar-actions{justify-content:flex-end;align-items:center;gap:18px;display:flex}.mobile-menu-button,.mobile-action-menu{display:none}.mobile-action-menu{z-index:30;background:#fff;border:1px solid #dfe6df;border-radius:8px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 8px);right:14px;box-shadow:0 18px 44px #1f272329}.mobile-action-menu button{color:#202523;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 10px;font-size:14px;font-weight:800;display:flex}.mobile-action-menu button:hover{background:#eef7f2}.brand span,.surface-header p,.submit-bar span,.settings-panel p,.submitted-row span{color:#69736f;font-size:13px}.drive-form{grid-template-columns:minmax(160px,1fr) auto;gap:10px;display:grid}.input-with-icon,.comment-field{color:#71807a;background:#fff;border:1px solid #dfe6df;border-radius:8px;align-items:center;gap:8px;min-width:0;display:flex}.input-with-icon{padding:0 12px}input,select,textarea,button{font:inherit}input,select,textarea{box-sizing:border-box;color:#1f2422;background:#fff;border:1px solid #dfe6df;border-radius:8px;outline:none;width:100%}input{min-width:0;height:38px;padding:0 11px}select{height:38px;padding:0 11px}textarea{resize:vertical;padding:10px 11px}.input-with-icon input,.comment-field input{border:0;height:36px;padding:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.primary-button,.tabs button,.gallery-link button,.gallery-link a,.rating-row button,.heart-button,.icon-button{border:0;justify-content:center;align-items:center;display:inline-flex}.primary-button{color:#fff;background:#0d7c61;border-radius:8px;gap:8px;min-height:38px;padding:0 14px;font-weight:700;text-decoration:none;box-shadow:0 8px 18px #0d7c612e}.primary-button:disabled{cursor:not-allowed;opacity:.65}.icon-button{background:#fff}.admin-topbar .mobile-menu-button{display:none}.settings-panel{background:#fff;border-bottom:1px solid #e1e6e1;grid-template-columns:minmax(220px,380px) minmax(260px,1fr);align-items:center;gap:20px;padding:14px 22px;display:grid}.settings-panel strong,.section-title span,.label{color:#202523;font-size:13px;font-weight:800}.workspace{grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 65px);display:grid}.workspace-wide{grid-template-columns:minmax(0,1fr)}.workspace-wide .sidebar{display:none}.customer-workspace{display:block}.customer-workspace .sidebar{display:none}.sidebar{background:#fff;border-right:1px solid #e1e6e1;flex-direction:column;gap:18px;padding:20px;display:flex}.panel-block{gap:9px;display:grid}.client-manager{border-bottom:1px solid #e8ece8;padding-bottom:18px}.compact-search{padding:0 10px}.compact-search input{height:34px;font-size:13px}.client-list{gap:7px;max-height:250px;display:grid;overflow:auto}.client-list button{text-align:left;background:#f6f8f6;border:1px solid #e2e8e2;border-radius:8px;gap:3px;padding:10px;display:grid}.client-list button.active{background:#e9f6f0;border-color:#b7dfd0}.client-list strong{color:#202523;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.client-list span,.client-list p{color:#69736f;font-size:12px}.sidebar-action{color:#fff;background:#0d7c61;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:34px;font-size:13px;font-weight:800;display:inline-flex}.section-title{color:#0d7c61;align-items:center;gap:7px;display:flex}.status-box{color:#235748;background:#edf8f3;border:1px solid #c9eadc;border-radius:8px;align-items:flex-start;gap:9px;margin-top:auto;padding:12px;font-size:13px;line-height:1.45;display:flex}.main-surface{flex-direction:column;gap:16px;min-width:0;padding:22px;display:flex}.surface-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.surface-header-dashboard{justify-content:flex-end}.surface-header-dashboard .surface-title{display:none}h1,h2,p{margin:0}h1{color:#161a18;letter-spacing:0;font-size:27px;line-height:1.15}.tabs{background:#e9ede9;border-radius:8px;padding:3px;display:inline-flex}.tabs button{color:#4c5652;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.tabs .home-tab{width:40px;padding:0}.tabs button.active{color:#15211d;background:#fff;box-shadow:0 1px 4px #222d2817}.tabs button:nth-child(3),.tabs button:nth-child(4){display:none}.gallery-link{color:#56615d;background:#fff;border:1px solid #e1e6e1;border-radius:8px;grid-template-columns:minmax(0,1fr) 34px 34px;align-items:center;gap:6px;padding:8px 9px 8px 12px;display:grid}.gallery-link span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.gallery-link button,.gallery-link a{color:#0d7c61;background:#edf7f3;border-radius:7px;width:34px;height:30px}.customer-home{gap:16px;display:grid}.customer-home-toolbar{grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:12px;display:grid}.create-customer-form,.admin-gallery-form{background:#fff;border:1px solid #e1e6e1;border-radius:8px;gap:14px;padding:16px;display:grid}.create-customer-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.create-customer-form .form-actions{grid-column:1/-1}.create-customer-form label,.admin-gallery-form label{gap:7px;display:grid}.create-customer-form span,.admin-gallery-form span{color:#202523;font-size:13px;font-weight:800}.form-actions{align-items:center;gap:8px;display:flex}.checkbox-field{gap:7px;display:grid}.checkbox-field>label{color:#4f5b56;align-items:center;gap:8px;min-height:38px;font-size:14px;font-weight:700;display:flex}.checkbox-field input{width:auto}.form-actions>button:not(.primary-button),.customer-actions button,.customer-actions a{color:#0d674f;background:#edf7f3;border:1px solid #c9eadc;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 10px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.customer-actions .danger-action{color:#b42318;background:#fff4f2;border-color:#ffd0c9}.customer-actions button:disabled{cursor:not-allowed;opacity:.58}.customer-groups,.customer-table,.contract-board,.contract-table{gap:10px;display:grid}.customer-groups{gap:16px}.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.overview-stat-card{background:#fff;border:1px solid #dfe6df;border-radius:8px;gap:8px;min-height:118px;padding:14px;display:grid}.overview-stat-card span{color:#59645f;font-size:13px;font-weight:800}.overview-stat-card strong{color:#0d674f;font-size:30px;line-height:1}.overview-stat-card small{color:#69736f;font-size:12px;line-height:1.35}.customer-group{gap:10px;display:grid}.overview-group{background:#fff;border:1px solid #dfe6df;border-radius:8px;gap:12px;padding:14px}.overview-group .customer-group-header{background:#edf8f3;border:0;border-radius:8px}.overview-table{gap:10px}.overview-table article{box-shadow:none;border:1px dashed #d7ded8;border-radius:8px}.overview-table article:last-child{border-bottom:1px dashed #d7ded8}.overview-table .customer-group-empty{background:0 0;border:0;border-radius:0;margin:0}.customer-group-header{background:#fff;border:1px solid #e1e6e1;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.customer-group-header h2{color:#17201c;margin:0 0 3px;font-size:17px;line-height:1.2}.customer-group-header p{color:#69736f;font-size:13px}.customer-group-header strong{color:#0d674f;background:#e9f6f0;border:1px solid #b7dfd0;border-radius:8px;place-items:center;min-width:34px;height:34px;display:inline-grid}.customer-group-actions{flex:none;align-items:center;gap:10px;display:flex}.customer-group-toggle{width:34px;min-width:0;height:34px;color:inherit;background:#fff;border:1px solid #cfe5dc;border-radius:8px;place-items:center;padding:0;display:inline-grid}.customer-group-triangle{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:8px solid #0d674f;width:0;height:0;transition:transform .16s}.customer-group-toggle.expanded .customer-group-triangle{transform:rotate(90deg)}.customer-group-empty{color:#69736f;background:#fff;border:1px dashed #d7ded8;border-radius:8px;padding:14px;font-size:13px}.customer-table article{background:#fff;border:1px solid #e1e6e1;border-radius:8px;grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.customer-table article.active{border-color:#9ed8c4;box-shadow:0 0 0 3px #0d7c6114}.overview-table article,.overview-table article:last-child{border:1px dashed #d7ded8}.overview-table article.active{box-shadow:none;background:#fff;border:1px dashed #d7ded8}.customer-main{text-align:left;background:0 0;border:0;gap:4px;padding:0;display:grid}.customer-main strong{color:#202523;font-size:15px}.customer-main span,.customer-stats span{color:#69736f;font-size:13px}.customer-stats{gap:4px;display:grid}.customer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.contract-card{background:#fff;border:1px solid #e1e6e1;border-radius:8px;gap:12px;padding:14px;display:grid}.contract-card.active{border-color:#9ed8c4;box-shadow:0 0 0 3px #0d7c6114}.contract-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.contract-table{overflow-x:auto}.contract-table-head,.contract-table article{grid-template-columns:minmax(150px,1.1fr) minmax(150px,1fr) minmax(120px,.9fr) minmax(130px,.9fr) minmax(80px,.6fr) minmax(120px,.9fr) minmax(300px,1.6fr);align-items:center;gap:10px;min-width:1120px;padding:10px;display:grid}.contract-table-head{color:#69736f;background:#f6f8f6;border:1px solid #e6ebe6;border-radius:8px;font-size:12px;font-weight:900}.contract-table article{background:#fbfcfb;border:1px solid #e6ebe6;border-radius:8px}.contract-table article.active{background:#f2fbf7;border-color:#9ed8c4}.contract-table article>span{color:#4f5b56;font-size:13px}.contract-customer-cell{gap:2px;display:grid}.contract-customer-cell small{color:#69736f;font:inherit}.contract-summary-table{overflow-x:visible}.mobile-label{display:none}.contract-summary-head,.contract-summary-table article{grid-template-columns:minmax(130px,.95fr) minmax(180px,1.25fr) minmax(110px,.75fr) minmax(120px,.8fr) minmax(90px,.65fr) minmax(140px,.9fr)!important;min-width:0!important}.contract-summary-table article{cursor:pointer}.gallery-kind-groups{gap:14px;display:grid}.gallery-kind-group{gap:0;padding:0;overflow:hidden}.gallery-kind-group .customer-group-header{border:0;border-bottom:1px solid #e5ebe6;border-radius:0}.gallery-kind-group .contract-table{padding:12px}.gallery-kind-head,.gallery-kind-row{grid-template-columns:minmax(240px,1.5fr) minmax(90px,.7fr) minmax(120px,.8fr) minmax(130px,.8fr) minmax(300px,1.6fr)!important;min-width:920px!important}.gallery-kind-group>.customer-group-empty{margin:12px}.service-package-manager{gap:12px;display:grid}.service-package-header{background:#edf8f3;border:1px solid #d9eee4;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.service-package-header h2{font-size:18px}.service-package-header p{color:#5e6b66;font-size:13px}.service-package-header strong{color:#0d674f;background:#e5f5ef;border:1px solid #b7dfd0;border-radius:8px;place-items:center;min-width:38px;height:38px;display:inline-grid}.service-package-form,.service-package-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.service-package-form{background:#fff;border:1px solid #e1e6e1;border-radius:8px;padding:12px}.service-package-form label,.service-package-row label{gap:6px;display:grid}.service-package-form label span,.service-package-row label span{color:#202523;font-size:13px;font-weight:800}.service-package-list{gap:10px;display:grid}.service-package-row{background:#fbfcfb;border:1px dashed #d5dfd8;border-radius:8px;padding:12px}.service-package-row>div:first-child{gap:4px;display:grid}.service-package-row strong{color:#17201c;font-size:15px}.service-package-row span{color:#69736f;font-size:12px}.service-package-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.service-package-actions button{color:#0d674f;background:#edf7f3;border:1px solid #c9eadc;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.service-package-actions .danger-action{color:#b42318;background:#fff4f2;border-color:#ffd0c9}.photographer-price-manager{background:#f8faf8;border:1px solid #e1e6e1;border-radius:8px;gap:12px;padding:12px;display:grid}.photographer-price-manager-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;display:flex}.photographer-price-manager-header strong{color:#17201c;font-size:15px}.photographer-price-manager-header span{color:#69736f;font-size:13px}.photographer-price-list{gap:10px;display:grid}.photographer-price-row{background:#fff;border:1px solid #e6ebe6;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;padding:10px;display:grid}.photographer-price-row label{gap:6px;display:grid}.photographer-price-row label span{color:#202523;font-size:13px;font-weight:800}.photographer-price-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.photographer-price-actions button{color:#0d674f;background:#edf7f3;border:1px solid #c9eadc;border-radius:8px;min-height:36px;padding:0 10px;font-size:13px;font-weight:800}.photographer-price-actions .danger-action{color:#b42318;background:#fff4f2;border-color:#ffd0c9}.payment-dashboard{gap:16px;display:grid}.payment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.payment-total-card strong{font-size:20px}.payment-groups{gap:14px;display:grid}.payment-group .customer-group-header strong{min-width:120px;padding:0 10px}.payment-table{gap:10px;display:grid;overflow-x:auto}.payment-table-head,.payment-table article{grid-template-columns:minmax(90px,.7fr) minmax(130px,1fr) minmax(220px,1.4fr) minmax(110px,.8fr) minmax(120px,.8fr) minmax(130px,.9fr) minmax(150px,.9fr);align-items:center;gap:10px;min-width:980px;padding:10px;display:grid}.payment-table-head{color:#69736f;background:#f6f8f6;border:1px solid #e6ebe6;border-radius:8px;font-size:12px;font-weight:900}.payment-table article{background:#fbfcfb;border:1px solid #e6ebe6;border-radius:8px}.payment-table article>strong,.payment-table article>span{color:#4f5b56;font-size:13px}.payment-status{border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:0 10px;font-weight:800;display:inline-flex}.payment-status.paid{background:#e9f6f0;border:1px solid #b7dfd0;color:#0d674f!important}.payment-status.unpaid{background:#fff4f2;border:1px solid #ffd0c9;color:#b42318!important}.payment-table button:not(.primary-button){color:#0d674f;background:#edf7f3;border:1px solid #c9eadc;border-radius:8px;min-height:36px;padding:0 10px;font-size:13px;font-weight:800}.status-summary{flex-wrap:wrap;gap:10px;display:flex}.status-summary span{color:#235748;background:#edf8f3;border:1px solid #c9eadc;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:800}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid .wide,.photo-empty{grid-column:1/-1}.customer-filter-bar{background:#fff;border:1px solid #e1e6e1;border-radius:8px;grid-template-columns:1fr;align-items:end;gap:10px 14px;padding:12px;display:grid}.compact-name{gap:6px;display:grid}.compact-name span{color:#202523;font-size:12px;font-weight:800}.compact-filter-group,.compact-star-group{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.compact-filter-group button,.compact-star-group button{color:#4d5753;background:#f6f8f6;border:1px solid #e2e8e2;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.compact-filter-group button.active,.compact-star-group button.active{color:#0d674f;background:#e9f6f0;border-color:#b7dfd0}.customer-success{color:#235748;background:#edf8f3;border:1px solid #c9eadc;border-radius:8px;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:700;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.photo-card{background:#fff;border:1px solid #e1e6e1;border-radius:8px;overflow:hidden;box-shadow:0 10px 28px #25302b0f}.photo-card.liked{border-color:#a8dcca}.photo-frame{aspect-ratio:4/3;background:#dce2de;position:relative;overflow:hidden}.photo-open-button{background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.photo-open-button:disabled{cursor:default}.photo-open-button img,.submitted-row img{object-fit:cover;width:100%;height:100%}.heart-button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#151b188f;border-radius:8px;width:36px;height:36px;position:absolute;top:10px;right:10px}.preview-button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#151b188f;border:0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:absolute;top:10px;left:10px}.heart-button.active{color:#f75d7a;background:#fff}.photo-preview{z-index:80;background:#080e0cdb;grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.preview-backdrop{z-index:0;background:0 0;border:0;padding:0;position:absolute;inset:0}.preview-toolbar{z-index:2;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080e0cb8;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex;position:relative}.preview-toolbar strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-toolbar div{flex-shrink:0;align-items:center;gap:7px;display:flex}.preview-toolbar button{color:#fff;background:#ffffff1f;border:1px solid #ffffff38;border-radius:8px;justify-content:center;align-items:center;min-width:36px;height:34px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.preview-toolbar span{color:#ffffffd1;text-align:center;min-width:48px;font-size:13px}.preview-stage{z-index:1;place-items:center;padding:28px;display:grid;position:relative;overflow:auto}.preview-stage img{object-fit:contain;transform-origin:50%;will-change:transform;max-width:min(96vw,1400px);max-height:82vh;transition:transform .16s}.preview-nav{z-index:3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080e0c8a;border:1px solid #ffffff38;border-radius:8px;place-items:center;width:48px;height:56px;display:inline-grid;position:absolute;top:50%;transform:translateY(-50%)}.preview-nav-left{left:18px}.preview-nav-right{right:18px}.preview-review-panel{z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #ffffffb8;border-radius:8px;grid-template-columns:auto auto minmax(220px,420px);justify-content:center;align-items:center;gap:10px;padding:12px;display:grid;position:absolute;bottom:20px;left:20px;right:20px;box-shadow:0 18px 44px #00000038}.preview-heart-action,.preview-category-actions,.preview-comment-field{color:#37413d;background:#fff;border:1px solid #dfe6df;border-radius:8px;align-items:center;gap:8px;min-height:38px;display:inline-flex}.preview-heart-action{justify-content:center;padding:0 13px;font-weight:800}.preview-heart-action.active{color:#f75d7a;border-color:#f8c4cf}.preview-category-actions{color:#69736f;padding:5px 8px}.preview-category-actions button{color:#4d5753;background:#f6f8f6;border:1px solid #e2e8e2;border-radius:7px;min-width:44px;min-height:28px;font-size:12px;font-weight:900}.preview-category-actions button.active{color:#fff;background:#0d7c61;border-color:#0d7c61}.preview-comment-field{padding:0 10px}.preview-comment-field input{border:0;height:36px;padding:0}.preview-heart-action:disabled,.preview-category-actions button:disabled,.preview-comment-field input:disabled{cursor:not-allowed;opacity:.72}.photo-meta{gap:10px;padding:12px;display:grid}.photo-meta strong{color:#222724;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.rating-row,.category-row{gap:4px;display:flex}.rating-row button{color:#c2c8c4;background:0 0;width:24px;height:24px;padding:0}.rating-row button.active{color:#e3a62d}.category-row{color:#69736f;align-items:center}.category-row button{color:#4d5753;background:#f6f8f6;border:1px solid #e2e8e2;border-radius:7px;min-width:42px;min-height:28px;font-size:12px;font-weight:900}.category-row button.active{color:#fff;background:#0d7c61;border-color:#0d7c61}.heart-button:disabled,.rating-row button:disabled,.category-row button:disabled,.comment-field input:disabled{cursor:not-allowed;opacity:.72}.comment-field{padding:0 9px}.submit-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #dfe6df;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding:12px 14px;display:flex;position:sticky;bottom:16px;box-shadow:0 12px 30px #1f27231a}.submit-bar strong,.submit-bar span{display:block}.dashboard{gap:16px;display:grid}.unlock-panel,.submit-popup{background:#fff;border:1px solid #c9eadc;border-radius:8px}.unlock-panel{justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.unlock-panel strong,.submit-popup strong{color:#17201c}.unlock-panel p{color:#69736f;margin-top:3px;font-size:13px}.submit-popup{z-index:90;gap:8px;width:min(360px,100vw - 28px);padding:16px;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 44px #1f27232e}.submit-popup p{color:#24342e;font-weight:800}.submit-popup div{flex-wrap:wrap;gap:7px;display:flex}.submit-popup span{color:#0d674f;background:#e9f6f0;border:1px solid #b7dfd0;border-radius:8px;padding:5px 8px;font-size:13px;font-weight:800}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.summary-strip.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.metric,.chart-panel,.empty-dashboard,.submitted-row{background:#fff;border:1px solid #e1e6e1;border-radius:8px}.metric{gap:6px;padding:14px;display:grid}.metric span{color:#6b7671;font-size:12px;font-weight:800}.metric strong{color:#17201c;text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.chart-panel{gap:14px;padding:16px;display:grid}.bars{gap:10px;display:grid}.bar-row{color:#59645f;grid-template-columns:58px minmax(0,1fr) 28px;align-items:center;gap:10px;font-size:13px;display:grid}.bar-row div{background:#eef2ef;border-radius:999px;height:10px;overflow:hidden}.bar-row i{border-radius:inherit;background:#0d7c61;height:100%;display:block}.bar-row b{color:#1f2724;text-align:right}.submission-list{gap:10px;display:grid}.selected-photo-summary{background:#fff;border:1px solid #e1e6e1;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid}.selected-photo-summary-content{gap:8px;min-width:0;display:grid}.selected-photo-summary-content p{color:#4f5b56;flex-wrap:wrap;gap:4px 8px;margin:0;line-height:1.45;display:flex}.selected-photo-summary-content strong{color:#17201c}.selected-photo-summary-content span{overflow-wrap:anywhere}.selected-photo-copy{color:#0d674f;white-space:nowrap;background:#e9f6f0;border:1px solid #b7dfd0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.dashboard-photo-groups{gap:16px;display:grid}.dashboard-photo-group{gap:10px;display:grid}.dashboard-photo-group.collapsed{gap:0}.dashboard-group-header{background:#fff;border:1px solid #e1e6e1;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.dashboard-group-title{min-width:0}.dashboard-group-title h2{color:#17201c;margin:0 0 3px;font-size:17px;line-height:1.2}.dashboard-group-title p{color:#69736f;font-size:13px}.dashboard-group-actions{flex:none;align-items:center;gap:10px;display:flex}.dashboard-group-toggle{width:34px;min-width:0;height:34px;color:inherit;background:#fff;border:1px solid #cfe5dc;border-radius:8px;place-items:center;padding:0;display:inline-grid}.dashboard-group-triangle{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:8px solid #0d674f;width:0;height:0;transition:transform .16s}.dashboard-group-toggle.expanded .dashboard-group-triangle{transform:rotate(90deg)}.dashboard-group-header strong{color:#0d674f;background:#e9f6f0;border:1px solid #b7dfd0;border-radius:8px;place-items:center;min-width:34px;height:34px;display:inline-grid}.submitted-row{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:10px;display:grid;overflow:hidden}.submitted-row img{aspect-ratio:4/3;border-radius:7px}.submitted-row-content{grid-template-columns:1fr;align-content:center;gap:4px;min-width:0;display:grid}.submitted-row-content.has-comment{grid-template-columns:minmax(180px,1fr) minmax(140px,1fr);align-items:center;gap:14px}.submitted-row-meta{gap:4px;min-width:0;display:grid}.submitted-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.submitted-row p{color:#303a35;font-size:14px}.submitted-row .submitted-comment{color:#17201c;text-align:center;overflow-wrap:anywhere;place-self:center;max-width:100%;margin:0;font-size:15px;font-weight:800;line-height:1.3}.empty-dashboard{color:#5c6863;text-align:center;place-items:center;gap:10px;min-height:360px;padding:30px;display:grid}.empty-dashboard svg{color:#0d7c61}@media (width<=960px){.topbar,.workspace:not(.customer-workspace),.settings-panel{grid-template-columns:1fr}.admin-topbar{grid-template-columns:minmax(0,1fr) 44px}.admin-topbar .topbar-actions{display:none}.admin-topbar .mobile-menu-button{display:inline-grid}.admin-topbar .mobile-action-menu{gap:4px;display:grid}.drive-form{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #e1e6e1;border-right:0;order:2}.app-shell:not(.customer-view) .sidebar{display:none}.main-surface{order:1}.surface-header,.submit-bar{flex-direction:column;align-items:stretch}.submit-bar{position:static}.customer-view .submit-bar{z-index:25;margin:0;position:fixed;bottom:12px;left:14px;right:14px}.customer-view .main-surface{padding-bottom:136px}.tabs{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);width:100%;display:grid}.tabs .home-tab{width:auto}.tabs button{white-space:nowrap;min-width:0;padding:0 8px}.customer-filter-bar,.customer-home-toolbar,.create-customer-form,.customer-table article,.form-grid{grid-template-columns:1fr}.customer-actions{justify-content:stretch}.customer-actions button,.customer-actions a{flex:150px}.contract-summary-head,.contract-summary-table article{gap:6px;padding:10px 8px;grid-template-columns:minmax(58px,.75fr) minmax(86px,1fr) minmax(78px,.85fr) minmax(90px,.9fr)!important;min-width:0!important}.contract-summary-head>span:nth-child(5),.contract-summary-head>span:nth-child(6),.contract-summary-table article>span:nth-of-type(4),.contract-summary-table article>.customer-actions,.contract-summary-head .desktop-label{display:none}.contract-summary-head .mobile-label{display:inline}.contract-summary-table .customer-main span,.contract-customer-cell small{display:none}.contract-summary-table .customer-main strong,.contract-summary-table article>span,.contract-summary-head{font-size:12px}.payment-summary-grid,.overview-stats{grid-template-columns:1fr}.payment-table{overflow:visible}.payment-table-head{display:none}.payment-table article{grid-template-columns:1fr 1fr;min-width:0}.payment-table article>strong,.payment-table article>select,.payment-table article>button{grid-column:1/-1}.service-package-form,.service-package-row{grid-template-columns:1fr}.service-package-actions{justify-content:stretch}.service-package-actions button{flex:120px}.photographer-price-row{grid-template-columns:1fr}.photographer-price-actions{justify-content:stretch}.photographer-price-actions button{flex:120px}.compact-star-group{grid-column:auto}.customer-view .preview-button{display:none}.customer-view .photo-preview{touch-action:none;background:#050706;grid-template-rows:1fr}.customer-view .preview-toolbar,.customer-view .preview-nav{display:none}.customer-view .preview-stage{contain:layout paint;-webkit-overflow-scrolling:touch;touch-action:none;place-items:center;padding:0;overflow:hidden}.customer-view .preview-stage img{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100vw;max-height:calc(100vh - 118px);transition:none}.preview-review-panel{grid-template-columns:auto minmax(0,1fr);justify-content:stretch;padding:10px;bottom:10px;left:10px;right:10px}.preview-comment-field{grid-column:1/-1}}@media (width<=620px){.topbar,.sidebar,.main-surface{padding-inline:14px}.photo-grid,.summary-strip,.selected-photo-summary{grid-template-columns:1fr}.selected-photo-copy{width:100%}.submitted-row{grid-template-columns:88px minmax(0,1fr)}.submitted-row-content.has-comment{grid-template-columns:1fr;gap:6px}.submitted-row .submitted-comment{color:#303a35;text-align:left;justify-self:start;font-size:13px}}
