@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:inline-flex;height:80px;justify-content:center;margin-bottom:20px;width:80px}.login-header h1{color:#1a1a1a;font-size:28px;font-weight:700;margin-bottom:8px}.login-header p{color:#666;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.error-message{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;display:flex;font-size:14px;gap:10px;padding:12px 16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{align-items:center;color:#333;display:flex;font-size:14px;font-weight:500;gap:8px}.form-group input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 16px;transition:all .3s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:all .3s ease}.login-button:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px;text-align:center}.login-footer p{color:#999;font-size:12px}@media (max-width:480px){.login-card{padding:30px 20px}.login-header h1{font-size:24px}}body,html{max-width:100vw;overflow-x:hidden}*{box-sizing:border-box}.dashboard{background:#f5f7fa;min-height:100vh}.dashboard,.dashboard-header{max-width:100vw;overflow-x:hidden}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px #0000001a;color:#fff;padding:16px 12px;width:100%}.header-content{justify-content:space-between;margin:0 auto;max-width:100%;padding:0 16px;width:100%}.header-content,.header-left{align-items:center;display:flex}.header-left{flex:1 1;gap:16px;min-width:0}.header-left h1{font-size:clamp(18px,5vw,28px);font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-left p{font-size:14px;margin:4px 0 0;opacity:.9}.version-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff40;border-radius:20px;color:#fff;display:flex;flex-shrink:1;font-size:12px;font-weight:600;gap:6px;min-width:0;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.version-badge:hover{background:#ffffff40;transform:translateY(-2px)}.version-badge svg{opacity:.9}.version-badge span{white-space:nowrap}.version-badge .version-date{border-left:1px solid #ffffff4d;font-size:12px;font-weight:400;opacity:.8;padding-left:8px}.logout-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:1;font-size:13px;font-weight:500;gap:6px;min-width:0;padding:8px 14px;transition:all .3s ease;white-space:nowrap}.logout-btn:hover{background:#ffffff4d}.dashboard-content{margin:0 auto;max-width:100%;overflow-x:hidden;padding:24px;width:100%}.controls-bar{flex-wrap:wrap;gap:16px;margin-bottom:24px}.controls-bar,.search-box{align-items:center;display:flex}.search-box{background:#fff;border:2px solid #e0e0e0;border-radius:10px;flex:1 1;gap:12px;min-width:0;padding:12px 16px;transition:all .3s ease}.search-box:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-box input{border:none;flex:1 1;font-size:15px;min-width:0;outline:none}.filters{display:flex;flex-wrap:wrap;gap:12px}.filter-group{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;display:flex;gap:8px;padding:12px 16px}.filter-group select{background:#0000;border:none;cursor:pointer;font-size:15px;max-width:100%;min-width:0;outline:none}.clear-filter-btn{align-items:center;background:#e5e7eb;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;line-height:1;margin:0;padding:0;transition:all .2s ease;width:24px}.clear-filter-btn:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.clear-filter-btn:active{transform:scale(.95)}.add-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.add-btn:hover{box-shadow:0 8px 16px #667eea4d;transform:translateY(-2px)}.filter-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#666;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.filter-btn:hover{background:#fffbeb;border-color:#fbbf24;color:#92400e}.filter-btn.active{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:#fbbf24;color:#fff}.filter-btn.active:hover{background:linear-gradient(135deg,#f59e0b,#d97706)}.error-banner{align-items:center;background:#fee;border:1px solid #fcc;border-radius:10px;color:#c33;display:flex;gap:12px;margin-bottom:24px;padding:16px}.firmen-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.firma-card{word-wrap:break-word;background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000014;max-width:100%;overflow:hidden;padding:20px;transition:all .3s ease}.firma-card:hover{border-color:#667eea;box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.firma-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.firma-header h3{color:#1a1a1a;flex:1 1;font-size:18px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;min-width:0;overflow-wrap:break-word;white-space:normal;word-break:break-word}.firma-actions{gap:8px}.firma-actions,.icon-btn{display:flex;flex-shrink:0}.icon-btn{align-items:center;background:#f5f7fa;border:none;border-radius:8px;color:#666;cursor:pointer;height:36px;justify-content:center;min-width:36px;transition:all .2s ease;width:36px}.icon-btn:hover{background:#667eea;color:#fff;transform:scale(1.1)}.icon-btn-danger:hover{background:#ef4444;color:#fff}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.badge-notfall{background:#fee;border:1px solid #fcc;color:#c33}.badge-rahmenvertrag{align-items:center;background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af;display:inline-flex}.badge-docs{background:#e0e7ff;color:#4338ca}.badge-bevorzugt{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.badge-standard{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.badge-backup{background:#fed7aa;border:1px solid #fdba74;color:#9a3412}.badge-notfall-prio{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.badge-keine{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280}.firma-body{display:flex;flex-direction:column;gap:12px;min-width:0;width:100%}.info-row{align-items:flex-start;color:#666;display:flex;font-size:14px;gap:8px;word-break:break-word}.info-row,.info-row a{overflow-wrap:break-word}.info-row a{color:#667eea;flex:1 1;min-width:0;text-decoration:none;transition:color .2s;word-break:break-all}.info-row a:hover{color:#764ba2;text-decoration:underline}.tags-section{align-items:flex-start;gap:10px;margin-top:8px;width:100%}.tags,.tags-section{display:flex;min-width:0}.tags{flex:1 1;flex-wrap:wrap;gap:6px}.tag{border-radius:6px;font-size:12px;font-weight:500;padding:4px 10px}.tag-gewerk{background:#e0e7ff;color:#4338ca}.tag-filiale{background:#dcfce7;color:#166534;cursor:help;position:relative;transition:all .2s ease}.tag-filiale:hover{background:#bbf7d0;box-shadow:0 2px 4px #1665341a;transform:translateY(-1px)}.tag-more{background:#f3f4f6;color:#6b7280;cursor:help;position:relative;transition:all .2s ease}.tag-more:hover{background:#e5e7eb;box-shadow:0 2px 4px #0000000d;transform:translateY(-1px)}.empty-state{color:#999;padding:80px 20px;text-align:center}.empty-state svg{margin-bottom:20px;opacity:.3}.empty-state h3{color:#666;font-size:20px;margin-bottom:8px}.empty-state p{font-size:14px}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1100px;outline:none;width:100%}.modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0}.close-btn{align-items:center;background:#f5f7fa;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.close-btn:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-footer{background:#fff;bottom:0;box-shadow:0 -4px 6px #0000000d;padding:16px 24px;position:-webkit-sticky;position:sticky;z-index:10}.modal-form{padding:24px}.form-section{margin-bottom:32px}.form-section h4{border-bottom:2px solid #f0f0f0;color:#1a1a1a;font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.ansprechperson-group{background:#f9fafb;border-radius:8px;margin-bottom:12px;padding:16px}.ansprechperson-group h5{color:#666;font-size:14px;font-weight:600;margin-bottom:12px}.form-row{grid-gap:16px;display:grid;gap:16px;margin-bottom:16px}.form-row-2{grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}.form-row-4{grid-template-columns:1.5fr 1.5fr 1fr 1.5fr}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{color:#333;font-size:14px;font-weight:500}.form-field input,.form-field select,.form-field textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:10px 14px;transition:all .3s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:8px;transition:background .2s}.checkbox-label:hover{background:#f9fafb}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.checkbox-label span{color:#333;font-size:14px}.checkbox-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.modal-footer{background:#f9fafb;border-radius:0 0 16px 16px;border-top:2px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.btn-secondary{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-secondary:hover{background:#f5f7fa;border-color:#ccc}.btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 8px 16px #667eea4d;transform:translateY(-2px)}.loading{align-items:center;color:#666;display:flex;font-size:20px;justify-content:center;min-height:100vh}@media (max-width:768px){.dashboard-header{padding:16px 12px}.header-content{flex-wrap:wrap;gap:12px}.header-left{width:100%}.header-left h1{font-size:20px}.header-actions{flex-wrap:wrap;width:100%}.version-badge{font-size:11px;padding:6px 12px}.version-badge svg{height:14px;width:14px}.version-badge .version-date{display:none}.logout-btn,.settings-btn{flex:1 1;font-size:13px;padding:8px 16px}.dashboard-content{padding:16px 12px}.controls-bar{flex-direction:column;gap:10px}.filters,.search-box{width:100%}.search-box{padding:10px 12px}.filter-group{width:100%}.add-btn,.filter-btn{justify-content:center;width:100%}.firmen-grid{gap:12px;grid-template-columns:1fr}.firma-card{padding:14px}.firma-header{margin-bottom:12px;padding-bottom:10px}.firma-header h3{font-size:15px;line-height:1.3}.icon-btn{height:32px;min-width:32px;width:32px}.badge{font-size:11px;padding:3px 8px}.info-row{font-size:12px;gap:6px}.tag{font-size:11px;padding:3px 6px}.checkbox-grid,.form-row-2,.form-row-3,.form-row-4{grid-template-columns:1fr}.modal-content{border-radius:0;max-height:100vh}.modal-header{padding:16px}.modal-header h2{font-size:20px}.close-btn{height:36px;width:36px}.modal-body,.modal-form{padding:16px}.form-field label{font-size:13px}.form-field input,.form-field select,.form-field textarea{font-size:14px;padding:10px 12px}.modal-footer{flex-direction:column-reverse;padding:16px}.btn-primary,.btn-secondary{justify-content:center;width:100%}.filialen-management{max-height:calc(100vh - 60px);padding:16px}.filiale-form{padding:16px}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.filiale-info{flex-wrap:wrap}.filiale-actions{justify-content:flex-end;width:100%}.detail-grid{grid-template-columns:1fr}.detail-view{max-height:calc(100vh - 60px);padding:12px}.ansprechpersonen-grid,.filialen-detail-grid{grid-template-columns:1fr}.modal-header-actions{flex-direction:column;width:100%}.icon-btn-edit{justify-content:center;width:100%}.dokument-item{flex-wrap:wrap}.dokument-actions{justify-content:flex-end;width:100%}}@media (max-width:480px){.dashboard-content,.firma-card,.modal-body,.modal-footer,.modal-form,.modal-header{padding:12px}.header-left h1{font-size:18px}}.header-actions{gap:12px}.header-actions,.settings-btn{align-items:center;display:flex}.settings-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:1;font-size:13px;font-weight:500;gap:6px;min-width:0;padding:8px 14px;transition:all .3s ease;white-space:nowrap}.settings-btn:hover{background:#ffffff4d}.modal-filialen{max-width:1100px}.filialen-management{max-height:calc(90vh - 80px);overflow-y:auto;padding:24px}.filialen-header{margin-bottom:20px}.filialen-header h3{color:#1a1a1a;font-size:18px;font-weight:600;margin-bottom:16px}.filiale-form{background:#f9fafb;border-radius:12px;margin-bottom:32px;padding:20px}.form-actions{display:flex;gap:12px;justify-content:flex-end}.filialen-list h3{border-bottom:2px solid #f0f0f0;color:#1a1a1a;font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px}.filialen-table{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.filiale-row{align-items:center;background:#fff;border:2px solid #f0f0f0;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.filiale-row:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.filiale-info{align-items:center;display:flex;flex:1 1;gap:12px}.filiale-badge{background:#667eea;border-radius:6px;color:#fff;display:inline-block;font-size:12px;font-weight:600;min-width:45px;padding:4px 10px;text-align:center}.filiale-nummer{color:#1a1a1a;font-weight:600;min-width:60px}.filiale-name{color:#333;flex:1 1;font-weight:500}.filiale-ort{color:#666;font-size:14px}.filiale-actions{display:flex;gap:8px}@media (max-width:768px){.modal-filialen{border-radius:0;max-height:100vh;max-width:100%}.filiale-info{flex-wrap:wrap}.filiale-name{flex-basis:100%;margin-top:4px}.header-actions{flex-direction:column;width:100%}.settings-btn{justify-content:center;width:100%}}.firma-card{cursor:pointer}.modal-header-actions{align-items:center;display:flex;gap:12px}.icon-btn-edit{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.icon-btn-edit:hover{box-shadow:0 8px 16px #667eea4d;transform:translateY(-2px)}.detail-view{max-height:70vh;overflow-y:auto;padding:24px}.detail-section{border-bottom:2px solid #f0f0f0;margin-bottom:32px;padding-bottom:24px}.detail-section:last-child{border-bottom:none}.detail-section h4{color:#1a1a1a;font-size:18px;font-weight:600;margin-bottom:16px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{align-items:flex-start;background:#f9fafb;border-radius:8px;display:flex;gap:12px;padding:12px}.detail-item svg{color:#667eea;flex-shrink:0;margin-top:2px}.detail-item div{flex:1 1}.detail-item label{color:#6b7280;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.detail-item span{color:#1a1a1a;display:block;font-size:14px;font-weight:500}.detail-item a{color:#667eea;font-weight:500;text-decoration:none}.detail-item a:hover{text-decoration:underline}.ansprechpersonen-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.ansprechperson-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:16px}.ansprechperson-card h5{border-bottom:1px solid #e5e7eb;color:#1a1a1a;font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.ansprechperson-card .info-row{margin-bottom:8px}.filialen-detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.filiale-detail-card{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:12px}.filiale-ort-small{color:#6b7280;font-size:12px;margin-top:4px}.notiz-text{background:#f9fafb;border-radius:8px;color:#4b5563;font-size:14px;line-height:1.6;padding:16px;white-space:pre-wrap}@media (max-width:768px){.ansprechpersonen-grid,.detail-grid,.filialen-detail-grid{grid-template-columns:1fr}.modal-header-actions{flex-direction:column;width:100%}.icon-btn-edit{justify-content:center;width:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.upload-section{margin-bottom:20px}.upload-label{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:10px;padding:12px 24px;transition:all .3s ease}.upload-label:hover{box-shadow:0 8px 16px #667eea4d;transform:translateY(-2px)}.upload-label:active{transform:translateY(0)}.dokumente-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.dokument-item{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;display:flex;justify-content:space-between;padding:16px;transition:all .2s ease}.dokument-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-2px)}.dokument-info{align-items:center;display:flex;flex:1 1;gap:14px;min-width:0}.dokument-icon{color:#667eea;flex-shrink:0}.dokument-details{display:flex;flex-direction:column;gap:4px;min-width:0}.dokument-name{color:#1a1a1a;font-size:15px;font-weight:600;word-break:break-word}.dokument-date{color:#6b7280;font-size:12px}.dokument-actions{display:flex;flex-shrink:0;gap:8px}.no-documents{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;color:#9ca3af;font-size:14px;padding:32px;text-align:center}.info-message{align-items:center;background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;color:#1e40af;display:flex;font-size:14px;gap:12px;padding:16px}@media (max-width:768px){.dokument-item{align-items:flex-start;flex-direction:column;gap:12px}.dokument-actions{justify-content:flex-end;width:100%}}.sort-controls{display:flex;gap:12px}.sort-order-btn{align-items:center;background:#f5f7fa;border:none;border-radius:6px;color:#667eea;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;line-height:1;margin:0;padding:0;transition:all .2s ease;width:24px}.sort-order-btn:hover{background:#667eea;color:#fff;transform:scale(1.05)}.sort-order-btn:active{transform:scale(.95)}@media (max-width:1024px){.version-badge .version-date{display:none}}@media (max-width:768px){.version-badge{font-size:12px;padding:6px 12px}.version-badge svg{height:12px;width:12px}}
/*# sourceMappingURL=main.738473cf.css.map*/