.studbook-shell{width:min(100% - 40px,1180px);color:var(--foreground);margin:0 auto;padding:36px 0 90px}.studbook-shell button,.studbook-shell input,.studbook-shell select,.studbook-dialog button,.studbook-dialog input,.studbook-dialog select,.studbook-dialog textarea{font:inherit}.studbook-topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:24px;padding-bottom:25px;display:flex}.studbook-back{color:var(--muted-foreground);font-size:13px;text-decoration:none}.studbook-back:hover{color:var(--accent)}.studbook-eyebrow{color:#176a50;letter-spacing:.13em;margin:20px 0 7px;font-size:11px;font-weight:700}.studbook-topbar h1{font:500 clamp(30px, 4vw, 46px) / 1.3 var(--font-editorial);margin:0}.studbook-actions,.studbook-dialog-actions{flex-wrap:wrap;gap:10px;display:flex}.studbook-button{cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:44px;padding:9px 17px;font-size:14px;font-weight:700}.studbook-button.primary{color:#fff;background:#176a50}.studbook-button.primary:hover{background:#10543e}.studbook-button.secondary{background:var(--background);color:var(--foreground);border-color:var(--border)}.studbook-button.secondary:hover{border-color:#176a50}.studbook-button.danger{color:#a13c36;background:0 0;border-color:#dbb9b6;margin-right:auto}.studbook-storage-note{background:color-mix(in srgb, #176a50 8%, var(--background));color:var(--muted-foreground);border-left:3px solid #176a50;margin:22px 0;padding:13px 16px;font-size:13px;line-height:1.7}.studbook-stats{border:1px solid var(--border);background:color-mix(in srgb, var(--muted) 24%, var(--background));border-radius:9px;gap:0;width:fit-content;margin:26px 0;display:flex}.studbook-stats>div{text-align:center;border-right:1px solid var(--border);min-width:120px;padding:18px 24px}.studbook-stats>div:last-child{border:0}.studbook-stats strong{color:#176a50;font-size:27px;line-height:1.1;display:block}.studbook-stats span{color:var(--muted-foreground);margin-top:6px;font-size:12px;display:block}.studbook-library{border:1px solid var(--border);background:var(--background);border-radius:10px;padding:26px}.studbook-section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px;display:flex}.studbook-section-heading h2{margin:0;font-size:23px}.studbook-section-heading span{color:var(--muted-foreground);font-size:13px}.studbook-filters{background:color-mix(in srgb, var(--muted) 22%, var(--background));border-radius:8px;grid-template-columns:minmax(180px,1.8fr) repeat(4,minmax(120px,1fr));gap:12px;margin-bottom:20px;padding:16px;display:grid}.studbook-filters label,.studbook-filters .filter-field,.studbook-form-grid label{color:var(--muted-foreground);flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.studbook-filters input,.studbook-filters select,.studbook-filters summary,.studbook-form-grid input,.studbook-form-grid select,.studbook-form-grid textarea{border:1px solid var(--border);background:var(--background);width:100%;min-height:42px;color:var(--foreground);border-radius:6px;padding:9px 11px;font-size:14px}.studbook-filters summary{cursor:pointer;list-style:none}.studbook-filters summary:after{content:"⌄";float:right}.group-picker{position:relative}.group-options{z-index:5;border:1px solid var(--border);background:var(--background);border-radius:6px;min-width:200px;max-height:260px;padding:8px;position:absolute;top:100%;left:0;overflow:auto;box-shadow:0 14px 30px #0002}.group-option{cursor:pointer;align-items:center;min-height:36px;padding:4px 6px;flex-direction:row!important}.group-option input{width:auto!important;min-height:auto!important}.studbook-table-wrap{overflow-x:auto}.studbook-table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}.studbook-table th{border-bottom:1px solid var(--border);color:var(--muted-foreground);padding:14px 12px;font-size:12px;font-weight:600}.studbook-table td{border-bottom:1px solid var(--border);padding:15px 12px;font-size:14px}.studbook-table tbody tr{cursor:pointer}.studbook-table tbody tr:hover{background:color-mix(in srgb, #176a50 7%, var(--background))}.studbook-table .number-cell{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.studbook-table .species-cell{font-weight:700}.studbook-empty{text-align:center;color:var(--muted-foreground);padding:55px 15px}.studbook-empty h3{color:var(--foreground)}.studbook-empty[hidden],.studbook-dialog [hidden]{display:none}.studbook-dialog{border:1px solid var(--border);background:var(--background);width:min(720px,100% - 24px);max-height:90vh;color:var(--foreground);border-radius:12px;padding:28px;overflow:auto;box-shadow:0 25px 80px #0005}.studbook-dialog::backdrop{background:#101c18aa}.studbook-dialog-heading{justify-content:space-between;align-items:start;margin-bottom:25px;display:flex}.studbook-dialog-heading h2{margin:0;font-size:24px}.studbook-dialog-heading .studbook-eyebrow{margin-top:0}.close-button{border:1px solid var(--border);background:var(--background);width:40px;height:40px;color:var(--foreground);cursor:pointer;border-radius:6px;font-size:24px!important}.studbook-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.studbook-form-grid .wide{grid-column:span 2}.studbook-form-grid textarea{resize:vertical}.studbook-form-grid small{font-weight:400}.studbook-dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:24px;padding-top:20px}.form-error{color:#a13c36;background:#fff0ed;border-radius:6px;margin-top:15px;padding:10px}.studbook-shell :is(button,a,input,select,summary,tr):focus-visible,.studbook-dialog :is(button,input,select,textarea):focus-visible{outline-offset:2px;outline:3px solid #65ac8b}@media (width<=950px){.studbook-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.studbook-filters .search-field{grid-column:span 2}}@media (width<=600px){.studbook-topbar{flex-direction:column;align-items:start}.studbook-stats{width:100%}.studbook-stats>div{flex:1;min-width:0;padding:16px 5px}.studbook-library{padding:16px}.studbook-filters{grid-template-columns:1fr}.studbook-filters .search-field{grid-column:auto}.studbook-form-grid{grid-template-columns:1fr}.studbook-form-grid .wide{grid-column:auto}.studbook-dialog{padding:20px}}
