.toast{position:fixed;top:16px;right:16px;transform:none;min-width:250px;max-width:90%;padding:.875rem 1.25rem;border-radius:8px;color:#fff;font-weight:600;font-family:Poppins,sans-serif;box-shadow:0 6px 20px #0003;display:flex;align-items:center;justify-content:space-between;z-index:9999;opacity:0;animation:toastFadeIn .16s ease forwards}.toast-success{background-color:#22c55e}.toast-error{background-color:#ef4444}.toast-info{background-color:#3b82f6}.toast-warning{background-color:#f59e0b}.toast-message{flex:1;margin-right:1rem;font-size:.95rem}.toast-close{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;font-weight:700;line-height:1;padding:0}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:600px;box-shadow:0 5px 15px #0000004d;animation:fadeIn .3s ease-out}.modal-content h2{margin-top:0;color:#333}.modal-content p{color:#666;font-size:.9rem;margin-bottom:1.5rem}.modal-actions{margin-top:1.5rem;display:flex;justify-content:flex-end;gap:1rem}.modal-actions .btn-secondary{background-color:#6c757d}.modal-actions .btn-primary{background-color:#007bff}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.register-card{background:#ffffff40;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);padding:48px 42px;border-radius:24px;box-shadow:0 8px 32px #0032a033,inset 0 1px #ffffff80;text-align:center;max-width:480px;width:100%;margin:40px auto;transition:all .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box;position:relative;z-index:10}.register-card:before{content:"";position:absolute;inset:0;border-radius:24px;padding:2px;background:linear-gradient(135deg,#0032a04d,#0047bb1a);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.register-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px #0032a04d,inset 0 1px #fff9;border-color:#fff9}.legal-modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999}.legal-modal{background:#fff;border-radius:16px;width:min(640px,100%);max-height:80vh;box-shadow:0 18px 42px #0032a040;display:flex;flex-direction:column;overflow:hidden}.legal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(0,50,160,.12);background:linear-gradient(135deg,#0032a00f,#0047bb14)}.legal-modal-header h3{margin:0;color:#0032a0;font-size:1.1rem}.legal-close{background:transparent;border:none;font-size:1.1rem;cursor:pointer;color:#334155}.legal-modal-body{padding:16px 18px;overflow-y:auto;line-height:1.6;color:#1f2937}.legal-modal-body p{margin-bottom:12px}.legal-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid rgba(0,50,160,.12);background:#f8fafc}.legal-disagree,.legal-agree{padding:10px 14px;border-radius:10px;border:1px solid #cbd5e1;font-weight:600;cursor:pointer}.legal-disagree{background:#fff;color:#1f2937}.legal-agree{background:linear-gradient(135deg,#0032a0,#0047bb);color:#fff;border-color:#0032a0;box-shadow:0 8px 20px #0032a033}.legal-agree:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.register-title{font-size:32px;font-weight:700;color:#0032a0;margin-bottom:35px;font-family:Poppins,sans-serif;letter-spacing:.5px;text-shadow:0 2px 8px rgba(0,50,160,.1)}.role-toggle{display:flex;justify-content:space-between;gap:12px;margin-bottom:30px}.role-toggle button{flex:1;padding:12px 0;font-size:15px;font-weight:600;border:none;border-radius:12px;background:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px solid rgba(255,255,255,.6);color:#334155;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.role-toggle button:hover{background:#fff9;border-color:#0032a04d}.role-toggle button.active{background:linear-gradient(135deg,#0032a0,#0047bb);color:#fff;border-color:transparent;box-shadow:0 4px 15px #0032a04d;transform:translateY(-2px)}.input-group input{width:100%;padding:14px 18px;margin-bottom:18px;border-radius:12px;background:#fff6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid rgba(255,255,255,.6);outline:none;font-size:15px;font-family:Poppins,sans-serif;color:#1e293b;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.verify-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px;justify-content:flex-end}.password-field{position:relative;width:100%}.password-field input{padding-right:44px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;color:#0f1f3d;display:inline-flex;align-items:center;justify-content:center;padding:6px}.password-toggle:focus-visible{outline:2px solid #0032A0;border-radius:6px}.verify-btn{padding:10px 14px;border-radius:8px;border:1px solid #0f1f3d;background:#0f1f3d;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.verify-btn.secondary{background:#fff;color:#0f1f3d}.verify-btn.verified{background:#0f9d58;border-color:#0f9d58;color:#fff;box-shadow:0 6px 18px #0f9d5859}.verify-btn:disabled{opacity:.65;cursor:not-allowed}.verify-guide{margin:4px 0 12px;font-size:13px;color:#0f1f3d;line-height:1.4}.verify-error{margin:0 0 12px;font-size:13px;color:#c0392b;line-height:1.4}.cancel-btn{padding:8px 14px}.input-group input[name=email]{margin-bottom:8px}.verify-actions{margin-top:2px;margin-bottom:10px}.input-group input::placeholder{color:#1e293b80;font-weight:400}.input-group input:focus{border-color:#0032a0;background:#fff9;box-shadow:0 0 0 4px #0032a01a,0 4px 12px #0032a026;transform:translateY(-2px)}.legal-consent{display:flex;justify-content:flex-start;margin:16px 0 12px}.legal-link{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:#0032a0;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.legal-link:hover{color:#0047bb}.legal-check{color:#0f9d58}.document-section{margin-top:25px;text-align:left;background:#ffffff4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px solid rgba(255,255,255,.5);padding:20px 18px;border-radius:16px;transition:all .3s ease}.document-section h3{font-size:16px;font-weight:600;color:#0032a0;margin-bottom:14px;font-family:Poppins,sans-serif}.document-contact{margin-top:12px;font-size:13px;color:#334155}.checkboxes label{display:flex;align-items:center;font-size:14px;color:#334155;margin-bottom:10px;gap:10px;cursor:pointer;transition:color .3s ease;font-weight:500}.checkboxes label:hover{color:#0032a0}.checkboxes input[type=checkbox]{accent-color:#0032A0;width:18px;height:18px;cursor:pointer}.note{font-size:12.5px;color:#64748b;margin-top:12px;font-style:italic;line-height:1.5}.drive-share-hint{margin-top:10px;padding:10px 12px;border-radius:10px;background:#10b9811f;border:1px solid rgba(16,185,129,.32);color:#065f46;font-size:13px;line-height:1.5}.document-section input[type=url]{width:100%;margin-top:12px;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(0,50,160,.18);background:#ffffffb3;color:#1f2a44;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.document-section input[type=url]::placeholder{color:#94a3b8}.document-section input[type=url]:focus{outline:none;border-color:#0032a0;box-shadow:0 0 0 3px #0032a01f}.register-btn{width:100%;padding:15px;border:none;border-radius:12px;background:linear-gradient(135deg,#0032a0,#0047bb);color:#fff;font-size:17px;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);margin-top:28px;box-shadow:0 4px 15px #0032a04d,inset 0 1px #fff3;position:relative;overflow:hidden;font-family:Poppins,sans-serif;letter-spacing:.3px}.register-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.register-btn:hover:before{left:100%}.register-btn:hover{background:linear-gradient(135deg,#001a5c,#0032a0);transform:translateY(-3px);box-shadow:0 8px 25px #0032a066,inset 0 1px #ffffff4d}.register-btn:active{transform:translateY(-1px);box-shadow:0 4px 12px #0032a04d,inset 0 1px #fff3}.register-btn:disabled{background:#94a3b880;cursor:not-allowed;transform:none;box-shadow:none}.action-buttons .register-btn{margin-top:0;flex:1}.action-buttons{display:flex;gap:12px;align-items:center;margin-top:28px}.cancel-btn{flex:1;padding:15px;border:1.5px solid #cbd5e1;border-radius:12px;background:#fff9;color:#334155;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Poppins,sans-serif}.cancel-btn:hover{border-color:#0032a0;color:#0032a0;background:#fffc}.login-link{margin-top:24px;font-size:14px;color:#475569;font-weight:500}.login-link button{color:#475569;background:none;border:none;font-weight:600;cursor:pointer;padding:0;margin-left:4px;font-family:Poppins,sans-serif;transition:all .3s ease;position:relative}.login-link button:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#0032a0;transition:width .3s ease}.login-link button:hover{color:#0032a0}.login-link button:hover:after{width:100%}@media(max-width:480px){.register-card{max-width:360px;padding:26px 18px;margin:24px auto;border-radius:18px}.register-title{font-size:24px;margin-bottom:18px}.role-toggle{gap:10px;margin-bottom:18px}.role-toggle button{padding:10px 0;font-size:14px;border-radius:10px}.input-group input{padding:12px 14px;margin-bottom:14px;font-size:14px}.verify-actions{flex-direction:column;align-items:stretch;gap:8px}.verify-actions .verify-btn,.verify-actions .verify-btn.secondary{width:100%;justify-content:center}.verify-guide,.verify-error{font-size:12px}.password-field input{padding-right:44px}.register-btn{padding:13px;font-size:16px;margin-top:18px}.action-buttons{flex-direction:column;gap:10px}.cancel-btn{width:100%;padding:13px;font-size:15px}.document-section{padding:14px 12px;margin-top:18px}.document-section h3{font-size:15px;margin-bottom:10px}.checkboxes label{font-size:13px;margin-bottom:8px}.note{font-size:12px}.login-link{font-size:12.5px;margin-top:16px}}@media(max-width:375px){.register-card{max-width:340px;padding:20px 14px;margin:16px auto;border-radius:16px}.register-title{font-size:22px;margin-bottom:16px}.role-toggle{gap:8px;margin-bottom:14px}.role-toggle button{padding:9px 0;font-size:13px}.input-group input{padding:11px 12px;margin-bottom:12px;font-size:13.5px}.verify-actions{gap:6px}.verify-btn,.verify-btn.secondary{padding:10px 12px;font-size:13.5px}.document-section{padding:12px 10px}.register-btn{padding:12px;font-size:15px}.cancel-btn{padding:12px;font-size:14px}.login-link{font-size:12px}}@media(max-height:580px){.register-card{margin:12px auto;padding:18px 14px}.register-title{margin-bottom:12px}}.login-card{background:#ffffff40;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);padding:50px 42px;border-radius:24px;box-shadow:0 8px 32px #0032a033,inset 0 1px #ffffff80;text-align:center;max-width:420px;width:100%;transition:all .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box;position:relative;z-index:10}.login-card:before{content:"";position:absolute;inset:0;border-radius:24px;padding:2px;background:linear-gradient(135deg,#0032a04d,#0047bb1a);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.login-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px #0032a04d,inset 0 1px #fff9;border-color:#fff9}.logo-image{width:200px;height:auto;margin-bottom:20px;filter:drop-shadow(0 4px 12px rgba(0,50,160,.2));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.login-title{font-size:32px;font-weight:700;color:#0032a0;margin-bottom:35px;font-family:Poppins,sans-serif;letter-spacing:.5px;text-shadow:0 2px 8px rgba(0,50,160,.1)}.error-message{background:#ef444426;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(239,68,68,.3);color:#b91c1c;padding:12px;border-radius:12px;margin-bottom:20px;font-size:14px;font-weight:500}.role-toggle{display:flex;justify-content:space-between;gap:10px;margin-bottom:28px}.role-toggle button{flex:1;padding:11px 0;font-size:15px;font-weight:600;border:none;border-radius:8px;background:#e2e8f0;color:#1e293b;cursor:pointer;transition:all .3s ease}.role-toggle button:hover{background:#dbeafe}.role-toggle button.active{background:#3b82f6;color:#fff;box-shadow:0 0 10px #3b82f666;transform:scale(1.06)}.input-icon{display:flex;align-items:center;background:#fff6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid rgba(255,255,255,.6);border-radius:12px;padding:14px 18px;margin-bottom:20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-icon svg{color:#0032a0;margin-right:12px;font-size:18px;opacity:.8}.input-icon input{border:none;outline:none;flex:1;font-size:16px;font-family:Poppins,sans-serif;color:#1e293b;background:transparent;font-weight:500}.toggle-password{border:none;background:transparent;color:#0032a0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.toggle-password:hover{color:#0047bb}.input-icon input::placeholder{color:#1e293b80;font-weight:400}.input-icon:focus-within{border-color:#0032a0;background:#fff9;box-shadow:0 0 0 4px #0032a01a,0 4px 12px #0032a026;transform:translateY(-2px)}.input-icon:focus-within svg{opacity:1;color:#0047bb}.login-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;font-size:14px;color:#334155;font-weight:500}.login-options label{display:flex;align-items:center;gap:8px;cursor:pointer;transition:color .3s ease}.login-options label:hover{color:#0032a0}.login-options input[type=checkbox]{accent-color:#0032A0;width:16px;height:16px;cursor:pointer}.forgot-password,.register-link button{background:none;border:none;color:#475569;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;padding:0;position:relative}.forgot-password:after,.register-link button:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#0032a0;transition:width .3s ease}.forgot-password:hover,.register-link button:hover{color:#0032a0}.forgot-password:hover:after,.register-link button:hover:after{width:100%}.login-btn{width:100%;padding:15px;border:none;border-radius:12px;background:linear-gradient(135deg,#0032a0,#0047bb);color:#fff;font-size:17px;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0032a04d,inset 0 1px #fff3;position:relative;overflow:hidden;font-family:Poppins,sans-serif;letter-spacing:.3px}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.login-btn:hover:before{left:100%}.login-btn:hover{background:linear-gradient(135deg,#001a5c,#0032a0);transform:translateY(-3px);box-shadow:0 8px 25px #0032a066,inset 0 1px #ffffff4d}.login-btn:active{transform:translateY(-1px);box-shadow:0 4px 12px #0032a04d,inset 0 1px #fff3}.login-btn:disabled{background:#94a3b880;cursor:not-allowed;transform:none;box-shadow:none}.register-link{margin-top:24px;font-size:14px;color:#475569;font-weight:500}.register-link button{font-weight:600;margin-left:4px}@media(max-width:375px){.login-card{max-width:300px;padding:20px 16px;border-radius:16px}.logo-image{width:150px;margin-bottom:12px}.login-title{font-size:20px;margin-bottom:14px}.role-toggle{gap:8px;margin-bottom:16px}.role-toggle button{padding:9px 0;font-size:14px}.input-icon{padding:10px;margin-bottom:12px}.input-icon input{font-size:15px}.login-options{margin-bottom:12px;font-size:12px}.login-btn{padding:12px;font-size:15px}.register-link{margin-top:12px;font-size:12px}}@media(max-width:480px){.login-card{max-width:320px;padding:24px 18px;border-radius:16px}.logo-image{width:170px}.login-title{font-size:22px;margin-bottom:18px}.role-toggle{margin-bottom:16px}.input-icon{padding:12px;margin-bottom:14px}.login-options{margin-bottom:16px}.login-btn{padding:13px;font-size:16px}}@media(max-height:480px){.login-card{padding:16px 14px;border-radius:14px}.login-title{margin-bottom:12px}.input-icon,.login-options{margin-bottom:10px}}@media(min-width:641px)and (max-width:1024px){.login-card{max-width:420px}}@media(min-width:1280px){.login-card{max-width:420px}}@media(prefers-reduced-motion:reduce){.login-card,.login-btn,.role-toggle button,.input-icon{transition:none}.login-card:hover,.login-btn:hover{transform:none;box-shadow:0 10px 35px #00000026}}.login-container{display:flex;min-height:100vh;height:100vh;overflow:hidden;font-family:Inter,sans-serif;position:relative;background:#f8fafc}.left-section{flex:1;background:linear-gradient(135deg,#001a5c,#0032a0,#0047bb);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;color:#fff;text-align:center}.left-section:before{content:"";position:absolute;top:10%;left:15%;width:300px;height:300px;background:radial-gradient(circle,rgba(147,197,253,.25) 0%,transparent 70%);border-radius:50%;animation:float-slow 15s ease-in-out infinite;filter:blur(40px);pointer-events:none}.left-section:after{content:"";position:absolute;bottom:15%;right:10%;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.2) 0%,transparent 70%);border-radius:50%;animation:float-slow 20s ease-in-out infinite reverse;filter:blur(60px);pointer-events:none}.left-section h1,.left-section h3{position:relative;z-index:3;text-shadow:0 4px 20px rgba(0,0,0,.3);animation:fade-up 1s ease-out forwards}.left-section h1{font-size:3.2rem;line-height:1.2;font-weight:800;margin-bottom:24px;letter-spacing:-.5px;color:#fff}.left-section h3{font-size:1.25rem;max-width:85%;opacity:0;animation-delay:.3s;font-weight:400;line-height:1.7;color:#fff}.right-section{flex:1;background:linear-gradient(135deg,#f8fafc,#e0f2fe,#dbeafe);display:flex;justify-content:center;align-items:center;padding:40px;position:relative;overflow:hidden}.right-section:before{content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(0,50,160,.12) 0%,transparent 70%);border-radius:50%;filter:blur(100px);animation:pulse-glow 8s ease-in-out infinite;pointer-events:none}.right-section:after{content:"";position:absolute;bottom:-150px;left:-150px;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);border-radius:50%;filter:blur(80px);animation:pulse-glow 10s ease-in-out infinite reverse;pointer-events:none}@keyframes float-slow{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes fade-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:768px){.login-container{flex-direction:column;height:auto;min-height:100vh}.left-section{height:auto;min-height:36vh;padding:26px 22px;text-align:center}.left-section h3{max-width:100%}.right-section{height:auto;min-height:64vh;padding:24px 18px}}@media(min-width:769px)and (max-width:1024px){.left-section{background-position:75% center}}@media(min-width:1440px){.left-section h1{font-size:3.5rem}}@media(max-width:480px){.left-section{padding:20px 16px}.left-section:before{width:180px;height:180px;top:8%;left:10%;filter:blur(24px)}.left-section:after{width:220px;height:220px;bottom:8%;right:6%;filter:blur(28px)}.left-section h1{font-size:2.2rem;margin-bottom:14px}.left-section h3{font-size:1rem;max-width:100%;line-height:1.45}.right-section{padding:18px 14px 24px}.right-section:before{width:240px;height:240px;top:-120px;right:-120px;filter:blur(50px)}.right-section:after{width:200px;height:200px;bottom:-90px;left:-90px;filter:blur(40px)}}@media(max-width:375px){.login-container{padding:0 10px}.left-section{padding:16px 12px}.left-section h1{font-size:1.9rem}.left-section h3{font-size:.95rem;line-height:1.4}.right-section{padding:14px 10px 20px}}.verify-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#f2f4ff 0,#eef2f7 40%,#e6ebf5);padding:24px}.verify-card{width:100%;max-width:440px;background:#fff;border-radius:14px;padding:28px;box-shadow:0 15px 45px #1a263d1f;border:1px solid #e6e9f0;text-align:center;color:#1f2937}.verify-card h2{margin:0 0 12px;font-size:22px;color:#111827}.verify-card p{margin:0 0 20px;line-height:1.5;color:#4b5563}.verify-card.success{border-color:#22c55e33}.verify-card.error{border-color:#ef444433}.verify-btn{display:inline-block;padding:10px 16px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;text-decoration:none;font-weight:600;transition:transform .12s ease,box-shadow .12s ease}.verify-btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px #2563eb40}.auth-reset-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:radial-gradient(circle at 20% 20%,rgba(0,50,160,.08),transparent 35%),radial-gradient(circle at 80% 10%,rgba(0,105,255,.1),transparent 35%),linear-gradient(135deg,#f7fbff,#eef3f9)}.auth-reset-card{width:100%;max-width:480px;background:#fff;border-radius:16px;padding:28px 32px 32px;box-shadow:0 10px 45px #0032a02e;border:1px solid rgba(0,50,160,.08)}.auth-reset-logo{display:block;width:68px;height:auto;margin:0 auto 12px}.auth-reset-title{text-align:center;margin-bottom:8px;font-size:26px;color:#0f172a;font-weight:700}.auth-reset-subtitle{text-align:center;margin-bottom:20px;color:#475569;line-height:1.4}.auth-reset-form{display:flex;flex-direction:column;gap:14px}.auth-reset-form label{font-size:14px;color:#1f2937;font-weight:600}.auth-reset-form input{width:100%;padding:12px 14px;border:1px solid #d0d7e2;border-radius:10px;background:#f8fafc;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.auth-reset-form input:focus{outline:none;border-color:#0032a0;box-shadow:0 0 0 3px #0032a01f;background:#fff}.auth-reset-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px}.auth-reset-submit{width:100%;background:linear-gradient(135deg,#0032a0,#0057ff);color:#fff;border:none;border-radius:12px;padding:12px 16px;font-weight:700;letter-spacing:.2px;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease,opacity .2s ease}.auth-reset-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 25px #0057ff38}.auth-reset-submit:disabled{opacity:.6;cursor:not-allowed}.auth-reset-secondary{background:none;border:1px solid #d0d7e2;color:#0032a0;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.auth-reset-secondary:hover{background:#f1f5f9;border-color:#0032a0}.auth-reset-alert{border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.4;border:1px solid transparent}.auth-reset-alert.info{background:#e6f2ff;border-color:#b7d4ff;color:#0c356a}.auth-reset-alert.error{background:#fff1f2;border-color:#fecdd3;color:#b91c1c}.auth-reset-alert.success{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.auth-reset-footer{text-align:center;margin-top:14px;color:#475569;font-size:14px}.auth-reset-footer button{background:none;border:none;color:#0032a0;font-weight:700;cursor:pointer}@media(max-width:640px){.auth-reset-card{padding:22px 20px}.auth-reset-title{font-size:22px}}:root{--sidebar-gradient-top: var(--philgeps-deep-blue, #0f2d62);--sidebar-gradient-mid: var(--philgeps-bright-blue, #1c3f7c);--sidebar-gradient-bottom: #102a54;--sidebar-accent: var(--philgeps-gold, #f6b400);--sidebar-text: #e8effa;--sidebar-muted: #c5d2ec;--sidebar-hover: rgba(30, 58, 138, .25)}.sidebar{position:fixed;top:0;left:0;display:flex;flex-direction:column;width:260px;min-width:260px;min-height:100dvh;background:linear-gradient(180deg,var(--sidebar-gradient-top) 0%,rgba(15,62,122,.92) 45%,var(--sidebar-gradient-mid) 85%,var(--sidebar-gradient-bottom) 100%);color:var(--sidebar-text);border-right:1px solid rgba(255,255,255,.12);transition:width .2s ease,min-width .2s ease;padding:16px 12px;box-sizing:border-box;z-index:1000;box-shadow:10px 0 32px -24px #0f172a73;overflow:hidden}.sidebar:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(255,255,255,.18),transparent 55%),radial-gradient(circle at 20% 80%,rgba(246,180,0,.18),transparent 52%),linear-gradient(135deg,#ffffff0f,#0c265514);pointer-events:none}.sidebar.collapsed{width:72px;min-width:72px;min-height:100dvh}.sidebar.sidebar-hidden-global{transform:translate(-110%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}@media(max-width:430px){.sidebar.sidebar-hidden-mobile{transform:translate(-110%);display:block;opacity:0;pointer-events:none}}.sidebar-toggle-btn{display:none}.sidebar-toggle-btn:focus-visible{box-shadow:none}.sidebar.collapsed .sidebar-toggle-btn{display:none}@media(max-width:767px){.sidebar-toggle-btn{display:none}}.toggle-icon{transition:transform .2s ease;color:var(--sidebar-muted)}.sidebar-header{padding:12px 8px 8px;display:flex;justify-content:center;align-items:center;border-radius:12px;flex-direction:column;gap:10px}.sidebar-title{display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:600;width:100%}.sidebar-logo-sdo{width:140px;height:auto;display:block;margin:0 auto;transition:opacity .2s ease,transform .2s ease}.sidebar-branding{text-align:center;display:flex;flex-direction:column;gap:6px;padding:8px 12px;border-radius:8px;background:linear-gradient(135deg,#f6b40014,#ffffff0a);border:1px solid rgba(246,180,0,.15);box-shadow:0 4px 12px #00000026}.sidebar-branding-agency{font-weight:800;font-size:1.1rem;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4),0 0 20px rgba(255,255,255,.15);letter-spacing:.15em;text-transform:uppercase}.sidebar-branding-suite{font-weight:600;font-size:.75rem;color:#fffffff2;letter-spacing:.05em;line-height:1.4;text-shadow:0 2px 6px rgba(0,0,0,.3)}.sidebar-collapsed-indicator{width:32px;height:2px;border-radius:999px;background:linear-gradient(90deg,#ffffff80,#f6b40099);box-shadow:0 0 12px #f6b40073}.sidebar-nav{display:flex;flex-direction:column;padding:8px 4px;gap:4px;overflow-y:auto;overflow-x:hidden;border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;box-shadow:inset 0 0 0 1px #ffffff0d}.sidebar-nav:before{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(160deg,#ffffff14,#0f2d622e 45%,#0616413d);opacity:.75;pointer-events:none}.sidebar-nav>*{position:relative;z-index:1}.sidebar-link{position:relative;display:inline-flex;align-items:center;gap:8px;color:var(--sidebar-muted);text-decoration:none;padding:10px;border-radius:8px;transition:background .15s ease,color .15s ease,box-shadow .15s ease;width:100%;box-sizing:border-box}.sidebar-link:hover{background:var(--sidebar-hover);color:#fff;box-shadow:inset 0 0 0 1px #ffffff0f}.sidebar-link.active{background:#105fbe52;color:#fff;box-shadow:0 10px 26px -18px #0a3f8c8c}.sidebar-link.active .sidebar-link-icon{color:var(--sidebar-accent)}.sidebar-link-text{margin-left:8px;font-weight:600;letter-spacing:.03em;color:inherit}.sidebar-link.active:before{content:"";position:absolute;left:-6px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--sidebar-accent)}.sidebar-link-icon{display:inline-flex;width:22px;height:22px;flex-shrink:0;color:inherit}.sidebar-footer{margin-top:auto;padding:8px 4px 4px;border-top:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#0f234ceb,#0b1a3ac7);border-radius:12px;display:flex;flex-direction:column;gap:8px}.sidebar-logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border-radius:10px;border:0;background:#0a254e66;color:var(--sidebar-muted);cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease;box-shadow:inset 0 0 0 1px #ffffff0a}.sidebar-logout-btn:hover{background:#f6b40033;color:#fff;transform:translateY(-1px)}.sidebar-footer-note{margin:0;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#e7f0ffb8;text-align:center;padding-bottom:6px}.sidebar.collapsed .sidebar-link{justify-content:center}.sidebar.collapsed .sidebar-link span:not(.sidebar-link-icon){display:none}.sidebar.collapsed .sidebar-footer{padding:8px 4px}@media(max-width:1024px)and (min-width:768px){.sidebar{width:220px;min-width:220px;min-height:100dvh;padding:14px 10px}.sidebar.collapsed{width:64px;min-width:64px;min-height:100dvh}}@media(max-width:767px){.sidebar{position:fixed;width:190px;min-width:190px;min-height:100dvh;padding:12px 10px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.sidebar.collapsed{width:56px;min-width:56px;min-height:100dvh}.sidebar-toggle-btn{top:8px;right:8px}}.admin-navbar{display:flex;align-items:center;gap:12px;background:#fff;color:#1e293b;padding:14px 24px;position:sticky;top:0;z-index:1001;box-shadow:0 18px 38px -28px #081634b3;transition:transform .25s ease,opacity .25s ease,padding .2s ease,height .2s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:visible}.admin-navbar.navbar-hidden{transform:translateY(-110%);opacity:0;pointer-events:none;height:0;min-height:0;padding:0;margin:0;border-bottom:0;box-shadow:none;overflow:hidden}.admin-navbar:after{content:"";position:absolute;bottom:-2px;left:24px;right:24px;height:3px;opacity:.12;box-shadow:0 8px 18px -10px #0c2a6266}.navbar-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.hamburger-btn{background:var(--philgeps-gold, #f6b400);border:none;color:#0f1f3d;font-size:20px;cursor:pointer;padding:8px 12px;border-radius:999px;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 12px 26px -14px #0f172a8c}.hamburger-btn:hover{background:#dca200;transform:translateY(-1px);box-shadow:0 16px 34px -14px #0f172a8c}.hamburger-btn:active{transform:translateY(0);box-shadow:0 8px 20px -16px #0f172a80}.hamburger-icon-desktop{display:inline-flex}.hamburger-icon-mobile{display:none}.navbar-title-wrap{display:flex;flex-direction:column;min-width:0}.navbar-title-nav{font-size:22px;font-weight:600;letter-spacing:.5px;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-branding{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:#222;font-weight:600;text-shadow:0 3px 12px rgba(8,18,44,.4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-actions{display:flex;align-items:center;gap:14px;margin-left:auto;flex-shrink:0}.notification-wrap{position:relative}.icon-btn{background:#fff;border:1px solid #000;color:#222;font-size:22px;cursor:pointer;padding:8px;border-radius:12px;transition:all .25s ease;box-shadow:0 4px 12px #00000026}.notification-btn{position:relative}.notif-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;background:#ef4444;border-radius:999px;border:2px solid #fff;box-shadow:0 0 0 2px #0000000d}.notif-panel{position:absolute;right:-50px;top:calc(100% + 8px);width:min(360px,86vw);background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 18px 42px #0f172a2e;padding:10px;z-index:1200}@media(max-width:480px){.notif-panel{width:min(420px,94vw)}}.notif-panel__header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 10px;border-bottom:1px solid #e2e8f0;font-weight:700;color:#0f172a}.notif-actions{display:flex;align-items:center;gap:8px;font-size:12px}.notif-select-all{display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.notif-delete-btn{border:1px solid #ddd;background:#f8f8f8;border-radius:4px;padding:4px 8px;cursor:pointer;transition:background .2s ease}.notif-delete-btn:disabled{opacity:.5;cursor:not-allowed}.notif-delete-btn:not(:disabled):hover{background:#f0f0f0}.notif-count{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.notif-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column}.notif-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;width:100%;text-align:left;border:none;background:#fff;padding:8px 8px 8px 6px;border-bottom:1px solid #edf2f7;gap:6px}.notif-item:last-child{border-bottom:none}.notif-item.unread{background:#f8fafc}.notif-item:hover{background:#f1f5f9}.notif-body{border:none;background:transparent;text-align:left;padding:0;cursor:pointer}.notif-checkbox input{cursor:pointer}.notif-delete-one{border:none;background:transparent;color:#888;font-size:16px;cursor:pointer;padding:4px;line-height:1}.notif-delete-one:hover{color:#c00}.notif-item__title{font-weight:700;color:#0f172a;margin-bottom:4px}.notif-item__body{color:#475569;font-size:14px;margin-bottom:4px}.notif-item__meta{font-size:12px;color:#94a3b8}.notif-empty{padding:12px 10px;text-align:center;color:#64748b;font-weight:600}.notif-empty.error{color:#b91c1c}.icon-btn:hover{color:#f6b400;background-color:#fafafa;transform:translateY(-2px) scale(1.05);box-shadow:0 6px 18px #00000040}@media(max-width:768px){.navbar-title-nav{font-size:18px}.navbar-branding{font-size:.62rem}.navbar-actions{gap:8px}.hamburger-icon-desktop{display:none}.hamburger-icon-mobile{display:inline-flex;font-size:20px}}@media(max-width:430px){.admin-navbar{padding:12px 16px}}.admin-main{flex:1;margin-left:0;display:flex;flex-direction:column;transition:margin-left .3s ease;min-height:100dvh;width:100%;max-width:100%;overflow-x:hidden;position:relative;z-index:0}.sidebar-overlay{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:900}.sidebar{z-index:1000}*,*:before,*:after{box-sizing:border-box}.announcement-form{background-color:#fff;padding:24px 30px;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:600px;width:100%;margin:0 auto;font-family:Inter,sans-serif}.announcement-form h3{margin-bottom:20px;font-size:1.5rem;color:#111827;font-weight:600}.announcement-form label{display:block;margin-bottom:6px;font-size:14px;color:#374151;font-weight:500}.announcement-form input[type=text],.announcement-form input[type=date],.announcement-form textarea,.announcement-form input[type=file]{width:100%;padding:10px 12px;margin-bottom:15px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.announcement-form input:focus,.announcement-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #3b82f633;outline:none}.send-type-options{display:flex;gap:20px;margin-bottom:15px}.dropdown-container{position:relative;width:100%;margin-bottom:10px}.dropdown-selected{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px;transition:border-color .2s}.dropdown-menu-CR{position:absolute;top:100%;left:0;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 6px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:1000;padding:6px 0;min-width:100%}.selected-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.date-fields{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:15px}.date-fields div{flex:1;min-width:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:15px}.save-btn{background-color:#2563eb;color:#fff;padding:10px 18px;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.save-btn:hover{background-color:#1d4ed8}.cancel-btn{background-color:#e5e7eb;color:#374151;padding:10px 18px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.cancel-btn:hover{background-color:#d1d5db}.announcement-form input[type=file]{padding:6px;font-size:14px;border-radius:6px}@media(max-width:500px){.date-fields{flex-direction:column;gap:12px}.form-actions{flex-direction:column;align-items:stretch}.save-btn,.cancel-btn{width:100%}}.stat-card1{display:flex;align-items:center;justify-content:flex-start;padding:.8rem 1rem;border-radius:14px;background:linear-gradient(135deg,#fff,#eef4ffd9);color:var(--philgeps-deep-blue, #0f2d62);cursor:pointer;box-shadow:0 14px 24px #0f2d6226;transition:transform .3s ease,box-shadow .3s ease}.stat-card1:hover{transform:translateY(-4px);box-shadow:0 24px 32px #0f2d6238}.stat-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:10px;flex-shrink:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffe27a 0%,var(--philgeps-gold, #f6b400) 70%);color:var(--philgeps-deep-blue, #0f2d62);transition:background .3s ease}.stat-card1:hover .stat-icon{background:radial-gradient(circle at 30% 30%,#ffec9a 0%,var(--philgeps-gold, #f6b400) 70%)}.stat-info1{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;color:var(--philgeps-deep-blue, #0f2d62)}.stat-card-label{margin:0;font-size:.65rem;font-weight:600;color:var(--philgeps-muted, #64748b);text-transform:uppercase;letter-spacing:.5px;text-align:center}.stat-card-value{margin:0;font-size:1.2rem;font-weight:700;color:var(--philgeps-deep-blue, #0f2d62);line-height:1.2;text-align:center}.numeric{font-variant-numeric:tabular-nums}@keyframes pulse-animation{0%,to{transform:scale(1);box-shadow:0 0 #0f2d6226}50%{transform:scale(1.05);box-shadow:0 0 18px #f6b40066}}.stat-card1.pulse{animation:pulse-animation 2s infinite}.stats-container{display:flex;flex-direction:row;align-items:stretch;gap:14px;padding:12px 8px;flex-wrap:wrap}.stats-container .stat-card1{min-width:160px;max-width:1fr;flex:1 1 160px}.stats-container.loaded{animation:fadeInUp .3s ease both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:520px){.stats-container{flex-direction:column;gap:10px}.stats-container .stat-card1{flex:1 1 auto;width:100%}}.response-list{margin-top:1.5rem}.attempt-switcher{display:flex;align-items:center;gap:10px;margin:.25rem 0 .75rem;flex-wrap:wrap}.attempt-switcher-label{font-weight:600;color:var(--philgeps-deep-blue, #0f2d62)}.attempt-switcher-pills{display:flex;gap:8px;flex-wrap:wrap}.attempt-pill{border:1px solid rgba(15,45,98,.15);background:#f8fbff;color:#0f2d62;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease}.attempt-pill:hover:not(:disabled){background:#e6f0ff;border-color:#0f2d6259}.attempt-pill.active{background:var(--philgeps-deep-blue, #0f2d62);color:#fff;border-color:var(--philgeps-deep-blue, #0f2d62);box-shadow:0 6px 14px #0f2d622e}.attempt-pill:disabled{opacity:.7;cursor:not-allowed}.response-list table{width:100%;border-collapse:collapse;font-size:.9rem}.response-list th,.response-list td{padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.response-list th{background-color:#1c3f7c14;font-weight:600;color:var(--philgeps-deep-blue, #0f2d62)}.response-list .download-btn{background-color:var(--philgeps-deep-blue, #0f2d62);color:#fff;padding:6px 12px;border-radius:999px;text-decoration:none;font-size:.8rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.response-list .download-btn:hover{background-color:var(--philgeps-bright-blue, #1c3f7c);box-shadow:0 10px 20px #0f2d6233}.response-list .download-btn.loading,.response-history-item .download-btn.loading{opacity:.7;pointer-events:none;cursor:wait}.abstract-btn{background-color:var(--philgeps-gold, #f6b400);color:var(--philgeps-deep-blue, #0f2d62);padding:8px 14px;margin:10px 0;border:1px solid rgba(246,180,0,.35);border-radius:10px;cursor:pointer;font-weight:600;transition:background-color .2s,box-shadow .2s}.abstract-btn:hover{background-color:#ffd24d;box-shadow:0 12px 24px #f6b40059}.abstract-btn.secondary{background-color:var(--philgeps-deep-blue, #0f2d62);color:#fff;border-color:#0f2d6259}.abstract-btn.secondary:hover{background-color:var(--philgeps-bright-blue, #1c3f7c)}.abstract-btn:disabled,.abstract-btn[disabled]{opacity:.6;cursor:not-allowed}.response-modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:15px}.status-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;background-color:#e5e7eb;color:#111827;text-transform:none}.status-chip.status-submitted,.status-chip.status-answered{background-color:#d1fae5;color:#047857}.status-chip.status-submitted-reused,.status-chip.status-answered-reused{background-color:#cffafe;color:#0e7490}.status-chip.status-declined{background-color:#fee2e2;color:#b91c1c}.status-chip.status-pending-decision,.status-chip.status-opted-in,.status-chip.status-no-response{background-color:#ede9fe;color:#5b21b6}.download-placeholder{color:#9ca3af;font-style:italic}.response-file-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.view-history-btn{padding:6px 12px;border-radius:999px;border:1px solid rgba(28,63,124,.3);background:#1c3f7c14;color:var(--philgeps-deep-blue, #0f2d62);font-size:.78rem;font-weight:600;cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .2s}.view-history-btn:hover{background:#1c3f7c29;box-shadow:0 8px 16px #0f2d622e;transform:translateY(-1px)}.response-history-overlay{position:fixed;inset:0;background:#11182799;display:flex;justify-content:center;align-items:center;z-index:2100;padding:1rem}.response-history-modal{background:linear-gradient(180deg,#fff,#eef4ffd9);border-radius:14px;max-width:520px;width:100%;padding:1.5rem;position:relative;border:1px solid rgba(15,45,98,.12);box-shadow:0 24px 36px #0f2d6238}.response-history-modal h4{margin:0 0 1rem;color:var(--philgeps-deep-blue, #0f2d62);font-size:1.1rem;font-weight:600}.response-history-empty{color:var(--philgeps-muted, #64748b);margin:0}.response-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.response-history-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border:1px solid rgba(28,63,124,.12);border-radius:12px;background:#1c3f7c0d}.response-history-meta{display:flex;flex-direction:column;gap:.2rem}.response-history-attempt{font-weight:600;color:var(--philgeps-deep-blue, #0f2d62);font-size:.85rem}.response-history-date{font-size:.78rem;color:var(--philgeps-muted, #64748b)}.response-history-tag{font-size:.7rem;color:var(--philgeps-gold, #f6b400);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.inline-toast{position:fixed;bottom:18px;right:18px;padding:10px 14px;border-radius:10px;box-shadow:0 8px 18px #0000002e;background:#0f2d62;color:#fff;display:inline-flex;align-items:center;gap:10px;z-index:2200;font-size:.9rem}.inline-toast-success{background:#0f8358}.inline-toast-error{background:#b91c1c}.inline-toast-info{background:#0f2d62}.inline-toast-warning{background:#f6b400;color:#0f2d62}.inline-toast-close{background:transparent;border:none;color:inherit;font-size:1.1rem;cursor:pointer;line-height:1}.status-update-modal__overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#111827b3;z-index:2400;padding:20px}.status-update-modal__container{max-width:520px;width:100%;padding:28px 32px;border-radius:12px;background-color:#fff;box-shadow:0 20px 45px #0f172a1f;position:relative;max-height:90vh;overflow-y:auto}.status-update-modal__close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.35rem;color:#9ca3af;cursor:pointer;transition:color .2s ease,transform .2s ease}.status-update-modal__close:hover:not(:disabled){color:#111827;transform:scale(1.05)}.status-update-modal__close:disabled{cursor:not-allowed;opacity:.5}.status-update-modal__title{margin:0 0 12px;font-size:1.25rem;font-weight:600;color:#111827}.status-update-modal__message{margin:0 0 20px;font-size:.95rem;line-height:1.5;color:#4b5563}.status-update-modal__field{margin-bottom:18px}.status-update-modal__field label{display:block;margin-bottom:6px;font-size:.9rem;font-weight:600;color:#1f2937}.status-update-modal__field select,.status-update-modal__field textarea{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:10px 12px;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.status-update-modal__field select:focus,.status-update-modal__field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33;outline:none}.status-update-modal__field textarea{min-height:120px;resize:vertical}.status-update-modal__required-marker{color:#ef4444;margin-left:4px}.status-update-modal__hint{display:block;margin-top:8px;font-size:.75rem;color:#6b7280}.status-update-modal__error{margin:-6px 0 12px;color:#ef4444;font-size:.9rem}.status-update-modal__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.status-update-modal__primary,.status-update-modal__secondary{padding:10px 18px;border-radius:6px;font-weight:600;border:none;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.status-update-modal__primary{background-color:#2563eb;color:#fff}.status-update-modal__primary:hover:not(:disabled){background-color:#1d4ed8;transform:translateY(-1px)}.status-update-modal__primary:disabled{cursor:not-allowed;opacity:.7}.status-update-modal__secondary{background-color:#e5e7eb;color:#1f2937;border:1px solid #d1d5db}.status-update-modal__secondary:hover:not(:disabled){background-color:#d1d5db;transform:translateY(-1px)}.status-update-modal__secondary:disabled{cursor:not-allowed;opacity:.6}.status-history-modal{max-width:900px;width:95%;max-height:85vh;overflow:hidden}.status-history-summary{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#1f2937}.status-history-error{color:#dc2626;margin-bottom:12px}.status-history-table-wrapper{max-height:70vh;overflow-y:auto;overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.status-history-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}.status-history-table thead{background-color:#f3f4f6;position:sticky;top:0}.status-history-table th,.status-history-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.status-history-table tbody tr:nth-child(2n){background-color:#f9fafb}.status-history-table tbody tr:hover{background-color:#eef2ff}.status-history-attempt{text-align:center;white-space:nowrap;width:90px;color:#1f2937;font-weight:600}.status-history-status,.status-history-user,.status-history-date{white-space:nowrap}.status-history-notes{white-space:pre-wrap;word-break:break-word;min-width:200px;color:#1f2937}@media(max-width:768px){.status-history-modal{width:100%;max-width:100%;max-height:85vh;padding:8px}.status-history-table-wrapper{max-height:60vh}.status-history-table{font-size:13px}.status-history-table th,.status-history-table td{padding:8px 10px}}.pagination{display:flex;align-items:center;justify-content:center;gap:clamp(4px,1.5vw,8px);padding:clamp(8px,1.8vw,12px) clamp(10px,2vw,14px);background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 16px #0f172a14;flex-wrap:nowrap;width:100%;box-sizing:border-box}.page-control,.page-number{min-width:clamp(28px,6vw,36px);height:clamp(30px,6.5vw,38px);border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#111827;font-weight:600;font-size:clamp(12px,2.8vw,14px);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;padding:0 clamp(6px,2vw,10px)}.page-number.active{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 8px 18px #3b82f633}.page-control:hover:not(:disabled),.page-number:hover:not(.active):not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.page-control:disabled,.page-number:disabled{opacity:.45;cursor:not-allowed}.page-dots{color:#6b7280;font-weight:700;padding:0 4px;-webkit-user-select:none;user-select:none}.dashboard-filters{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem}.filters-left{display:flex;align-items:center;gap:.5rem}.filters-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-input,.filter-select,.filter-date{padding:8px 10px;border-radius:10px;border:1px solid rgba(15,45,98,.18);background:#fff;font-size:.9rem;color:var(--philgeps-neutral);transition:border-color .2s,box-shadow .2s}.filter-input:focus,.filter-select:focus,.filter-date:focus{outline:none;border-color:#1c3f7c8c;box-shadow:0 0 0 3px #1c3f7c26}@media(max-width:767px){.dashboard-filters{flex-direction:column;align-items:stretch}.filters-right{justify-content:flex-start}}.dashboard-container,.supplier-dashboard{padding:2rem;background:linear-gradient(180deg,var(--philgeps-sky) 0%,#ffffff 45%,var(--philgeps-sky) 100%);font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;gap:1.5rem}.dashboard-loading{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid rgba(28,63,124,.12);border-radius:12px;color:var(--philgeps-muted);width:100%;margin-bottom:12px;box-shadow:0 10px 18px #0f2d6214}.announcements-loading{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid rgba(28,63,124,.12);border-radius:12px;color:var(--philgeps-muted);box-shadow:0 10px 18px #0f2d6214}.dashboard-header{margin-bottom:24px;display:flex;flex-direction:column;gap:.75rem}.dashboard-header-tagline{align-self:flex-start;padding:4px 12px;border-radius:999px;border:1px solid rgba(28,63,124,.15);background:#1c3f7c14;color:var(--philgeps-bright-blue);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.dashboard-header h2{font-size:1.85rem;font-weight:700;color:var(--philgeps-deep-blue);margin:0;position:relative;padding-bottom:.35rem}.dashboard-header h2:after{content:"";position:absolute;left:0;bottom:0;width:72px;height:3px;background:linear-gradient(90deg,var(--philgeps-gold) 0%,var(--philgeps-bright-blue) 100%);border-radius:999px;opacity:.85}.dashboard-header,.supplier-header{background:linear-gradient(135deg,#fff,#ffffffb3);padding:1rem 1.5rem;border-radius:16px;border:1px solid rgba(28,63,124,.12);box-shadow:0 20px 28px #0f2d621f}.supplier-header h2{font-size:1.5rem;font-weight:700;color:var(--philgeps-deep-blue)}.dashboard-header p{color:var(--philgeps-muted);font-size:.95rem;margin:0;max-width:640px}.supplier-header p{color:var(--philgeps-muted);font-size:.95rem;margin-top:.25rem}@media(max-width:640px){.dashboard-header{padding:.85rem 1rem;gap:.6rem}.dashboard-header h2{font-size:1.55rem}.dashboard-header-tagline{font-size:.68rem;letter-spacing:.16em}}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-areas:"main side";gap:1.5rem}.main-chart-area{grid-area:main}.side-panel-area{grid-area:side;display:flex;flex-direction:column;gap:1rem}.collapsible-section{background:#fff;border-radius:14px;border:1px solid rgba(28,63,124,.16);overflow:hidden;box-shadow:0 14px 22px #0f2d6214}.collapsible-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:default;border-bottom:1px solid rgba(28,63,124,.12);background:linear-gradient(90deg,#1c3f7c14,#f6b4001f)}.collapsible-header h4{margin:0;font-size:1.05rem;font-weight:600;color:var(--philgeps-deep-blue)}.collapsible-content{padding:1.15rem;background:linear-gradient(180deg,#1c3f7c0a,#fff6 65%,#fff)}.announcements-container{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap;-webkit-overflow-scrolling:touch}.pagination-controls{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.pagination-info{font-size:.9rem;color:var(--philgeps-muted)}.pagination-buttons{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pagination-button{padding:8px 14px;background-color:var(--philgeps-deep-blue);color:#fff;border-radius:8px;border:1px solid rgba(15,45,98,.4);font-weight:600;cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .2s}.pagination-button:hover:not(:disabled){background-color:var(--philgeps-bright-blue);box-shadow:0 8px 18px #0f2d6240;transform:translateY(-1px)}.pagination-button:disabled{background-color:#0f2d6240;border-color:#0f2d6226;cursor:not-allowed}.pagination-page{font-size:.9rem;color:var(--philgeps-deep-blue);font-weight:600}.delete-btn{margin-top:.75rem;align-self:flex-start;padding:6px 14px;background-color:#c8102ee6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s}.delete-btn:hover:not(:disabled){background-color:#c8102e;box-shadow:0 12px 22px #c8102e40;transform:translateY(-1px)}.delete-btn:disabled{background-color:#c8102e80;cursor:not-allowed}.view-toggle{display:flex;gap:8px;align-items:center}.view-toggle-btn{padding:8px 12px;border-radius:8px;border:1px solid rgba(15,45,98,.12);background:transparent;color:var(--philgeps-deep-blue);font-weight:600;cursor:pointer;transition:background-color .18s,color .18s,transform .12s}.view-toggle-btn:hover{transform:translateY(-1px)}.view-toggle-btn.active{background:var(--philgeps-deep-blue);color:#fff;border-color:var(--philgeps-deep-blue)}@media(max-width:640px){.view-toggle{gap:6px}.view-toggle-btn{padding:6px 10px;font-size:.9rem}}@media(max-width:770px){.collapsible-header{flex-direction:column;align-items:flex-start;gap:10px}.view-toggle{width:100%;flex-direction:column;align-items:stretch;gap:10px}.view-toggle-btn{width:100%;text-align:center}}.announcement-card,.post-card{background:linear-gradient(180deg,#fffffffa,#eef4fff2);padding:14px 16px;border-radius:16px;border:1px solid rgba(28,63,124,.12);transition:box-shadow .2s,border-color .2s,transform .2s,background .2s;cursor:pointer;position:relative;box-shadow:0 12px 24px #0f2d6214;font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.announcement-card{flex:1 1 100%;max-width:100%}.announcement-card.expanded{border-color:#f6b400a6;box-shadow:0 18px 32px #0f2d6226}.announcement-card:hover,.post-card:hover{box-shadow:0 22px 38px #0f2d6233;border-color:#f6b400d9;background:linear-gradient(180deg,#fff,#f6b40014);transform:translateY(-3px)}.announcement-card.awarded{border-color:#22c55e80;background:linear-gradient(180deg,#effcf3f5,#dcf7e7f0);box-shadow:0 18px 32px #22c55e29}.announcement-card.awarded:hover{border-color:#16a34ab3;background:linear-gradient(180deg,#effcf3fa,#cef3dcf5);box-shadow:0 22px 36px #22c55e38}.announcement-card.expired{border-color:#c8102e80;background:linear-gradient(180deg,#fff5f5e6,#fae6e6f2)}.announcement-card.expired:hover{border-color:#c8102ecc;background:linear-gradient(180deg,#ffebebf2,#fcd9d9f2)}.announcement-card.failed-posting{border-color:#dc2626a6;background:linear-gradient(180deg,#fff8f5f2,#fee4dcf2);box-shadow:0 18px 30px #dc262624}.announcement-card.failed-posting:hover{border-color:#dc2626d9;background:linear-gradient(180deg,#fff0ecfa,#fed7cdf5)}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.75rem}.announcement-header-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}@media(max-width:720px){.announcement-header{flex-direction:column;align-items:flex-start}.announcement-header-right{width:100%;justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:.35rem}.announcement-header-right .badge{width:100%;justify-content:center}}.announcement-header h4,.post-title{font-size:1.12rem;font-weight:600;margin:0;color:var(--philgeps-deep-blue);line-height:1.4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.announcement-card p,.post-description{font-size:.83rem;color:var(--philgeps-muted);margin:0;line-height:1.35}.announcement-metadata{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.announcement-preview{margin-top:.25rem;display:flex;flex-direction:column;gap:.25rem}.announcement-preview-summary{margin:0;font-size:.84rem;color:var(--philgeps-deep-blue);line-height:1.3;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.announcement-preview-line{margin:0;font-size:.74rem;color:var(--philgeps-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.announcements-container{display:block}.announcement-card{padding:12px;flex:0 0 100%;max-width:100%;margin-bottom:.75rem}.announcement-preview-summary{font-size:.83rem}}.announcement-expanded{margin-top:.75rem;padding:1.05rem;background:linear-gradient(135deg,#1c3f7c1f,#f6b40014);border:1px solid rgba(28,63,124,.18);border-radius:14px;display:flex;flex-direction:column;gap:.95rem;width:100%;box-sizing:border-box}.announcement-expanded-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.announcement-expanded-column h5{margin:0 0 .65rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--philgeps-gold);font-weight:700}.announcement-expanded-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem;margin-bottom:.55rem}.announcement-expanded-row--stacked{flex-direction:column;align-items:flex-start;gap:.35rem}.announcement-expanded-row--stacked .announcement-expanded-label{margin-bottom:.1rem}.announcement-expanded-row--stacked .announcement-expanded-value{width:100%}.announcement-expanded-label{font-size:.7rem;font-weight:600;color:var(--philgeps-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.announcement-expanded-value{font-size:.83rem;color:var(--philgeps-neutral);line-height:1.45;flex:1 1 auto;word-break:break-word;overflow-wrap:anywhere;display:block;width:100%;max-width:100%}@media(max-width:900px){.announcement-expanded-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(max-width:640px){.announcement-expanded-columns{grid-template-columns:1fr}}.announcement-expanded-empty{font-size:.8rem;color:#1c3f7c8c}.announcement-expanded-chip-grid{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.3rem}.announcement-expanded-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#3b82f614;border:1px solid rgba(59,130,246,.28);color:#0f172a;font-size:.72rem;font-weight:600;letter-spacing:.02em}.announcement-expanded-chip--muted{position:relative;padding-left:12px;background:#3b82f61a;border-color:#3b82f640;color:#0f172a}.announcement-expanded-chip--muted:before{content:"";width:6px;height:6px;border-radius:999px;background:#2563eb;position:absolute;left:6px}.announcement-expanded-link{font-size:.72rem;font-weight:600;color:var(--philgeps-deep-blue);background:none;border:none;padding:0 2px;cursor:pointer;text-decoration:underline}.announcement-expanded-link:hover{color:var(--philgeps-bright-blue)}.announcement-expanded-actions{display:flex;flex-wrap:wrap;gap:.5rem}.announcement-expanded-action{border:1px solid rgba(246,180,0,.5);background:linear-gradient(135deg,#ffe27af2,#f6b400d9);color:var(--philgeps-deep-blue);font-size:.78rem;font-weight:600;padding:.45rem .9rem;border-radius:9999px;cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.announcement-expanded-action:hover{background:linear-gradient(135deg,#ffeca4fa,#ffd24de6);box-shadow:0 10px 20px #f6b40059;transform:translateY(-1px)}.announcement-expanded-action:active{transform:translateY(0)}@media(max-width:640px){.announcement-expanded{padding:.75rem}.announcement-expanded-row{flex-direction:column;align-items:flex-start}.announcement-expanded-chip-grid{width:100%}.announcement-expanded-actions{flex-direction:column;align-items:stretch}.announcement-expanded-action{width:100%;text-align:center}}.post-btn,.see-more-btn{padding:8px 14px;background-color:var(--philgeps-gold);color:var(--philgeps-deep-blue);border-radius:10px;border:1px solid rgba(246,180,0,.45);font-weight:600;cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .2s}.post-btn:hover,.see-more-btn:hover{background-color:#ffd24d;box-shadow:0 10px 22px #f6b40059;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#111827b3;display:flex;justify-content:center;align-items:center;z-index:2000}.modal{background:linear-gradient(180deg,#fff,#eef4ffd9);padding:1.5rem 2rem;border-radius:14px;max-width:600px;width:90%;position:relative;max-height:90vh;overflow-y:auto;box-shadow:0 24px 40px #0f2d6238;border:1px solid rgba(15,45,98,.12)}.modal-close-btn{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.25rem;color:var(--philgeps-muted);cursor:pointer}.modal-close-btn:hover{color:var(--philgeps-deep-blue)}.badge{background-color:var(--philgeps-deep-blue);color:#fff;padding:3px 8px;border-radius:9999px;font-size:.7rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;box-shadow:0 4px 10px #0f2d6233;white-space:nowrap}.badge-action{cursor:pointer;border:1px solid rgba(15,45,98,.35);background:linear-gradient(135deg,var(--philgeps-bright-blue) 0%,var(--philgeps-deep-blue) 100%);color:#fff;transition:transform .15s ease,box-shadow .2s ease,border-color .15s ease,filter .15s ease;white-space:nowrap}.badge-action:hover{box-shadow:0 12px 20px #0f2d6247;transform:translateY(-1px);border-color:#f6b400a6;filter:brightness(1.05)}.badge-action:focus-visible{outline:2px solid var(--philgeps-bright-blue);outline-offset:2px}.badge-action:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.badge-awarded{background:linear-gradient(135deg,#22c55ee6,#84e1bce6);color:#0f5132;border:1px solid rgba(34,197,94,.45);box-shadow:0 6px 14px #22c55e47}.badge-expired{background-color:#c8102ed9}.announcement-status-bar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid rgba(28,63,124,.14);flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:.35rem;background-color:#1f2937;color:#fff;padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.status-action-group{display:flex;gap:.5rem;flex-wrap:wrap}.status-action-btn{padding:5px 11px;border-radius:8px;border:1px solid rgba(15,45,98,.2);background:#fff;color:var(--philgeps-neutral);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.status-action-btn:hover:not(:disabled){background-color:var(--philgeps-bright-blue);color:#fff;border-color:#0f2d6280;box-shadow:0 10px 18px #0f2d622e}.status-action-btn:disabled{opacity:.6;cursor:not-allowed}.status-action-btn--primary{border-color:#f6b40080;color:var(--philgeps-deep-blue);background:#f6b4001f}.status-action-btn--primary:hover:not(:disabled){background-color:var(--philgeps-gold);color:var(--philgeps-deep-blue);border-color:#f6b40099}.status-action-btn--danger{border-color:#c8102e4d;color:#c8102eeb;background:#c8102e14}.status-action-btn--danger:hover:not(:disabled){background-color:#c8102ed9;color:#fff;border-color:#c8102ee6}.dropdown-item.parent-category{font-weight:600;color:#111827;background-color:#f3f4f6;padding:6px 0}.dropdown-item.child-category{padding-left:2rem;font-weight:400}.response-list{margin-top:1rem}.response-list table{width:100%;border-collapse:collapse;font-size:.85rem}.response-list th,.response-list td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e5e7eb}.response-list th{background-color:#1c3f7c14;font-weight:600;color:var(--philgeps-deep-blue)}.response-list .download-btn{background-color:var(--philgeps-deep-blue);color:#fff;padding:4px 12px;font-size:.75rem;border-radius:999px;text-decoration:none;transition:background-color .2s,box-shadow .2s}.response-list .download-btn:hover{background-color:var(--philgeps-bright-blue);box-shadow:0 6px 12px #0f2d6233}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#111827b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s}.modal-close-btn:hover{background-color:#f3f4f6;color:#111827}.modal-body{padding:24px;overflow-y:auto;line-height:1.6;color:#374151}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb;flex-shrink:0}@keyframes slideUp{0%{transform:translateY(20px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}:root{--philgeps-deep-blue: #0f2d62;--philgeps-bright-blue: #1c3f7c;--philgeps-sky: #eef4ff;--philgeps-gold: #f6b400;--philgeps-neutral: #1f2937;--philgeps-muted: #64748b}.manage-accounts-container{padding:2rem;background:linear-gradient(180deg,var(--philgeps-sky) 0%,#ffffff 45%,var(--philgeps-sky) 100%);font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column;gap:1.5rem}.manage-accounts-header{background:linear-gradient(135deg,#fff,#ffffffbf);padding:1rem 1.5rem;border-radius:16px;border:1px solid rgba(28,63,124,.12);box-shadow:0 20px 28px #0f2d621f;display:flex;flex-direction:column;gap:.75rem}.manage-accounts-tagline{align-self:flex-start;padding:4px 12px;border-radius:999px;border:1px solid rgba(28,63,124,.15);background:#1c3f7c14;color:var(--philgeps-bright-blue);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.manage-accounts-header h2{font-size:1.85rem;font-weight:700;color:var(--philgeps-deep-blue);margin:0;position:relative;padding-bottom:.35rem}.manage-accounts-header h2:after{content:"";position:absolute;left:0;bottom:0;width:72px;height:3px;background:linear-gradient(90deg,var(--philgeps-gold) 0%,var(--philgeps-bright-blue) 100%);border-radius:999px;opacity:.85}.manage-accounts-header p{color:var(--philgeps-muted);font-size:.95rem;margin:0;max-width:720px}.notification-composer{margin:1rem 0 2rem;padding:1.1rem 1.2rem;border:1px dashed rgba(15,45,98,.2);border-radius:14px;background:#f7fbff}.notification-composer__controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-top:.7rem}.notification-composer__controls input,.notification-composer__controls textarea{padding:10px 12px;border-radius:10px;border:1px solid rgba(15,45,98,.2);font-size:.95rem;color:var(--philgeps-neutral)}.notification-composer__controls textarea{grid-column:1 / -1;resize:vertical;min-height:120px}.docs-cell{min-width:140px}.folder-icon{width:10px;height:10px}.docs-link{color:var(--philgeps-deep-blue);font-weight:600;text-decoration:none}.docs-link:hover{text-decoration:underline}.muted{color:var(--philgeps-muted)}.tester-send-btn{padding:10px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--philgeps-bright-blue) 0%,var(--philgeps-deep-blue) 100%);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 10px 18px #0f2d622e;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.tester-send-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.tester-send-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 20px #0f2d623d}.tabs{display:flex;gap:.75rem;flex-wrap:wrap}.tab-btn{padding:8px 16px;background:#0f2d620f;border:1px solid rgba(15,45,98,.12);border-radius:999px;cursor:pointer;font-weight:600;color:var(--philgeps-bright-blue);transition:all .2s ease}.tab-btn:hover{background:#0f2d621f;border-color:#0f2d6233}.tab-btn.active{background:linear-gradient(135deg,var(--philgeps-bright-blue) 0%,var(--philgeps-deep-blue) 100%);color:#fff;border-color:#0f2d62cc;box-shadow:0 10px 20px #0f2d6238}.filter-bar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;background:#fff;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(28,63,124,.12);box-shadow:0 12px 20px #0f2d6214;width:100%}.search-input,.status-select{padding:6px 12px;border-radius:10px;border:1px solid rgba(15,45,98,.18);background:#fff;color:var(--philgeps-neutral);font-size:.95rem;transition:border-color .2s,box-shadow .2s;height:38px}.search-input:focus,.status-select:focus{outline:none;border-color:#1c3f7c8c;box-shadow:0 0 0 3px #1c3f7c26}.pagination-summary{color:var(--philgeps-muted);font-weight:600;font-size:.95rem}.approve-modal{display:flex;flex-direction:column;gap:10px}.approve-note{font-size:14px;color:#334155;margin:0}.approve-notes-label{font-weight:600;font-size:14px;color:#1f2937}.approve-modal textarea{width:100%;min-height:80px;padding:10px;border-radius:8px;border:1px solid #cbd5e1;resize:vertical}.approve-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.action-modal textarea{width:100%;min-height:100px;padding:10px;border-radius:8px;border:1px solid #cbd5e1;resize:vertical}.search-input{flex:1 1 100%;min-width:240px;width:100%;max-width:100%;height:38px;align-self:stretch}@media(max-width:770px){.filter-bar{align-items:flex-start}.search-input,.status-select{flex:1 1 100%;max-width:100%;height:36px;align-self:stretch}}.status-select{min-width:180px}.supplier-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 16px 26px #0f2d621f}.supplier-table thead{background:linear-gradient(90deg,#1c3f7c0f,#f6b40026)}.supplier-table th,.supplier-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(15,45,98,.08);font-size:.95rem;color:var(--philgeps-neutral)}.supplier-table th{font-weight:600;color:var(--philgeps-deep-blue);letter-spacing:.02em;text-transform:uppercase;font-size:.78rem}.supplier-table tbody tr:hover{background:#0f2d620d}.name-cell{display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:500;color:var(--philgeps-neutral)}.last-active{font-size:.8rem;color:var(--philgeps-muted);font-weight:400}.no-results{text-align:center;color:var(--philgeps-muted);padding:16px}.table-loading{display:inline-flex;align-items:center;gap:10px}.status{padding:4px 10px;border-radius:999px;font-weight:600;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em;display:inline-flex;align-items:center;justify-content:center;min-width:110px}.status.active{background-color:#10b9812e;color:#047857}.status.pending{background-color:#f6b4002e;color:#92400e}.status.blacklisted{background-color:#dc26262e;color:#991b1b}.status.rejected{background-color:#ef44442e;color:#b91c1c}.actions-cell{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.actions-cell div{display:flex;gap:2px;flex-wrap:wrap}.actions-cell button,.admin-label{padding:6px 12px;border-radius:8px;border:none;font-size:.83rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:center}@media(max-width:1140px){.actions-cell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.actions-cell button,.actions-cell .admin-label{width:100%}}.actions-cell button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f2d6226}.approve-btn{background:linear-gradient(135deg,#34d399,#059669);color:#fff}.reject-btn{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff}.blacklist-btn{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff}.admin-label{background:#0f2d6214;color:var(--philgeps-bright-blue)}@media(max-width:820px){.manage-accounts-container .supplier-table{display:block;border-spacing:0}.manage-accounts-container .supplier-table thead{display:none}.manage-accounts-container .supplier-table tbody{display:flex;flex-direction:column;gap:.75rem}.manage-accounts-container .supplier-table tr{display:block;background:#fff;border:1px solid rgba(28,63,124,.14);border-radius:14px;padding:12px;box-shadow:0 10px 20px #0f2d6214}.manage-accounts-container .supplier-table td{display:grid;grid-template-columns:minmax(110px,32%) 1fr;gap:10px;padding:8px 0;border-bottom:1px solid rgba(15,45,98,.08)}.manage-accounts-container .supplier-table td:last-child{border-bottom:none;padding-bottom:0}.manage-accounts-container .supplier-table td:before{content:attr(data-label);font-weight:700;font-size:.78rem;color:var(--philgeps-muted);text-transform:uppercase;letter-spacing:.05em}.manage-accounts-container .actions-cell{display:grid;grid-template-columns:minmax(90px,38%) 1fr;align-items:center;gap:8px}.manage-accounts-container .actions-cell:before{align-self:center;margin:0}.manage-accounts-container .actions-cell button,.manage-accounts-container .actions-cell .admin-label{width:auto;min-width:96px;padding:6px 10px;justify-content:center;text-align:center;white-space:nowrap}.manage-accounts-container .status{min-width:0;justify-content:center}}@media(max-width:768px){.manage-accounts-container{padding:1.25rem}.manage-accounts-header{padding:.85rem 1rem}.manage-accounts-header h2{font-size:1.6rem}.filter-bar{flex-direction:column;align-items:stretch}.status-select{width:100%}}@media(max-width:480px){.tabs{gap:.5rem}.tab-btn{padding:6px 12px;font-size:.88rem}.manage-accounts-tagline{font-size:.68rem;letter-spacing:.16em}}:root{--philgeps-primary: #0052A5;--philgeps-secondary: #0066CC;--philgeps-light: rgb(255, 255, 255);--philgeps-accent: #FFD700;--text-primary: #1a1a1a;--text-secondary: #4a5568;--text-muted: #718096;--background: #F5F8FA;--card-bg: #FFFFFF;--border-color: #ffffff;--success: #10B981;--warning: #F59E0B}.market-container{padding:32px;max-width:1400px;margin:0 auto;background:linear-gradient(135deg,#e8f1f8,#f5f8fa,#fff);min-height:100vh;position:relative}.market-container:before{content:"";position:absolute;top:0;right:0;width:400px;height:400px;background:radial-gradient(circle,rgba(0,82,165,.05) 0%,transparent 70%);pointer-events:none;z-index:0}.market-container>*{position:relative;z-index:1}.market-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:24px 28px;border-radius:16px;gap:16px;flex-wrap:wrap;position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f5f8ff);box-shadow:0 20px 36px #0f2d621f;border:1px solid rgba(15,45,98,.12)}.market-header-content{display:flex;flex-direction:column;gap:.85rem;position:relative;z-index:1;max-width:680px}.market-header-tagline{align-self:flex-start;padding:4px 12px;border-radius:999px;border:1px solid rgba(28,63,124,.15);background:#1c3f7c14;color:var(--philgeps-bright-blue);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.market-header-text{display:flex;flex-direction:column;gap:.4rem}.market-header h2{font-size:2.1rem;font-weight:700;color:var(--philgeps-deep-blue);margin:0;text-shadow:none}.market-header h2:after{content:"";display:block;width:74px;height:3px;margin-top:8px;border-radius:999px;background:linear-gradient(90deg,var(--philgeps-gold) 0%,rgba(28,63,124,.65) 100%);opacity:.8}.market-header-description{color:var(--philgeps-muted);font-size:1rem;margin:0;line-height:1.5}.bookmark-view-btn{background:#fffffff2;color:var(--philgeps-primary);border:2px solid rgba(255,255,255,.3);border-radius:12px;padding:12px 24px;cursor:pointer;transition:all .3s ease;font-weight:700;font-size:.95rem;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:8px;position:relative;z-index:1}.bookmark-view-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000040;background:#fff}.bookmark-view-btn.active{background:linear-gradient(135deg,var(--philgeps-accent) 0%,#FFE55C 100%);color:#7c2d12;border-color:var(--philgeps-accent);box-shadow:0 4px 16px #ffd70066}.market-filter-bar{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px;margin-bottom:28px;padding:24px;background:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px #0052a514;border:2px solid var(--border-color);position:relative}.market-filter-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent));border-radius:16px 16px 0 0}.market-search-input,.market-category-select,.market-supplier-select,.market-date-input{padding:14px 18px;border-radius:10px;border:2px solid var(--border-color);font-size:.95rem;transition:all .3s ease;background:var(--philgeps-light);color:var(--text-primary);font-family:inherit;font-weight:500}.market-search-input:focus,.market-category-select:focus,.market-supplier-select:focus,.market-date-input:focus{outline:none;border-color:var(--philgeps-primary);background:var(--card-bg);box-shadow:0 0 0 4px #0052a51a;transform:translateY(-1px)}.market-search-input::placeholder{color:var(--text-muted);font-weight:400}.market-category-select:disabled,.market-supplier-select:disabled{opacity:.5;cursor:not-allowed;background:#e2e8f0}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;animation:fadeInUp .5s ease}.market-loading{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid rgba(28,63,124,.12);border-radius:12px;color:#64748b;box-shadow:0 10px 18px #0f2d6214}.market-card{background:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px #0052a514;padding:24px;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;border:2px solid transparent;overflow:hidden}.market-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent));transform:scaleX(0);transition:transform .4s ease}.market-card:after{content:"";position:absolute;top:12px;right:12px;width:60px;height:60px;background:radial-gradient(circle,rgba(0,82,165,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none;transition:all .4s ease}.market-card:hover:before{transform:scaleX(1)}.market-card:hover:after{transform:scale(2);opacity:.5}.market-card:hover{transform:translateY(-8px);box-shadow:0 16px 32px #0052a526;border-color:var(--philgeps-light)}.market-card h4{font-size:1.2rem;font-weight:700;color:var(--philgeps-primary);margin:0;line-height:1.25;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.market-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.market-logo{width:42px;height:42px;border-radius:12px;background:#e0e7ff;border:1px solid rgba(99,102,241,.25);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 8px 18px #4f46e529}.market-logo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:12px;cursor:pointer}.market-logo span{display:none;font-weight:700;color:#312e81}.logo-preview-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.logo-preview{position:relative;background:#fff;border-radius:14px;padding:12px;box-shadow:0 18px 42px #00000047;max-width:min(90vw,540px);max-height:min(90vh,540px);display:flex;align-items:center;justify-content:center}.logo-preview-close{position:absolute;top:8px;right:8px;border:none;background:#000000a6;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease}.market-card-title{display:flex;flex-direction:column;gap:0px}.market-supplier-name{margin:0;color:#4b5563;font-weight:600;line-height:1.1}.market-card p{margin:8px 0;font-size:.9rem;color:var(--text-secondary);line-height:1.6}.market-card .item-description{color:var(--text-muted);font-size:.875rem;line-height:1.6;margin:8px 0 12px;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:italic;padding:8px 12px;background:var(--philgeps-light);border-radius:8px;border-left:3px solid var(--philgeps-secondary)}.market-card p strong{color:var(--text-primary);font-weight:600;display:inline-block;min-width:70px}.market-card .item-updated{font-size:.8rem;color:var(--text-muted);margin:6px 0;padding:4px 8px;background:#0052a50d;border-radius:6px;display:inline-block}.market-card .item-updated strong{font-size:.8rem;min-width:auto;margin-right:4px;color:var(--philgeps-secondary)}.market-effective{margin-top:12px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#94a3b81f;color:#475569;border:1px solid rgba(148,163,184,.2)}.market-effective.active{background:#22c55e29;color:#166534;border-color:#22c55e47}.market-effective.expired{background:#f8717133;color:#991b1b;border-color:#f8717159}.market-effective.none{background:#94a3b82e;color:#475569}.market-effective-pill{font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:999px;border:1px solid transparent;background:#ffffff52;text-transform:uppercase;letter-spacing:.5px}.market-effective-pill.badge-active{background:#22c55e38;border-color:#1665344d;color:#166534}.market-effective-pill.badge-expired{background:#f8717147;border-color:#b91c1c59;color:#991b1b}.market-effective-pill.badge-none{background:#94a3b840;border-color:#47556940;color:#475569}.market-effective-message{font-size:.82rem;line-height:1.4}@media(max-width:900px){.market-effective{flex-direction:column;align-items:flex-start;gap:8px}.market-effective-pill{margin-bottom:2px}.market-effective-message{font-size:.85rem}}.market-card .item-price{font-size:1.4rem;font-weight:800;color:var(--success);margin-top:16px;margin-bottom:12px;padding:8px 10px;text-align:center;background:linear-gradient(135deg,#10b9811a,#10b9810d);border-radius:8px}.item-categories{margin:10px 0 12px;font-size:.9rem;color:var(--text-secondary);line-height:1.5;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.item-categories strong{color:var(--text-primary);font-weight:600;margin-right:4px}.category-list-text{font-weight:600;color:var(--philgeps-primary)}.show-more-btn{background:none;border:none;color:var(--philgeps-primary);cursor:pointer;font-size:.8rem;font-weight:600;margin-left:6px;padding:0;text-decoration:underline;transition:color .2s ease}.show-more-btn:hover{color:var(--philgeps-secondary);text-decoration:underline}.bookmark-btn{padding:12px 18px;border-radius:10px;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .3s ease;border:2px solid var(--border-color);background:var(--philgeps-light);color:var(--philgeps-secondary);display:flex;align-items:center;justify-content:center;gap:8px;text-transform:uppercase;letter-spacing:.5px;width:100%;margin-top:4px}.bookmark-btn:hover{background:var(--card-bg);border-color:var(--philgeps-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0052a533}.bookmark-btn.active{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:var(--philgeps-accent);color:#78350f;box-shadow:0 4px 12px #ffd7004d}.bookmark-btn.active:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);box-shadow:0 6px 16px #ffd70066}.market-card{display:flex;flex-direction:column}.market-card-content{flex-grow:1}.market-card-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px}.market-card-footer .market-effective{grid-column:1 / -1;margin-top:0;width:100%}.market-card-footer .item-price{margin:0;display:flex;align-items:center;justify-content:center}.market-card-footer .bookmark-btn{margin:0;width:100%}.no-items{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:1.1rem;padding:80px 20px;background:var(--card-bg);border-radius:16px;border:3px dashed var(--border-color);font-weight:500}.market-modal{position:fixed;inset:0;background:#0052a566;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .3s ease;padding:20px}.market-modal-content{background:var(--card-bg);border-radius:20px;padding:36px;width:100%;max-width:700px;max-height:70vh;box-shadow:0 24px 64px #0052a54d;position:relative;animation:slideUp .4s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden;border:3px solid var(--philgeps-light)}.market-modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent));border-radius:20px 20px 0 0;position:sticky;z-index:10}.market-modal-content h2{margin:-6px 0 20px;color:var(--philgeps-primary);font-size:1.85rem;font-weight:700;padding-right:50px;line-height:1.3;position:sticky;top:0;background:var(--card-bg);padding-top:6px;padding-bottom:10px;z-index:9}.market-modal-content p{margin:14px 0;font-size:1rem;color:var(--text-secondary);line-height:1.7;word-wrap:break-word}.market-modal-content p strong{color:var(--text-primary);font-weight:700;display:inline-block;min-width:120px}.modal-close-btn{position:sticky;top:16px;float:right;background:var(--philgeps-light);border:2px solid var(--border-color);font-size:1.5rem;cursor:pointer;color:var(--text-secondary);width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:700;z-index:10;margin-bottom:-44px}.modal-close-btn:hover{background:var(--philgeps-primary);color:#fff;border-color:var(--philgeps-primary);box-shadow:0 4px 12px #0052a54d}.modal-bookmark{width:100%;margin-top:24px;padding:16px 24px;font-size:1rem;border-radius:12px}.modal-description{background:var(--philgeps-light);padding:16px 20px;border-radius:12px;border-left:5px solid var(--philgeps-secondary);margin:20px 0!important;font-style:italic;box-shadow:0 2px 8px #0052a50d}.modal-description strong{display:block;margin-bottom:8px;color:var(--philgeps-primary);font-style:normal;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.modal-info-row{margin:18px 0;padding:16px;background:var(--philgeps-light);border-radius:12px;border-left:5px solid var(--philgeps-accent)}.modal-info-row strong{color:var(--text-primary);font-weight:700;font-size:.95rem;display:block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.modal-categories-text{margin:0;font-size:.95rem;color:var(--philgeps-secondary);line-height:1.6}.modal-category-list{margin:16px 0 0;padding-left:20px;color:var(--philgeps-secondary);font-size:.95rem;line-height:1.6}.modal-category-list li{margin-bottom:6px}.market-modal-content::-webkit-scrollbar{width:10px}.market-modal-content::-webkit-scrollbar-track{background:var(--philgeps-light);border-radius:10px}.market-modal-content::-webkit-scrollbar-thumb{background:var(--philgeps-primary);border-radius:10px}.market-modal-content::-webkit-scrollbar-thumb:hover{background:var(--philgeps-secondary)}@media(max-width:1024px){.market-filter-bar{grid-template-columns:1fr 1fr;gap:12px}.market-search-input{grid-column:1 / -1}.market-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.market-container{padding:20px 16px}.market-header{padding:20px 24px}.market-header h2{font-size:1.75rem}.market-filter-bar{grid-template-columns:1fr;padding:20px}.market-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.bookmark-view-btn{padding:10px 20px;font-size:.9rem}.market-modal-content{padding:28px;border-radius:16px;max-height:65vh}.market-modal-content h2{font-size:1.5rem;padding-right:50px}.modal-close-btn{width:40px;height:40px;font-size:1.3rem}}@media(max-width:480px){.market-header{flex-direction:column;align-items:stretch;padding:16px 20px}.market-header h2{font-size:1.5rem}.bookmark-view-btn{width:100%;justify-content:center}.market-grid{grid-template-columns:1fr;gap:16px}.market-card{padding:20px}.market-card-footer{grid-template-columns:1fr}.item-categories{flex-direction:column;align-items:flex-start;gap:4px}.show-more-btn{margin-left:0}.market-modal-content{padding:20px;max-height:60vh}.market-modal-content h2{font-size:1.3rem;padding-right:45px}.modal-close-btn{width:36px;height:36px;font-size:1.2rem;top:12px}}.price-stats{display:flex;gap:20px;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;margin-bottom:20px;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:5px}.stat-label{font-size:12px;color:#fffc;font-weight:500}.price-stats .stat-value{font-size:18px;font-weight:600;color:#fff}.market-filter-section{background:#fff;border-radius:10px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.filter-header h3{margin:0;color:#333}.filter-actions{display:flex;gap:10px}.toggle-filters-btn,.clear-filters-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.toggle-filters-btn{background:#f0f0f0;color:#333}.toggle-filters-btn:hover{background:#e0e0e0}.clear-filters-btn{background:#f44;color:#fff}.clear-filters-btn:hover{background:#c00}.advanced-filters{margin-top:20px;padding-top:20px;border-top:2px solid #f0f0f0}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-weight:600;color:#555;font-size:14px}.location-input-wrapper{position:relative}.market-location-input{width:100%;padding:10px;border:2px solid #ddd;border-radius:6px;font-size:14px}.location-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #ddd;border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px #0000001a}.location-option{padding:10px;cursor:pointer;transition:background .2s}.location-option:hover{background:#f0f0f0}.price-range-inputs{display:flex;align-items:center;gap:10px}.price-input{flex:1;padding:10px;border:2px solid #ddd;border-radius:6px;font-size:14px}.price-separator{color:#999;font-weight:700}.no-items-container{text-align:center;padding:40px;display:flex;flex-direction:column;gap:15px;align-items:center}.market-sort-select{width:100%;padding:10px;border:2px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;box-sizing:border-box;font-weight:500}.filter-hint{display:block;margin-top:5px;font-size:11px;color:#888;font-style:italic;line-height:1.4}.advanced-filters{margin-top:20px;padding-top:20px;border-top:2px solid #E2E8F0;animation:slideDown .3s ease}.price-filter{background:linear-gradient(135deg,#10b9810d,#10b98105);padding:15px;border-radius:10px;border:2px solid rgba(16,185,129,.1)}.price-filter label{color:var(--success);font-weight:700;font-size:15px;display:flex;align-items:center;gap:6px}.price-range-inputs{display:flex;align-items:center;gap:10px;margin-bottom:5px}.price-input{flex:1;padding:12px;border:2px solid #D1FAE5;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-primary);transition:all .3s ease}.price-input:focus{outline:none;border-color:var(--success);box-shadow:0 0 0 4px #10b9811a;transform:translateY(-1px)}.price-input::placeholder{color:#6ee7b7;font-weight:500}.price-separator{color:var(--success);font-weight:700;font-size:16px}.date-filter{background:linear-gradient(135deg,#0052a50d,#0052a505);padding:15px;border-radius:10px;border:2px solid rgba(0,82,165,.1)}.date-filter label{color:var(--philgeps-primary);font-weight:700;font-size:15px;display:flex;align-items:center;gap:6px}.market-date-input{width:100%;padding:12px;border:2px solid #DBEAFE;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-primary);transition:all .3s ease;box-sizing:border-box}.market-date-input:focus{outline:none;border-color:var(--philgeps-primary);box-shadow:0 0 0 4px #0052a51a;transform:translateY(-1px)}.market-sort-select{padding:14px 18px;border:2px solid var(--border-color);border-radius:10px;font-size:.95rem;font-weight:600;background:linear-gradient(135deg,#fff,#f8fafc);cursor:pointer;transition:all .3s ease;color:var(--text-primary);box-sizing:border-box}.market-sort-select:focus{outline:none;border-color:var(--philgeps-secondary);box-shadow:0 0 0 4px #0066cc1a;transform:translateY(-1px);background:var(--card-bg)}.market-sort-select:hover{border-color:var(--philgeps-primary);background:var(--card-bg)}.filter-actions{display:flex;gap:10px;flex-wrap:wrap}.toggle-filters-btn{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:var(--text-primary);font-weight:600;border:2px solid #CBD5E1;transition:all .3s ease}.toggle-filters-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:var(--philgeps-primary);color:var(--philgeps-primary);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.clear-filters-btn{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;font-weight:600;border:2px solid #FCA5A5;transition:all .3s ease}.clear-filters-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.filter-header h3{margin:0;color:var(--philgeps-primary);font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:8px}@media(max-width:768px){.filter-row{grid-template-columns:1fr}.price-filter,.date-filter{padding:12px}.filter-actions{width:100%;justify-content:stretch}.toggle-filters-btn,.clear-filters-btn{flex:1}}@media(max-width:480px){.filter-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-actions{flex-direction:column;width:100%}.toggle-filters-btn,.clear-filters-btn{width:100%}}.market-suppliers-container{padding:2rem;background:linear-gradient(180deg,#eef4ff,#fff 40%,#eef4ff);font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;display:flex;flex-direction:column;gap:1.5rem}.market-suppliers-header{background:linear-gradient(135deg,#fff,#ffffffbf);border:1px solid rgba(28,63,124,.12);border-radius:18px;padding:1.25rem 1.75rem;box-shadow:0 20px 32px #0f2d621f;display:flex;flex-direction:column;gap:.85rem}.market-suppliers-tagline{align-self:flex-start;padding:4px 12px;border-radius:999px;border:1px solid rgba(28,63,124,.16);background:#1c3f7c14;color:#1c3f7c;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.market-suppliers-heading h2{color:#0f2d62;margin:0;font-weight:700;font-size:1.85rem}.market-suppliers-heading h2:after{content:"";display:block;width:68px;height:3px;margin-top:8px;border-radius:999px;background:linear-gradient(90deg,#f6b400,#0f2d6299)}.market-suppliers-heading p{color:#64748b;margin:0;max-width:720px;line-height:1.6}.market-suppliers-meta{display:flex;gap:.75rem;flex-wrap:wrap}.meta-pill{display:inline-flex;align-items:center;gap:.35rem;padding:6px 12px;border-radius:999px;background:#0f2d6214;color:#1f2937;font-size:.85rem;font-weight:500}.meta-pill strong{color:#0f2d62}.meta-pill--highlight{background:#f6b4002e;color:#92400e}.market-suppliers-search{background:#fff;border:1px solid rgba(28,63,124,.14);border-radius:14px;padding:.85rem 1rem;box-shadow:0 12px 22px #0f2d6214}.market-suppliers-search input{width:100%;padding:10px 14px;border:1px solid rgba(28,63,124,.18);border-radius:10px;outline:none;font-size:.96rem;transition:border-color .2s ease,box-shadow .2s ease;color:#1f2937}.market-suppliers-search input:focus{border-color:#1c3f7c8c;box-shadow:0 0 0 3px #1c3f7c2e}.supplier-table-container{overflow-x:auto;background:#fff;border-radius:18px;box-shadow:0 18px 28px #0f2d621a;border:1px solid rgba(28,63,124,.12)}.supplier-table{width:100%;border-collapse:collapse;font-size:.95rem;color:#1f2937}.supplier-table thead{background:linear-gradient(90deg,#1c3f7c14,#f6b4002e)}.supplier-table th,.supplier-table td{padding:14px 8px;border-bottom:1px solid rgba(15,45,98,.1);text-align:left}.supplier-name-cell{display:inline-flex;align-items:center;gap:10px}.supplier-logo{width:36px;height:36px;border-radius:10px;background:#e0e7ff;border:1px solid rgba(28,63,124,.18);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 6px 14px #0f2d621f}.supplier-logo img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.supplier-logo span{display:none;font-weight:700;color:#1e3a8a}.supplier-logo.fallback span{display:block}.logo-preview-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1200;padding:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.logo-preview{position:relative;background:#fff;border-radius:12px;padding:12px;box-shadow:0 18px 42px #00000047;max-width:min(90vw,520px);max-height:min(90vh,520px);display:flex;align-items:center;justify-content:center}.logo-preview img{max-width:100%;max-height:100%;border-radius:10px;display:block}.logo-preview-close{position:absolute;top:8px;right:8px;border:none;background:#000000a6;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;background:.2s ease}.supplier-name-text{font-weight:600;color:#0f2d62;white-space:normal}.email-container{font-size:.85rem;color:#64748b;margin-top:2px;overflow-wrap:anywhere}.supplier-table th{color:#0f2d62;font-weight:600;font-size:.78rem;letter-spacing:1px;text-transform:uppercase}.table-link{background:none;border:none;color:#0f52ba;cursor:pointer;padding:0;font-weight:600}.table-link.inline{margin-left:6px}.category-cell{display:block;padding:8px 4px;max-width:100%}.category-cell .category-text{max-width:420px}.category-cell.expanded .category-text{max-width:none}.table-loading{display:inline-flex;align-items:center;gap:10px;color:#64748b}.category-list{display:flex;flex-wrap:wrap;gap:8px}.category-pill-list{display:flex;flex-wrap:wrap;column-gap:4px;row-gap:2px;max-width:100%}.category-pill{padding:9px 14px;border-radius:12px;background:linear-gradient(135deg,#1c3f7c14,#f6b40029);color:#0f2d62;font-weight:600;border:1px solid rgba(28,63,124,.12);box-shadow:0 4px 10px #0f2d6214;white-space:normal;line-height:1.25}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.supplier-table tbody tr:hover{background:#0f2d620f}.pagination-wrapper{margin-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pagination-wrapper.top{margin-top:.5rem;margin-bottom:.5rem}.pagination-summary{color:#64748b;font-weight:600;font-size:.95rem}@media(max-width:1140px){.supplier-table-container{overflow:visible}.market-suppliers-container .supplier-table{display:block;border-spacing:0}.market-suppliers-container .supplier-table thead{display:none}.market-suppliers-container .supplier-table tbody{display:flex;flex-direction:column;gap:.75rem}.market-suppliers-container .supplier-table tr{display:block;background:#fff;border:1px solid rgba(28,63,124,.14);border-radius:14px;padding:12px;box-shadow:0 10px 20px #0f2d6214}.market-suppliers-container .supplier-table td{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid rgba(15,45,98,.08);align-items:start}.market-suppliers-container .supplier-table td:last-child{border-bottom:none;padding-bottom:0}.market-suppliers-container .supplier-table td:before{content:attr(data-label);font-weight:700;font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.market-suppliers-container .view-history-btn{width:100%;text-align:center}.market-suppliers-container .status-badge{width:100%;justify-content:center;min-width:0}}.no-results{text-align:center;color:#6b7280;padding:20px}.status-badge{padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;justify-content:center;min-width:110px;color:#1f2937;background-color:#94a3b82e}.status-badge.active{background-color:#10b98133;color:#047857}.status-badge.pending{background-color:#f6b40033;color:#92400e}.status-badge.approved{background-color:#16a34a;color:#fff}.status-badge.blacklisted,.status-badge.inactive{background-color:#dc262633;color:#991b1b}.view-history-btn{background:linear-gradient(135deg,#2563eb,#1c3f7c);color:#fff;border:none;padding:8px 16px;border-radius:10px;cursor:pointer;font-size:.83rem;font-weight:600;transition:transform .2s,box-shadow .2s}.view-history-btn:hover{transform:translateY(-1px);box-shadow:0 12px 22px #2563eb40}.no-results{text-align:center;color:#6b7280;padding:22px;font-size:.95rem}@media(max-width:768px){.market-suppliers-container{padding:1.25rem}.market-suppliers-header{padding:1rem 1.25rem}.market-suppliers-heading h2{font-size:1.65rem}.meta-pill{padding:5px 10px;font-size:.8rem}.supplier-table th,.supplier-table td{padding:12px}}.supplier-action-history-container{margin-top:24px}.history-table-container{overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;max-height:60vh;overflow-y:auto}.history-table{width:100%;border-collapse:collapse;min-width:640px}.history-table th,.history-table td{padding:14px 18px;text-align:left;border-bottom:1px solid #e5e7eb;white-space:nowrap}.history-table tr:last-child td{border-bottom:none}.history-table th{background-color:#f9fafb;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600}.history-table td{font-size:.95rem;color:#374151}.details-cell{font-family:Courier New,Courier,monospace;font-size:.9rem;color:#4b5563;white-space:normal;max-width:600px;word-break:break-word}.action-badge{display:inline-block;padding:5px 12px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;color:#fff;line-height:1}.action-badge.item_created{background-color:#16a34a}.action-badge.item_updated{background-color:#2563eb}.action-badge.item_deleted{background-color:#dc2626}.action-badge.file_uploaded{background-color:#7c3aed}.supplier-action-history-page .modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px;overflow-y:auto}.supplier-action-history-page .modal-content{background:#fff;border-radius:10px;width:min(1100px,98%);max-width:1100px;max-height:86vh;overflow:auto;box-shadow:0 10px 30px #02061733;padding:18px}.supplier-action-history-page .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.supplier-action-history-page .modal-body{padding:6px 2px 18px}.supplier-action-history-page .modal-close-btn{background:transparent;border:none;font-size:20px;cursor:pointer}.details-block{margin-top:12px;background:#f8fafc;border:1px solid #e6eef8;padding:12px;border-radius:8px}.details-table{display:grid;grid-template-columns:180px 1fr;gap:6px 12px;align-items:start;margin-top:8px}.details-table .row{display:contents}.details-table .label{font-weight:700;color:#111827}.details-table .value{color:#374151;word-break:break-word}.details-raw{margin-top:8px;background:#0f172a;color:#e6eef8;padding:10px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Courier New,monospace;font-size:.9rem;overflow:auto;max-height:48vh}@media(max-width:768px){.history-table-container{max-height:55vh}.history-table{min-width:520px;font-size:.9rem}.history-table th,.history-table td{padding:10px 12px}.details-table{grid-template-columns:140px 1fr}.supplier-action-history-page .modal-content{width:100%;max-width:100%;padding:14px}}.no-details{color:#6b7280;margin-top:8px}.summary-container{margin-top:12px}.summary-content{margin-top:6px}.reports-container{padding:2rem;font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(180deg,#eef4ff,#fff 45%,#eef4ff);min-height:100vh;display:flex;flex-direction:column;gap:1.75rem}.reports-loading{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid rgba(28,63,124,.14);border-radius:12px;box-shadow:0 12px 20px #0f2d621a;color:#64748b}.reports-header{background:linear-gradient(135deg,#fff,#ffffffc7);border:1px solid rgba(28,63,124,.12);border-radius:18px;padding:1.35rem 1.85rem;box-shadow:0 22px 34px #0f2d621f;display:flex;flex-direction:column;gap:1rem}.reports-tagline{align-self:flex-start;padding:4px 12px;border-radius:999px;border:1px solid rgba(28,63,124,.16);background:#1c3f7c14;color:#1c3f7c;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.reports-heading h2{color:#0f2d62;margin:0;font-weight:700;font-size:1.9rem}.reports-heading h2:after{content:"";display:block;width:76px;height:3px;margin-top:10px;border-radius:999px;background:linear-gradient(90deg,#f6b400,#1c3f7c99)}.reports-heading p{color:#64748b;margin:.35rem 0 0;max-width:760px;line-height:1.6}.reports-meta{display:flex;gap:.75rem;flex-wrap:wrap}.reports-meta-pill{display:inline-flex;align-items:center;gap:.4rem;padding:6px 14px;border-radius:999px;background:#1c3f7c14;color:#1f2937;font-size:.84rem;font-weight:500}.reports-meta-pill strong{color:#0f2d62}.reports-meta-pill--accent{background:#f6b40033;color:#92400e}.pagination-wrapper{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pagination-wrapper.top{margin-bottom:.25rem}.supplier-cards-wrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;padding-bottom:.5rem}@media(min-width:1100px){.supplier-cards-wrapper{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:992px){.supplier-cards-wrapper{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.supplier-cards-wrapper{grid-template-columns:1fr}}.supplier-card{background:linear-gradient(180deg,#fffffffa,#eef4fff0);border-radius:18px;box-shadow:0 16px 30px #0f2d621f;padding:1.1rem 1.4rem;transition:transform .25s,box-shadow .25s,border-color .25s;border:1px solid rgba(28,63,124,.1)}.supplier-card:hover{transform:translateY(-6px);box-shadow:0 24px 42px #0f2d622e;border-color:#f6b40059}.supplier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.75rem}.supplier-header h3{margin:0;color:#1c3f7c;font-size:1.1rem;font-weight:600}.status{padding:.35rem .75rem;border-radius:999px;color:#1f2937;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:#94a3b833}.status.active{background-color:#10b98138;color:#047857}.status.inactive{background-color:#ef444438;color:#b91c1c}.status.unknown{background-color:#94a3b838;color:#475569}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;font-size:.86rem;color:#374151;margin-bottom:.75rem}.stats-cards span{background:#1c3f7c0f;padding:.55rem .75rem;border-radius:10px}.no-data{opacity:.78;font-style:italic}@media(max-width:768px){.reports-container{padding:1.35rem}.reports-heading h2{font-size:1.65rem}.reports-meta-pill{padding:5px 12px;font-size:.78rem}.supplier-cards-wrapper{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.supplier-card{padding:1rem 1.1rem}}.profile-loading{display:flex;align-items:center;gap:10px;padding:20px;color:#64748b}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#f59e0b}.status-dot.verified{background:#16a34a}.status-dot.unverified{background:#ef4444}.verify-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.verify-modal{background:#fff;border-radius:12px;padding:20px;width:90%;max-width:420px;box-shadow:0 18px 45px #0f172a2e;border:1px solid #e2e8f0}.verify-modal h3{margin:0 0 12px}.verify-modal .field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.verify-modal input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5e1;font-size:14px}.verify-modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.btn-secondary{padding:10px 14px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}.btn-primary{padding:10px 14px;border-radius:10px;border:none;background:#2563eb;color:#fff;cursor:pointer}.btn-primary:disabled,.btn-secondary:disabled,.verify-btn:disabled{opacity:.6;cursor:not-allowed}.verify-btn{padding:8px 12px;border-radius:10px;border:1px solid #d0d7e2;background:#f8fafc;color:#0f172a;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.verify-btn:hover:not(:disabled){background:#eef2f7;border-color:#c0c8d6}.verify-btn.edit{background:#fff;border-style:dashed;color:#475569}.verify-btn.edit:hover:not(:disabled){background:#f6f7fb;border-color:#cbd5e1}.badge-verified,.badge-unverified{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;font-weight:600;font-size:12px}.badge-verified{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.badge-unverified{background:#fef2f2;color:#b91c1c;border:1px solid #fecdd3}.avatar-lightbox{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:12px;box-shadow:0 18px 45px #0f172a33}.avatar-enlarged{max-width:80vw;max-height:80vh;object-fit:contain;border-radius:12px}.password-card{margin-top:24px;padding:20px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.password-card h3{margin:0 0 6px}.password-helper{margin:0 0 14px;color:#475569;font-size:14px}.password-form{display:flex;flex-direction:column;gap:12px}.password-form .field{display:flex;flex-direction:column;gap:6px;font-size:14px}.password-form input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5e1;font-size:14px}.password-error{color:#b91c1c;font-weight:600}.password-success{color:#166534;font-weight:600}.settings-page{padding:2.5rem;background:linear-gradient(135deg,#f7f9ff,#eff4ff 45%,#fff);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#1f2a44}.settings-header{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1.6rem;padding:1.35rem 1.85rem;border-radius:20px;border:1px solid rgba(28,63,124,.12);background:linear-gradient(135deg,#fff,#ffffffc7);box-shadow:0 24px 40px -26px #0f2d6252}.settings-tagline{align-self:flex-start;padding:4px 12px;border-radius:999px;border:1px solid rgba(28,63,124,.16);background:#1c3f7c14;color:#1c3f7c;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.settings-heading{display:flex;flex-direction:column;gap:.55rem}.settings-title{display:flex;align-items:center;gap:.75rem}.settings-title svg{font-size:1.8rem;color:#1c3f7c}.settings-title h2{font-size:2rem;font-weight:700;margin:0;color:#0f2d62}.settings-heading-description{margin:0;color:#5b6784;max-width:720px;line-height:1.6}.settings-meta{display:flex;flex-wrap:wrap;gap:.7rem}.settings-meta-pill{display:inline-flex;align-items:center;gap:.35rem;padding:6px 14px;border-radius:999px;background:#1c3f7c14;color:#1f2937;font-size:.82rem;font-weight:500}.settings-meta-pill strong{color:#0f2d62}.settings-meta-pill--accent{background:#f6b40033;color:#92400e}.settings-header-actions{display:flex;gap:.75rem}.settings-refresh{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.1rem;border-radius:10px;border:1px solid rgba(37,99,235,.4);background:linear-gradient(135deg,#e7f0ff,#d9e7ff);color:#1747a1;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.settings-refresh:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.settings-refresh:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 24px -20px #11388ca6}.settings-subtitle{max-width:760px;color:#5b6784;margin-bottom:2.15rem;line-height:1.6}.settings-tabs{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:1.75rem}.settings-tab{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem 1.1rem;border-radius:12px;border:1px solid rgba(37,99,235,.35);background:#ffffffe6;color:#1f2a44;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.settings-tab svg{color:#2563eb}.settings-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;padding:.15rem .55rem;border-radius:999px;background:#2563eb1f;color:#1d4ed8;font-size:.75rem}.settings-tab.active{border-color:#2563ebbf;background:linear-gradient(135deg,#e1ebfffa,#d2e2fff2);box-shadow:0 16px 30px -22px #2563eb8c;transform:translateY(-1px)}.settings-tab.disabled{cursor:not-allowed;opacity:.5;border-style:dashed;background:#ebeff899}.settings-panel{background:#fffffff0;border-radius:18px;border:1px solid rgba(209,220,244,.75);box-shadow:0 26px 46px -30px #304e9c61;padding:1.9rem 2rem;animation:panelFade .3s ease}@keyframes panelFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.75rem}.panel-heading-text h3{margin:0;font-size:1.55rem;color:#1f2a44}.panel-heading-text p{margin:.5rem 0 0;color:#4c5f7f;line-height:1.55;max-width:640px}.panel-actions{display:flex;flex-wrap:wrap;gap:.65rem}.panel-hide{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:10px;border:1px solid rgba(148,163,184,.5);background:#f4f7ffe6;color:#475569;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.panel-hide:hover{transform:translateY(-1px);box-shadow:0 14px 28px -24px #47566973}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.75rem}.settings-card{background:#ffffffeb;border-radius:18px;border:1px solid rgba(209,220,244,.7);box-shadow:0 20px 40px -28px #304e9c52;padding:1.6rem 1.8rem;display:flex;flex-direction:column;gap:1.1rem}.settings-card header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-weight:600;color:#1f2a44}.settings-card header h3{margin:0;font-size:1.25rem}.settings-card header span,.settings-card header svg{color:#2563eb}.settings-placeholder{font-size:.95rem;color:#586a83}.settings-error{font-size:.95rem;color:#b10020;background:#ffecee;border:1px solid rgba(220,34,73,.35);border-radius:10px;padding:.85rem 1rem}.category-table-wrapper{border:1px solid rgba(214,224,246,.85);border-radius:12px;overflow:hidden;background:#fffffff5;max-height:420px;overflow-y:auto;overflow-x:auto}.category-table-wrapper::-webkit-scrollbar{width:6px}.category-table-wrapper::-webkit-scrollbar-thumb{background:#2563eb33;border-radius:999px}.category-table{width:100%;border-collapse:collapse;font-size:.92rem}.category-table th{text-align:left;padding:.75rem 1rem;font-weight:600;background:#e6eeffe6;color:#1f2a44;border-bottom:1px solid rgba(209,220,244,.75)}.category-table td{padding:.65rem 1rem;color:#2f3e5c;border-bottom:1px solid rgba(229,236,250,.9);vertical-align:middle}.category-table tr:last-child td{border-bottom:none}.category-table tr.active-row td{background:linear-gradient(135deg,#e7f0ffcc,#d8e7ffcc)}.category-name-btn{width:100%;text-align:left;border:none;background:none;padding:.2rem 0;margin:0;color:#1d4ed8;font-weight:600;cursor:pointer;transition:color .2s ease}.category-name-btn:hover{color:#163996}.category-action-group{display:flex;flex-wrap:wrap;gap:.45rem}.category-action{padding:.45rem .9rem;border-radius:8px;border:1px solid rgba(37,99,235,.35);background:linear-gradient(135deg,#edf3ff,#e4ecff);color:#1f3a8a;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.category-action:hover{transform:translateY(-1px);box-shadow:0 12px 24px -22px #2563eb99}.category-action.danger{border-color:#e15d52a6;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.category-action.danger:hover{box-shadow:0 12px 24px -22px #b91c1c99}.category-action:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.category-form{display:flex;flex-direction:column;gap:.85rem}.category-form label{font-size:.82rem;font-weight:600;color:#314162}.category-form input,.category-form select{padding:.65rem .8rem;border-radius:10px;border:1px solid rgba(180,195,224,.9);background:#f8fafff5;font-size:.95rem;color:#253550;transition:border .2s ease,box-shadow .2s ease}.category-form input:focus,.category-form select:focus{outline:none;border-color:#2563ebbf;box-shadow:0 0 0 3px #2563eb2e}.category-submit{margin-top:.5rem;padding:.75rem 1.1rem;border-radius:10px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-weight:600;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.category-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.category-submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 16px 30px -20px #3b82f68c}.settings-modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200}.settings-modal{width:100%;max-width:420px;background:#fff;border-radius:18px;border:1px solid rgba(209,220,244,.85);box-shadow:0 28px 56px -32px #1e40af73;padding:1.75rem 1.6rem;animation:modalFade .24s ease}@keyframes modalFade{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem}.settings-modal-header h3{margin:0;display:flex;align-items:center;gap:.6rem;font-size:1.2rem;color:#1f2a44}.settings-modal-header svg{color:#2563eb}.modal-close-btn{border:none;background:none;font-size:1.6rem;color:#94a3b8;cursor:pointer;transition:color .2s ease}.modal-close-btn:hover{color:#475569}.settings-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.2rem}.modal-secondary,.modal-primary{border-radius:10px;padding:.65rem 1.1rem;font-weight:600;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.modal-secondary{background:#e2e8f0d9;color:#475569}.modal-secondary:hover{transform:translateY(-1px);box-shadow:0 12px 24px -22px #47556959}.modal-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 16px 30px -22px #2563eb80}.modal-primary:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.modal-primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 22px 38px -26px #3b82f68c}.subcategory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.subcategory-summary{margin:0;color:#475569;font-size:.95rem}.subcategory-empty{margin-top:.5rem}.subcategory-table-wrapper{border:1px solid rgba(214,224,246,.85);border-radius:12px;overflow:hidden;background:#fffffff5;max-height:320px;overflow-y:auto;margin-bottom:1.1rem}.subcategory-table{width:100%;border-collapse:collapse;font-size:.9rem}.subcategory-table th{text-align:left;padding:.65rem .9rem;font-weight:600;background:#e6eeffe6;color:#1f2a44;border-bottom:1px solid rgba(209,220,244,.75)}.subcategory-table td{padding:.6rem .9rem;color:#2f3e5c;border-bottom:1px solid rgba(229,236,250,.9);vertical-align:middle}.subcategory-table tr:last-child td{border-bottom:none}.subcategory-count{display:inline-block;font-weight:600;color:#1f3a8a;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.settings-page{padding:1.75rem}.settings-header{gap:1rem}.settings-heading{gap:.75rem}.settings-meta{flex-wrap:wrap;gap:.5rem}.panel-heading{flex-direction:column;align-items:flex-start}.panel-actions{width:100%;justify-content:flex-start}.settings-grid{grid-template-columns:1fr}.settings-card{padding:1.2rem 1.25rem;gap:.75rem}.settings-card header{flex-direction:column;align-items:flex-start;gap:.35rem}.settings-card header h3{font-size:1.1rem}.settings-card .panel-actions,.settings-card .settings-tabs,.settings-card .subcategory-toolbar{width:100%}.category-table-wrapper{max-height:60vh;overflow-x:auto}.category-table{min-width:620px;font-size:.88rem}.category-table th,.category-table td{padding:.6rem .75rem;white-space:nowrap}}.announcement-detail-page{min-height:100vh;padding:32px;background:#f5f7fb;font-family:Poppins,Segoe UI,sans-serif;color:#1f2937}.announcement-detail-header{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.announcement-detail-back{align-self:flex-start;padding:8px 16px;border-radius:999px;border:1px solid transparent;background:#111827;color:#fff;font-weight:500;cursor:pointer;transition:background .2s ease,transform .2s ease}.announcement-detail-back:hover{background:#1f2937;transform:translateY(-1px)}.announcement-detail-title{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.announcement-detail-title h2{margin:0;font-size:24px;font-weight:600;color:#0f172a}.announcement-detail-status{padding:6px 14px;border-radius:999px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.02em}.announcement-detail-procurement{font-size:14px;color:#4b5563}.announcement-detail-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.announcement-detail-summary-item{display:flex;flex-direction:column;gap:6px;min-width:150px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid rgba(208,213,221,.7);box-shadow:0 8px 18px #0f172a14}.announcement-detail-summary-item--accent{background:linear-gradient(135deg,#2563eb24,#2563eb3d);border-color:#2563eb59}.announcement-detail-summary-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.announcement-detail-summary-value{font-size:1rem;font-weight:600;color:#111827}.announcement-detail-pane{display:flex;flex-direction:column;gap:24px;margin-bottom:28px}.announcement-detail-section{background:#fff;border-radius:18px;padding:24px;box-shadow:0 14px 28px #0f172a1a;border:1px solid rgba(208,213,221,.6)}.announcement-detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.announcement-detail-section-header h3{margin:0;font-size:18px;font-weight:600;color:#0f172a}.announcement-detail-info-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.announcement-detail-info{display:flex;flex-direction:column;gap:6px}.announcement-detail-info--wide{grid-column:1 / -1}.announcement-detail-info-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.announcement-detail-info-value{font-size:.95rem;font-weight:500;color:#1e293b;line-height:1.55}.announcement-detail-info-note{font-size:.85rem;color:#6b7280;margin-left:4px}.announcement-detail-info-text{background:#f1f5f999;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:12px}.announcement-detail-info-empty{font-size:.9rem;color:#9ca3af}.announcement-detail-category-groups{display:grid;gap:14px;margin-top:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.announcement-detail-category-group{background:#ffffffe6;border-radius:14px;border:1px solid rgba(148,163,184,.25);padding:14px 16px;box-shadow:0 10px 20px #0f172a14}.announcement-detail-category-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.announcement-detail-category-label{font-size:.82rem;font-weight:600;color:#1f2937}.announcement-detail-category-count{font-size:.72rem;font-weight:600;padding:2px 10px;border-radius:999px;background:#2563eb29;color:#1d4ed8}.announcement-detail-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;padding:0}.announcement-detail-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:9999px;background:#2563eb1f;border:1px solid rgba(37,99,235,.25);color:#1d4ed8;font-size:13px;font-weight:600;letter-spacing:.01em;text-align:center;line-height:1.3}.announcement-detail-actions{display:flex;flex-wrap:wrap;gap:12px}.announcement-detail-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:12px;font-weight:600;font-size:.92rem;letter-spacing:.015em;cursor:pointer;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.announcement-detail-action--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 12px 24px #2563eb40}.announcement-detail-action--primary:hover{transform:translateY(-2px);box-shadow:0 16px 28px #2563eb59}.announcement-detail-action--secondary{background:#fff;color:#1d4ed8;border:1px solid rgba(37,99,235,.35);box-shadow:0 8px 16px #0f172a14}.announcement-detail-action--secondary:hover{transform:translateY(-2px);background:#e5f2ffcc;border-color:#2563eb80}.announcement-detail-action:focus-visible{outline:3px solid rgba(37,99,235,.4);outline-offset:2px}.announcement-detail-empty,.announcement-detail-error{margin-top:48px;font-size:16px;color:#475569}.announcement-detail-error{color:#dc2626}@media(max-width:768px){.announcement-detail-page{padding:20px 16px 48px}.announcement-detail-back{padding:6px 14px}.announcement-detail-title h2{font-size:20px}.announcement-detail-summary-item{flex:1 1 140px}.announcement-detail-section{padding:20px}.announcement-detail-actions{flex-direction:column}.announcement-detail-action{width:100%;text-align:center}.announcement-detail-category-groups,.announcement-detail-info-grid{grid-template-columns:1fr}}.admin-content{flex:1;padding:12px 14px;background-color:#f5f6fa;overflow-y:visible;overscroll-behavior:auto;-webkit-overflow-scrolling:auto;box-sizing:border-box;min-height:calc(100dvh - var(--navbar-height));height:auto;width:100%;max-width:100%}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0a192999;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease}.modal-container{background:#fff;padding:2rem 2.5rem;border-radius:16px;box-shadow:0 10px 30px #0000001a;width:90%;max-width:600px;display:flex;flex-direction:column;gap:1rem;animation:slideIn .4s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-container h2{font-size:1.8rem;font-weight:600;color:#2c3e50;margin:0;line-height:1.3}.modal-container p{font-size:1rem;color:#576c7f;margin:0;line-height:1.6}.modal-decision-block{padding:1rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,#f7f8fe,#eef2ff);border:1px solid rgba(184,196,229,.5);margin:.4rem 0 .9rem}.modal-decision-block h3{margin:0 0 .45rem;font-size:1.1rem;font-weight:700;color:#2d3b59}.modal-decision-block p{margin:0;color:#40526f}.modal-decision-block.info{background:linear-gradient(135deg,#f2fff7,#e5f9ed);border-color:#98cfb08c}.modal-decision-subtext{margin:.55rem 0 0;font-size:.85rem;color:#394b68}.modal-decision-subtext a{color:#2563eb;font-weight:600;text-decoration:none}.modal-decision-subtext a:hover{text-decoration:underline}.modal-decision-buttons{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}.decision-btn{border:none;border-radius:8px;padding:.55rem 1.1rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .25s ease;background:#e7ecf7;color:#2d3b59;display:inline-flex;align-items:center;justify-content:center;min-width:150px}.decision-btn.primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 6px 18px -12px #2563eb99}.decision-btn.primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px -14px #2563eba6}.decision-btn.secondary{background:linear-gradient(135deg,#fef5f2,#fbe4e0);color:#b23c2a;border:1px solid rgba(233,162,149,.6)}.decision-btn.secondary:hover{transform:translateY(-1px);box-shadow:0 8px 18px -14px #b23c2a66}.decision-btn:hover{transform:translateY(-1px)}.decision-btn:disabled{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none}.modal-file-dates{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.9rem;color:#576c7f;padding:.75rem 0;border-top:1px solid #e8edf3;border-bottom:1px solid #e8edf3;margin-top:.5rem}.modal-file-dates strong{color:#34495e}.deadline-date,.deadline-date strong{color:#c0392b}.modal-container .status-badge{margin-bottom:.5rem}.history-btn.inline{margin-left:auto;align-self:flex-start;background-color:#eef2ff;color:#273c75;border:1px solid rgba(121,134,203,.4);padding:.45rem .9rem;font-size:.85rem}.history-btn.inline:hover{background-color:#dee5ff;transform:translateY(-1px)}.history-btn.inline:disabled{opacity:.7;cursor:not-allowed;transform:none}.modal-container input[type=file]{border:2px dashed #dde3ea;border-radius:8px;padding:1.5rem;text-align:center;color:#576c7f;cursor:pointer;transition:border-color .3s,background-color .3s}.modal-container input[type=file]:hover{border-color:#3498db;background-color:#f4f7fa}.modal-container input[type=file][disabled]{border-color:#e3e6eb;color:#9aa5b1;background-color:#f7f9fb;cursor:not-allowed}.modal-container input[type=file]::file-selector-button{background-color:#3498db;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;margin-right:1rem;transition:background-color .3s}.modal-container input[type=file]::file-selector-button:hover{background-color:#2980b9}.modal-container input[type=file][disabled]::file-selector-button{background-color:#cbd5e1;cursor:not-allowed}.file-upload-hint{font-size:.85rem;color:#666;margin-top:.5rem;margin-bottom:0;text-align:center;padding:.5rem;background:#f8f9fa;border-radius:6px;border-left:3px solid #3498db}.modal-reuse-block{border:1px dashed rgba(37,99,235,.35);background:#f4f7ff;padding:.9rem 1rem;border-radius:10px;margin:.6rem 0 1rem}.modal-reuse-block h4{margin:0 0 .35rem;font-size:1rem;color:#1e3a8a}.reuse-btn{border:none;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;padding:.55rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 8px 18px -12px #2563eb80}.reuse-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px -14px #2563eb8c}.reuse-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.modal-buttons{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;flex-wrap:wrap}.modal-buttons button,.modal-buttons .download-btn{padding:.7rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.submit-btn{background-color:#27ae60;color:#fff}.submit-btn:hover{background-color:#229954;transform:translateY(-2px);box-shadow:0 4px 10px #27ae6033}.submit-btn[disabled]{background-color:#a7d7bd;cursor:not-allowed;transform:none;box-shadow:none}.submission-locked{padding:.75rem 1rem;background-color:#fdecea;border:1px solid #f5b1a6;border-radius:8px;color:#c0392b;font-weight:600;margin:0;margin-top:.25rem}.download-btn{background-color:#e8edf3;color:#34495e}.download-btn:hover{background-color:#dce4ec}.modal-buttons .download-btn[disabled]{background-color:#eef1f6;color:#94a3b8;cursor:not-allowed}.modal-buttons .history-btn{display:none}.close-btn-FC{background-color:transparent;color:#7f8c8d;border:1px solid #dde3ea}.close-btn-FC:hover{background-color:#fbeae8;color:#c0392b;border-color:#f5b7b1}@media(max-width:768px){.modal-container{padding:1.5rem;width:95%;max-height:90vh;overflow-y:auto}.modal-container h2{font-size:1.4rem}.modal-container p{font-size:.9rem}.modal-file-dates{flex-direction:column;gap:.5rem}.file-upload-hint{font-size:.8rem;padding:.6rem}.modal-container input[type=file]{padding:1rem;font-size:.85rem}.modal-container input[type=file]::file-selector-button{padding:.5rem .9rem;font-size:.85rem}.modal-buttons{flex-direction:column;gap:.5rem}.modal-buttons button,.modal-buttons .download-btn{width:100%;padding:.8rem}.modal-decision-buttons{flex-direction:column}.decision-btn{width:100%}}.supplier-dashboard{padding:1.5rem;background:#f8fafc;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#1e293b}.supplier-top-card{position:relative;margin-bottom:1.5rem;padding:1.5rem;border-radius:12px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.supplier-top-card:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle at center,rgba(59,130,246,.08) 0%,transparent 70%);border-radius:50%;transform:translate(30%,-30%)}.supplier-header-intro{position:relative;z-index:1}.supplier-header-tagline{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#1e40af;background:#eff6ff;padding:.35rem .75rem;border-radius:50px;border:1px solid #dbeafe;margin-bottom:.75rem}.supplier-header-tagline:before{content:"🏛️";font-size:.85rem}.supplier-header-intro h2{font-size:1.75rem;font-weight:700;color:#1e40af;margin:.5rem 0;line-height:1.2}.supplier-header-intro p{font-size:.95rem;color:#64748b;margin:0;line-height:1.5}.supplier-header-contact{background:linear-gradient(135deg,#ffd70040,#3b82f626);border-left:4px solid #facc15;padding:.75rem 1rem;border-radius:10px;font-weight:600;color:#1f2937;margin-top:1rem;display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.supplier-header-contact .contact-chip{background:#fef3c7;color:#1d1b53;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(250,204,21,.6);box-shadow:0 4px 10px #b4530926;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.supplier-header-contact .contact-chip:hover{transform:translateY(-1px);box-shadow:0 6px 14px #b4530940}.supplier-metrics-panel{margin-bottom:1.5rem;padding:1.25rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.supplier-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.supplier-metric-card{position:relative;padding:1rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;transition:all .2s ease}.supplier-metric-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:#3b82f6;border-radius:10px 0 0 10px}.supplier-metric-card:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.supplier-metric-card.metric-accent{background:#fff;border-color:#bae6fd}.supplier-metric-card.metric-accent:before{background:#2563eb;color:#334155}.supplier-metric-card .metric-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;display:block}.supplier-metric-card .metric-value{font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1;display:block}.supplier-metric-card.metric-accent .metric-value{color:#2563eb}.supplier-metrics-footer{padding:.85rem 1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.supplier-metrics-footer .metric-label{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.supplier-metrics-footer .metric-value{font-size:.9rem;font-weight:600;color:#334155}.supplier-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.supplier-filters input,.supplier-filters select{padding:.6rem .85rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;background:#fff;min-width:200px;color:#1e293b;transition:all .2s ease;font-weight:500}.supplier-filters input:focus,.supplier-filters select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.clear-filters-btn{padding:.6rem 1.25rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.posts-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.post-card{position:relative;background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:1.25rem;cursor:pointer;transition:all .2s ease;border:1px solid #e2e8f0;overflow:hidden}.post-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--card-accent, #3b82f6);transition:all .2s ease}.post-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#cbd5e1}.post-card.viewed{background:#fafbff;--card-accent: #6366f1}.post-card.expanded{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.post-card.failed-posting{background:#fef2f2;border-color:#fecaca;cursor:not-allowed;--card-accent: #ef4444}.post-card.failed-posting:hover{transform:none}.post-card.upcoming{--card-accent: #10b981}.post-card.due-soon{--card-accent: #f59e0b}.post-card.due-today{--card-accent: #f97316}.post-card.overdue{--card-accent: #ef4444}.post-card.awarded{--card-accent: #10b981}.post-card.not-awarded{--card-accent: #94a3b8}.post-card.declined{--card-accent: #dc2626}.post-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.post-title{font-size:1.15rem;font-weight:600;color:#1e293b;margin:0;line-height:1.3;flex:1}.post-card-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.new-pill{background:#3b82f6;color:#fff;font-size:.65rem;font-weight:600;border-radius:50px;padding:.25rem .6rem;text-transform:uppercase;letter-spacing:.03em}.status-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent}.status-badge.pending{background:#fff7ed;color:#9a3412;border-color:#fb923c}.status-badge.active{background:#1d4ed8;color:#fff;border-color:#1e40af}.status-badge.answered{background:#d1fae5;color:#065f46;border-color:#10b981}.status-badge.failed{background:#fee2e2;color:#991b1b;border-color:#ef4444}.status-badge.declined{background:#fecaca;color:#7f1d1d;border-color:#dc2626}.status-badge.awarded{background:#d1fae5;color:#065f46;border-color:#10b981}.status-badge.not-awarded{background:#e2e8f0;color:#475569;border-color:#94a3b8}.status-badge.closed,.status-badge.cancelled,.status-badge.expired{background:#fee2e2;color:#991b1b;border-color:#ef4444}.status-badge.completed{background:#dcfce7;color:#166534;border-color:#22c55e}.status-badge[aria-label=procurement],.status-badge.procurement{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.status-badge.procurement.completed{background:#ecfdf3;color:#15803d;border-color:#22c55e}.status-badge.procurement.failed-posting,.status-badge.failed-posting{background:#fef2f2;color:#991b1b;border-color:#ef4444}.status-badge.reposted{background:#e0ecff;color:#1d4ed8;border-color:#93c5fd}.post-card-body{margin-bottom:.75rem}.post-description{font-size:.9rem;color:#64748b;line-height:1.5;margin:0}.due-chip{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;gap:.35rem;border:1px solid transparent}.due-chip.overdue,.due-chip.failed-posting{background:#fee2e2;color:#991b1b;border-color:#ef4444}.due-chip.due-today,.due-chip.due-soon{background:#fed7aa;color:#7c2d12;border-color:#f97316}.due-chip.upcoming{background:#d1fae5;color:#065f46;border-color:#10b981}.due-chip.no-deadline{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.due-chip.awarded{background:#d1fae5;color:#065f46;border-color:#10b981}.due-chip.not-awarded{background:#e2e8f0;color:#475569;border-color:#94a3b8}.post-decision{margin-bottom:.85rem;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;line-height:1.4;font-weight:600;border:1px solid transparent}.post-decision.pending{background:#fef3c7;border-color:#fbbf24;color:#92400e}.post-decision.declined{background:#fee2e2;border-color:#ef4444;color:#991b1b}.post-decision.opted-in{background:#d1fae5;border-color:#10b981;color:#065f46}.post-decision.submitted{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.post-decision.awarded{background:#d1fae5;border-color:#10b981;color:#065f46}.post-decision.not-awarded{background:#e2e8f0;border-color:#94a3b8;color:#475569}.post-card-expanded{margin-top:1rem;padding:1rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:1rem}.post-card-expanded-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.post-card-expanded-item{padding:.75rem 1rem;border-radius:8px;background:#fff;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.35rem}.post-card-expanded-label{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.post-card-expanded-value{font-size:.875rem;color:#1e293b;font-weight:600;line-height:1.4}.post-card-expanded-muted,.post-card-expanded-subtle{font-size:.75rem;color:#64748b;margin-top:.25rem}.post-card-expanded-wide{padding:1rem;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.post-card-expanded-wide h4{margin:0 0 .75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#3b82f6;font-weight:700}.post-card-expanded-description{margin:0;font-size:.9rem;line-height:1.6;color:#475569}.post-card-expanded-note{padding:.75rem 1rem;border-radius:8px;background:#dbeafe;border:1px solid #93c5fd;font-size:.85rem;color:#1e40af;line-height:1.5}.post-card-expanded-chip-grid{display:flex;flex-wrap:wrap;gap:.5rem}.post-card-expanded-chip{padding:.35rem .75rem;border-radius:50px;background:#dbeafe;border:1px solid #3b82f6;color:#1e40af;font-size:.75rem;font-weight:600}.post-card-expanded-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.card-primary-btn,.card-secondary-btn,.card-tertiary-btn{padding:.6rem 1.25rem;border-radius:8px;border:1px solid transparent;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.card-primary-btn{background:#3b82f6;color:#fff;border-color:#2563eb}.card-primary-btn:hover:not(:disabled){background:#2563eb}.card-primary-btn:disabled{opacity:.5;cursor:not-allowed}.card-secondary-btn{background:#f8fafc;border-color:#cbd5e1;color:#475569}.card-secondary-btn:hover{background:#e2e8f0;border-color:#94a3b8}.card-tertiary-btn{background:transparent;border-color:#e2e8f0;color:#64748b}.card-tertiary-btn:hover{background:#f8fafc;border-color:#cbd5e1}.pagination-controls{margin-top:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.pagination-info{font-size:.85rem;color:#64748b;font-weight:500}.pagination-buttons{display:flex;align-items:center;gap:.75rem}.pagination-button{padding:.6rem 1.25rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#3b82f6;color:#fff;border-color:#3b82f6}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-page{font-size:.85rem;font-weight:600;color:#334155;padding:0 .5rem}.error-message{color:#991b1b;background:#fee2e2;border:1px solid #ef4444;padding:1rem;border-radius:8px;text-align:center;font-weight:600;font-size:.9rem}.supplier-dashboard>p{text-align:center;font-size:.95rem;color:#64748b;margin-top:2rem;font-weight:500}.supplier-loading{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid rgba(28,63,124,.12);border-radius:12px;color:#64748b;box-shadow:0 10px 18px #0f2d6214;margin:12px 0}.category-pill{padding:.35rem .75rem;border-radius:50px;background:#dbeafe;color:#1e40af;font-size:.75rem;font-weight:600;border:1px solid #93c5fd}@media(max-width:1024px){.supplier-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.supplier-dashboard{padding:1.5rem}.supplier-top-card{padding:2rem 1.5rem}.supplier-header-intro h2{font-size:2rem}.supplier-metrics-grid{grid-template-columns:1fr}.supplier-filters{flex-direction:column}.supplier-filters input,.supplier-filters select{width:100%;min-width:auto}.post-card{padding:1.5rem}.post-title{font-size:1.25rem}.post-card-expanded-grid{grid-template-columns:1fr}.post-card-expanded-actions{flex-direction:column}.post-card-expanded-actions button{width:100%}.pagination-controls{flex-direction:column}.pagination-buttons{width:100%;justify-content:space-between}}@media(max-width:480px){.supplier-top-card{padding:1.5rem 1rem}.supplier-header-intro h2{font-size:1.75rem}.supplier-header-intro p{font-size:1rem}.post-card-header{flex-direction:column;align-items:flex-start}}.submission-locked-banner{display:flex;align-items:center;gap:.65rem;margin-top:.75rem;padding:.75rem 1rem;border-radius:10px;background:#f8fafc;border:1px dashed #cbd5e1}.submission-locked-dot{width:10px;height:10px;border-radius:9999px;background:#ef4444;flex-shrink:0}.submission-locked-title{margin:0;font-size:.85rem;font-weight:700;color:#0f172a}.submission-locked-reason{margin:.15rem 0 0;font-size:.8rem;color:#475569}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;padding:0;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:10;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.5rem;color:#166534;font-weight:600}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:#333}.product-form{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#374151;font-size:.9rem}.required{color:#ef4444}.form-group input,.form-group textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.form-group input:disabled,.form-group textarea:disabled{background:#f3f4f6;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;padding:1rem;background:#f9fafb;border-radius:6px;max-height:200px;overflow-y:auto}.category-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background .2s}.category-checkbox:hover{background:#e5e7eb}.category-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#22c55e}.category-checkbox span{color:#374151;font-size:.9rem}.loading-text,.no-categories{color:#6b7280;font-size:.9rem;font-style:italic;padding:1rem;text-align:center;background:#f9fafb;border-radius:6px}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.cancel-btn,.submit-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;font-size:1rem}.cancel-btn{background:#e5e7eb;color:#374151}.cancel-btn:hover:not(:disabled){background:#d1d5db}.submit-btn{background:#22c55e;color:#fff}.submit-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.cancel-btn:disabled,.submit-btn:disabled{opacity:.6;cursor:not-allowed}.categories-grid::-webkit-scrollbar{width:6px}.categories-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.categories-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.categories-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}.supplier-market{width:100%;max-width:none;margin:0;padding:24px 24px 0;background:linear-gradient(135deg,#e8f1f8,#f5f8fa,#fff);min-height:100vh;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-sizing:border-box}.supplier-market:before{content:"";position:absolute;top:0;right:0;width:400px;height:400px;background:radial-gradient(circle,rgba(0,82,165,.05) 0%,transparent 70%);pointer-events:none;z-index:0}.supplier-market>*{position:relative;z-index:1}.market-header{margin-bottom:24px;padding:24px 28px;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f5f8ff);box-shadow:0 20px 36px #0f2d621f;border:1px solid rgba(15,45,98,.12)}.market-header:before{content:"";position:absolute;top:8%;right:-12%;width:260px;height:260px;background:radial-gradient(circle,rgba(28,63,124,.08) 0%,transparent 70%);pointer-events:none}.market-header>div{position:relative;z-index:1}.market-header h2{font-size:2.1rem;font-weight:700;color:var(--philgeps-primary);margin:0 0 8px;text-shadow:none}.market-header h2:after{content:"";display:block;width:74px;height:3px;margin-top:8px;border-radius:999px;background:linear-gradient(90deg,var(--philgeps-accent) 0%,rgba(28,63,124,.65) 100%);opacity:.8}.market-header p{color:var(--text-secondary);font-size:1rem;margin:0;line-height:1.5}.market-actions{margin-bottom:24px;display:flex;gap:12px;flex-wrap:wrap}.upload-btn{background:linear-gradient(135deg,var(--philgeps-primary) 0%,var(--philgeps-secondary) 100%);color:#fff;padding:14px 24px;border-radius:12px;border:none;cursor:pointer;font-weight:700;font-size:.95rem;transition:all .3s ease;box-shadow:0 4px 12px #0052a533;display:flex;align-items:center;gap:8px}.market-controls{display:grid;grid-template-columns:2fr repeat(2,1fr);gap:12px;margin-bottom:24px;padding:24px;background:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px #0052a514;border:2px solid var(--border-color);position:relative}.market-controls:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent));border-radius:16px 16px 0 0}.search-bar{padding:14px 18px;border-radius:10px;border:2px solid var(--border-color);font-size:.95rem;transition:all .3s ease;background:var(--philgeps-light);color:var(--text-primary);font-family:inherit;font-weight:500;outline:none}.search-bar:focus{border-color:var(--philgeps-primary);background:var(--card-bg);box-shadow:0 0 0 4px #0052a51a;transform:translateY(-1px)}.search-bar::placeholder{color:var(--text-muted);font-weight:400}.dropdown-container{position:relative}.dropdown-toggle{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;border:none;border-radius:10px;padding:12px 18px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #10b98133}.dropdown-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d;background:linear-gradient(135deg,#059669 0%,var(--success) 100%)}.dropdown-menu{position:absolute;top:110%;left:0;background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:12px;box-shadow:0 8px 24px #0052a526;z-index:100;width:220px}.checkbox-label{display:flex;align-items:center;margin-bottom:8px;color:var(--text-primary);font-size:14px;cursor:pointer;padding:4px;border-radius:6px;transition:background .2s ease}.checkbox-label:hover{background:#0052a50d}.table-container{overflow-x:auto;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0052a514;border:2px solid var(--border-color)}.market-table{width:100%;border-collapse:collapse}.market-table th,.market-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border-color)}.market-table th{background:linear-gradient(135deg,#0052a51a,#0052a50d);color:var(--philgeps-primary);font-weight:700;font-size:.9rem}.market-table tr:hover td{background-color:#0052a505}.no-results{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:1.1rem;background:var(--card-bg);border-radius:16px;border:3px dashed var(--border-color);font-weight:500}.product-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding-top:20px;animation:fadeInUp .5s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.product-card{background:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px #0052a514;display:flex;flex-direction:column;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;border:2px solid transparent;overflow:hidden}.product-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent));transform:scaleX(0);transition:transform .4s ease}.product-card:after{content:"";position:absolute;top:12px;right:12px;width:60px;height:60px;background:radial-gradient(circle,rgba(0,82,165,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none;transition:all .4s ease}.product-card:hover:before{transform:scaleX(1)}.product-card:hover:after{transform:scale(2);opacity:.5}.product-card:hover{transform:translateY(-8px);box-shadow:0 16px 32px #0052a526;border-color:#0052a51a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 16px 12px;border-bottom:1px solid rgba(0,82,165,.08);gap:10px}.card-header h3{margin:0;font-size:1rem;line-height:1.3;color:var(--philgeps-primary);font-weight:700;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.card-actions{display:flex;gap:6px;flex-shrink:0}.card-actions .dropdown-toggle{padding:6px 10px;font-size:.8rem;min-width:36px;display:flex;align-items:center;justify-content:center;border-radius:6px}.card-actions .dropdown-toggle:hover{transform:translateY(-1px)}.card-body{padding:14px 16px;flex-grow:1}.card-description{font-size:.8rem;color:var(--text-secondary);margin-bottom:12px;min-height:32px;line-height:1.4;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-details-grid{display:flex;flex-direction:column;gap:8px;font-size:.8rem;margin-bottom:12px}.detail-item{display:flex;align-items:flex-start;gap:6px;color:var(--text-secondary);padding:6px 8px;background:#0052a505;border-radius:6px;transition:background .2s ease;flex-wrap:wrap}.detail-item:hover{background:#0052a50d}.detail-item span:first-child{font-size:.95rem;flex-shrink:0;line-height:1.2}.detail-item .detail-value{flex:1;word-break:break-word;line-height:1.3;font-size:.8rem}.detail-item .detail-label{font-weight:700;color:var(--philgeps-primary);font-size:.7rem;text-transform:uppercase;letter-spacing:.3px;min-width:55px;flex-shrink:0}.stock-badge{font-weight:700;padding:2px 6px;border-radius:999px;font-size:.65rem;margin-left:4px;text-transform:uppercase;letter-spacing:.3px;border:1px solid transparent}.stock-ok{color:#166534;background:#22c55e33;border-color:#1665344d}.stock-low{color:#b45309;background:#f59e0b33;border-color:#b453094d}.stock-out{color:#b91c1c;background:#f8717140;border-color:#b91c1c59}.effective-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border:1px solid transparent}.effective-badge-active{background:#22c55e33;border-color:#1665344d;color:#166534}.effective-badge-warning{background:#f59e0b40;border-color:#b453094d;color:#b45309}.effective-badge-expired{background:#f8717147;border-color:#b91c1c59;color:#991b1b}.detail-item.effective-until{align-items:flex-start;gap:8px;grid-column:1 / -1;background:#0052a508;border-left:3px solid var(--philgeps-secondary)}.detail-item.effective-until span:first-child{margin-top:2px}.effective-meta{display:flex;flex-direction:column;gap:4px}.effective-text{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.effective-text.subtle{color:var(--text-muted);font-style:italic;font-size:.7rem}.expired-banner,.expiring-banner{border-radius:8px;padding:10px 12px;font-size:.75rem;margin-bottom:10px;font-weight:600;border:2px solid;display:flex;align-items:center;gap:6px}.expired-banner{background:#f8717126;color:#991b1b;border-color:#b91c1c4d}.expiring-banner{background:#fbbf2426;color:#92400e;border-color:#b453094d}.product-card-expired{border-color:#fca5a5;box-shadow:0 0 0 1px #f8717159,0 4px 12px #b91c1c26}.product-card-expiring{border-color:#fcd34d;box-shadow:0 0 0 1px #fbbf2459,0 4px 12px #d977061a}.card-categories{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,82,165,.08)}.card-categories strong{font-size:.75rem;color:var(--philgeps-primary);font-weight:700;display:block;margin-bottom:6px}.card-categories .tags-container{display:flex;flex-wrap:wrap;gap:4px}.card-categories .dropdown-toggle{padding:4px 8px;font-size:.7rem;background:linear-gradient(135deg,#10b98126,#10b98114);color:#166534;border:1px solid rgba(22,101,52,.2);font-weight:600;cursor:default;pointer-events:none}.card-footer{padding:10px 16px;background:linear-gradient(135deg,#0052a505,#0052a503);border-top:1px solid rgba(0,82,165,.08);font-size:.7rem;color:var(--text-muted);text-align:right;border-bottom-left-radius:16px;border-bottom-right-radius:16px;font-weight:500}.no-results-card{background:var(--card-bg);border:3px dashed var(--border-color);border-radius:16px;padding:60px 40px;text-align:center;color:var(--text-muted);grid-column:1 / -1;box-shadow:0 4px 12px #0052a50d}.no-results-card h3{color:var(--philgeps-primary);margin:0 0 12px;font-size:1.5rem}.no-results-card p{color:var(--text-secondary);margin:0;font-size:1rem}.category-tag-na{color:var(--text-muted);font-style:italic;font-size:.75rem;display:inline-flex;align-items:center;gap:4px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem;background:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px #0052a514;padding:40px}.loading-spinner{width:50px;height:50px;border:5px solid rgba(0,82,165,.1);border-top:5px solid var(--philgeps-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:var(--philgeps-primary);font-size:1.1rem;font-weight:600}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem;background:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px #ef44441a;padding:40px;border:2px solid rgba(239,68,68,.2)}.error-message{color:#dc2626;font-size:1.1rem;font-weight:600;text-align:center}.retry-btn{padding:12px 24px;background:linear-gradient(135deg,var(--philgeps-primary) 0%,var(--philgeps-secondary) 100%);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:700;transition:all .3s ease;box-shadow:0 4px 12px #0052a533}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0052a54d}.modal-overlay{position:fixed;inset:0;background:#0052a566;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:var(--card-bg);border-radius:20px;padding:36px;max-width:750px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 24px 64px #0052a54d;position:relative;animation:slideUp .4s cubic-bezier(.4,0,.2,1);border:3px solid rgba(0,82,165,.1)}@keyframes slideUp{0%{transform:translateY(60px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent));border-radius:20px 20px 0 0}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-top:6px}.modal-header h2{margin:0;font-size:1.85rem;color:var(--philgeps-primary);font-weight:700;line-height:1.3;padding-right:20px}.close-btn{background:var(--philgeps-light);border:2px solid var(--border-color);font-size:1.5rem;cursor:pointer;color:var(--text-secondary);width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:700;flex-shrink:0}.close-btn:hover:not(:disabled){background:var(--philgeps-primary);color:#fff;border-color:var(--philgeps-primary);box-shadow:0 4px 12px #0052a54d}.close-btn:disabled{opacity:.5;cursor:not-allowed}.upload-form{display:flex;flex-direction:column;gap:1.5rem}.file-input-wrapper{display:flex;flex-direction:column;gap:.75rem}.file-input{padding:16px;border:3px dashed var(--border-color);border-radius:12px;cursor:pointer;background:#0052a505;transition:all .3s ease;font-weight:500}.file-input:hover{border-color:var(--philgeps-primary);background:#0052a50d}.file-selected{color:var(--success);font-weight:600;margin:0;font-size:.95rem;padding:8px 12px;background:#10b9811a;border-radius:8px;display:inline-block}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.cancel-btn{padding:12px 24px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:var(--text-primary);border:2px solid var(--border-color);border-radius:10px;cursor:pointer;font-weight:700;transition:all .3s ease}.cancel-btn:hover:not(:disabled){background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:var(--philgeps-primary);transform:translateY(-1px)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn{padding:12px 24px;background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:700;transition:all .3s ease;box-shadow:0 4px 12px #10b98133}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b9814d;background:linear-gradient(135deg,#059669 0%,var(--success) 100%)}.submit-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6;box-shadow:none}.upload-instructions{background:linear-gradient(135deg,#0052a50d,#0052a505);padding:1.5rem;border-radius:12px;border:2px solid rgba(0,82,165,.15);max-height:500px;overflow-y:auto}.upload-instructions>p{margin:0 0 1rem;color:var(--philgeps-primary);font-size:1.1rem;font-weight:700}.instruction-section{background:#fff;padding:1rem;margin-bottom:1rem;border-radius:10px;border-left:4px solid var(--philgeps-secondary);box-shadow:0 2px 6px #0052a50d}.instruction-section h4{margin:0 0 .75rem;color:var(--philgeps-primary);font-size:1rem;font-weight:700}.instruction-section ul{margin:0;padding-left:1.5rem}.instruction-section li{margin:.5rem 0;color:var(--text-secondary);line-height:1.6}.instruction-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:1rem;margin-bottom:1rem;border-radius:10px;border-left:4px solid var(--warning);box-shadow:0 2px 6px #f59e0b26}.instruction-warning h4{margin:0 0 .75rem;color:#b45309;font-size:1rem;font-weight:700}.instruction-warning ul{margin:0;padding-left:1.5rem}.instruction-warning li{margin:.5rem 0;color:#78350f;line-height:1.6}.instruction-categories-list{background:linear-gradient(135deg,#10b98114,#10b98108);border-left-color:var(--success)}.instruction-categories-list h4{color:#166534}.category-group{margin-bottom:1rem;padding:.75rem;background:#fff;border-radius:8px}.category-group h5{margin:0 0 .5rem;color:var(--philgeps-primary);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.category-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding-left:0;list-style:none}.category-list-grid li{padding:6px 10px;background:#10b9811a;border-radius:6px;font-size:.8rem;color:#166534;border:1px solid rgba(22,101,52,.2);margin:0}.category-match-note{margin-top:1rem;padding:.75rem;background:#ffd7001a;border-radius:8px;border:1px solid rgba(245,158,11,.3);font-size:.85rem;color:#78350f;line-height:1.5}.instruction-example{background:#fff;padding:1rem;border-radius:10px;border-left:4px solid #3b82f6;box-shadow:0 2px 6px #3b82f61a}.instruction-example h4{margin:0 0 .75rem;color:#1e40af;font-size:1rem;font-weight:700}.example-table{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #0000000d}.example-table th{padding:.75rem;text-align:left;color:var(--philgeps-primary);font-weight:700;border-bottom:2px solid var(--philgeps-secondary);white-space:nowrap;font-size:.8rem}.example-table td{padding:.75rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:#0052a50d;border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:var(--philgeps-primary);border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--philgeps-secondary)}.pagination-bar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px #0052a514;border:2px solid var(--border-color);margin-bottom:24px;flex-wrap:wrap;gap:16px}.pagination-bar.bottom{margin-top:24px;margin-bottom:0}.pagination-summary{color:var(--text-secondary);font-weight:600;font-size:.95rem}.pagination-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pagination-buttons button{padding:10px 16px;border:2px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease;min-width:44px}.pagination-buttons button:hover:not(:disabled){background:var(--philgeps-primary);color:#fff;border-color:var(--philgeps-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0052a533}.pagination-buttons button.active{background:linear-gradient(135deg,var(--philgeps-primary) 0%,var(--philgeps-secondary) 100%);color:#fff;border-color:var(--philgeps-primary);box-shadow:0 4px 12px #0052a54d}.pagination-buttons button:disabled{opacity:.4;cursor:not-allowed;background:var(--border-color)}.pagination-dots{color:var(--text-muted);font-weight:700;padding:0 8px;-webkit-user-select:none;user-select:none}@media(max-width:1024px){.market-controls{grid-template-columns:1fr 1fr}.search-bar:first-child{grid-column:1 / -1}.product-grid-container{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.supplier-market{padding:20px 16px}.market-header{padding:20px 24px}.market-header h2{font-size:1.75rem}.market-controls{grid-template-columns:1fr;padding:20px}.product-grid-container{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.pagination-bar{flex-direction:column;align-items:stretch;padding:16px}.pagination-summary{text-align:center}.pagination-buttons{justify-content:center}.pagination-buttons button{padding:8px 12px;font-size:.85rem;min-width:40px}.modal-content{padding:28px;border-radius:16px;max-height:80vh}.modal-header h2{font-size:1.5rem}.example-table{font-size:.75rem}.example-table th,.example-table td{padding:.5rem}.instruction-section,.instruction-warning,.instruction-example{padding:.75rem}.category-list-grid{grid-template-columns:1fr}}@media(max-width:480px){.market-header h2{font-size:1.5rem}.market-actions{flex-direction:column}.upload-btn{width:100%;justify-content:center}.product-grid-container{grid-template-columns:1fr;gap:16px}.product-card{padding:16px}.card-header{padding:16px 16px 12px}.card-body{padding:16px}.card-details-grid{gap:6px}.detail-item{padding:5px 6px}.card-actions .dropdown-toggle{padding:6px 10px;font-size:.85rem;min-width:38px}.modal-content{padding:20px;max-height:75vh}.modal-header h2{font-size:1.3rem;padding-right:50px}.close-btn{width:36px;height:36px;font-size:1.2rem}.pagination-buttons button{padding:6px 10px;font-size:.8rem;min-width:36px}}.supplier-reports-page{padding:2.5rem;min-height:100vh;background:#f7f9ff;color:#1f2937;display:flex;flex-direction:column;gap:2rem}.supplier-reports-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem}.reports-heading h2{margin:0;font-size:2rem;font-weight:700;color:#1e3a8a}.reports-heading p{margin:.35rem 0 0;max-width:540px;color:#4b5563;line-height:1.5}.reports-controls{display:flex;gap:.75rem;flex-wrap:wrap}.reports-controls input[type=search],.reports-controls select{padding:.65rem .9rem;border-radius:10px;border:1px solid rgba(99,102,241,.2);background:#fff;font-size:.95rem;color:#1f2937;min-width:220px}.reports-controls input[type=search]:focus,.reports-controls select:focus{outline:none;border-color:#4f46e58c;box-shadow:0 0 0 3px #4f46e52e}.reports-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.reports-stat-card{background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 16px 30px -25px #0f172a66;border:1px solid rgba(99,102,241,.12);display:flex;flex-direction:column;gap:.45rem}.reports-stat-card h3{margin:0;font-size:1rem;color:#374151}.stat-value{margin:0;font-size:2.2rem;font-weight:700;color:#0f172a}.stat-value.danger{color:#dc2626}.stat-value.success{color:#16a34a}.stat-value.warning{color:#d97706}.stat-hint{font-size:.85rem;color:#6b7280}.reports-table-wrapper{background:#fff;border-radius:18px;border:1px solid rgba(99,102,241,.12);box-shadow:0 22px 40px -28px #0f172a61;overflow:hidden}.pagination-wrapper{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.reports-table{width:100%;border-collapse:collapse;font-size:.95rem}.reports-table thead{background:#6366f117}.reports-table th,.reports-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid rgba(226,232,240,.7)}.reports-table tbody tr:last-child td{border-bottom:none}.reports-item-name{display:flex;flex-direction:column;gap:.25rem}.reports-item-name span{font-size:.85rem;color:#6b7280}.reports-badge{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .75rem;border-radius:999px;font-size:.78rem;font-weight:600;margin-right:.45rem}.reports-badge.fresh{background:#22c55e1f;color:#15803d}.reports-badge.warning{background:#eab30826;color:#b45309}.reports-badge.danger{background:#f8717133;color:#b91c1c}.reports-effective-wrap{display:flex;flex-direction:column;gap:.2rem}.reports-effective-badge{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;margin-right:auto}.reports-effective-badge.ok{background:#22c55e1f;color:#15803d}.reports-effective-badge.expired{background:#f8717133;color:#b91c1c}.reports-effective-badge.none{background:#94a3b833;color:#475569}.reports-effective-wrap small{font-size:.75rem;color:#6b7280}.reports-effective-warning{display:block;margin-top:.3rem;color:#b91c1c;font-weight:600}.reports-effective-flag{display:block;margin-top:.35rem;font-size:.75rem;color:#b91c1c;font-weight:600}.reports-effective-none{font-size:.82rem;color:#64748b}.reports-stale-label{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280}.reports-placeholder,.reports-error{text-align:center;padding:1.75rem 1rem;color:#475569;font-size:.95rem}.reports-loading{display:inline-flex;align-items:center;gap:10px}.reports-error{color:#b91c1c}.reports-actions{display:flex;gap:.5rem;flex-wrap:wrap}.reports-actions-cell{display:flex;flex-direction:column;gap:8px}.reports-action{border:1px solid transparent;border-radius:999px;padding:.3rem .95rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.reports-action.edit{background:#3b82f61f;color:#1d4ed8;border-color:#3b82f640}.reports-action.edit:hover{background:#3b82f633}.reports-action.delete{background:#f8717129;color:#b91c1c;border-color:#f871714d}.reports-action.delete:hover{background:#f871713d}@media(max-width:860px){.reports-table-wrapper{background:transparent;box-shadow:none;border:none}.reports-table{display:block;border-spacing:0}.reports-table thead{display:none}.reports-table tbody{display:flex;flex-direction:column;gap:12px}.reports-table tr{display:block;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:16px;padding:12px 14px;box-shadow:0 10px 22px #0f172a14}.reports-table td{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(226,232,240,.7)}.reports-table td:last-child{border-bottom:none;padding-bottom:0}.reports-table td:before{content:attr(data-label);font-weight:700;font-size:.78rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.reports-actions{flex-direction:column;align-items:stretch}.reports-action{width:100%;justify-content:center;text-align:center}}@media(max-width:768px){.supplier-reports-page{padding:1.75rem}.reports-controls input[type=search],.reports-controls select{width:100%}.reports-table{font-size:.88rem}}:root{--philgeps-primary: #0052A5;--philgeps-secondary: #0066CC;--philgeps-light: rgb(255, 255, 255);--philgeps-accent: #FFD700;--text-primary: #1a1a1a;--text-secondary: #4a5568;--text-muted: #718096;--background: #F5F8FA;--card-bg: #FFFFFF;--border-color: #E2E8F0;--success: #10B981;--warning: #F59E0B}.upload-page{padding:32px;background:linear-gradient(135deg,#e8f1f8,#f5f8fa,#fff);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.upload-page:before{content:"";position:absolute;top:0;right:0;width:400px;height:400px;background:radial-gradient(circle,rgba(0,82,165,.05) 0%,transparent 70%);pointer-events:none;z-index:0}.upload-page>*{position:relative;z-index:1}.upload-header{margin-bottom:28px;padding:24px 28px;border-radius:16px;background:linear-gradient(180deg,#fff,#f5f8ff);box-shadow:0 20px 36px #0f2d621f;border:1px solid rgba(15,45,98,.12);position:relative;overflow:hidden}.upload-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent));border-radius:16px 16px 0 0}.upload-header h2{color:var(--philgeps-primary);font-size:2.1rem;font-weight:700;margin:12px 0 8px;position:relative}.upload-header h2:after{content:"";display:block;width:74px;height:3px;margin-top:8px;border-radius:999px;background:linear-gradient(90deg,var(--philgeps-accent) 0%,rgba(28,63,124,.65) 100%);opacity:.8}.upload-header p{color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.5}.upload-section{background:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px #0052a514;padding:28px;margin-bottom:28px;border:2px solid var(--border-color);position:relative}.upload-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent));border-radius:16px 16px 0 0}.upload-controls{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:16px}.upload-section input[type=file]{padding:14px;border:3px dashed var(--border-color);border-radius:12px;background:#0052a505;transition:all .3s ease;font-weight:500;cursor:pointer;width:100%}.upload-section input[type=file]:hover{border-color:var(--philgeps-primary);background:#0052a50d}.upload-label{display:inline-block;cursor:pointer}.upload-btn{background:linear-gradient(135deg,var(--philgeps-primary) 0%,var(--philgeps-secondary) 100%);color:#fff;padding:14px 32px;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0052a533;white-space:nowrap;height:fit-content}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0052a54d;background:linear-gradient(135deg,var(--philgeps-secondary) 0%,var(--philgeps-primary) 100%)}.upload-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.note{color:var(--text-muted);font-size:.9rem;margin:0;line-height:1.6;text-align:left}.note strong{color:var(--philgeps-primary);font-weight:700}.note code{background:#0052a51a;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;color:var(--philgeps-secondary);font-weight:600}.template-download{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.template-button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.template-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;padding:12px 20px;border:none;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0284c733;white-space:nowrap}.template-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0284c740}.template-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.template-note{color:var(--text-muted);font-size:.9rem}.contact-banner{background:linear-gradient(135deg,#ffd70040,#0066cc26);border-left:4px solid var(--philgeps-accent);padding:12px 16px;border-radius:10px;font-weight:600;color:var(--text-primary);margin-top:12px;display:inline-block}.contact-banner .contact-chip{background:#fef3c7;color:#1d1b53;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(250,204,21,.6);box-shadow:0 4px 10px #b4530926;margin-left:4px}.contact-banner .contact-chip:first-of-type{margin-left:0}.template-btn.secondary{background:#eef2ff;color:#1e3a8a;border:1px solid #cbd5e1;box-shadow:0 4px 12px #4f46e526}.template-btn.secondary:hover{box-shadow:0 6px 18px #4f46e533}@media(max-width:768px){.upload-controls{grid-template-columns:1fr}.upload-btn{width:100%}.instructions-header{flex-direction:column;align-items:flex-start}.toggle-instructions-btn{width:100%;justify-content:center}}.upload-instructions-section{margin-bottom:28px}.instructions-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.upload-instructions-section>h3{color:var(--philgeps-primary);font-size:1.6rem;font-weight:700;margin:0;padding-left:4px}.toggle-instructions-btn{background:linear-gradient(135deg,var(--philgeps-primary) 0%,var(--philgeps-secondary) 100%);color:#fff;padding:10px 20px;border:none;border-radius:10px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0052a533;white-space:nowrap;display:flex;align-items:center;gap:8px}.toggle-instructions-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0052a54d;background:linear-gradient(135deg,var(--philgeps-secondary) 0%,var(--philgeps-primary) 100%)}.toggle-instructions-btn:active{transform:translateY(0)}.toggle-icon{font-size:.9rem;transition:transform .3s ease;font-weight:700}.toggle-icon.expanded{transform:rotate(180deg)}.upload-instructions{background:linear-gradient(135deg,#0052a50d,#0052a505);padding:24px;border-radius:16px;border:2px solid rgba(0,82,165,.15);max-height:0;overflow:hidden;opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.upload-instructions.expanded{max-height:600px;opacity:1;overflow-y:auto;margin-top:0}.instruction-section{background:#fff;padding:20px;margin-bottom:16px;border-radius:12px;border-left:4px solid var(--philgeps-secondary);box-shadow:0 2px 6px #0052a50d}.instruction-section h4{margin:0 0 12px;color:var(--philgeps-primary);font-size:1.1rem;font-weight:700}.instruction-section ul{margin:0;padding-left:24px}.instruction-section li{margin:10px 0;color:var(--text-secondary);line-height:1.6;font-size:.95rem}.instruction-section li strong{color:var(--philgeps-primary);font-weight:700}.instruction-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:20px;margin-bottom:16px;border-radius:12px;border-left:4px solid var(--warning);box-shadow:0 2px 6px #f59e0b26}.instruction-warning h4{margin:0 0 12px;color:#b45309;font-size:1.1rem;font-weight:700}.instruction-warning ul{margin:0;padding-left:24px}.instruction-warning li{margin:10px 0;color:#78350f;line-height:1.6;font-size:.95rem}.instruction-warning li strong{color:#b45309;font-weight:700}.instruction-example{background:#fff;padding:20px;margin-bottom:16px;border-radius:12px;border-left:4px solid #3b82f6;box-shadow:0 2px 6px #3b82f61a;width:100%;max-width:100%}.instruction-example h4{margin:0 0 12px;color:#1e40af;font-size:1.1rem;font-weight:700}.table-scroll{overflow-x:auto;margin-top:12px}.example-table{width:100%;border-collapse:collapse;font-size:.75rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #0000000d;min-width:650px}.example-table thead{background:linear-gradient(135deg,#0052a51a,#0052a50d)}.example-table th{padding:8px 10px;text-align:left;color:var(--philgeps-primary);font-weight:700;border-bottom:2px solid var(--philgeps-secondary);white-space:nowrap;font-size:.75rem}.example-table td{padding:8px 10px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.75rem}.example-table tbody tr:last-child td{border-bottom:none}.example-table tbody tr:hover{background:#0052a505}.instruction-categories-list{background:linear-gradient(135deg,#10b98114,#10b98108);border-left-color:var(--success);padding:20px;border-radius:12px;border-left:4px solid var(--success);box-shadow:0 2px 6px #10b9811a}.instruction-categories-list h4{color:#166534;margin:0 0 12px;font-size:1.1rem;font-weight:700}.category-match-note{margin:12px 0;padding:12px;background:#ffd7001a;border-radius:8px;border:1px solid rgba(245,158,11,.3);font-size:.9rem;color:#78350f;line-height:1.6}.category-match-note strong{color:#b45309}.category-group{margin:16px 0;padding:16px;background:#fff;border-radius:8px}.category-group h5{margin:0 0 12px;color:var(--philgeps-primary);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.category-list-simple{margin:0;padding-left:24px;list-style:none}.category-list-simple li{margin:8px 0;padding:8px 12px;background:#10b9810d;border-radius:6px;font-size:.9rem;color:var(--text-secondary);border-left:3px solid rgba(16,185,129,.3)}.category-list-simple li strong{color:#166534;font-weight:700;margin-right:8px}.upload-instructions::-webkit-scrollbar{width:10px}.upload-instructions::-webkit-scrollbar-track{background:#0052a50d;border-radius:10px}.upload-instructions::-webkit-scrollbar-thumb{background:var(--philgeps-primary);border-radius:10px}.upload-instructions::-webkit-scrollbar-thumb:hover{background:var(--philgeps-secondary)}.upload-history{margin-bottom:24px}.upload-history h3{color:var(--philgeps-primary);font-size:1.6rem;font-weight:700;margin-bottom:16px;padding-left:4px}.history-table-container{background:var(--card-bg);border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0052a514;border:2px solid var(--border-color);position:relative}.history-table-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--philgeps-primary),var(--philgeps-secondary),var(--philgeps-accent))}.history-table{width:100%;border-collapse:collapse;margin-top:4px}.history-table th,.history-table td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--border-color)}.history-table th{background:linear-gradient(135deg,#0052a51a,#0052a50d);color:var(--philgeps-primary);font-weight:700;font-size:.9rem}.history-table tbody tr:hover td{background-color:#0052a505}.history-table tbody tr:last-child td{border-bottom:none}.history-placeholder{text-align:center;color:#64748b;padding:14px}.history-loading{display:inline-flex;align-items:center;gap:10px}.history-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media(max-width:820px){.history-table-container{border:none;box-shadow:none;background:transparent}.history-table{display:block;border-spacing:0}.history-table thead{display:none}.history-table tbody{display:flex;flex-direction:column;gap:12px}.history-table tr{display:block;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:12px 14px;box-shadow:0 8px 18px #0052a514}.history-table td{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--border-color)}.history-table td:last-child{border-bottom:none;padding-bottom:0}.history-table td:before{content:attr(data-label);font-weight:700;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.history-actions{flex-direction:column;align-items:stretch}.btn-delete{width:100%;justify-content:center;text-align:center}}.status-badge{padding:4px 12px;border-radius:999px;color:#fff;font-weight:700;text-transform:capitalize;font-size:.8rem;letter-spacing:.3px;display:inline-block}.status-badge.completed{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);box-shadow:0 2px 6px #10b98133}.status-badge.processing{background:linear-gradient(135deg,var(--warning) 0%,#d97706 100%);box-shadow:0 2px 6px #f59e0b33}.status-badge.failed{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px #ef444433}.btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:.85rem;transition:all .3s ease;box-shadow:0 2px 6px #ef444433}.btn-delete:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.modal-overlay{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal{width:100%;max-width:900px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #02061733;padding:18px;overflow:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-close{background:transparent;border:none;font-size:24px;line-height:1;cursor:pointer;color:#374151}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-row.full{grid-column:1 / -1}.form-row label{display:block;margin-bottom:6px;color:#374151;font-weight:600}.form-input,.form-textarea{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:.95rem}.form-textarea{min-height:90px;resize:vertical}.small-muted{color:#6b7280;font-size:.85rem;margin-top:6px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.checkbox-label-small{display:flex;align-items:center;gap:8px;font-size:.95rem}.matches{display:flex;flex-direction:column;gap:8px;margin-top:8px}.match-card{display:flex;align-items:flex-start;justify-content:space-between;background:#f8fafc;border-radius:8px;padding:10px;border:1px solid #eef2ff}.match-main{max-width:75%}.match-name{font-weight:700;margin-bottom:4px}.match-meta{color:#6b7280;font-size:.9rem;margin-bottom:6px}.match-desc{color:#374151;font-size:.9rem;max-height:42px;overflow:hidden;text-overflow:ellipsis}.match-actions{display:flex;align-items:center}.use-btn{background:#10b981;color:#fff;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-weight:600}.use-btn:hover{background:#059669}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.btn-secondary{background:transparent;border:1px solid #d1d5db;padding:8px 14px;border-radius:8px;cursor:pointer}.btn-primary{background:#16a34a;color:#fff;border:none;padding:8px 14px;border-radius:8px;cursor:pointer}@media(max-width:800px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.form-grid{grid-template-columns:1fr}.modal{padding:12px}}.multi-select{position:relative}.ms-control{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer}.ms-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:85%}.ms-placeholder{color:#9ca3af}.ms-chip{background:#eef2ff;color:#1f2937;padding:4px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;font-size:.9rem}.ms-chip-remove{background:transparent;border:none;font-size:14px;cursor:pointer;line-height:1}.ms-caret{color:#6b7280}.ms-dropdown{position:absolute;left:0;right:0;margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 20px #02061714;z-index:2100;max-height:320px;overflow:auto}.ms-search{padding:8px;border-bottom:1px solid #f3f4f6}.ms-search input{width:100%;padding:8px;border:1px solid #e5e7eb;border-radius:6px}.ms-list{padding:8px;display:flex;flex-direction:column;gap:6px}.ms-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:pointer}.ms-item:hover{background:#f8fafc}.ms-item input{pointer-events:auto}.ms-item-name{font-size:.95rem;color:#111827}.ms-empty{color:#6b7280;padding:8px}.admin-layout{display:flex;min-height:100dvh;width:100%;max-width:100%;overflow-x:hidden;transition:all .3s ease;--navbar-height: 72px}.admin-main{flex:1;margin-left:0;display:flex;flex-direction:column;transition:margin-left .3s ease;min-height:100dvh;width:100%;max-width:100%;overflow-x:hidden}.admin-layout.collapsed .admin-main{margin-left:0}.admin-content{flex:1;width:100%;box-sizing:border-box;padding:12px 14px;background-color:#f5f6fa;overflow-y:visible;overscroll-behavior:auto;-webkit-overflow-scrolling:auto;min-height:calc(100dvh - var(--navbar-height));height:auto;max-width:100%}@media(max-width:768px){.admin-content{padding:10px 12px}}@media(max-width:768px){.admin-layout{--navbar-height: 64px}.admin-layout.mobile-compact .sidebar{transform:translate(0);transition:transform .25s ease}.admin-layout.mobile-compact:not(.sidebar-open) .sidebar{display:block;transform:translate(-110%)}.admin-layout.mobile-compact .admin-main{margin-left:0}.admin-layout.mobile-compact .admin-content{padding:14px 12px 20px}.admin-layout.mobile-compact.sidebar-open .sidebar{display:flex;position:fixed;top:0;left:0;height:100dvh;min-height:100dvh;z-index:1000}}.dashboard-container{padding:24px;background:#f8fafc;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1e293b}.dashboard-header{position:relative;padding:24px;border-radius:16px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 24px #0f172a14;margin-bottom:24px}.dashboard-header:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:4px;border-radius:16px 16px 0 0;background:linear-gradient(90deg,#2563eb,#facc15)}.dashboard-header-tagline{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#1d4ed8;background:#eff6ff;padding:.35rem .75rem;border-radius:50px;border:1px solid #bfdbfe;margin-bottom:.75rem}.dashboard-header h2{font-size:1.9rem;font-weight:700;color:#1d4ed8;margin:.5rem 0 .75rem;line-height:1.2}.dashboard-header p{font-size:.95rem;color:#475569;margin:0;line-height:1.6}.dashboard-header-contact{background:linear-gradient(135deg,#ffd70040,#2563eb26);border-left:4px solid #facc15;padding:12px 16px;border-radius:10px;font-weight:600;color:#1f2937;margin-top:1rem;display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.dashboard-header-contact .contact-chip{background:#fef3c7;color:#1f2937;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(250,204,21,.6);box-shadow:0 4px 10px #b4530926;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.dashboard-header-contact .contact-chip:hover{transform:translateY(-1px);box-shadow:0 6px 14px #b4530940}.modal-overlay{background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease;animation:fadeIn .2s ease;position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;z-index:1200}.modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease;border:1px solid rgba(226,232,240,.8);position:relative;overflow-y:auto;overflow-x:hidden;max-height:90vh;width:min(95vw,720px)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6)}.modal-close-btn{position:absolute;top:20px;right:20px;background:#f1f5f9;border:none;width:36px;height:36px;border-radius:8px;font-size:18px;color:#64748b;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:10}.modal-close-btn:hover{background:#e2e8f0;color:#0f172a;transform:rotate(90deg)}.modal-title{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 24px;padding:28px 32px 0;letter-spacing:-.02em}.purchase-request-form{padding:0 32px 32px}.validation-errors{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5;border-radius:12px;padding:16px 20px;margin-bottom:24px;box-shadow:0 4px 6px -1px #ef44441a;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.validation-errors-header{display:flex;align-items:center;gap:10px;color:#dc2626;font-weight:700;margin-bottom:12px;font-size:15px}.validation-errors-header svg{font-size:18px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.validation-errors ul{margin:0;padding-left:28px;color:#991b1b}.validation-errors li{margin:6px 0;font-size:14px;line-height:1.5;position:relative}.validation-errors li::marker{color:#dc2626;font-weight:700}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:600;color:#1e293b;margin-bottom:8px;font-size:14px;letter-spacing:.01em}.required{color:#dc2626;margin-left:2px;font-weight:700}.form-input,.form-textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;background:#fff;transition:all .2s ease;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;background:#fafbff}.form-input:disabled,.form-textarea:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0}.form-textarea{resize:vertical;min-height:100px;line-height:1.6}.form-hint{display:block;margin-top:6px;font-size:12px;color:#64748b;font-weight:500;display:flex;align-items:center;gap:4px}.form-group-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.form-group.half{margin-bottom:0}.file-input-wrapper{position:relative}.form-input-file{width:100%;padding:12px 16px;border:2px dashed #cbd5e1;border-radius:10px;font-size:14px;cursor:pointer;transition:all .2s ease;background:#f8fafc}.form-input-file:hover{border-color:#3b82f6;background:#f0f7ff}.form-input-file:focus{outline:none;border-color:#3b82f6;border-style:solid;box-shadow:0 0 0 4px #3b82f61a}.requests-loading{display:flex;align-items:center;gap:12px;padding:18px 16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#475569;box-shadow:0 8px 18px #0f172a14}.requests-loading-spinner{width:18px;height:18px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .9s linear infinite}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:2px solid #f1f5f9}.cancel-btn,.post-btn{padding:12px 28px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;gap:8px;letter-spacing:.02em}.cancel-btn{background:#f1f5f9;color:#475569;border:2px solid #e2e8f0}.cancel-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.post-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 6px -1px #3b82f64d}.post-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 12px -2px #3b82f666}.cancel-btn:disabled,.post-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.status-message{padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.status-message.success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1px solid #86efac}.status-message.error{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;border:1px solid #fca5a5}.status-message-box{margin-top:20px;padding:16px 20px;border-radius:10px;text-align:center;font-weight:600;font-size:14px;animation:slideDown .3s ease}.pagination-wrapper{margin-top:16px;display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-message-box.success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:2px solid #86efac;box-shadow:0 4px 6px -1px #22c55e1a}.status-message-box.error{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;border:2px solid #fca5a5;box-shadow:0 4px 6px -1px #ef44441a}.status-message-box.info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:2px solid #93c5fd;box-shadow:0 4px 6px -1px #3b82f61a}.detail-grid{padding:24px 32px;overflow-wrap:anywhere}.detail-row{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #f1f5f9;align-items:start}.detail-row:last-child{border-bottom:none}.detail-row-full{grid-column:1 / -1;display:block}.detail-label{font-weight:700;color:#475569;font-size:13px;text-transform:uppercase;letter-spacing:.05em;padding-top:2px}.detail-value{color:#0f172a;font-size:15px;line-height:1.6;margin:0;word-break:break-word}.feedback-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93c5fd;border-radius:12px;padding:20px;margin-top:16px;box-shadow:0 4px 6px -1px #3b82f61a;animation:fadeIn .4s ease}.feedback-box .detail-label{color:#1e40af;font-weight:700;display:flex;align-items:center;gap:8px;font-size:15px;text-transform:none;letter-spacing:normal;margin-bottom:12px}.feedback-box .detail-label svg{font-size:18px}.feedback-box .detail-value{color:#1e3a8a;font-size:14px;line-height:1.7;margin:0;padding-left:26px}.detail-row .badge{padding:8px 16px;border-radius:8px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 4px #0000001a;letter-spacing:.02em}.detail-row .status-action-btn{background:#f8fafc;border:2px solid #e2e8f0;color:#475569;font-weight:600;transition:all .2s ease}.detail-row .status-action-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b;transform:translateY(-1px)}.detail-row ul{margin-top:16px}.detail-row ul li{transition:all .2s ease;border-radius:8px;margin:0 -8px;padding:16px 8px}.detail-row ul li:hover{background:#f8fafc}@media(max-width:768px){.modal{width:100%;max-width:100%!important;margin:0;max-height:90vh}.modal-title{font-size:20px;padding:20px 16px 0}.purchase-request-form{padding:0 16px 16px}.detail-grid{padding:16px}.form-group-row{grid-template-columns:1fr;gap:0}.form-group.half{margin-bottom:24px}.detail-row{grid-template-columns:1fr;gap:8px}.modal-actions{flex-direction:column-reverse}.cancel-btn,.post-btn{width:100%;justify-content:center}}.market-container{width:100%!important;flex:1!important;margin-left:0!important;max-width:100%!important;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.admin-layout .market-container,.admin-layout.collapsed .market-container{width:100%!important;margin-left:0!important;max-width:100%!important}.market-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.bookmark-view-btn{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer;transition:.2s ease;font-weight:500}.bookmark-view-btn.active{background:#facc15;color:#000}.bookmark-view-btn:hover{background:#1d4ed8;color:#fff}.bookmark-view-btn.active:hover{background:#eab308;color:#000}.market-filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;width:100%;align-items:flex-start}.market-search-input,.market-category-select,.market-supplier-select,.market-date-input{padding:8px 12px;border-radius:6px;border:1px solid #d1d5db;min-width:0;flex:1 1 160px;font-size:.95rem;max-width:100%}.market-filter-bar .see-more-btn{flex:1 1 140px;min-height:38px;padding:8px 12px;border-radius:6px;border:1px solid #d1d5db;background:#f3f4f6;color:#111;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.market-filter-bar .see-more-btn:hover{background:#e5e7eb;border-color:#cbd5e1}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}.pagination-wrapper{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pagination-wrapper.top{margin-top:0;margin-bottom:12px}.pagination-summary{color:#475569;font-weight:600;font-size:.95rem}.market-card{background:#fff;border-radius:12px;box-shadow:0 2px 6px #0000001a;padding:15px;transition:all .25s ease;cursor:pointer;position:relative}.market-card:hover{transform:translateY(-4px);box-shadow:0 6px 12px #00000026}.market-card h4{font-size:1rem;color:#222;margin-bottom:4px}.market-card-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.market-logo{width:36px;height:36px;border-radius:10px;background:#e0e7ff;border:1px solid #cbd5e1;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 6px 12px #3b82f629}.market-logo img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.market-logo span{display:none;font-weight:700;color:#1e3a8a}.market-logo.fallback span{display:block}.logo-preview-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.logo-preview{position:relative;background:#fff;border-radius:12px;padding:10px;box-shadow:0 18px 42px #00000042;max-width:min(90vw,480px);max-height:min(90vh,480px);display:flex;align-items:center;justify-content:center}.logo-preview img{max-width:100%;max-height:100%;border-radius:8px;display:block}.logo-preview-close{position:absolute;top:8px;right:8px;border:none;background:#000000a6;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease}.logo-preview-close:hover{transform:translateY(-1px);background:#000c}.market-card-title{display:flex;flex-direction:column;gap:0}.market-card-title h4{margin:0;line-height:1.1;min-height:auto}.market-supplier-name{margin:0;color:#475569;font-size:.9rem;line-height:1.1}.market-card p{margin:2px 0;font-size:.9rem;color:#555}.bookmark-btn{padding:6px 10px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid #d1d5db;background:#f9fafb;color:#333}.bookmark-btn:hover{background:#f3f4f6}.bookmark-btn.active{background:#facc15;border-color:#eab308;color:#000}.no-items{grid-column:1 / -1;text-align:center;color:#777;font-style:italic}.market-loading{grid-column:1 / -1;display:inline-flex;align-items:center;gap:10px;color:#475569;font-weight:600;padding:6px 8px}.market-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .3s ease}.market-modal-content{background:#fff;border-radius:12px;padding:25px;width:90%;max-width:450px;box-shadow:0 6px 15px #00000040;position:relative;animation:slideUp .3s ease}.market-modal-content h3{margin-bottom:10px;color:#111}.modal-close-btn{position:absolute;top:10px;right:14px;background:none;border:none;font-size:1.3rem;cursor:pointer;color:#555}.modal-close-btn:hover{color:#000}.modal-bookmark{width:100%;margin-top:10px;font-size:1rem}.cart-container{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 6px #0000001a}.cart-table{width:100%;border-collapse:collapse;margin-top:15px}.cart-table th,.cart-table td{padding:10px;border-bottom:1px solid #ddd;text-align:center}.cart-table th{background:#f9fafb}.qty-input{width:60px;text-align:center;padding:5px;border-radius:6px;border:1px solid #ccc}.checkout-btn{margin-top:15px;background:#16a34a;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;transition:.2s ease}.checkout-btn:hover{opacity:.85}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.market-filter-bar{flex-direction:column;gap:8px;align-items:stretch}.market-modal-content{width:95%}.market-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.bookmark-btn{font-size:.8rem;padding:5px 8px}.market-search-input,.market-category-select,.market-supplier-select,.market-date-input,.market-filter-bar .see-more-btn{width:100%;flex:0 0 auto}}@media(max-width:480px){.market-filter-bar{align-items:stretch;gap:6px}.market-search-input,.market-category-select,.market-supplier-select,.market-date-input{width:100%;flex:0 0 auto;padding:8px 10px;font-size:.9rem}.market-filter-bar .see-more-btn{width:100%;flex:0 0 auto}}.admin-layout.collapsed .market-container,.admin-layout .market-container{width:100%;margin-left:0}@media(max-width:1024px)and (min-width:768px){.admin-layout .market-container{width:100%;margin-left:0}}@media(max-width:767px){.admin-layout .market-container{width:100%;margin-left:0}}.profile-card{background:#ffffffe6;border:1px solid #e2e8f0;border-radius:16px;padding:24px;max-width:720px;margin:24px auto;box-shadow:0 10px 30px #0032a014}.profile-card.error{color:#b91c1c}.profile-header{display:flex;gap:16px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.profile-loading{display:inline-flex;align-items:center;gap:10px;color:#475569;font-weight:600}.avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid #0032A0}.avatar-upload input{display:none}.avatar-upload{cursor:pointer;color:#0032a0;font-weight:600;font-size:14px}.profile-main h2{margin:0;word-break:break-word;overflow-wrap:break-word}.profile-main .muted{color:#64748b;margin:4px 0;word-break:break-word;overflow-wrap:break-word}.profile-main{min-width:0;max-width:100%}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.profile-field{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#f8fafc}.profile-field .label{display:block;font-size:12px;color:#64748b;margin-bottom:6px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;max-width:100vw}body{font-family:Poppins,system-ui,sans-serif;background-color:#f0f0f0;color:#213547;overflow-x:hidden;overscroll-behavior-x:none}a{color:inherit;text-decoration:none}button{border:none;border-radius:8px;padding:.6em 1.2em;font-size:1em;cursor:pointer}.loading-inline{display:inline-flex;align-items:center;gap:10px;color:#475569;font-weight:600}.loading-spinner{width:18px;height:18px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
