:root{--navy:#102b55;--navy-deep:#0c2144;--blue:#2854d7;--ink:#182b46;--muted:#69788c;--line:#e2e8f0;--surface:#f5f7fb;--red:#ed405b;--bs-primary:#2854d7;--bs-body-color:#182b46;--bs-body-font-family:"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}body{background:var(--surface);font-size:16px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-weight:700;letter-spacing:-.035em}h1{font-size:2.25rem;line-height:1.2}h2{font-size:1.3rem}button,input,select,textarea{font:inherit}.btn{border-radius:8px;padding:.72rem 1.12rem;font-size:.94rem;font-weight:600;white-space:normal}.btn-primary{background:var(--blue);border-color:var(--blue)}.btn-primary:hover{background:#1e44b2;border-color:#1e44b2}.btn-outline-primary{color:var(--navy);border-color:#cbd5e1;background:white}.btn-outline-primary:hover{background:var(--navy);border-color:var(--navy)}.form-control,.form-select{min-height:46px;border-color:#ced7e4;border-radius:7px;padding:.65rem .8rem}.form-control:focus,.form-select:focus{border-color:#3864db;box-shadow:0 0 0 3px #2854d71b}.form-label{font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-text{font-size:.85rem;color:var(--muted)}.form-check-input:checked{background-color:var(--blue);border-color:var(--blue)}.form-check-input{cursor:pointer}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:700;color:var(--muted);display:block;margin-bottom:10px}.text-secondary{color:var(--muted)!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:var(--navy-deep);color:#fff;padding:30px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:white;font-size:1.04rem;font-weight:800;letter-spacing:.06em;text-decoration:none!important}.brand small{display:block;color:#a7b9d1;font-size:.58rem;letter-spacing:.13em;margin-top:5px}.brand-mark{height:48px;width:42px;flex-shrink:0;display:flex;justify-content:center;align-items:center;position:relative;border:1px solid #7588a659;border-radius:9px;font-size:2rem;line-height:1;background:#ffffff08}.brand-mark>span{position:absolute;font-size:.6rem;top:3px;right:5px;color:#fff}.workspace-label{color:#8ea4c6;font-size:.66rem;font-weight:700;letter-spacing:.12em;margin:52px 12px 17px}.nav-item{display:flex;gap:13px;align-items:center;color:#b3c2d9;padding:13px 15px;border-radius:7px;margin-bottom:7px;font-size:.92rem;font-weight:500}.nav-item:hover{color:white;background:#ffffff0d;text-decoration:none}.nav-item.active{color:#fff;background:#234677;box-shadow:inset 3px 0 0 #6f94ff}.nav-icon{font-size:1.3rem;width:23px;text-align:center;line-height:1}.sidebar-bottom{margin-top:auto;padding-top:40px}.private-label{color:#8197b8;font-size:.75rem;padding:15px 10px;border-bottom:1px solid #ffffff15}.profile-link{display:flex;gap:12px;color:white;align-items:center;padding:22px 6px 14px;font-size:.9rem}.profile-link small{display:block;color:#a2b5d1;font-size:.72rem;margin-top:4px}.avatar{width:40px;height:40px;flex-shrink:0;border-radius:10px;background:#eaf0fb;color:#244583;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.logout{border:none;background:transparent;color:#a1b5d3;padding:9px;font-size:.83rem;width:100%;display:flex;justify-content:space-between}.logout:hover{color:white}.main-shell{margin-left:252px;width:calc(100% - 252px);display:flex;flex-direction:column;min-width:0}.topbar{height:77px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#fff;font-size:.85rem;color:var(--muted);gap:15px}.topbar strong{font-weight:500;color:var(--ink)}.topbar-divider{margin:0 16px;color:#a6b3c4}.topbar-date{white-space:nowrap}main#main{padding:38px 40px 50px;max-width:1580px;width:100%;margin:auto;flex:1;outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.page-heading h1{margin-bottom:12px}.page-heading p{color:var(--muted);margin:0;line-height:1.6}.page-heading .btn{flex-shrink:0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}.stat-card{border:1px solid var(--line);border-radius:12px;background:white;padding:20px 24px;color:var(--muted);font-size:.88rem;text-decoration:none!important;transition:border .2s}.stat-card:hover{border-color:#7e9edb}.stat-card>div{display:flex;align-items:center;justify-content:space-between;margin-top:7px}.stat-card strong{font-size:2.25rem;color:var(--navy);font-weight:700;letter-spacing:-.05em}.stat-arrow{border:1px solid var(--line);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#647d9a}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:26px}.dashboard-grid{display:grid;grid-template-columns:1.38fr 1fr;gap:24px}.match-feature{border-radius:13px;padding:30px 34px;background:var(--navy);color:white;position:relative;overflow:hidden}.match-feature:after{content:"";position:absolute;right:-70px;top:130px;width:260px;height:260px;border:1px solid #ffffff0c;border-radius:50%;pointer-events:none}.match-feature .eyebrow{color:#a6bddd;margin:0}.match-feature h2{font-size:2.1rem;margin:14px 0 8px;position:relative}.match-flags{display:flex;align-items:center;gap:16px;margin-top:30px}.flag-fr{width:38px;height:27px;border-radius:4px;background:linear-gradient(90deg,#3461db 33.33%,#fff 33.33%,#fff 66.66%,#ef4760 66.66%);display:inline-block}.versus{color:#637fa6;font-size:1.2rem}.opponent-initial{width:37px;height:30px;background:#ffffff17;border:1px solid #ffffff22;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem}.match-date{font-size:1.05rem;margin-bottom:6px}.match-location{font-size:.9rem;color:#b4c5dd;margin-bottom:24px}.match-deadline{border-top:1px solid #ffffff22;padding-top:20px;margin-bottom:23px}.match-deadline span{font-size:.66rem;letter-spacing:.13em;display:block;color:#a6bddd;margin-bottom:7px}.match-deadline strong{font-size:.95rem;font-weight:500}.match-feature .btn{position:relative;z-index:1}.progress-panel{padding:30px;display:flex;flex-direction:column;justify-content:center}.progress-panel h2{line-height:1.4;margin-bottom:20px}.progress-number{font-size:4.2rem;letter-spacing:-.06em;font-weight:700;color:var(--navy);line-height:1.1}.progress-number span{font-size:1.5rem;color:#9aa8bb;margin-left:10px;letter-spacing:0}.progress-panel p{color:var(--muted);font-size:.92rem;margin:9px 0 19px}.progress{height:7px;background:#edf1f7;margin-bottom:24px}.progress-bar{background:var(--blue)}.progress-detail{display:flex;justify-content:space-between;padding:0 0 25px;margin-bottom:auto;font-size:.9rem;color:var(--muted);gap:10px}.progress-detail strong{color:var(--ink)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{margin:0}.section-heading>a{font-size:.85rem;font-weight:600}.section-heading p{font-size:.85rem;margin-top:10px}.app-table{margin:0;vertical-align:middle;font-size:.88rem}.app-table th{font-weight:500;color:var(--muted);background:#f8fafd;font-size:.8rem;padding:14px;border-bottom:1px solid var(--line);white-space:nowrap}.app-table td{padding:20px 14px;border-bottom:1px solid #edf0f5}.app-table tr:last-child td{border-bottom:none}.table-identity{display:flex;align-items:center;gap:12px}.table-identity strong{font-weight:600}.table-identity small{display:block;font-size:.8rem;color:var(--muted);margin-top:4px}.table-link{font-weight:600;white-space:nowrap}.status{display:inline-flex;padding:5px 10px;border-radius:5px;font-size:.76rem;font-weight:600;line-height:1.4;white-space:nowrap;background:#edf0f5;color:#67768b;vertical-align:middle}.status.open{background:#e8f5ef;color:#207a52}.status.pending{background:#fff3db;color:#8c671b}.status.closed,.status.archived{background:#edf0f5;color:#647186}.status.draft{background:#f0edfa;color:#725c9b}.status.finished{background:#eaf0fc;color:#3c5e9b}.empty-state{text-align:center;padding:60px 30px}.empty-state h2{font-size:1.45rem;margin:15px 0 10px}.empty-state p{color:var(--muted);max-width:490px;margin:0 auto 23px;line-height:1.7}.empty-symbol{display:inline-flex;width:68px;height:68px;border-radius:18px;background:#eff3fb;align-items:center;justify-content:center;color:#5874a0;font-size:2rem}.onboarding{margin-top:26px;background:#eef3fe;border:1px solid #dce6fb;border-radius:12px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.onboarding h2{margin-bottom:7px}.onboarding p{margin:0;color:var(--muted);font-size:.9rem}.app-footer{display:flex;align-items:center;gap:15px;padding:20px 40px;font-size:.75rem;color:#8090a6;border-top:1px solid var(--line)}.app-footer>span:nth-child(2){flex:1}.tricolor{width:48px;height:4px;background:linear-gradient(90deg,#325fde 33.33%,#dfe6f1 33.33%,#dfe6f1 66.66%,#ed405b 66.66%);display:block}.search-bar{display:flex;gap:10px;align-items:center;margin-bottom:24px}.search-bar input{max-width:350px}.result-count{margin-left:auto;font-size:.85rem;color:var(--muted);white-space:nowrap}.equipment-grid,.declaration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.equipment-card{background:white;border-radius:12px;border:1px solid var(--line);overflow:hidden}.equipment-image{display:block;aspect-ratio:1.6;background:#eaf0f7;overflow:hidden}.equipment-image img{width:100%;height:100%;object-fit:contain;background:#edf1f6}.no-photo{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8ba0bc;font-size:2.5rem}.no-photo small{font-size:.8rem;margin-top:8px}.equipment-body{padding:23px}.equipment-body h2{font-size:1.16rem;margin-bottom:12px}.equipment-body h2 a{color:var(--ink)}.equipment-body p{color:var(--muted);font-size:.9rem}.quantity-pill{font-size:.8rem;color:var(--muted);padding:5px 0}.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.match-card h2{font-size:1.65rem;margin:23px 0 15px}.deadline-note{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin:18px 0 22px}.deadline-note strong{display:block;color:var(--ink);margin-top:5px;font-weight:500}.back-link{display:inline-block;font-size:.88rem;color:var(--muted);margin-bottom:23px}.entity-form{max-width:1000px;padding:32px}.required{color:#c72e48}.upload-area{border-top:1px solid var(--line);padding-top:26px}.form-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.info-note{background:#eff4ff;border-left:3px solid #6b91e9;padding:16px 20px;border-radius:5px;font-size:.9rem;color:#405d85}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-card{border:1px solid var(--line);border-radius:10px;overflow:hidden}.photo-card img{width:100%;height:180px;object-fit:contain;background:#edf1f7}.photo-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px;flex-wrap:wrap}.filter-bar{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.filter-bar>div{flex:1;min-width:150px}.filter-bar>div:first-child{flex:2}.filter-bar .form-label{font-size:.8rem}.document-panel{display:flex;align-items:center;justify-content:space-between;gap:25px}.document-panel p,.document-panel label{font-size:.88rem}.declaration-summary{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);padding:22px;background:white;border-radius:10px;font-size:.85rem}.declaration-summary>div:first-child{display:flex;flex-direction:column;align-items:start;gap:10px}.declaration-summary strong{display:block;margin-top:7px}.declaration-grid{margin-top:25px;grid-template-columns:repeat(2,minmax(0,1fr))}.selection-card{border:2px solid var(--line);border-radius:12px;overflow:hidden;background:white}.selection-card.selected{border-color:#5379df}.selection-photo{height:190px;background:#eaf0f7;position:relative}.selection-photo img{height:100%;width:100%;object-fit:contain}.select-toggle{position:absolute;top:15px;right:15px;background:#fff;padding:9px;border-radius:8px;box-shadow:0 2px 8px #0e264b20;line-height:0}.select-toggle input{width:23px;height:23px;margin:0}.selection-body{padding:24px}.selection-body h2{font-size:1.2rem}.selection-body>p{font-size:.9rem}.quantity-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:20px;margin:20px 0}.quantity-row label{font-size:.92rem;font-weight:600}.quantity-row small{display:block;font-size:.78rem;color:var(--muted);font-weight:400;margin-top:3px}.quantity-row input{width:90px}.selection-body .form-label{font-size:.8rem}.save-bar{position:sticky;bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 7px 35px #16345b16;margin-top:28px;z-index:5}.save-bar strong{font-size:.94rem}.save-bar small{display:block;color:var(--muted);font-size:.78rem;margin-top:5px}.form-panel{max-width:600px}.auth-body{background:white}.auth-layout{display:grid;grid-template-columns:46% 54%;min-height:100vh}.auth-intro{background:var(--navy-deep);color:white;display:flex;flex-direction:column;padding:50px 65px;position:relative;overflow:hidden}.auth-intro:after{content:"";width:620px;height:620px;position:absolute;right:-320px;bottom:-200px;border-radius:50%;border:1px solid #ffffff0b;box-shadow:0 0 0 100px #ffffff02,0 0 0 200px #ffffff02;pointer-events:none}.auth-heading{margin:auto 0;padding:65px 0;position:relative;z-index:1}.auth-heading .eyebrow{color:#87a5d4;margin-bottom:25px;font-size:.75rem}.auth-heading h1{font-size:clamp(2.8rem,4.5vw,4.7rem);line-height:1.1;letter-spacing:-.055em;margin-bottom:28px}.auth-heading h1>span{color:var(--red)}.auth-heading p{color:#acbfdc;font-size:1rem;line-height:1.8;margin-bottom:35px}.auth-heading .tricolor{width:70px;height:5px}.auth-caption{font-size:.68rem;letter-spacing:.13em;display:flex;justify-content:space-between;gap:20px;color:#99aecb}.auth-caption span{color:#637ea4}.auth-form-side{padding:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.auth-card{max-width:390px;width:100%;margin:auto}.auth-card h2{font-size:2.15rem;margin:10px 0 15px}.auth-card p{font-size:.93rem;line-height:1.7}.auth-card .form-control{min-height:50px}.auth-card .btn{min-height:50px;display:flex;justify-content:center;gap:20px}.auth-card a{font-size:.85rem}.auth-privacy{color:#8a97aa;font-size:.76rem;margin:35px 0 0;text-align:center}.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:10px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #7198ff;outline-offset:3px}.item-description{overflow-wrap:anywhere}fieldset:disabled .form-control,fieldset:disabled .form-select{background:#f8fafc;color:#445771}table td{overflow-wrap:anywhere}.alert{font-size:.93rem}.btn-sm{font-size:.78rem;padding:.4rem .6rem}
.mobile-account{display:none}.mobile-account button{background:none;border:0;color:var(--muted);padding:0}.mobile-account a,.mobile-account button{font-size:.8rem}.mobile-account form{margin:0}
@media(min-width:1600px){main#main{padding-top:50px}.dashboard-grid{grid-template-columns:1.5fr 1fr}.match-feature{padding:40px}.stat-card{padding:24px 30px}}
@media(max-width:1200px){.sidebar{width:220px;padding:25px 15px}.main-shell{margin-left:220px;width:calc(100% - 220px)}main#main{padding:30px 26px}.topbar{padding:0 26px}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1.15fr 1fr;gap:18px}.progress-panel,.match-feature{padding:25px}.stat-card{padding:18px}.auth-intro{padding:40px}.auth-form-side{padding:40px}.document-panel{align-items:start;flex-direction:column}}
@media(max-width:900px){.sidebar{width:190px;padding:25px 12px}.main-shell{margin-left:190px;width:calc(100% - 190px)}.brand{font-size:.85rem;gap:8px}.brand small{font-size:.49rem}.brand-mark{width:33px;height:42px}.nav-item{font-size:.82rem;padding:12px 10px;gap:9px}.workspace-label{font-size:.6rem;margin:40px 5px 18px}.topbar-date{display:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.match-feature{padding:30px}.progress-panel{padding:27px}.progress-number{font-size:3.5rem}.page-heading{align-items:start;flex-direction:column;gap:18px}.page-heading h1{font-size:2rem}.match-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding{align-items:start;flex-direction:column}.section-heading{align-items:start;flex-direction:column;gap:12px}.declaration-grid{grid-template-columns:1fr}.save-bar{flex-direction:column;align-items:stretch;gap:15px}.save-bar .btn{width:100%}.auth-layout{grid-template-columns:43% 57%}.auth-intro{padding:30px}.auth-heading h1{font-size:2.8rem}.auth-caption{flex-direction:column;gap:10px}.auth-form-side{padding:35px}}
@media(max-width:640px){.app-shell{display:block}.sidebar{position:relative;width:100%;padding:18px 18px 12px;display:block}.sidebar .brand{font-size:1rem}.sidebar .brand small{font-size:.57rem}.sidebar .brand-mark{width:36px;height:39px}.workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;margin:18px -5px 0;padding-bottom:3px;gap:6px}.nav-item{white-space:nowrap;padding:9px 11px;margin:0;gap:6px;font-size:.82rem}.nav-icon{font-size:1rem;width:17px}.nav-item.active{box-shadow:none}.main-shell{width:100%;margin:0}.topbar{height:55px;padding:0 20px;font-size:.77rem}.topbar-divider{margin:0 8px}main#main{padding:25px 18px 35px}.page-heading h1{font-size:1.9rem}.page-heading p{font-size:.92rem}.eyebrow{font-size:.68rem}.stat-grid{gap:12px;margin-bottom:20px}.stat-card{padding:15px 18px}.stat-card strong{font-size:2rem}.stat-card>span{font-size:.83rem}.dashboard-grid{gap:18px}.panel{padding:20px}.match-feature{padding:25px}.match-feature h2{font-size:1.9rem}.app-footer{padding:20px;font-size:.65rem;gap:10px}.equipment-grid,.photo-grid{grid-template-columns:1fr}.search-bar{flex-wrap:wrap}.search-bar input{flex:1;min-width:160px}.result-count{margin:0;width:100%}.entity-form{padding:22px 18px}.form-actions{flex-direction:column-reverse}.filter-bar{gap:16px}.filter-bar>div{flex-basis:100%}.filter-bar .btn{width:100%}.declaration-summary{flex-direction:column}.save-bar{bottom:8px;padding:16px}.selection-photo{height:180px}.selection-body{padding:20px}.document-panel form,.document-panel button{width:100%}.auth-layout{display:block}.auth-intro{padding:24px 28px}.auth-heading{padding:30px 0 10px}.auth-heading h1{font-size:2.2rem;margin-bottom:15px}.auth-heading h1 br{display:none}.auth-heading h1 br:after{content:' '}.auth-heading p,.auth-caption{display:none}.auth-heading .eyebrow{margin-bottom:15px;font-size:.65rem}.auth-heading .tricolor{height:3px;width:45px}.auth-form-side{padding:35px 28px}.auth-card h2{font-size:1.8rem}.auth-privacy{margin-top:45px}.table-responsive{margin:0 -8px}.app-table th,.app-table td{padding:15px 10px}.app-table{min-width:600px}.profile-mobile{display:block}.topbar:after{content:none}}

@media(max-width:640px){.mobile-account{display:flex;gap:13px;flex-shrink:0}.topbar>span:first-child{max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-divider{margin:0 5px}.auth-heading h1 br{display:initial}.auth-heading h1{font-size:2rem}}

.search-bar{flex-wrap:wrap}.inventory-select{max-width:260px}.inventory-stock{max-width:225px}.inventory-status{max-width:220px;flex:0 0 220px}.table-identity .avatar img{object-fit:contain;padding:2px;background:white}
.brand-logo{display:block;flex-shrink:0;width:56px;height:84px;object-fit:contain}.auth-intro .brand-logo{width:72px;height:108px}@media(max-width:640px){.sidebar .brand-logo{width:40px;height:60px}.auth-intro .brand-logo{width:56px;height:84px}}
.sidebar .workspace-label{margin-top:20px}.sidebar{overflow-y:auto}
.association-overview{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.association-logo{display:block;width:160px;height:160px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:10px;padding:10px;max-width:100%}
.association-context{display:flex;align-items:center;gap:10px;margin:0 8px 22px;padding:10px;color:#e7efff;border:1px solid #ffffff20;border-radius:8px;font-size:.82rem;font-weight:600;line-height:1.25}.association-context:hover{background:#ffffff0d;color:white;text-decoration:none}.association-context-logo{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden;background:white;color:var(--navy);font-size:.68rem}.association-context-logo img{width:100%;height:100%;object-fit:contain;background:white}
.equipment-view-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:20px;color:var(--muted);font-size:.9rem}.equipment-view-toolbar[hidden]{display:none}.equipment-view-toolbar .btn{padding:.5rem .9rem}.equipment-view-toolbar [aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:white}.equipment-view-toolbar .btn span{margin-right:5px}
.equipment-photo-preview{position:fixed;z-index:100;pointer-events:none;padding:12px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px #102b5540}.equipment-photo-preview[hidden]{display:none}.equipment-photo-preview img{display:block;width:100%;height:100%;object-fit:contain}
.declaration-view-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:25px;color:var(--muted);font-size:.9rem}.declaration-view-toolbar .btn{padding:.5rem .9rem}.declaration-view-toolbar [aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:white}.declaration-grid.declaration-list{grid-template-columns:1fr;gap:12px}.declaration-list .selection-card{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:stretch;cursor:pointer;transition:border-color .15s,box-shadow .15s}.declaration-list .selection-card:hover{border-color:#8fa9ed}.declaration-list .selection-card.selected{box-shadow:0 5px 16px #183c7b14}.declaration-list .selection-photo{height:auto;min-height:124px}.declaration-list .selection-body{padding:17px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px}.declaration-list .selection-body h2,.declaration-list .selection-body>p,.declaration-list .selection-body>.status{grid-column:1}.declaration-list .selection-body h2{font-size:1.05rem;margin:0 0 6px}.declaration-list .selection-body>p{margin:0 0 6px}.declaration-list .item-description{display:none}.declaration-list .quantity-row{grid-column:2;grid-row:1 / span 2;border:0;margin:0;padding:0;min-width:150px;align-self:center}.declaration-list .quantity-row .form-select{width:84px;min-height:38px;padding:.3rem .55rem}.quantity-fixed{display:inline-flex;align-items:center;justify-content:center;width:42px;height:38px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.declaration-list .selection-body>.form-label,.declaration-list .comment-control{display:none}.selection-inactive .selection-body{opacity:.64}.selection-inactive .selection-photo{filter:grayscale(.25)}
.profile-photo-panel{margin-bottom:24px}.profile-photo-editor{display:flex;align-items:center;gap:24px}.profile-photo-editor form{flex:1;max-width:420px}.profile-photo-large{width:112px;height:112px;flex:0 0 112px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#eaf0fb;color:#244583;font-size:1.7rem;font-weight:700}.profile-photo-large img{width:100%;height:100%;object-fit:cover}@media(max-width:640px){.profile-photo-editor{align-items:flex-start;flex-direction:column;gap:16px}.profile-photo-editor form{width:100%}}
.quick-material-actions{border-top:1px solid var(--line);padding-top:15px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.quick-quantity{display:flex;align-items:center;gap:7px}.quick-quantity label{font-size:.78rem;color:var(--muted);font-weight:600}.quick-quantity .form-control{width:72px;min-height:36px;padding:.25rem .45rem}.quick-quantity .btn{padding:.38rem .55rem}.quick-status{margin:0}.status-toggle{border:0;background:#edf0f5;color:#647186;border-radius:999px;padding:5px 9px 5px 6px;font-size:.76rem;font-weight:600;display:inline-flex;align-items:center;gap:6px}.status-toggle span{width:16px;height:16px;border-radius:50%;background:#a9b5c4;display:block;position:relative}.status-toggle.is-active{background:#e8f5ef;color:#207a52}.status-toggle.is-active span{background:#2da56d}.status-toggle:focus-visible{outline:3px solid #7198ff;outline-offset:3px}.equipment-list .quick-material-actions{grid-column:2;grid-row:1 / span 3;align-self:center;border:0;padding:0;margin:0;display:flex;flex-direction:column;align-items:flex-end}.equipment-list .quick-quantity{flex-wrap:wrap;justify-content:flex-end}.equipment-list .quick-quantity label{display:block;width:100%;text-align:right}@media(max-width:760px){.equipment-list .quick-material-actions{display:flex;align-items:flex-start;margin-top:10px}.equipment-list .quick-quantity label{width:auto;text-align:left}}
@media(max-width:640px){.declaration-view-toolbar{justify-content:space-between}.declaration-list .selection-card{grid-template-columns:92px minmax(0,1fr)}.declaration-list .selection-photo{min-height:104px}.declaration-list .selection-body{display:block;padding:14px}.declaration-list .quantity-row{margin-top:10px}.declaration-list .quantity-row label{display:inline-block;margin-right:12px}.declaration-list .selection-body h2{font-size:1rem}}
.equipment-grid.equipment-list{grid-template-columns:minmax(0,1fr);gap:12px}.equipment-list .equipment-card{display:flex;align-items:center;gap:18px;padding:14px}.equipment-list .equipment-image{flex:0 0 112px;width:112px;height:90px;aspect-ratio:auto;border-radius:7px}.equipment-list .no-photo{height:100%;font-size:1.5rem}.equipment-list .no-photo small{font-size:.7rem}.equipment-list .equipment-body{padding:0;flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:22px}.equipment-list .equipment-body .eyebrow{grid-column:1;margin-bottom:5px}.equipment-list .equipment-body h2{grid-column:1;margin-bottom:5px;font-size:1.05rem;overflow-wrap:anywhere}.equipment-list .equipment-body p{grid-column:1;margin:0;overflow-wrap:anywhere}.equipment-list .equipment-body>div{grid-column:2;grid-row:1 / span 3;align-self:center;align-items:center;gap:14px;flex-wrap:wrap}
.declaration-list .selection-card{align-items:start}.declaration-list .selection-photo{width:128px;height:128px;min-height:0;cursor:zoom-in}.declaration-list .selection-photo img{object-fit:contain}@media(max-width:640px){.declaration-list .selection-photo{width:92px;height:92px;min-height:0}}
@media(max-width:760px){.equipment-list .equipment-card{gap:12px;padding:12px;align-items:flex-start}.equipment-list .equipment-image{flex-basis:80px;width:80px;height:72px}.equipment-list .equipment-body{display:block}.equipment-list .equipment-body>div{margin-top:10px;gap:8px}.equipment-list .equipment-body .eyebrow{font-size:.65rem}.equipment-list .equipment-body h2{font-size:1rem}}
@media(max-width:640px){.inventory-select,.inventory-stock,.inventory-status{max-width:none;width:100%;flex-basis:100%}} 
.app-toast{position:fixed;right:24px;bottom:24px;z-index:110;max-width:min(390px,calc(100vw - 32px));padding:14px 18px;border-radius:9px;color:white;background:var(--navy);box-shadow:0 12px 32px #102b5550;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s;font-size:.9rem;font-weight:600}.app-toast.is-visible{opacity:1;transform:translateY(0)}.app-toast.is-success{background:#207a52}.app-toast.is-error{background:#b63149}@media(max-width:640px){.app-toast{right:16px;bottom:16px}}
.quick-quantity .btn:disabled{opacity:.5;cursor:not-allowed}.quick-quantity.is-dirty .form-control{border-color:#d69b22;background:#fff7e2;box-shadow:0 0 0 3px #d69b221c}.quick-quantity.is-dirty:before{content:"";width:9px;height:9px;border-radius:50%;background:#d69b22;box-shadow:0 0 0 3px #fff0c7;flex:0 0 auto}

/* Empêche Safari iOS de déplacer toute la page horizontalement lorsqu'un contenu
   dépasse légèrement la largeur disponible. Les zones prévues pour défiler
   horizontalement (navigation mobile et tableaux) conservent leur défilement. */
html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
@media(max-width:640px){body:not(.auth-body){width:auto;max-width:100%;margin:0}.app-shell{width:auto;max-width:100%;overflow-x:clip}.main-shell,main#main{width:100%;max-width:100%;min-width:0}}
.declaration-close-actions{display:flex;justify-content:flex-end;margin-top:24px}.declaration-close-actions form{margin:0}.declaration-close-button{background:#207a52;border-color:#207a52;color:white}.declaration-close-button:hover{background:#17633f;border-color:#17633f;color:white}.declaration-close-button span{margin-right:7px;font-size:1.05em}
.not-found-body{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:var(--surface)}.not-found-page{width:min(100%,620px)}.not-found-brand{width:max-content;margin:0 auto 34px;color:var(--navy)}.not-found-brand:hover{color:var(--navy)}.not-found-brand small{color:var(--muted)}.not-found-brand .brand-logo{width:42px;height:62px}.not-found-card{padding:48px 42px;background:white;border:1px solid var(--line);border-radius:16px;text-align:center;box-shadow:0 16px 45px #102b550d}.not-found-card .eyebrow{margin-bottom:6px}.not-found-number{font-size:clamp(5rem,22vw,8rem);font-weight:800;letter-spacing:-.09em;line-height:1;color:#e8eef9}.not-found-card h1{font-size:clamp(1.65rem,6vw,2.2rem);margin:16px 0 10px}.not-found-card p{color:var(--muted);line-height:1.7;margin:0 auto 25px;max-width:420px}.not-found-card .btn{min-width:190px}.not-found-debug{margin-top:28px;text-align:left;color:var(--muted);font-size:.85rem}.not-found-debug summary{cursor:pointer}.not-found-debug code{display:block;white-space:normal;overflow-wrap:anywhere;margin-top:10px;padding:12px;background:#f8fafc;border-radius:6px}.not-found-tricolor{margin:30px auto 0}
/* Keep wide tables scrollable inside their wrapper instead of widening the page (notably Safari at reduced zoom). */
@media(max-width:640px){main#main{overflow-x:clip}.panel{min-width:0;max-width:100%}.table-responsive{display:block;width:100%;max-width:100%;min-width:0;margin:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.app-table{width:100%;max-width:none;min-width:600px;table-layout:fixed}.app-table th{white-space:normal}}
/* DataTables scroll containers stay bounded by their card on narrow screens. */
.dt-container{width:100%;max-width:100%;min-width:0}.dt-scroll{max-width:100%;min-width:0}.dt-scroll-body{max-width:100%;min-width:0;overscroll-behavior-x:contain}

.declaration-breadcrumb{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--muted);font-size:.88rem}.declaration-breadcrumb:hover{color:var(--blue);text-decoration:none}.declaration-breadcrumb-logo{width:30px;height:30px;flex:0 0 30px;border:1px solid var(--line);border-radius:7px;background:#fff;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:var(--navy);font-size:.62rem;font-weight:700}.declaration-breadcrumb-logo img{width:100%;height:100%;object-fit:contain}.declaration-breadcrumb small{display:block;margin-top:1px;color:var(--muted);font-size:.72rem}

.declaration-association-heading{display:flex;align-items:center;gap:9px;margin-bottom:10px}.declaration-association-heading .declaration-breadcrumb-logo{width:30px;height:30px;flex-basis:30px;letter-spacing:0}.declaration-association-heading .declaration-breadcrumb-logo img{object-fit:contain}

.nav-separator{height:1px;background:#ffffff24;margin:12px 12px}.sidebar nav{display:flex;flex-direction:column}@media(max-width:640px){.sidebar nav{flex-direction:row}.nav-separator{width:1px;height:26px;flex:0 0 1px;margin:0 3px;align-self:center}}

.association-alert-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-left:4px solid #e1a43b}.association-alert-panel h2{margin:0 0 6px}.association-alert-count{display:flex;align-items:center;gap:20px}.association-alert-count strong{font-size:2.4rem;color:var(--navy)}@media(max-width:640px){.association-alert-count{justify-content:space-between;width:100%}}

.declaration-history>summary{cursor:pointer;font-weight:600;color:var(--navy)}

.beta-credit{display:block;text-align:center;color:var(--muted);font-size:.72rem;letter-spacing:.04em;padding:10px 20px 14px}

.association-checks{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.association-check{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.76rem;line-height:1.2;white-space:nowrap}.association-check:hover{text-decoration:none}.association-check b{font-size:.9rem}.association-check.is-missing{border-color:#f0d49d;background:#fff8e8;color:#805300}.association-check.is-missing b{color:#b4233d;font-size:1.05rem}.association-check.is-complete{border-color:#cce8db;background:#eef8f2;color:#24744e}.association-check.is-complete b{color:#198754}
