@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&display=swap";:root{--bg: #eef3f0;--bg-contrast: #dce9e2;--surface: rgba(255, 255, 255, .75);--surface-strong: #ffffff;--text: #14231d;--muted: #4b6358;--accent: #0f8f6f;--accent-dark: #08634d;--ring: rgba(15, 143, 111, .26);--shadow: 0 18px 50px rgba(15, 35, 28, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Space Grotesk,sans-serif;color:var(--text);background:radial-gradient(circle at 20% 20%,rgba(15,143,111,.2),transparent 45%),radial-gradient(circle at 80% 10%,rgba(20,35,29,.14),transparent 35%),linear-gradient(160deg,var(--bg),var(--bg-contrast))}.app-shell{width:min(1120px,94vw);margin:24px auto 40px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;padding:18px 22px;background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.6);border-radius:24px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:16px}.brand-logo{width:68px;height:68px;object-fit:contain;border-radius:16px;background:#fff;padding:8px}.brand h1{margin:0;font-size:clamp(1.1rem,2.6vw,1.6rem)}.brand-kicker{margin:0 0 2px;color:var(--muted);letter-spacing:.07em;font-size:.72rem;text-transform:uppercase}.nav-tabs{display:flex;gap:10px}.tab{text-decoration:none;color:var(--muted);background:#fff;border-radius:999px;padding:10px 18px;border:1px solid #e2ece8;transition:all .24s ease}.tab.active,.tab:hover{color:#fff;background:linear-gradient(130deg,var(--accent),var(--accent-dark));border-color:transparent}.content{margin-top:20px}.panel{background:var(--surface);border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.panel h2{margin:0;font-size:clamp(1.1rem,2.2vw,1.4rem)}.subtitle{margin-top:8px;margin-bottom:20px;color:var(--muted)}.form-grid{display:grid;gap:14px;width:min(560px,100%)}label{display:grid;gap:8px;font-weight:500}input,select{width:100%;border:1px solid #d3e2dc;border-radius:12px;padding:12px;font:inherit;background:#fff}input:focus,select:focus{outline:3px solid var(--ring);border-color:var(--accent)}.primary-btn{border:0;border-radius:12px;padding:12px 18px;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(130deg,var(--accent),var(--accent-dark));transition:transform .2s ease}.primary-btn:hover{transform:translateY(-2px)}.primary-btn:disabled{cursor:wait;opacity:.7}.preview-card{margin-top:18px;max-width:340px;background:var(--surface-strong);border-radius:18px;overflow:hidden;border:1px solid #dbe8e3}.preview-card img{width:100%;display:block}.feedback{margin-top:16px;color:var(--muted)}.history-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.filters{display:flex;gap:8px;align-items:center}.date-filters{display:flex;align-items:center;gap:8px;background:#fff;padding:4px 12px;border:1px solid #d3e2dc;border-radius:12px;flex-wrap:nowrap}.date-input-wrapper{position:relative;display:flex;align-items:center;min-width:120px}.date-input-wrapper input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.custom-date-display{font-size:.9rem;color:var(--text);pointer-events:none;z-index:1;display:flex;align-items:center;gap:8px}.custom-date-display:after{content:"📅";font-size:.8rem}.date-filters span{font-size:.85rem;color:var(--muted);white-space:nowrap}@media (max-width: 600px){.history-head{align-items:stretch}.filters{flex-direction:column;align-items:stretch}.date-filters{justify-content:space-between}.date-filters input{width:45%;font-size:.8rem}}.gallery{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.photo-card{background:var(--surface-strong);border:1px solid #dbe8e3;border-radius:16px;overflow:hidden;position:relative}.photo-card-top{position:relative}.btn-delete{position:absolute;top:10px;right:10px;background:#ff4d4d;color:#fff;border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .2s ease;box-shadow:0 2px 10px #0003;opacity:1;z-index:10}.btn-delete:active{transform:scale(.9);background:#c00}.photo-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.photo-meta{display:grid;gap:6px;padding:12px;font-size:.9rem;color:#294338}.reveal{animation:fadeUp .44s ease both}.reveal-delay{animation:fadeUp .56s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#14231d66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:var(--surface-strong);padding:32px;border-radius:24px;max-width:400px;width:90%;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8);text-align:center}.modal-content h3{margin:0 0 16px;color:var(--accent-dark)}.modal-content p{margin:0 0 24px;line-height:1.5}.modal-actions{display:flex;gap:12px;justify-content:center}.btn-export{background:var(--surface-strong);color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:8px 16px;font:inherit;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-export:hover:not(:disabled){background:var(--accent);color:#fff}.btn-delete-selected{background:var(--surface-strong);color:#dc3545;border:1px solid #dc3545;border-radius:999px;padding:8px 16px;font:inherit;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-delete-selected:hover:not(:disabled){background:#dc3545;color:#fff}.btn-delete-selected:disabled{opacity:.5;cursor:not-allowed;border-color:var(--muted);color:var(--muted)}.checkbox-container{display:flex;align-items:center;gap:8px;margin-right:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-container input{width:18px;height:18px;cursor:pointer}.selection-overlay{position:absolute;top:10px;left:10px;z-index:10}.selection-overlay input{width:20px;height:20px;cursor:pointer}.btn-export:disabled{opacity:.5;cursor:not-allowed;border-color:var(--muted);color:var(--muted)}.secondary-btn{border:1px solid #d3e2dc;border-radius:12px;padding:12px 18px;font:inherit;color:var(--muted);cursor:pointer;background:#fff}.danger-btn{border:0;border-radius:12px;padding:12px 18px;font:inherit;color:#fff;cursor:pointer;background:#d9534f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.input-with-button{display:flex;gap:8px}.input-with-button input{flex:1}.ok-btn{padding:0 20px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:500;cursor:pointer}.ok-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 760px){.app-shell{width:min(1120px,96vw)}.topbar,.panel{border-radius:18px;padding:16px}.brand-logo{width:56px;height:56px}.gallery{grid-template-columns:1fr}}.file-input-container{display:flex;flex-direction:column;gap:10px;margin-top:5px}.camera-trigger-btn{background:#2c3e50;color:#fff;border:none;padding:12px;border-radius:12px;cursor:pointer;font-weight:500;transition:background .2s}.camera-trigger-btn:hover{background:#34495e}.or-text{text-align:center;font-size:11px;color:#666;text-transform:uppercase;letter-spacing:1px}.preview-card img{width:100%;border-radius:12px;box-shadow:0 4px 12px #0000001a}
