.shared-filterbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:14px 24px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.shared-filterbar label{display:grid;gap:6px;font-size:12px;font-weight:700}.shared-filterbar input,.shared-filterbar select,.shared-input{min-height:38px;padding:8px 10px;border:1px solid var(--line-2);border-radius:9px;background:var(--surface-2);color:var(--ink);font:inherit}.shared-filterbar #shared-year{width:120px}#sync-status{font-size:11px;color:var(--ink-2);margin-inline-start:auto}
.role-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--line);border-radius:16px;margin-bottom:20px;background:var(--surface)}.role-summary p{font-size:12px;color:var(--ink-2);line-height:1.9;margin-top:8px}.shared-actions,.shared-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.shared-heading{justify-content:space-between}.shared-heading h4{margin:0}.shared-actions{margin:12px 0}.comment-entry{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.comment-entry .btn{font-size:12px;min-height:34px}.comment-dot{width:7px;height:7px;border-radius:100%;background:var(--fac,#268a8d)}
.company-link{background:none;border:0;color:var(--ink);font:inherit;font-weight:700;cursor:pointer;text-align:start;text-decoration:underline;text-underline-offset:4px}.company-link:hover{color:var(--fac,#258e92)}[data-chart]{cursor:pointer}[data-chart]:focus-visible,.company-link:focus-visible{outline:3px solid #258e92;outline-offset:3px}.shared-drill{margin-top:16px;border:1px solid var(--line);border-radius:12px;padding:14px;max-height:450px;overflow:auto}.shared-drill td{white-space:normal}.shared-form{display:grid;gap:16px}.shared-form label{display:grid;gap:7px;font-size:12px;color:var(--ink-2)}.shared-form input:not([type=checkbox]),.shared-form select,.shared-form textarea{width:100%;padding:10px;border:1px solid var(--line-2);border-radius:8px;color:var(--ink);background:var(--surface-2);font:inherit;font-size:13px;box-sizing:border-box}.shared-form textarea{min-height:80px;resize:vertical}.shared-form details,.source-history,.quality-note{border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0}.shared-form summary,.source-history summary,.quality-note summary{cursor:pointer;font-weight:700;font-size:13px;line-height:1.8}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.shared-form .check-label{display:flex;align-items:center;gap:9px;min-height:32px}.check-label input{accent-color:#258e92;width:17px;height:17px}.bucket-field{grid-column:1/-1;border:1px solid var(--line);border-radius:8px;padding:12px}.bucket-field legend{font-size:12px}.form-actions{display:flex;flex-wrap:wrap;gap:8px;position:sticky;bottom:-20px;padding:14px 0;background:var(--surface);z-index:2}.danger{color:#b64747!important;border:1px solid #bb64644d!important}.error{color:#b43b3b!important}.btn:disabled{opacity:.5;cursor:wait}.comment-list article,.review-card,.quality-item,.user-form{border:1px solid var(--line);padding:16px;border-radius:12px;margin:12px 0}.comment-list time{display:block;color:var(--ink-2);font-size:11px;margin-top:6px}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.comment-list summary{font-size:11px;cursor:pointer}.comment-list details p{font-size:11px;color:var(--ink-2)}.review-card h4{margin:0 0 8px}.review-card p,.quality-item p{font-size:12px;color:var(--ink-2);line-height:1.9}.review-change{display:grid;gap:5px;padding:9px;border-bottom:1px solid var(--line);font-size:12px}.permissions-grid{display:flex;flex-wrap:wrap;gap:14px}.temporary-password{display:block;user-select:all;overflow-wrap:anywhere;font-size:18px;padding:20px;background:var(--surface-2);border-radius:10px}#shared-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10000;background:var(--surface,#fff);color:var(--ink,#16333a);border:1px solid var(--line,#ccc);box-shadow:0 8px 35px #0003;padding:16px 24px;border-radius:12px;width:max-content;max-width:90vw;font-size:13px;line-height:1.8}.quality-note{background:var(--surface-2);font-size:12px;line-height:1.9}.source-history{font-size:12px}.source-history .d-row{overflow-wrap:anywhere}.drawer:has(.shared-form){width:min(660px,95vw)}.shared-form p{line-height:1.9}.shared-input{width:100%;box-sizing:border-box}#work-body{margin-top:16px}#work-tabs{gap:6px}
@media(max-width:700px){.shared-filterbar{margin:12px;gap:10px}.shared-filterbar label:first-child{width:100%}.shared-filterbar label:first-child input{width:100%;box-sizing:border-box}.role-summary{flex-direction:column;align-items:stretch}.field-grid{grid-template-columns:1fr}.drawer:has(.shared-form){width:100%;max-width:100%}.shared-filterbar #sync-status{width:100%;margin:0}.shared-heading{align-items:start}.top-actions{flex-wrap:wrap}.shared-drill{padding:8px}}
.drawer .shared-actions .btn{width:auto;min-width:70px;margin:0}.btn.danger{background:color-mix(in srgb,#b64747 8%,var(--surface))!important;color:#a22d2d!important}.drawer .shared-actions{align-items:center;justify-content:flex-start}
[hidden]{display:none!important}
#work-tabs .btn,#admin-tabs .btn,.role-summary .btn,#v-admin .shared-actions .btn,#v-work .shared-heading .btn{width:auto;margin:0}#v-admin .shared-form>button,#v-work .shared-form>button{width:fit-content;min-width:140px;margin:0}#admin-body{margin-top:16px}
.profile-wrap{position:relative;flex:none;min-width:0}.profile-wrap .who{background:transparent;border:0;color:var(--ink);font:inherit;text-align:start;cursor:pointer;padding:5px;border-radius:12px}.profile-wrap .who:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.profile-wrap .wt{display:grid;gap:3px}.profile-menu{position:absolute;inset-inline-end:0;top:calc(100% + 12px);z-index:200;width:min(250px,calc(100vw - 40px));max-height:calc(100dvh - 150px);overflow-y:auto;box-sizing:border-box;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 15px 45px #0003;display:grid;gap:8px}.profile-menu>span{font-size:12px;color:var(--ink-2);text-align:right;padding-bottom:10px;border-bottom:1px solid var(--line)}.profile-menu button{font:inherit;font-size:13px;text-align:start;padding:12px;border:0;border-radius:8px;background:var(--surface-2);color:var(--ink);cursor:pointer}.profile-menu button:hover{background:var(--line)}.profile-menu button:last-child{color:#b43b3b}/* Opening the menu must not change the toolbar's positioning or footprint. */
.topbar:has(.profile-menu:not([hidden])){z-index:250;overflow:visible!important}
.mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.mapping-grid>label{padding:14px;border:1px solid var(--line);border-radius:10px}.mapping-grid small{overflow-wrap:anywhere;max-height:50px;overflow:auto}.upload-zone{border:2px dashed var(--line-2);border-radius:14px;padding:22px;background:var(--surface-2)}.upload-zone span{font-weight:400}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.import-summary>div{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:12px}.import-summary b{font-size:26px}.import-summary span{font-size:12px}.import-errors{border:1px solid #b43b3b;border-radius:12px;padding:18px;margin:18px 0;color:#b43b3b}.import-errors ul{max-height:300px;overflow:auto;padding-inline-start:22px;line-height:2}.import-success{padding:22px;background:var(--surface-2);border:1px solid var(--accent);border-radius:14px;line-height:2}#excel-result{margin-top:25px}#excel-commit{margin-top:18px}.admin-account,.admin-create{padding:18px;border:1px solid var(--line);border-radius:12px;margin:18px 0}.admin-account fieldset{border:0;padding:0}.admin-create summary{cursor:pointer;font-weight:700;margin-bottom:12px}#admin-body time{font-size:12px;color:var(--ink-2)}#admin-body .review-card{overflow-wrap:anywhere}#v-work .page-head p,#v-admin .page-head p{color:var(--ink-2);font-size:13px;margin-top:8px}
@media(max-width:700px){:root[data-dashboard-style="studio"] #app .profile-wrap{grid-area:profile}.profile-menu{inset-inline-start:0;inset-inline-end:auto;width:min(270px,80vw)}.import-summary{grid-template-columns:repeat(2,1fr)}.mapping-grid{grid-template-columns:1fr}.import-summary>div{padding:12px}}
