:root{--font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-color: #0f172a;--card-bg: rgba(30, 41, 59, .85);--card-border: rgba(255, 255, 255, .1);--primary-color: #0284c7;--primary-hover: #0369a1;--accent-color: #10b981;--accent-hover: #059669;--danger-color: #ef4444;--danger-hover: #dc2626;--warning-color: #f59e0b;--text-main: #f8fafc;--text-muted: #94a3b8;--input-bg: #0f172a;--input-border: #334155;--radius-lg: 16px;--radius-md: 10px;--shadow-glow: 0 10px 30px -10px rgba(2, 132, 199, .35)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);line-height:1.5;min-height:100vh;background-image:radial-gradient(at 0% 0%,rgba(2,132,199,.15) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(16,185,129,.1) 0px,transparent 50%);background-attachment:fixed}.app-container{max-width:920px;margin:0 auto;padding:16px}.app-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--card-bg);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:var(--radius-lg);margin-bottom:24px;box-shadow:0 4px 20px #0003}.header-brand{display:flex;align-items:center;gap:14px}.vku-logo{background:linear-gradient(135deg,#0284c7,#38bdf8);color:#fff;font-weight:800;font-size:1.1rem;padding:8px 14px;border-radius:var(--radius-md);letter-spacing:1px}.title-group h1{font-size:1.25rem;font-weight:700;color:var(--text-main)}.title-group .subtitle{font-size:.75rem;color:var(--text-muted);display:block}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.badge.online{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge.offline{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.status-dot{width:8px;height:8px;border-radius:50%;background-color:currentColor;display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.main-content{display:flex;flex-direction:column;gap:24px}.card{background:var(--card-bg);backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:24px;box-shadow:0 8px 32px #00000040}.section-title{font-size:1.1rem;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:10px;color:#e2e8f0}.section-desc{font-size:.85rem;color:var(--text-muted);margin-top:-12px;margin-bottom:16px}.icon{width:20px;height:20px}.survey-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}input[type=text],select,textarea{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-main);padding:12px 14px;border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;transition:all .2s ease}input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0284c740}.star-rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:8px;background:#0f172a99;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--input-border)}.star-rating-input input{display:none}.star-rating-input label{cursor:pointer;font-size:1.1rem;font-weight:700;color:var(--text-muted);transition:color .2s ease}.star-rating-input input:checked~label,.star-rating-input label:hover,.star-rating-input label:hover~label{color:#f59e0b}.location-header,.photo-header{display:flex;justify-content:space-between;align-items:center}.location-display,.photo-preview-container{background:#0f172a99;border:1px dashed var(--input-border);border-radius:var(--radius-md);padding:12px 16px;font-size:.85rem;color:var(--text-muted)}.location-display.active{border-style:solid;border-color:var(--accent-color);color:#34d399;background:#10b9810d}.photo-preview-container img{max-width:100%;max-height:220px;border-radius:var(--radius-md);object-fit:cover}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.1)}.btn-secondary{background:#334155;color:#e2e8f0}.btn-secondary:hover{background:#475569}.btn-accent{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff}.btn-danger{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:#ef44444d}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-block{width:100%;padding:14px}.drafts-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:16px}.drafts-list{display:flex;flex-direction:column;gap:14px}.draft-item{background:#0f172ab3;border:1px solid var(--input-border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px}.draft-header-row{display:flex;justify-content:space-between;align-items:center}.draft-title{font-weight:700;font-size:1rem;color:#f1f5f9}.status-pill{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:12px;text-transform:uppercase}.status-pill.PENDING_SYNC{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.status-pill.SYNCED{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.status-pill.FAILED{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.draft-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;font-size:.85rem;color:var(--text-muted)}.draft-photo-thumb img{width:90px;height:65px;object-fit:cover;border-radius:6px}.draft-footer-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.05);padding-top:10px;margin-top:4px}.app-footer{text-align:center;padding:24px 0;font-size:.8rem;color:var(--text-muted)}
