.ss-search{display:flex;align-items:end;gap:12px;margin-bottom:16px}.ss-search>label{display:flex;flex:1;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.ss-search input{width:100%;min-height:46px;font:inherit;padding:10px 14px;border:1px solid #cad8d0;border-radius:8px;background:#fff}.ss-search button,.ss-result>button:last-child,.sf-toolbar button{min-height:42px;padding:8px 12px;border:1px solid #cfddd4;border-radius:8px;color:#285540;background:#f8fbf9;font:inherit;cursor:pointer}.ss-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.ss-filter{position:relative;border:1px solid #d5e0d9;border-radius:8px;background:white;font-size:13px}.ss-filter summary{padding:12px;cursor:pointer;list-style:none}.ss-filter small{display:block;margin-top:4px;color:#607469}.ss-filter>div{position:absolute;top:100%;left:0;z-index:15;min-width:220px;max-height:260px;overflow:auto;border:1px solid #cddcd2;border-radius:8px;padding:12px;background:white;box-shadow:0 10px 25px #173b2526}.ss-filter>div label{display:flex;gap:9px;align-items:center;padding:8px 0}.ss-filter p{font-size:12px;line-height:1.5}.ss-count{font-size:13px;color:#536b5d}.ss-results{display:grid;gap:8px}.ss-result{display:flex;gap:12px;align-items:center;border:1px solid #dce6df;border-radius:9px;padding:10px;background:white;min-width:0}.ss-result>button:first-child{flex:1;text-align:left;font:inherit;border:0;background:none;color:#254b3a;cursor:pointer;min-height:44px;min-width:0}.ss-result strong,.ss-result small{display:block}.ss-result strong{font-size:14px}.ss-result small{font-size:12px;color:#586f61;margin-top:5px}.ss-signals{display:flex;flex-wrap:wrap;gap:5px}.sf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sf-toolbar p{margin:5px 0;color:#5a7062;font-size:13px;line-height:1.6}.sf-catalogue{display:grid;gap:12px}.sf-signal-row{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid #dce6df;border-radius:10px;background:#fff}.sf-signal-copy{flex:1}.sf-signal-copy h3{font-size:15px;margin:0 0 6px}.sf-signal-copy p{font-size:13px;line-height:1.6;margin:0;color:#526b5c}.sf-symbol{display:inline-flex;align-items:center;justify-content:center;font-size:24px;min-width:38px;min-height:38px}.sf-symbol img{width:24px;height:24px}.sf-form{display:grid;gap:16px;margin:16px 0;padding:20px;background:#f5f9f6;border:1px solid #cfdfd4;border-radius:12px}.sf-form label{display:flex;flex-direction:column;gap:6px;font-size:13px}.sf-form input,.sf-form textarea,.sf-form select{padding:10px;border:1px solid #cddbd2;border-radius:7px;font:inherit;background:white}.sf-form fieldset{border:1px solid #ccdbd1;padding:12px;border-radius:8px}.sf-form fieldset label{display:inline-flex;align-items:center;flex-direction:row;margin:8px 16px 8px 0}.sf-actions{display:flex;gap:10px;flex-wrap:wrap}.sf-key{padding:18px;border:1px solid #d6e2d9;border-radius:10px;margin-bottom:14px;background:#fff}.sf-key>summary{cursor:pointer;font-size:16px;font-weight:600}.sf-key>p{font-size:13px;line-height:1.6}.sf-key .sf-toolbar{margin-top:12px}.sf-members{display:grid;gap:8px;margin:16px 0}.sf-member{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e5ece7;padding:8px 0}.sf-member button{border:0;background:none;color:#2a5a40;font:inherit;min-height:40px;cursor:pointer}.sf-member>button:first-child{text-align:left}.sf-member small{display:block;font-size:12px;color:#587061}.sf-error{padding:14px;background:#fff0eb;color:#8d3023;border:1px solid #e6bbaf;border-radius:8px}.sf-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px;max-height:280px;overflow:auto}.sf-icons button{height:48px;border:1px solid #d5e0d9;background:#fff;border-radius:7px;cursor:pointer;font-size:23px}.sf-icons img{width:25px;height:25px}.sf-icons button[aria-pressed=true]{outline:2px solid #28734e}.sf-icon-search{display:flex;gap:10px;flex-wrap:wrap}.sf-icon-search input{flex:1}.sf-icon-search select{min-width:100px}.sf-icon-count{font-size:12px;color:#5b7263}.student-drawer{width:min(760px,100vw)!important;right:0!important;left:auto!important}.student-drawer .drawer-body{overscroll-behavior:contain}.sf-assigned-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.sf-widget-category{margin:12px 0;padding:12px;border:1px solid #e2d8cd;border-radius:8px;background:#fffcf8}.sf-widget-category summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.sf-widget-category summary small{margin-left:auto}.sf-widget-category p{font-size:12px;line-height:1.5}.sf-widget-student{display:block;width:100%;text-align:left;border:0;border-top:1px solid #e9e3db;background:transparent;min-height:46px;font:inherit;color:inherit;padding:10px 0;cursor:pointer}.sf-widget-student small{display:block;color:#647368;margin-top:4px;font-size:11px}
@media(max-width:700px){.ss-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-search{flex-wrap:wrap}.ss-search>label{flex-basis:100%}.ss-result{flex-wrap:wrap}.sf-signal-row{flex-wrap:wrap}.sf-signal-copy{flex-basis:65%}.sf-toolbar{flex-wrap:wrap}.ss-filter>div{min-width:170px;max-width:80vw}.ss-filter:nth-child(even)>div{left:auto;right:0}.sf-form{padding:14px}}

.sf-signal-row:has(.sf-assignment){flex-wrap:wrap}.student-signal .sf-symbol{font-size:inherit;min-width:0;min-height:0}.student-signal .sf-symbol img{width:16px;height:16px}.sf-assignment{min-width:0;width:100%}

.student-drawer{z-index:75!important}.drawer-backdrop{z-index:70!important}

.sf-key-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:12px 0 22px}.sf-key-toolbar>label{display:flex;flex:1 1 260px;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.sf-key-toolbar select,.sf-bulk-toolbar select,.sf-bulk-pagination select{min-height:42px;padding:8px 12px;border:1px solid #c9d9ce;border-radius:7px;background:white;color:#254d39;font:inherit}.sf-category-summary{display:flex;align-items:start;gap:14px;padding:16px 0 22px;border-top:1px solid #e1eae4}.sf-category-summary h3{font-size:18px;margin:0 0 8px}.sf-category-summary p{font-size:13px;margin:6px 0;line-height:1.6}.sf-bulk-toolbar,.sf-bulk-save,.sf-bulk-actions,.sf-bulk-pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sf-bulk-toolbar{justify-content:space-between;margin:14px 0}.sf-bulk-toolbar label{display:flex;align-items:center;gap:10px;font-size:13px}.sf-bulk-save{justify-content:space-between;padding:12px 0 16px}.sf-bulk-save p{font-size:13px;margin:0}.sf-bulk-table{min-width:780px}.sf-bulk-table input[type=checkbox]{width:19px;height:19px;accent-color:#2b734d;cursor:pointer}.sf-bulk-table tbody tr.sf-row-selected>td{background:#edf5ef}.sf-bulk-table td:first-child,.sf-bulk-table th:first-child{width:48px;text-align:center}.sf-bulk-table td:nth-child(2){min-width:210px}.sf-membership{display:inline-block;font-size:12px;padding:5px 9px;border-radius:6px;white-space:nowrap}.sf-membership.in{color:#235e3a;background:#e7f3e9}.sf-membership.out{color:#63716a;background:#f0f3f1}.sf-table-signals{display:inline-flex;gap:4px;margin-left:6px;flex-wrap:wrap}.sf-bulk-message{font-size:13px;padding:12px;border-radius:8px;color:#235d3b;background:#eef7f0}.sf-bulk-pagination{justify-content:flex-end;margin-top:16px;font-size:12px}.sf-bulk-pagination>span:first-child{margin-right:auto}.sf-bulk-pagination label{display:flex;align-items:center;gap:8px}.app-shell .sf-assignment .sf-bulk-table-scroll{max-height:560px}.sf-bulk-toolbar button:disabled,.sf-bulk-save button:disabled{opacity:.5;cursor:default}
@media(max-width:700px){.sf-key-toolbar>label{flex-basis:100%}.sf-bulk-toolbar,.sf-bulk-save{align-items:stretch}.sf-bulk-actions,.sf-bulk-save>.sf-actions{width:100%}.sf-bulk-actions button,.sf-bulk-save button{flex:1}.sf-bulk-pagination{justify-content:flex-start}.sf-bulk-pagination>span:first-child{flex-basis:100%}}

.sf-bulk-table.sf-readonly :is(th,td):first-child:not([colspan]){display:none}.sf-readonly-note{padding:12px 14px;background:#f4f7f5;border:1px solid #dce5df;border-radius:8px;font-size:13px;line-height:1.6;color:#52695c}
