*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}a{color:#043429;text-decoration:none}a:hover{color:#ea7549}button{font-family:inherit}img{max-width:100%;height:auto}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#043429,#065446);padding:20px}.login-container{background:#fff;border-radius:0;box-shadow:0 10px 40px #0000004d;max-width:420px;width:100%;overflow:hidden}.login-header{background:#043429;padding:40px 30px;text-align:center;border-bottom:4px solid #EA7549}.cime-logo{height:50px;margin-bottom:20px}.login-header h1{color:#fff;font-size:24px;font-weight:300;margin:0 0 8px;letter-spacing:1px}.login-header .subtitle{color:#ffffffb3;font-size:14px;margin:0}.login-form{padding:40px 30px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-group input{width:100%;padding:14px 16px;border:1px solid #d0d0d0;font-size:16px;transition:border-color .3s,box-shadow .3s;background:#fafafa;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#043429;box-shadow:0 0 0 3px #0434291a;background:#fff}.error-message{background:#fee;color:#c00;padding:12px;margin-bottom:20px;font-size:14px;border-left:4px solid #c00}.login-button{width:100%;padding:16px;background:#043429;color:#fff;border:none;font-size:16px;font-weight:500;cursor:pointer;transition:background .3s;letter-spacing:.5px}.login-button:hover{background:#ea7549}.login-footer{background:#f5f5f5;padding:20px;text-align:center;border-top:1px solid #e0e0e0}.login-footer p{margin:0;color:#666;font-size:12px}.app-header{background:#043429;color:#fff;padding:16px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid #EA7549;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:20px}.header-logo{height:40px}.header-title h1{margin:0;font-size:18px;font-weight:400;letter-spacing:.5px}.header-title p{margin:4px 0 0;font-size:12px;opacity:.7}.header-right{display:flex;align-items:center;gap:20px}.provider-info{display:flex;align-items:center;gap:12px;background:#ffffff1a;padding:8px 16px;border-radius:4px}.provider-logo-small{height:24px;filter:brightness(0) invert(1)}.provider-name{font-size:14px;font-weight:500}.logout-button{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;font-size:13px;cursor:pointer;transition:all .3s}.logout-button:hover{background:#ffffff1a;border-color:#ffffff80}@media(max-width:768px){.app-header{flex-direction:column;gap:16px;padding:16px}.header-left{flex-direction:column;text-align:center}.header-right{width:100%;justify-content:center}}.tender-info{background:#fff;margin:30px;box-shadow:0 2px 8px #0000001a}.tender-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#f8f8f8;border-bottom:1px solid #e0e0e0}.tender-header h2{margin:0;font-size:18px;font-weight:500;color:#043429}.tender-actions{display:flex;gap:10px}.action-btn{background:#fff;border:1px solid #d0d0d0;padding:8px 16px;font-size:13px;cursor:pointer;transition:all .3s}.action-btn:hover{background:#043429;color:#fff;border-color:#043429}.tender-sections{padding:0}.tender-section{border-bottom:1px solid #e0e0e0}.tender-section:last-child{border-bottom:none}.section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;cursor:pointer;transition:background .3s}.section-header:hover{background:#f8f8f8}.section-header.expanded{background:#f0f0f0;border-bottom:1px solid #e0e0e0}.section-header h3{margin:0;font-size:15px;font-weight:500;color:#333}.toggle-icon{font-size:20px;color:#ea7549;font-weight:300;width:24px;text-align:center}.section-content{padding:24px;background:#fff;line-height:1.7;color:#444}.section-content h1,.section-content h2,.section-content h3,.section-content h4{color:#043429;margin-top:1.5em;margin-bottom:.5em}.section-content h1:first-child,.section-content h2:first-child,.section-content h3:first-child{margin-top:0}.section-content p{margin:0 0 1em}.section-content ul,.section-content ol{margin:0 0 1em;padding-left:24px}.section-content li{margin-bottom:.5em}.section-content table{width:100%;border-collapse:collapse;margin:1em 0}.section-content th,.section-content td{border:1px solid #d0d0d0;padding:10px 14px;text-align:left}.section-content th{background:#f5f5f5;font-weight:500}.section-content code{background:#f5f5f5;padding:2px 6px;font-size:.9em}.section-content strong{color:#043429}@media(max-width:768px){.tender-info{margin:16px}.tender-header{flex-direction:column;gap:12px}.section-content{padding:16px}}.editor-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.editor-modal{background:#fff;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#043429;color:#fff;position:sticky;top:0;z-index:10}.editor-header h2{margin:0;font-size:18px;font-weight:400}.close-btn{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity .3s}.close-btn:hover{opacity:1}.editor-form{padding:24px}.error-banner{background:#fee;color:#c00;padding:12px 16px;margin-bottom:20px;border-left:4px solid #c00}.form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.form-section:last-of-type{border-bottom:none}.form-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#043429;text-transform:uppercase;letter-spacing:.5px}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header-row h3{margin:0}.form-row{margin-bottom:16px}.form-row label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#555}.form-row input,.form-row textarea{width:100%;padding:10px 12px;border:1px solid #d0d0d0;font-size:14px;font-family:inherit;transition:border-color .3s;box-sizing:border-box}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:#043429}.form-row-group{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ligne-row{display:grid;grid-template-columns:1fr 1.5fr 100px 36px;gap:10px;margin-bottom:10px;align-items:center}.ligne-row input{padding:10px 12px;border:1px solid #d0d0d0;font-size:14px}.ligne-row input:focus{outline:none;border-color:#043429}.ligne-poste{font-weight:500}.ligne-prix{text-align:right}.point-row{display:flex;gap:10px;margin-bottom:10px}.point-row input{flex:1;padding:10px 12px;border:1px solid #d0d0d0;font-size:14px}.point-row input:focus{outline:none;border-color:#043429}.add-btn{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;padding:6px 12px;font-size:13px;cursor:pointer;transition:all .3s}.add-btn:hover{background:#c8e6c9}.remove-btn{background:#ffebee;color:#c62828;border:1px solid #ef9a9a;width:36px;height:36px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.remove-btn:hover{background:#ffcdd2}.editor-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e0e0e0}.cancel-btn{background:#fff;color:#666;border:1px solid #d0d0d0;padding:12px 24px;font-size:14px;cursor:pointer;transition:all .3s}.cancel-btn:hover{background:#f5f5f5}.save-btn{background:#043429;color:#fff;border:none;padding:12px 32px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.save-btn:hover{background:#ea7549}.save-btn:disabled{background:#999;cursor:not-allowed}@media(max-width:768px){.editor-modal{max-height:100vh;height:100vh}.form-row-group,.ligne-row{grid-template-columns:1fr}.ligne-row input{width:100%}}.proposals-section{margin:0 30px 30px}.proposals-header{margin-bottom:24px}.proposals-header h2{margin:0 0 8px;font-size:20px;font-weight:500;color:#043429}.proposals-subtitle{margin:0;color:#666;font-size:14px}.proposals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.proposal-column{background:#fff;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.proposal-column:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.proposal-column.current{border:3px solid #EA7549}.proposal-column.empty{opacity:.6}.column-header{padding:24px;background:#f8f8f8;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;align-items:center;gap:12px;min-height:100px;justify-content:center}.provider-logo{max-height:40px;max-width:150px;object-fit:contain}.provider-logo.logo-invert{filter:invert(1)}.anonymous-logo,.empty-logo{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:300}.anonymous-logo{background:#e0e0e0;color:#999}.empty-logo{background:#f0f0f0;color:#ccc;border:2px dashed #d0d0d0}.your-offer-badge{background:#ea7549;color:#fff;padding:6px 16px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.competitor-label,.empty-label{color:#999;font-size:14px;font-weight:500}.edit-banner{padding:12px 16px;background:#fff8e1;border-bottom:1px solid #ffe082;text-align:center}.edit-btn{background:#043429;color:#fff;border:none;padding:10px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:background .3s}.edit-btn:hover{background:#ea7549}.proposal-content{padding:24px;flex:1;display:flex;flex-direction:column;gap:20px}.price-block{text-align:center;padding:20px;background:#f8f8f8;border-left:4px solid #043429}.price-monthly{font-size:32px;font-weight:600;color:#043429}.price-period{font-size:14px;font-weight:400;color:#666}.commitment{margin-top:8px;font-size:14px;color:#666}.setup-fee{margin-top:4px;font-size:13px;color:#999}.proposal-summary{padding:16px;background:#fafafa;border-left:3px solid #EA7549}.proposal-summary p{margin:0;font-size:14px;line-height:1.6;color:#555}.proposal-details h4{margin:0 0 12px;font-size:14px;font-weight:500;color:#043429;text-transform:uppercase;letter-spacing:.5px}.details-table{width:100%;border-collapse:collapse;font-size:13px}.details-table th,.details-table td{padding:10px 12px;border:1px solid #e0e0e0;text-align:left}.details-table th{background:#f5f5f5;font-weight:500;font-size:12px;text-transform:uppercase}.details-table td strong{color:#333}.details-table td small{color:#888;font-size:11px}.price-cell{text-align:right;white-space:nowrap;font-weight:500;color:#043429}.points-section{padding:16px}.points-section h4{margin:0 0 12px;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.points-forts{background:#e8f5e9;border-left:3px solid #4caf50}.points-forts h4{color:#2e7d32}.points-vigilance{background:#fff3e0;border-left:3px solid #ff9800}.points-vigilance h4{color:#e65100}.points-section ul{margin:0;padding-left:20px}.points-section li{margin-bottom:6px;font-size:13px;line-height:1.5}.no-proposal{padding:40px 24px;text-align:center;flex:1;display:flex;align-items:center;justify-content:center}.no-proposal p{color:#999;font-size:14px;margin:0}@media(max-width:1200px){.proposals-grid{grid-template-columns:1fr}.proposal-column{max-width:600px;margin:0 auto;width:100%}}@media(max-width:768px){.proposals-section{margin:16px}.proposal-content{padding:16px}.price-monthly{font-size:24px}}.app{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.main-content{flex:1}.footer{background:#043429;color:#ffffffb3;padding:20px;text-align:center}.footer p{margin:0;font-size:13px}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f5f5}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#043429;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{margin-top:16px;color:#666}
