:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#302d32;background:#f4f0ea;font-synthesis:none;--ink: #302d32;--muted: #746f77;--paper: #fffdfa;--paper-2: #f8f4ef;--line: #ded7ce;--plum: #6e5277;--plum-dark: #4e3756;--sage: #71856f;--amber: #a87431;--red: #9b4b54;--shadow: 0 18px 50px rgba(64, 47, 56, .11)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}a{color:var(--plum-dark)}h1,h2,h3,h4,p{margin-top:0}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;letter-spacing:-.035em;margin-bottom:.45rem}h2{font-size:1.25rem;margin-bottom:.35rem}h3{font-size:.95rem}.center-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.error-state{color:var(--red)}.eyebrow{color:var(--plum);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:.5rem}.button{border:1px solid transparent;border-radius:10px;padding:.65rem .9rem;font-weight:700;font-size:.82rem;cursor:pointer;transition:.16s ease;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:.4rem}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{background:var(--plum);color:#fff}.button--primary:hover:not(:disabled){background:var(--plum-dark)}.button--secondary{background:var(--paper);border-color:var(--line);color:var(--ink)}.button--secondary:hover:not(:disabled){border-color:var(--plum)}.button--quiet{background:transparent;color:var(--muted)}.button--quiet:hover,.button--quiet.is-active{color:var(--plum-dark);background:#6e527714}.button--danger{background:var(--red);color:#fff}.input,.select,.textarea{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.72rem .8rem;outline:none;transition:.14s ease}.textarea{resize:vertical;min-height:88px;line-height:1.45}.input:focus,.select:focus,.textarea:focus{border-color:var(--plum);box-shadow:0 0 0 3px #6e52771c}.field{display:flex;flex-direction:column;gap:.38rem;min-width:0}.field__label{font-size:.78rem;font-weight:700;color:var(--ink)}.field__hint{font-size:.72rem;color:var(--muted);line-height:1.4}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.form-error{color:var(--red);background:#f9e9e9;padding:.7rem .8rem;border-radius:8px;font-size:.8rem}.form-success{color:#315e43;background:#e7f1e9;padding:.7rem .8rem;border-radius:8px;font-size:.8rem}.brand-mark{width:48px;height:48px;border-radius:16px;background:var(--plum);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700}.brand-mark--small{width:34px;height:34px;border-radius:11px;font-size:.78rem}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.login__intro{padding:clamp(3rem,10vw,9rem);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 20% 20%,#efe3e7,transparent 46%),#f3eee6}.login__intro p:last-child{max-width:620px;color:var(--muted);font-size:1.05rem;line-height:1.65}.login__card{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:clamp(2rem,6vw,6rem);background:var(--paper)}.workspace{min-height:100vh}.topbar{height:66px;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:260px 1fr 220px;align-items:center;padding:0 1.2rem;border-bottom:1px solid var(--line);background:#fffdfaf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar__brand{display:flex;align-items:center;gap:.7rem}.topbar__brand div{display:flex;flex-direction:column;line-height:1.2}.topbar__brand strong{font-family:Georgia,serif}.topbar__brand span:last-child{font-size:.65rem;color:var(--muted)}.topbar__nav{display:flex;justify-content:center;gap:.25rem}.topbar__user{display:flex;justify-content:flex-end;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted)}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 66px)}.sidebar{padding:1rem;border-right:1px solid var(--line);background:#eee8e0}.sidebar__heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}.sidebar__heading .button{padding:.38rem .65rem}.product-switcher{width:100%;display:flex;justify-content:space-between;text-align:left;margin-bottom:.35rem;padding:.8rem}.product-switcher span:first-child{display:flex;flex-direction:column;gap:.2rem}.product-switcher strong{color:var(--ink)}.product-switcher small{color:var(--muted)}.product-switcher.is-active{background:var(--paper);box-shadow:0 6px 18px #402f3812}.mini-progress{align-self:center;font-size:.72rem;font-weight:800;color:var(--plum)}.source-health{margin-top:2rem;padding:1rem;border-top:1px solid var(--line)}.source-health h3{margin-bottom:.5rem}.health{color:var(--muted);font-size:.72rem;line-height:1.45;margin:0}.health--good{color:var(--sage)}.health--bad{color:var(--red)}.content{min-width:0;padding:2rem clamp(1rem,3vw,3rem) 4rem}.product-header{display:grid;grid-template-columns:minmax(300px,1fr) 180px auto;gap:2rem;align-items:center;margin-bottom:2rem}.product-header p:last-child{color:var(--muted);margin-bottom:0;font-size:.8rem}.completion strong{font-size:1.5rem;font-family:Georgia,serif}.completion small{color:var(--muted);font-size:.68rem}.progress-track{height:7px;background:#ddd5cd;border-radius:99px;overflow:hidden;margin:.35rem 0}.progress-track span{display:block;height:100%;background:var(--sage);border-radius:inherit}.exports{display:flex;gap:.4rem;flex-wrap:wrap}.view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem}.view-toolbar p{color:var(--muted);margin:0;font-size:.85rem}.requirement-group{margin-bottom:2rem}.requirement-group>h3{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;padding:0 .4rem}.requirement{display:grid;grid-template-columns:54px minmax(260px,1fr) 70px 150px 128px;gap:.8rem;align-items:center;padding:1rem;background:var(--paper);border:1px solid var(--line);border-bottom:none}.requirement:first-of-type{border-radius:14px 14px 0 0}.requirement:last-of-type{border-bottom:1px solid var(--line);border-radius:0 0 14px 14px}.requirement__number{width:42px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--paper-2);font-size:.72rem;font-weight:800;color:var(--plum)}.requirement__main h4{margin:0 0 .25rem;font-size:.9rem}.requirement__main p{margin:0 0 .25rem;color:var(--muted);font-size:.78rem;line-height:1.45}.requirement__main small{color:#948d93;font-size:.66rem}.requirement__evidence{display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:.65rem}.requirement__evidence strong{font-size:1rem;color:var(--ink)}.requirement--complete{border-left:4px solid var(--sage)}.requirement--needs_review{border-left:4px solid var(--red)}.requirement--in_progress{border-left:4px solid var(--amber)}.requirement--not_applicable{border-left:4px solid #8c8790}.dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#2d262f8a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog{width:min(520px,100%);max-height:calc(100vh - 2rem);overflow:hidden;border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.dialog--wide{width:min(1040px,100%)}.dialog__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.3rem;border-bottom:1px solid var(--line)}.dialog__header h2{margin:0}.dialog__body{padding:1.3rem;overflow-y:auto;max-height:calc(100vh - 88px)}.details-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}.guide-panel{background:var(--paper-2);padding:1.3rem;border-radius:14px;align-self:start}.guide-panel p,.guide-panel li{color:var(--muted);font-size:.82rem;line-height:1.55}.guide-panel ul{padding-left:1.1rem}.legal-basis{color:var(--plum)!important;font-weight:700}.evidence-upload{border-top:1px solid var(--line);padding-top:1rem}.evidence-upload h3{margin-bottom:.8rem}.evidence-list{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.8rem}.evidence-list a{display:flex;flex-direction:column;gap:.12rem;padding:.65rem .7rem;border:1px solid var(--line);border-radius:9px;text-decoration:none;font-size:.78rem}.evidence-list small{color:var(--muted)}.dossier-content-fields{display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.dossier-content-fields>div:first-child p{margin:-.15rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.assessor-note{margin:0;padding:.8rem;border-radius:9px;background:#faece8;color:#814335;font-size:.78rem;font-weight:700;line-height:1.45}.claim-assistant{display:flex;flex-direction:column;gap:.85rem;padding:1rem;border:1px solid #d7c9dc;border-radius:13px;background:#fbf8fc}.claim-assistant__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.claim-assistant__heading h3,.claim-assistant__heading p{margin-bottom:0}.claim-assistant__heading>span{flex:0 0 auto;padding:.28rem .5rem;border-radius:99px;background:#f4e5d1;color:#724d20;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.claim-assistant__boundary,.claim-assistant__source,.claim-assistant__neutral{margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}.claim-assistant__results{display:flex;flex-direction:column;gap:1rem;padding-top:.2rem}.claim-assistant__results>section{display:flex;flex-direction:column;gap:.65rem;padding-top:.9rem;border-top:1px solid var(--line)}.claim-assistant__results h4{margin:0;font-size:.84rem}.claim-criteria{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:0;padding:0;list-style:none}.claim-criteria li{display:flex;flex-direction:column;gap:.15rem;padding:.55rem;border-radius:8px;background:var(--paper);font-size:.7rem;line-height:1.4}.claim-criteria li span{color:var(--muted)}.claim-warnings{padding:.75rem;border-left:4px solid var(--red);border-radius:8px;background:#faece8;font-size:.73rem;line-height:1.45}.claim-warnings ul{margin:.4rem 0 0;padding-left:1.1rem}.claim-evidence-route{padding:.75rem;border-left:4px solid var(--sage);border-radius:8px;background:#edf3ed;font-size:.73rem;line-height:1.45}.claim-evidence-route p{margin:.3rem 0 0;color:var(--muted)}.literature-list{display:flex;flex-direction:column;gap:.5rem}.literature-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.7rem;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.literature-list h5{margin:0 0 .25rem;font-size:.76rem;line-height:1.35}.literature-list p{margin:0 0 .25rem;color:var(--muted);font-size:.68rem;line-height:1.4}.literature-list a{font-size:.68rem;overflow-wrap:anywhere}.literature-list .button{align-self:center;white-space:nowrap}.panel-stack{display:flex;flex-direction:column;gap:1rem}.surface{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:1.2rem}.surface--narrow{max-width:720px}.inline-form{display:grid;grid-template-columns:minmax(220px,460px) auto;gap:.7rem}.formula-heading{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.formula-heading>div:first-child{min-width:280px}.formula-total{display:flex;flex-direction:column;text-align:right;color:var(--red)}.formula-total.is-valid{color:var(--sage)}.formula-total strong{font-size:1.5rem}.formula-total span{font-size:.68rem;color:var(--muted)}.formula-entry{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:.7rem;align-items:end;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.data-table{margin-top:1rem;font-size:.78rem}.data-table__head,.data-table__row{display:grid;grid-template-columns:2fr 1.4fr 1.4fr .7fr;gap:1rem;padding:.7rem;border-bottom:1px solid var(--line)}.data-table__head{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.data-table__row small{display:block;color:var(--muted)}.approval-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem}.approval-bar p,.empty-copy{margin:0;color:var(--muted);font-size:.78rem}.new-formula-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.8rem;align-items:end}.formula-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;align-items:end;padding:1rem 0;border-top:1px solid var(--line)}.formula-metadata>.button{justify-self:start}.formula-entry--rich{grid-template-columns:repeat(2,minmax(140px,1fr)) auto}.formula-table-wrap{overflow-x:auto;margin-top:1rem}.formula-table{width:100%;min-width:960px;border-collapse:collapse;font-size:.75rem}.formula-table th,.formula-table td{padding:.7rem .55rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.formula-table th{color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.formula-table td small{display:block;margin-top:.2rem;color:var(--muted)}.formula-table td .input,.formula-table td .select{min-width:0;width:100%;max-width:160px;padding:.35rem .45rem;font-size:.75rem}.paste-import{display:grid;gap:.8rem}.paste-import>div:first-child p{margin:.25rem 0 0}.paste-import .textarea{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.78rem}.paste-import ul.form-error{margin:0;padding-left:1.6rem}.start-empty summary,.add-one-material summary{cursor:pointer;font-size:.82rem;font-weight:700;color:var(--ink)}.start-empty[open] summary{margin-bottom:.9rem}.add-one-material{margin-top:1rem}.add-one-material[open] summary{margin-bottom:.8rem}.balance-water{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:1rem;font-size:.78rem;color:var(--muted)}.formula-review{margin-top:1rem;border:1px solid var(--line);border-radius:13px;overflow:hidden}.formula-review__heading{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:var(--paper-2)}.formula-review__heading h3,.formula-review__heading p{margin:0}.formula-review__heading p,.formula-review__heading span{color:var(--muted);font-size:.72rem}.formula-review__heading>div:last-child{display:flex;flex-direction:column;text-align:right}.finding-list{display:flex;flex-direction:column}.finding{display:grid;grid-template-columns:72px 1fr;gap:.8rem;padding:.9rem 1rem;border-top:1px solid var(--line)}.finding>span{align-self:start;padding:.25rem .4rem;border-radius:99px;text-align:center;text-transform:uppercase;font-size:.58rem;font-weight:800;background:var(--paper-2)}.finding h4{margin:0 0 .25rem;font-size:.82rem}.finding p,.finding small{display:block;margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}.finding small{margin-top:.3rem;color:var(--ink)}.finding--blocker{border-left:4px solid var(--red)}.finding--warning{border-left:4px solid var(--amber)}.finding--note{border-left:4px solid var(--sage)}.review-empty{margin:0;padding:1rem;color:var(--muted);font-size:.78rem}.approval-bar--formulation{align-items:flex-end}.warning-acknowledgement{display:flex;align-items:flex-start;gap:.55rem;margin-top:.65rem;color:var(--ink);font-size:.75rem;line-height:1.4}.warning-acknowledgement .input{width:16px;height:16px;padding:0;flex:0 0 auto}.approval-snapshot{margin:1rem 0 0;padding:.75rem;border-radius:9px;color:#315e43;background:#e7f1e9;font-size:.76rem}.formula-entry--rich>.field:first-child{grid-column:1 / -1;gap:.3rem}.material-picker-results{display:flex;flex-direction:column;gap:.25rem;max-height:260px;overflow-y:auto;padding:.35rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 12px 30px #402f381a}.material-picker-results .button{align-items:flex-start;flex-direction:column;text-align:left}.material-picker-results .button small{color:var(--muted);font-weight:400}.material-picker-results p{margin:0;padding:.7rem;color:var(--muted);font-size:.75rem}.selected-material{margin:.2rem 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}.classification-review{grid-column:1 / -1;padding:.8rem;border-radius:10px;background:var(--paper-2)}.classification-review summary{cursor:pointer;color:var(--ink);font-size:.78rem;font-weight:700}.classification-review>p{margin:.65rem 0;color:var(--muted);font-size:.74rem;line-height:1.45}.classification-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.material-count{align-self:center;color:var(--plum);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.material-search{max-width:760px}.material-search p{margin:.6rem 0 0;color:var(--muted);font-size:.72rem}.material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.material-card{display:flex;flex-direction:column;gap:.85rem;padding:1.1rem;background:var(--paper);border:1px solid var(--line);border-radius:15px}.material-card--excluded{border-left:5px solid var(--red)}.material-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.material-card h3{margin:.22rem 0;font-size:1rem}.material-card header p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}.material-card header p.material-missing{color:var(--red);font-weight:700}.material-supplier{color:var(--plum);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.material-allergy{margin:0;padding:.7rem;background:#faece8;color:#814335;border-radius:9px;font-size:.75rem;font-weight:700;line-height:1.4}.material-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.material-facts div{display:flex;flex-direction:column;gap:.15rem;padding:.6rem;background:var(--paper-2);border-radius:9px}.material-facts strong{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.material-facts span{font-size:.72rem;line-height:1.4}.material-notes{display:flex;flex-direction:column;gap:.35rem}.material-notes p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}.material-card footer{display:flex;justify-content:space-between;gap:.7rem;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--line);color:var(--muted);font-size:.65rem}.material-card footer div{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.monitor-note{margin:0 0 1rem;padding:.75rem .9rem;border-radius:10px;font-size:.76rem;line-height:1.45}.monitor-note--warning{background:#f8eee0;color:#70491f}.monitor-note--success{background:#edf4ec;color:#3f6544}.source-check-report{margin-bottom:1rem;overflow:hidden;border:1px solid #c9dacb;border-radius:12px;background:#f4f8f2}.source-check-report.has-failures{border-color:#e0c1b8;background:#fbf1ee}.source-check-report>header{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(78,112,81,.18)}.source-check-report>header div{display:flex;flex-direction:column;gap:.15rem}.source-check-report>header strong{font-size:.8rem}.source-check-report>header span,.source-check-report>header p{color:var(--muted);font-size:.7rem;line-height:1.45}.source-check-report>header p{max-width:560px;margin:0}.source-check-report>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.source-check-result{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.7rem 1rem;border-right:1px solid rgba(78,112,81,.14);border-bottom:1px solid rgba(78,112,81,.14)}.source-check-result>span{width:8px;height:8px;border-radius:50%;background:var(--sage)}.source-check-result--changed>span{background:var(--amber)}.source-check-result--failed>span{background:var(--red)}.source-check-result div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.source-check-result strong{font-size:.72rem}.source-check-result small{color:var(--muted);font-size:.65rem;line-height:1.4}.source-check-result ul{display:flex;flex-direction:column;gap:.2rem;margin:.35rem 0 0;padding-left:1rem}.source-check-result li{color:var(--muted);font-size:.64rem}.source-check-result li a{font-weight:600}.source-check-result a{font-size:.66rem;font-weight:700}.source-card{display:grid;grid-template-columns:12px 1fr auto;gap:.7rem;align-items:center;padding:.9rem;background:var(--paper);border:1px solid var(--line);border-radius:12px}.source-card div{display:flex;flex-direction:column;gap:.15rem}.source-card small{color:var(--muted);font-size:.68rem}.source-card a{font-size:.7rem}.source-dot{width:9px;height:9px;border-radius:50%;background:var(--sage)}.source-dot--error{background:var(--red)}.alert-card{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:14px;padding:1.2rem}.alert-card__heading{display:flex;justify-content:space-between;gap:1rem}.alert-card__heading a{font-size:.78rem}.alert-card__heading small{color:var(--muted);font-size:.68rem}.alert-card>p{color:var(--muted);font-size:.83rem;line-height:1.5}.alert-card .deadline{color:var(--red);font-weight:700}.alert-review{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;gap:.8rem;align-items:end;padding-top:1rem;border-top:1px solid var(--line)}.warning-note{background:#faece8;color:#814335;border-radius:9px;padding:.8rem;font-size:.8rem;line-height:1.45}.empty-state{padding:3rem;text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:16px;color:var(--muted)}@media(max-width:1050px){.topbar{grid-template-columns:220px 1fr}.topbar__user{display:none}.app-shell{grid-template-columns:220px minmax(0,1fr)}.product-header{grid-template-columns:1fr 160px}.exports{grid-column:1 / -1}.requirement{grid-template-columns:48px minmax(220px,1fr) 130px 128px}.requirement__evidence{display:none}.alert-review{grid-template-columns:1fr 2fr}.alert-review>.button{grid-column:2;justify-self:end}}@media(max-width:760px){.login{grid-template-columns:1fr}.login__intro{padding:3rem 1.5rem 1rem}.login__card{padding:1.5rem;justify-content:flex-start}.topbar{height:auto;min-height:66px;grid-template-columns:1fr;gap:.6rem;padding:.7rem}.topbar__brand{justify-content:center}.topbar__nav{overflow-x:auto;justify-content:flex-start}.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.source-health{display:none}.content{padding:1.2rem .8rem 3rem}.product-header{display:flex;flex-direction:column;align-items:stretch;gap:1rem}.completion{max-width:220px}.view-toolbar{align-items:flex-start}.requirement{grid-template-columns:42px 1fr}.requirement .select,.requirement>.button{grid-column:2}.details-layout,.source-grid,.material-grid,.material-facts,.formula-entry,.alert-review,.new-formula-grid,.formula-metadata,.formula-entry--rich,.classification-fields,.claim-criteria{grid-template-columns:1fr}.literature-list article{grid-template-columns:1fr}.literature-list .button{justify-self:start}.alert-review>.button{grid-column:1}.data-table{overflow-x:auto}.data-table__head,.data-table__row{min-width:620px}.field-row{grid-template-columns:1fr}}.perfume-studio{--perfume-rose: #8f5f6d;--perfume-wash: #f5ebe9}.perfume-studio__hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2rem;align-items:end;overflow:hidden;padding:clamp(1.4rem,4vw,3rem);border:1px solid #ddceca;border-radius:22px;background:radial-gradient(circle at 88% 12%,rgba(143,95,109,.16),transparent 34%),linear-gradient(135deg,#fffaf6 0%,var(--perfume-wash) 100%)}.perfume-studio__hero:after{content:"";position:absolute;right:8%;bottom:-80px;width:220px;height:220px;border:1px solid rgba(143,95,109,.18);border-radius:50%}.perfume-studio__hero h1{margin-bottom:.7rem}.perfume-studio__hero>div:first-child>p:last-child{max-width:760px;margin:0;color:var(--muted);line-height:1.65}.perfume-studio__status{position:relative;z-index:1;display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid rgba(143,95,109,.2);border-radius:14px;background:#fffdfac7}.perfume-studio__status span{color:var(--perfume-rose);font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.perfume-studio__status strong{font-family:Georgia,Times New Roman,serif;font-size:1rem}.perfume-studio__status small{color:var(--muted);font-size:.7rem;line-height:1.45}.perfume-studio__tabs{display:flex;gap:.25rem;overflow-x:auto;padding:.25rem;border-bottom:1px solid var(--line)}.perfume-studio__tabs .button{white-space:nowrap}.perfume-section{display:flex;flex-direction:column;gap:1.15rem;padding:clamp(1rem,2.5vw,1.6rem)}.perfume-section__heading{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.8rem;align-items:start}.perfume-section__heading>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #dac8cd;border-radius:50%;color:var(--perfume-rose);font-family:Georgia,serif}.perfume-section__heading h2,.perfume-section__heading p{margin:0}.perfume-section__heading p{max-width:820px;margin-top:.25rem;color:var(--muted);font-size:.8rem;line-height:1.5}.perfume-brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.perfume-brief-grid>.field:first-child{grid-column:span 2;grid-row:span 2}.perfume-brief-grid>.field:first-child .textarea{height:100%;min-height:132px}.olfactory-direction{padding:1rem 1.1rem;border-left:4px solid var(--perfume-rose);border-radius:10px;background:var(--perfume-wash)}.olfactory-direction>span{color:var(--perfume-rose);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.olfactory-direction p{margin:.35rem 0;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.5}.olfactory-direction small{color:var(--muted);font-size:.7rem;line-height:1.45}.perfume-stock-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.perfume-stock-summary div{display:flex;flex-direction:column;gap:.2rem;padding:.8rem;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}.perfume-stock-summary strong{font-family:Georgia,serif;font-size:1.3rem;color:var(--perfume-rose)}.perfume-stock-summary span{color:var(--muted);font-size:.68rem;line-height:1.35}.perfume-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.perfume-material{display:flex;flex-direction:column;gap:.6rem;min-width:0;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.perfume-material--in_stock{border-top:4px solid var(--sage)}.perfume-material--owned_unlinked{border-top:4px solid var(--amber)}.perfume-material--excluded{border-top:4px solid var(--red)}.perfume-material>div>span{color:var(--perfume-rose);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.perfume-material h3{margin:.28rem 0;font-size:.82rem;line-height:1.35}.perfume-material p,.perfume-material small,.perfume-material a{margin:0;color:var(--muted);font-size:.65rem;line-height:1.4;overflow-wrap:anywhere}.perfume-material .button{margin-top:auto}.planned-material{padding:.9rem;border:1px dashed var(--line);border-radius:12px;background:var(--paper-2)}.planned-material summary{cursor:pointer;font-size:.8rem;font-weight:800}.planned-material>p{margin:.7rem 0;color:var(--muted);font-size:.72rem;line-height:1.45}.planned-material>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.7rem;align-items:end}.perfume-batch-settings{display:grid;grid-template-columns:180px 220px 1fr;gap:.8rem;align-items:end}.perfume-total{display:flex;flex-direction:column;align-items:flex-end;color:var(--red)}.perfume-total.is-valid{color:var(--sage)}.perfume-total strong{font-family:Georgia,serif;font-size:1.45rem}.perfume-total span,.perfume-total small{color:var(--muted);font-size:.65rem}.perfume-formula-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.perfume-formula-table{width:100%;min-width:1280px;border-collapse:collapse;font-size:.7rem}.perfume-formula-table th,.perfume-formula-table td{padding:.65rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.perfume-formula-table th{color:var(--muted);background:var(--paper-2);font-size:.6rem;text-transform:uppercase;letter-spacing:.06em}.perfume-formula-table td:first-child{min-width:190px}.perfume-formula-table td:nth-child(2){min-width:110px}.perfume-formula-table td:nth-child(3){min-width:170px}.perfume-formula-table td:nth-child(4),.perfume-formula-table td:nth-child(5){min-width:105px}.perfume-formula-table td small{display:block;margin-top:.18rem;color:var(--muted)}.perfume-formula-table tr.is-excluded{background:#faece8}.perfume-review-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden}.perfume-review-strip div{display:flex;flex-direction:column;gap:.25rem;padding:.8rem;border-right:1px solid var(--line)}.perfume-review-strip div:last-child{border-right:0}.perfume-review-strip span{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.perfume-review-strip strong{font-size:.72rem;line-height:1.4}.perfume-boundary{margin:0;padding:.85rem;border-radius:10px;background:#f4e5d1;color:#724d20;font-size:.72rem;line-height:1.5}.evaluation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.evaluation-grid>.field:nth-child(n+3) .textarea{min-height:104px}.masterclass-layout,.examples-layout,.regulatory-layout{display:flex;flex-direction:column;gap:1rem}.masterclass-intro{max-width:820px;padding:1rem 0}.masterclass-intro h2{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500}.masterclass-intro>p:last-child{color:var(--muted);line-height:1.6}.masterclass-progress{display:flex;align-items:center;gap:.7rem;margin-top:1rem}.masterclass-progress>div{width:min(260px,55vw);height:7px;overflow:hidden;border-radius:99px;background:var(--line)}.masterclass-progress>div span{display:block;height:100%;border-radius:inherit;background:var(--sage);transition:width .18s ease}.masterclass-progress strong{color:var(--muted);font-size:.68rem}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.lesson-card{width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.55rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-align:left;font-weight:400;box-shadow:0 0 #402f3800}.lesson-card:hover,.lesson-card:focus-visible{border-color:var(--perfume-rose);background:var(--paper);box-shadow:0 12px 28px #402f3817;transform:translateY(-2px)}.lesson-card.is-complete{border-color:var(--sage);background:#f4f8f2}.lesson-card>span{color:var(--perfume-rose);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.lesson-card h3{margin:0;font-family:Georgia,serif;font-size:1.1rem}.lesson-card>p,.lesson-card div p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.5}.lesson-card div{margin-top:auto;padding-top:.7rem;border-top:1px solid var(--line)}.lesson-card div strong{font-size:.68rem}.lesson-card footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.35rem;color:var(--perfume-rose);font-size:.68rem;font-weight:800}.lesson-card.is-complete footer{color:var(--sage)}.response-contract{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.5rem}.response-contract p{color:var(--muted);font-size:.78rem;line-height:1.5}.response-contract ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.45rem;margin:0;padding:0;list-style:none}.response-contract li{border-radius:8px;background:var(--paper-2);font-size:.7rem}.response-contract details{height:auto}.response-contract summary{padding:.6rem;cursor:pointer;color:var(--ink);font-weight:700;line-height:1.35}.response-contract details[open] summary{color:var(--perfume-rose)}.response-contract details p{margin:0;padding:0 .6rem .7rem;font-size:.68rem}.source-notes>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.source-notes a{display:flex;flex-direction:column;gap:.35rem;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);text-decoration:none}.source-notes a:hover{border-color:var(--perfume-rose)}.source-notes strong{color:var(--ink);font-size:.78rem}.source-notes span{color:var(--muted);font-size:.7rem;line-height:1.5}.source-notes small{margin-top:auto;color:var(--perfume-rose);font-size:.65rem;font-weight:800}.lesson-dialog{display:flex;flex-direction:column;gap:1rem}.lesson-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.lesson-dialog>header h2{margin-bottom:.35rem;font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.2rem)}.lesson-dialog>header p:last-child{max-width:720px;margin:0;color:var(--muted);font-size:.8rem;line-height:1.55}.lesson-dialog>header>span{flex:0 0 auto;padding:.35rem .55rem;border-radius:99px;background:var(--paper-2);color:var(--amber);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.lesson-dialog>header>span.is-complete{background:#e7f1e9;color:var(--sage)}.lesson-dialog__why{padding:.9rem;border-left:4px solid var(--perfume-rose);border-radius:9px;background:var(--perfume-wash)}.lesson-dialog__why h3,.lesson-dialog__why p{margin:0}.lesson-dialog__why p{margin-top:.3rem;color:var(--muted);font-size:.76rem;line-height:1.55}.lesson-dialog__columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:.8rem}.lesson-dialog__columns>section{padding:.9rem;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.lesson-dialog__columns h3{margin-bottom:.55rem}.lesson-dialog__columns ul,.lesson-dialog__columns ol{margin:0;padding-left:1.2rem}.lesson-dialog__columns li{margin-bottom:.38rem;color:var(--muted);font-size:.74rem;line-height:1.5}.lesson-worksheet{padding:.9rem;border-radius:11px;background:var(--paper-2)}.lesson-worksheet>div:first-child h3,.lesson-worksheet>div:first-child p{margin:0}.lesson-worksheet>div:first-child p{margin-top:.2rem;color:var(--muted);font-size:.72rem}.lesson-worksheet>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.7rem}.lesson-worksheet article{padding:.7rem;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.lesson-worksheet article strong{font-size:.7rem}.lesson-worksheet article p{margin:.25rem 0 0;color:var(--muted);font-size:.7rem;line-height:1.45}.lesson-sources{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:.9rem;border:1px solid var(--line);border-radius:11px}.lesson-sources h3,.lesson-sources p{margin:0}.lesson-sources p{margin-top:.25rem;color:var(--muted);font-size:.7rem;line-height:1.45}.lesson-sources>div:last-child{display:flex;flex-direction:column;gap:.35rem}.lesson-sources a{padding:.5rem .6rem;border-radius:8px;background:var(--paper-2);font-size:.7rem;font-weight:700;text-decoration:none}.lesson-dialog>footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.8rem;border-top:1px solid var(--line)}.lesson-dialog>footer p{margin:0;color:var(--muted);font-size:.68rem}.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.example-card{display:flex;flex-direction:column;gap:.6rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.example-card>span{color:var(--perfume-rose);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.example-card h3{margin:0;font-family:Georgia,serif;font-size:1.05rem}.example-card p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}.example-card small{padding:.65rem;border-radius:8px;background:var(--paper-2);color:var(--muted);font-size:.66rem;line-height:1.45}.example-card a{margin-top:auto;font-size:.72rem;font-weight:800}.source-directory>div{display:flex;flex-wrap:wrap;gap:.5rem}.source-directory a{padding:.55rem .7rem;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);font-size:.72rem;text-decoration:none}.regulatory-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 0}.regulatory-heading h2{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500}.regulatory-heading p:last-child{max-width:760px;color:var(--muted);line-height:1.55}.regulatory-heading>span{flex:0 0 auto;padding:.5rem .7rem;border-radius:99px;background:#f4e5d1;color:#724d20;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.regulatory-gate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.regulatory-gate article{padding:1rem;border-left:4px solid var(--perfume-rose);border-radius:10px;background:var(--paper)}.regulatory-gate h3{margin:0 0 .35rem}.regulatory-gate p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.legal-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.legal-source-grid a{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);text-decoration:none}.legal-source-grid strong{font-size:.72rem}.legal-source-grid span{color:var(--muted);font-size:.64rem;line-height:1.4}@media(max-width:1180px){.perfume-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.planned-material>div{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-grid,.example-grid,.legal-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.perfume-studio__hero{grid-template-columns:1fr;gap:1rem}.perfume-brief-grid,.perfume-stock-summary,.perfume-palette,.evaluation-grid,.lesson-grid,.example-grid,.regulatory-gate,.legal-source-grid{grid-template-columns:1fr}.perfume-brief-grid>.field:first-child{grid-column:1;grid-row:auto}.planned-material>div,.perfume-batch-settings,.perfume-review-strip{grid-template-columns:1fr}.perfume-total{align-items:flex-start}.perfume-review-strip div{border-right:0;border-bottom:1px solid var(--line)}.perfume-review-strip div:last-child{border-bottom:0}.response-contract{grid-template-columns:1fr}.response-contract ol{grid-template-columns:repeat(2,minmax(0,1fr))}.source-check-report>header{flex-direction:column}.source-check-report>div{grid-template-columns:1fr}.source-notes>div{grid-template-columns:1fr}.lesson-dialog__columns,.lesson-worksheet>div:last-child,.lesson-sources{grid-template-columns:1fr}.lesson-dialog>header,.lesson-dialog>footer{flex-direction:column}.regulatory-heading{flex-direction:column}}.exposure-grid{display:grid;grid-template-columns:minmax(0,420px) auto;gap:1rem;align-items:end;justify-content:space-between}.exposure-result{text-align:right}.exposure-result strong{display:block;font-size:1.6rem;color:var(--plum-dark)}.exposure-result span{color:var(--muted);font-size:.72rem}.exposure-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:.8rem 0}.safety-summary{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--muted)}.safety-summary span{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem}.safety-summary strong{color:var(--ink)}.safety-summary .is-bad{border-color:var(--red);color:var(--red)}.safety-summary .is-warn{border-color:var(--amber);color:var(--amber)}.safety-table th small{display:block;text-transform:none;letter-spacing:0;font-weight:400}.safety-status{display:inline-block;border-radius:999px;padding:.2rem .55rem;font-size:.68rem;font-weight:700;background:var(--paper-2);color:var(--muted);white-space:nowrap}.safety-status--ok{background:#e7f1e9;color:#315e43}.safety-status--below_minimum{background:#faece8;color:var(--red)}.safety-status--missing_noael,.safety-status--missing_inci,.safety-status--no_exposure{background:#f8efe1;color:var(--amber)}.safety-actions{display:grid;gap:.6rem;margin-top:1rem;justify-items:start}@media(max-width:760px){.exposure-grid,.exposure-fields{grid-template-columns:1fr}.exposure-result{text-align:left}}.mixture-list{display:grid;gap:.5rem;margin:1rem 0;padding:.9rem;border-radius:12px;background:var(--paper-2)}.mixture-list h4,.mixture-list p{margin:0}.mixture-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.8rem;padding-top:.5rem;border-top:1px solid var(--line)}.mixture-row small{display:block;margin-top:.2rem;color:var(--muted)}.material-card-actions{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:.25rem}.new-formula-grid>.button{min-height:44px;white-space:nowrap}.material-profile{display:flex;flex-direction:column;gap:1rem}.material-profile__identity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:start}.material-profile__identity h3{margin:.3rem 0;font-size:1.35rem}.material-profile__identity p{margin:0;color:var(--muted)}.material-profile__identity dl{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:.5rem;margin:0}.material-profile__identity dl div,.material-profile__facts div{padding:.65rem;border-radius:9px;background:var(--paper-2)}.material-profile dt{color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.material-profile dd{margin:.2rem 0 0;font-size:.75rem;line-height:1.45}.material-profile__boundary,.material-profile__missing{margin:0;padding:.8rem;border-radius:9px;color:#724d20;background:#f4e5d1;font-size:.76rem;line-height:1.5}.material-source-profile{overflow:hidden;border:1px solid var(--line);border-radius:13px}.material-source-profile>header{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:var(--paper-2)}.material-source-profile>header div{display:flex;flex-direction:column;gap:.12rem}.material-source-profile>header span,.material-source-profile>header small{color:var(--muted);font-size:.65rem}.material-source-profile>header a{align-self:center;font-size:.72rem}.material-source-profile article{padding:1rem;border-top:1px solid var(--line)}.material-source-profile article h4{margin:0 0 .65rem}.material-source-profile article p{color:var(--muted);font-size:.78rem;line-height:1.55}.material-profile__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0}.material-profile__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.material-profile__groups>section,.material-profile__documents{padding:1rem;border:1px solid var(--line);border-radius:12px}.material-profile__groups h4,.material-profile__documents h4{margin:0 0 .7rem}.material-profile__empty{margin:0;color:var(--muted);font-size:.75rem}.material-profile__documents div{display:flex;flex-wrap:wrap;gap:.7rem}@media(max-width:760px){.material-card-actions{align-items:stretch}.material-profile__identity,.material-profile__groups,.material-profile__facts{grid-template-columns:1fr}.material-source-profile>header{flex-direction:column}.material-source-profile>header a{align-self:flex-start}}.material-datasheets{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.material-datasheets header h4,.material-datasheets h5{margin:0 0 .3rem}.material-datasheets header p{margin:0;color:var(--muted);font-size:.76rem}.material-datasheets dd small{color:var(--muted)}.material-datasheets details summary{cursor:pointer;font-size:.82rem;font-weight:700;padding:.35rem 0}.datasheet-table{min-width:0;margin:.4rem 0}.datasheet-section-text{white-space:pre-line;font-size:.78rem;line-height:1.55;margin:.4rem 0}
