.photoGridV2{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px;margin-top:20px}.photoCard{background:#fff;border:1px solid #e5e8e2;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.05)}.photoImageButton{display:block;position:relative;width:100%;height:220px;padding:0;border:0;background:#eef1eb;cursor:pointer;overflow:hidden}.photoImageButton img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.photoImageButton:hover img{transform:scale(1.025)}.photoBadge{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.photoBadge-Vorher{background:#3976ba}.photoBadge-Während{background:#c89016}.photoBadge-Nachher{background:#3f812b}.photoCardBody{padding:14px}.photoFileName{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photoDate{display:block;color:#747a72;font-size:12px;margin-top:4px}.photoActions{display:flex;align-items:center;gap:7px;margin-top:12px;flex-wrap:wrap}.photoActions select{flex:1 1;min-width:100px}.photoActions button{padding:8px 10px}.dangerSoft{background:#fff3f1!important;color:#a53b30!important;border:1px solid #ead2ce!important}.photoLightbox{position:fixed;inset:0;z-index:9999;background:rgba(6,12,8,.92);display:flex;align-items:center;justify-content:center;padding:30px}.photoLightboxContent{max-width:min(1200px,88vw);max-height:90vh;display:flex;flex-direction:column;align-items:center}.photoLightboxContent img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px}.photoLightboxInfo{margin-top:12px;display:flex;gap:18px;align-items:center;color:white;font-size:14px}.photoLightboxClose,.photoLightboxNext,.photoLightboxPrev{position:fixed;border:0;background:rgba(255,255,255,.15);color:white;cursor:pointer;border-radius:50%}.photoLightboxClose{top:32px!important;right:32px!important;width:52px!important;height:52px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border:1px solid rgba(255,255,255,.2)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.photoLightboxNext,.photoLightboxPrev{top:50%;width:54px;height:54px;transform:translateY(-50%);font-size:40px;line-height:40px}.photoLightboxPrev{left:25px}.photoLightboxNext{right:25px}@media(max-width:700px){.photoGridV2{grid-template-columns:1fr 1fr;gap:10px}.photoImageButton{height:160px}.photoCardBody{padding:10px}.photoActions{flex-direction:column;align-items:stretch}.photoLightbox{padding:10px}.photoLightboxPrev{left:8px}.photoLightboxNext{right:8px}}.photoGrid.photoGridV2{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px;margin-top:22px;align-items:start}.photoGridV2 .photoCard{display:block;background:#fff!important;border:1px solid #e7e9e5!important;border-radius:16px!important;overflow:hidden;box-shadow:0 3px 12px rgba(20,30,20,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.photoGridV2 .photoCard:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(20,30,20,.1);border-color:#d9ddd5!important}.photoGridV2 .photoImageButton{display:block!important;position:relative;width:100%;height:220px;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#f2f4f0!important;overflow:hidden;cursor:pointer;box-shadow:none!important}.photoGridV2 .photoImageButton:hover{background:#f2f4f0!important}.photoGridV2 .photoImageButton img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0!important;transition:transform .25s ease}.photoGridV2 .photoImageButton:hover img{transform:scale(1.025)}.photoGridV2 .photoBadge{position:absolute!important;top:12px!important;left:12px!important;bottom:auto!important;width:auto!important;min-width:0!important;padding:6px 10px!important;border-radius:999px!important;color:#fff!important;font-size:12px!important;line-height:1!important;font-weight:700!important;box-shadow:0 2px 8px rgba(0,0,0,.16)}.photoGridV2 .photoBadge-Vorher{background:#3976ba!important}.photoGridV2 .photoBadge-Während{background:#bc8511!important}.photoGridV2 .photoBadge-Nachher{background:#4b812f!important}.photoGridV2 .photoCardBody{display:block;padding:14px 15px 15px!important;background:#fff!important}.photoGridV2 .photoFileName{display:block;margin:0;color:#20231f;font-size:14px;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photoGridV2 .photoDate{display:block;margin-top:4px;color:#868c83;font-size:12px;font-weight:500;line-height:1.35}.photoGridV2 .photoActions{display:grid;grid-template-columns:minmax(105px,1fr) auto auto;grid-gap:7px;gap:7px;align-items:center;margin-top:13px}.photoGridV2 .photoActions select{width:100%;min-width:0;height:34px;padding:0 8px;border:1px solid #dfe3dc;border-radius:8px;background:#f8f9f7;color:#373b35;font-size:12px;font-weight:600;outline:none}.photoGridV2 .photoActions select:focus{border-color:#79a85e;box-shadow:0 0 0 3px rgba(89,145,55,.1)}.photoGridV2 .photoActions button{min-width:0!important;width:auto!important;height:34px!important;margin:0!important;padding:0 11px!important;border-radius:8px!important;font-size:12px!important;font-weight:700!important;line-height:32px!important;box-shadow:none!important}.photoGridV2 .photoActions .soft{background:#f1f3ef!important;border:1px solid #e0e4dd!important;color:#40463d!important}.photoGridV2 .photoActions .soft:hover{background:#e9ece6!important}.photoGridV2 .photoActions .dangerSoft{background:#fff!important;border:1px solid #eadbd8!important;color:#ad4a40!important}.photoGridV2 .photoActions .dangerSoft:hover{background:#fff3f1!important;border-color:#e0c4bf!important}.photoLightbox{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.photoLightboxContent img{box-shadow:0 20px 60px rgba(0,0,0,.35)}.photoLightboxInfo{padding:10px 16px;border-radius:10px;background:rgba(20,24,20,.65)}@media(max-width:1000px){.photoGrid.photoGridV2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.photoGrid.photoGridV2{grid-template-columns:1fr;gap:14px}.photoGridV2 .photoImageButton{height:240px}.photoGridV2 .photoActions{grid-template-columns:1fr auto auto}.photoLightboxInfo{flex-direction:column;gap:3px}}.gwGallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-gap:22px!important;gap:22px!important;width:100%!important;margin-top:22px!important;padding:0!important}.gwPhotoCard{display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;background:#ffffff!important;border:1px solid #e4e8e1!important;border-radius:18px!important;box-shadow:0 4px 16px rgba(25,38,23,.06)!important;transition:transform .18s ease,box-shadow .18s ease!important}.gwPhotoCard:hover{transform:translateY(-2px)!important;box-shadow:0 10px 28px rgba(25,38,23,.1)!important}.gwPhotoMedia{position:relative!important;height:230px!important;overflow:hidden!important;background:#eef1ec!important;cursor:pointer!important}.gwPhotoImage,.gwPhotoMedia{display:block!important;width:100%!important}.gwPhotoImage{height:100%!important;margin:0!important;padding:0!important;object-fit:cover!important;border:0!important;border-radius:0!important;transition:transform .25s ease!important}.gwPhotoMedia:hover .gwPhotoImage{transform:scale(1.025)!important}.gwPhotoBadge{position:absolute!important;top:12px!important;left:12px!important;z-index:2!important;display:inline-flex!important;align-items:center!important;width:auto!important;padding:6px 11px!important;border-radius:999px!important;color:#ffffff!important;font-size:12px!important;line-height:1!important;font-weight:700!important;box-shadow:0 2px 9px rgba(0,0,0,.16)!important}.gwPhotoBadge-Vorher{background:#3976ba!important}.gwPhotoBadge-Während{background:#b78316!important}.gwPhotoBadge-Nachher{background:#4c8234!important}.gwPhotoZoom{position:absolute!important;left:50%!important;top:50%!important;z-index:3!important;transform:translate(-50%,-45%)!important;opacity:0!important;padding:8px 14px!important;border-radius:9px!important;background:rgba(20,26,19,.72)!important;color:#fff!important;font-size:13px!important;font-weight:700!important;pointer-events:none!important;transition:opacity .18s ease,transform .18s ease!important}.gwPhotoMedia:hover .gwPhotoZoom{opacity:1!important;transform:translate(-50%,-50%)!important}.gwPhotoContent{gap:13px!important;padding:15px!important;background:#ffffff!important}.gwPhotoContent,.gwPhotoMeta{display:flex!important;flex-direction:column!important}.gwPhotoMeta{min-width:0!important;gap:4px!important}.gwPhotoMeta strong{min-width:0!important;overflow:hidden!important;color:#252a24!important;font-size:14px!important;font-weight:700!important;line-height:1.35!important;text-overflow:ellipsis!important;white-space:nowrap!important}.gwPhotoMeta span,.gwPhotoMeta strong{display:block!important;margin:0!important}.gwPhotoMeta span{color:#81877e!important;font-size:12px!important;font-weight:500!important;line-height:1.3!important}.gwPhotoToolbar{display:grid!important;grid-template-columns:minmax(100px,1fr) auto auto!important;align-items:center!important;grid-gap:7px!important;gap:7px!important;width:100%!important}.gwPhotoCategory{width:100%!important;padding:0 9px!important;border:1px solid #dfe4dc!important;background:#f7f9f6!important;color:#383d36!important;font-weight:600!important}.gwPhotoCategory,.gwPhotoDeleteButton,.gwPhotoViewButton{min-width:0!important;height:36px!important;margin:0!important;border-radius:9px!important;font-size:12px!important;box-shadow:none!important}.gwPhotoDeleteButton,.gwPhotoViewButton{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;padding:0 11px!important;font-weight:700!important;line-height:1!important}.gwPhotoViewButton{border:1px solid #dfe4dc!important;background:#f3f5f1!important;color:#3d443a!important}.gwPhotoViewButton:hover{background:#e9ede6!important}.gwPhotoDeleteButton{border:1px solid #ecd9d6!important;background:#ffffff!important;color:#a7483e!important}.gwPhotoDeleteButton:hover{border-color:#e1c4bf!important;background:#fff3f1!important}@media(max-width:1100px){.gwGallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:680px){.gwGallery{grid-template-columns:1fr!important;gap:14px!important}.gwPhotoMedia{height:240px!important}.gwPhotoToolbar{grid-template-columns:1fr auto auto!important}}@media(max-width:430px){.gwPhotoToolbar{grid-template-columns:1fr 1fr!important}.gwPhotoCategory{grid-column:1/-1!important}.gwPhotoDeleteButton,.gwPhotoViewButton{width:100%!important}}.photoLightbox{position:fixed!important;inset:0!important;z-index:99999!important;width:100vw!important;height:100vh!important;margin:0!important;padding:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(8,12,8,.94)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;overflow:hidden!important}.photoLightboxContent{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;max-height:92vh!important;background:transparent!important}.photoLightboxContent,.photoLightboxContent img{width:auto!important;max-width:90vw!important;height:auto!important;margin:0!important;padding:0!important}.photoLightboxContent img{display:block!important;max-height:80vh!important;object-fit:contain!important;border:0!important;border-radius:12px!important;box-shadow:0 20px 60px rgba(0,0,0,.5)!important}.photoLightboxInfo{display:flex!important;flex-direction:row!important;gap:16px!important;align-items:center!important;margin-top:12px!important;padding:9px 14px!important;border-radius:10px!important;background:rgba(0,0,0,.45)!important;color:#fff!important}.photoLightboxClose{position:fixed!important;top:22px!important;right:22px!important;z-index:100001!important;width:48px!important;height:48px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:32px!important;line-height:42px!important;cursor:pointer!important}.photoLightboxNext,.photoLightboxPrev{position:fixed!important;top:50%!important;z-index:100001!important;width:54px!important;height:54px!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:38px!important;line-height:1!important;cursor:pointer!important}.photoLightboxPrev{left:24px!important}.photoLightboxNext{right:24px!important}@media(max-width:700px){.photoLightbox{padding:10px!important}.photoLightboxContent img{max-width:96vw!important;max-height:78vh!important}.photoLightboxPrev{left:8px!important}.photoLightboxNext{right:8px!important}.photoLightboxClose{top:10px!important;right:10px!important}.photoLightboxInfo{flex-direction:column!important;gap:2px!important}}.photoLightboxClose,.photoLightboxNext,.photoLightboxPrev{transition:background .18s ease,transform .18s ease,box-shadow .18s ease!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.photoLightboxClose:hover,.photoLightboxNext:hover,.photoLightboxPrev:hover{background:rgba(255,255,255,.22)!important;box-shadow:0 8px 24px rgba(0,0,0,.28)}.photoLightboxInfo{padding:10px 18px!important;border-radius:16px!important;background:rgba(20,20,20,.62)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(0,0,0,.25)}.photoLightboxInfo strong{font-size:15px}.photoLightboxInfo span{opacity:.82}.photoDropzone{min-height:110px;padding:22px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed #c8cec7;border-radius:16px;background:#f8faf7;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.photoDropzone:hover{border-color:#789478;background:#f2f6f1}.photoDropzone.active{border-color:#527552;background:#edf5ec;transform:scale(1.01)}.photoDropzone strong{font-size:15px;font-weight:700}.photoDropzone span{font-size:13px;color:#727a72}.photoFileInput{display:none}.photoUploadProgress{margin-top:12px;padding:10px 14px;border-radius:10px;background:#f2f5f1;font-size:14px;font-weight:600}.photoForm button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.photoDropzone{min-height:95px;padding:18px}}.photoGroup{margin-top:32px}.photoGroup:first-child{margin-top:0}.photoGroupTitle{display:flex;justify-content:space-between;margin:0 0 18px;padding-bottom:10px;font-size:20px;border-bottom:2px solid #e6ebe4}.photoGroupCount,.photoGroupTitle{align-items:center;font-weight:700}.photoGroupCount{display:inline-flex;justify-content:center;min-width:34px;height:34px;padding:0 12px;border-radius:999px;background:#eef4ed;color:#476547;font-size:14px}@media(max-width:700px){.photoGroup{margin-top:24px}.photoGroupTitle{font-size:18px}}.photoJobToolbar{display:flex;align-items:center;gap:12px}.photoJobToolbar select{flex:1 1}.photoJobToolbar button{white-space:nowrap}@media(max-width:700px){.photoJobToolbar{flex-direction:column;align-items:stretch}}.dialogError{margin:18px 0 0;padding:12px 14px;border-radius:10px;background:#f5dddd;border:1px solid #e3bcbc;color:#8c2020;font-weight:700;font-size:13px}.jobDocumentForm{display:grid;grid-template-columns:150px 1fr auto auto;grid-gap:10px;gap:10px;align-items:center;margin-bottom:16px}.jobDocumentForm input,.jobDocumentForm select{width:100%;padding:11px;border:1px solid #d8dcd5;border-radius:8px;font:inherit}.row a.soft{display:inline-block;padding:8px 10px;border-radius:8px;font-weight:800;text-decoration:none;color:inherit}@media(max-width:700px){.jobDocumentForm{grid-template-columns:1fr}}.gwLogin{min-height:100dvh;align-items:center;justify-content:center;padding:24px}.gwLogin,.gwLoginCard{display:flex;box-sizing:border-box}.gwLoginCard{width:100%;max-width:380px;flex-direction:column;background:var(--gw-surface);border:1px solid var(--gw-border);border-radius:16px;padding:28px 24px 24px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.gwLoginBrand{display:flex;justify-content:center;margin-bottom:18px}.gwLoginCard h1{margin:0;font-size:20px}.gwLoginHint{margin:6px 0 20px;font-size:13px;color:var(--gw-text-secondary)}.gwLoginCard label{font-size:13px;font-weight:600;margin-bottom:6px}.gwLoginCard input{margin-bottom:14px;font-size:16px;width:100%;box-sizing:border-box}.gwLoginSubmit{margin-top:8px;padding:13px 16px;font-size:15px;min-height:48px}.gwUserMenuWrap{position:relative;display:flex;align-items:center;gap:8px}.gwUserMenuFlag{font-size:11px;font-weight:700;padding:4px 8px;border-radius:999px;background:#f5dddd;border:1px solid #e3bcbc;color:#8c2020;white-space:nowrap}.gwUserMenuBackdrop{position:fixed;inset:0;z-index:40}.gwUserMenu{position:absolute;top:calc(100% + 8px);right:0;z-index:41;min-width:190px;display:flex;flex-direction:column;background:var(--gw-surface);border:1px solid var(--gw-border);border-radius:12px;padding:6px;box-shadow:0 10px 24px rgba(0,0,0,.12)}.gwUserMenu button{background:transparent;border:0;text-align:left;padding:11px 12px;border-radius:8px;font-weight:600;min-height:44px}.gwUserMenu button:hover{background:var(--gw-surface-soft)}@media(max-width:700px){.gwUserMenuFlag{display:none}}.gwTokenIntro{margin:0 0 12px}.dialogWarn,.gwTokenIntro{font-size:13px;line-height:1.55}.dialogWarn{margin:0 0 18px;padding:12px 14px;border-radius:10px;background:#fdf3dd;border:1px solid #e9d7a6;color:#6b5210}.gwTokenNew{margin-bottom:18px;padding:14px;border-radius:10px;background:var(--gw-green-100);border:1px solid #c4dfb4}.gwTokenNew strong{display:block;margin-bottom:10px;font-size:13px}.gwTokenNewRow{display:flex;gap:8px;margin-bottom:10px}.gwTokenNewRow input{flex:1 1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.gwTokenNewRow button{white-space:nowrap}.gwTokenListTitle{margin:22px 0 4px;font-size:14px}:root{--gw-green-950:#0b160d;--gw-green-900:#102416;--gw-green-500:#5fa347;--gw-green-400:#74c947;--gw-green-100:#e8f5df;--gw-bg:#edf0ea;--gw-surface:#ffffff;--gw-surface-soft:#f7f9f5;--gw-text:#182019;--gw-text-secondary:#626b63;--gw-text-inverse:#ffffff;--gw-border:#dfe4dc;--gw-border-soft:#e9ede7;--gw-danger:#b54c4c;--gw-danger-bg:#f8e6e6;--gw-sidebar-bg:#0e1510;--gw-sidebar-hover:#1b251d;--gw-sidebar-text:#b9c3b9;--gw-sidebar-text-active:#ffffff;--gw-radius-md:10px;--gw-radius-xl:16px;--gw-shadow-sm:0 2px 8px rgba(16,36,22,0.06);--gw-shadow-lg:0 18px 50px rgba(16,36,22,0.13);--gw-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--gw-transition-fast:120ms ease}body,html{background:var(--gw-bg)}body{margin:0;color:var(--gw-text);font-family:var(--gw-font)}button,input,select,textarea{font:inherit}::selection{background:var(--gw-green-100);color:var(--gw-green-950)}:root{--status-planned-bg:#e7f0ff;--status-planned-text:#1d5db8;--status-progress-bg:#fff5df;--status-progress-text:#b06a00;--status-done-bg:#e8f7ea;--status-done-text:#2c7a41;--status-warning-bg:#fff0d9;--status-warning-text:#bf6a00;--status-danger-bg:#fde8e8;--status-danger-text:#b12f2f;--status-info-bg:#eef5ff;--status-info-text:#2463c5;--status-archived-bg:#efefef;--status-archived-text:#666666}