:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96%;--secondary-foreground: 222.2 84% 4.9%;--accent: 142.1 76.2% 36.3%;--accent-foreground: 355.7 100% 97.3%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--muted: 210 40% 96%;--muted-foreground: 215.4 16.3% 46.9%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem;color:hsl(var(--foreground));background:hsl(var(--background));font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:light}:root.dark,:root[data-theme=dark]{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 84% 4.9%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--accent: 142.1 70.6% 45.3%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:hsl(var(--background));color:hsl(var(--foreground));font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{display:block;flex-shrink:0}button:disabled{cursor:not-allowed;opacity:.5}.appShell{display:grid;grid-template-columns:18rem minmax(0,1fr);min-height:100vh;background:hsl(var(--muted) / .3)}.sidebar{background:hsl(var(--card));border-right:1px solid hsl(var(--border));color:hsl(var(--card-foreground));display:flex;flex-direction:column;height:100vh;padding:0;position:sticky;top:0}.brand{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:.75rem;font-size:1rem;font-weight:700;letter-spacing:0;padding:1rem}.brandIcon{align-items:center;background:hsl(var(--primary));border-radius:calc(var(--radius) - 2px);color:hsl(var(--primary-foreground));display:inline-flex;flex:0 0 auto;font-size:.75rem;font-weight:800;height:2rem;justify-content:center;width:2rem}.menuGroup{display:grid;gap:.25rem;margin-bottom:.5rem}nav{flex:1;overflow-y:auto;padding:.75rem}.sidebar button{align-items:center;background:transparent;border:0;border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;font-size:.875rem;font-weight:500;gap:.75rem;min-height:2.5rem;padding:.5rem .75rem;text-align:left;transition:background-color .14s ease,color .14s ease;width:100%}.sidebar .menuGroupTrigger{color:hsl(var(--muted-foreground));font-weight:500;justify-content:space-between}.menuGroupLabel{align-items:center;display:inline-flex;gap:.75rem;min-width:0}.menuChildren{display:grid;gap:.25rem;margin:.25rem 0 0 .5rem}.menuChildren button{font-weight:500;min-height:2.25rem}.navIcon{align-items:center;display:inline-flex;font-size:.875rem;height:1rem;justify-content:center;line-height:1;width:1rem}.sidebar button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sidebar button.active{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.content{background:hsl(var(--muted) / .3);min-width:0}.contentInner{display:grid;gap:1.5rem;max-width:1536px;padding:1rem}.centerScreen,.loginShell{align-items:center;background:hsl(var(--muted) / .3);display:flex;justify-content:center;min-height:100vh;padding:1rem}.loginPanel,.cardSurface,.detailLayout>section{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 1px 2px hsl(var(--foreground) / .05);color:hsl(var(--card-foreground))}.loginPanel{display:grid;gap:1rem;padding:2rem;width:min(28rem,100%)}.loginHeader{display:grid;gap:.5rem;justify-items:center;margin-bottom:.5rem;text-align:center}.loginHeader h1{font-size:1.5rem;margin:0}.loginHeader p{color:hsl(var(--muted-foreground));font-size:.875rem;margin:0}.loginPanel label,.formGrid label{display:grid;gap:.5rem}.menuToggle{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));display:none;font-size:.875rem;font-weight:500;gap:.5rem;height:2.5rem;justify-content:center;padding:0 1rem;width:max-content}.mobileBackdrop{display:none}.breadcrumb{align-items:center;color:hsl(var(--muted-foreground));display:flex;flex-wrap:wrap;font-size:.875rem;gap:.375rem;overflow-x:auto}.breadcrumb button{align-items:center;background:transparent;border:0;color:hsl(var(--muted-foreground));display:inline-flex;gap:.25rem;padding:0;transition:color .14s ease}.breadcrumb button:hover,.breadcrumb span:last-child{color:hsl(var(--foreground))}.pageHeader{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:-.5rem}.pageAction{flex:0 0 auto}h1{font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}h2{font-size:1.125rem;font-weight:600;margin:0 0 1rem}h3{font-size:1rem;margin:1.5rem 0 .625rem}.listPage{display:grid;gap:1rem;padding:1.5rem}.toolbar{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.searchField{align-items:center;display:flex;max-width:24rem;position:relative;width:100%}.searchField span{color:hsl(var(--muted-foreground));left:.75rem;position:absolute;z-index:1}.searchField input{max-width:24rem;padding-left:2.25rem}input,select,textarea{background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);color:hsl(var(--foreground));min-height:2.5rem;padding:.5rem .75rem;transition:border-color .14s ease,box-shadow .14s ease;width:100%}label>span:first-child{font-size:.875rem;font-weight:500}input::placeholder,textarea::placeholder{color:hsl(var(--muted-foreground))}input:focus,select:focus,textarea:focus,button:focus-visible{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .22);outline:none}textarea{min-height:5rem;resize:vertical}input[type=checkbox]{accent-color:hsl(var(--primary));min-height:1rem;width:1rem}.switchControl{align-items:center;background:#e1e7ef;border:0;border-radius:999px;display:inline-flex;justify-content:flex-start;height:1.25rem;min-height:1.25rem;padding:.125rem;transition:background-color .14s ease;width:2.25rem}.switchControl span{background:hsl(var(--background));border-radius:999px;box-shadow:0 1px 2px hsl(var(--foreground) / .12);height:1rem;transform:translate(0);transition:transform .14s ease;width:1rem}.switchControl.on{background:hsl(var(--primary))}.switchControl.on span{transform:translate(1rem)}.primary,.pagination button,.actions button{align-items:center;border-radius:var(--radius);display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;min-height:2.5rem;padding:0 1rem;transition:background-color .14s ease,color .14s ease,border-color .14s ease;white-space:nowrap}.primary{background:hsl(var(--primary));border:1px solid hsl(var(--primary));color:hsl(var(--primary-foreground))}.primary:hover{background:hsl(var(--background));border-color:hsl(var(--primary));color:hsl(var(--primary))}.hint{color:hsl(var(--muted-foreground));font-size:.8125rem;margin:0}.recordSummary{color:hsl(var(--muted-foreground));font-size:.875rem;margin:0;text-align:right}.importPanel{align-items:end;border-bottom:1px solid hsl(var(--border));display:grid;gap:1rem;grid-template-columns:minmax(16rem,1fr) minmax(22rem,34rem) auto;padding-bottom:1rem}.importPanel strong{display:block;font-size:1rem;margin-bottom:.25rem}.importPanel p{color:hsl(var(--muted-foreground));margin:0}.csvDropzone{align-items:center;border:1px dashed hsl(var(--primary) / .6);border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;min-height:4.25rem;padding:1rem;text-align:center}.csvDropzone:hover,.csvDropzone:focus-visible{background:hsl(var(--primary) / .06);border-color:hsl(var(--primary));color:hsl(var(--foreground));outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.csvDropzone span{font-weight:600;overflow-wrap:anywhere;width:100%}.importMessage{grid-column:1 / -1}.tableWrap{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);overflow:hidden;overflow-x:auto}table{border-collapse:collapse;caption-side:bottom;min-width:900px;width:100%}th,td{border-bottom:1px solid hsl(var(--border));padding:1rem;text-align:left;vertical-align:middle;white-space:nowrap}th{color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:hsl(var(--muted) / .5)}tbody tr:last-child td{border-bottom:0}.iconAction{align-items:center;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));display:inline-flex;height:2rem;justify-content:center;padding:0;width:2rem}.iconAction:hover,.iconAction:focus-visible{border-color:hsl(var(--primary));color:hsl(var(--primary))}.destructiveAction:hover,.destructiveAction:focus-visible{border-color:hsl(var(--destructive));color:hsl(var(--destructive))}.skeletonRow:hover{background:transparent}.skeletonBar{animation:skeletonPulse 1.15s ease-in-out infinite;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--border)) 45%,hsl(var(--muted)));background-size:220% 100%;border-radius:999px;display:block;height:.75rem;min-width:2.5rem}@keyframes skeletonPulse{0%{background-position:100% 0}to{background-position:-100% 0}}.tableState{color:hsl(var(--muted-foreground));height:6rem;text-align:center}.pagination,.actions{align-items:center;border-top:1px solid hsl(var(--border));display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.pagination{align-items:center;justify-content:space-between;width:100%}.paginationMeta,.paginationControls{align-items:center;display:flex;gap:.75rem}.paginationMeta label{align-items:center;color:hsl(var(--muted-foreground));display:flex;font-size:.875rem;gap:.5rem}.paginationMeta select{min-height:2rem;padding:0 .5rem;width:4.375rem}.pagination button{height:2rem;min-height:2rem;padding:0;width:2rem}.pagination span{font-size:.875rem;font-weight:500}.pagination button,.actions button{background:hsl(var(--background));border:1px solid hsl(var(--input));color:hsl(var(--foreground))}.pagination button:hover,.actions button:hover{background:hsl(var(--secondary))}.actions .primary{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.actions .primary:hover{background:hsl(var(--background));border-color:hsl(var(--primary));color:hsl(var(--primary))}.formGrid{display:grid;gap:1.5rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1100px;padding:1.5rem}.formGrid12{grid-template-columns:repeat(24,minmax(0,1fr))}.linkedTaskGrid{grid-template-columns:repeat(12,minmax(0,1fr))}.formGrid12{max-width:1280px}.fieldCol{grid-column:span 6;min-width:0}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}.col-13{grid-column:span 13}.col-14{grid-column:span 14}.col-15{grid-column:span 15}.col-16{grid-column:span 16}.col-17{grid-column:span 17}.col-18{grid-column:span 18}.col-19{grid-column:span 19}.col-20{grid-column:span 20}.col-21{grid-column:span 21}.col-22{grid-column:span 22}.col-23{grid-column:span 23}.col-24{grid-column:1 / -1}.releaseDateField{max-width:19rem}.releaseDateControl{align-items:center;display:flex;gap:.5rem}.releaseDateControl input{text-align:center;width:4.25rem}.releaseDateControl input:last-child{width:5.5rem}.formGrid label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.fieldCol:has(input:disabled),.fieldCol:has(select:disabled),.fieldCol:has(textarea:disabled){color:hsl(var(--muted-foreground))}.fieldCol input:disabled,.fieldCol select:disabled,.fieldCol textarea:disabled{color:hsl(var(--muted-foreground));cursor:not-allowed}.fieldActionControl{display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr) 2.75rem}.fieldActionControl button{align-items:center;background:hsl(var(--background));border:1px solid hsl(var(--input));color:hsl(var(--foreground));display:inline-flex;justify-content:center;min-height:2.75rem;padding:0}.fieldActionControl button:hover,.fieldActionControl button:focus-visible{border-color:hsl(var(--primary));color:hsl(var(--primary))}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,:root.dark input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}.wide{grid-column:1 / -1}.requiredMark{color:hsl(var(--destructive));margin-left:.25rem}.message{background:hsl(var(--destructive) / .15);border-radius:var(--radius);color:hsl(var(--destructive));font-size:.875rem;padding:.75rem 1rem}.successMessage{background:hsl(var(--accent) / .14);color:hsl(var(--accent))}.modalBackdrop{align-items:center;background:hsl(var(--foreground) / .45);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1.5rem;position:fixed;z-index:50}.modalPanel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 1.5rem 4rem hsl(var(--foreground) / .22);color:hsl(var(--card-foreground));display:grid;gap:1rem;max-width:28rem;padding:1.25rem;width:min(100%,28rem)}.catalogPickerPanel{max-width:64rem;width:min(100%,64rem)}.catalogPickerTable{max-height:min(60vh,34rem);overflow:auto}.catalogPickerTable tbody tr{cursor:pointer}.modalHeader{align-items:center;display:flex;justify-content:space-between}.modalHeader h2{font-size:1.125rem;margin:0}.modalHeader button{background:transparent;border:0;color:hsl(var(--muted-foreground));font-size:1.5rem;height:2rem;line-height:1;padding:0;width:2rem}.modalPanel label{color:hsl(var(--foreground));display:grid;font-size:.875rem;font-weight:500;gap:.375rem}.passwordControl{display:grid;position:relative}.passwordControl input{padding-right:2.75rem}.passwordControl button{align-items:center;background:transparent;border:0;color:hsl(var(--muted-foreground));display:inline-flex;height:2.25rem;justify-content:center;padding:0;position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:2.25rem}.passwordControl button:hover,.passwordControl button:focus-visible{color:hsl(var(--foreground))}.modalActions{align-items:center;display:flex;gap:.75rem;justify-content:flex-end}.modalActions button{background:hsl(var(--background));border:1px solid hsl(var(--input));color:hsl(var(--foreground))}.modalActions .primary{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dashboardGrid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.metricCard{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 1px 2px hsl(var(--foreground) / .05);color:hsl(var(--foreground));display:grid;gap:.75rem;min-height:7rem;padding:1.5rem;text-align:left;transition:border-color .14s ease,transform .14s ease}.metricCard:hover{border-color:hsl(var(--primary) / .45);transform:translateY(-1px)}.metricCard span{align-items:center;color:hsl(var(--muted-foreground));display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.metricCard strong{color:hsl(var(--primary));font-size:1.25rem;line-height:1}.detailLayout{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.3fr) minmax(20rem,.7fr);margin-top:1.5rem}.detailLayout>section{padding:1.5rem}.definitionList{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.definitionList div,.taskList div{border-bottom:1px solid hsl(var(--border));padding-bottom:.625rem}.definitionList dt{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.definitionList dd{color:hsl(var(--foreground));font-size:.875rem;font-weight:400;margin:0;overflow-wrap:anywhere}.taskList,.eventList{display:grid;gap:.625rem}.taskList div,.eventList button{display:grid;gap:.25rem}.eventList button{background:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));padding:.75rem;text-align:left}.eventList small{color:hsl(var(--muted-foreground));line-height:1.6}.sidebarFooter{border-top:1px solid hsl(var(--border));display:grid;gap:.625rem;margin-top:auto;padding:1rem}.userButton{align-items:center;display:flex;gap:.625rem}.userButton img{border-radius:999px;height:2.125rem;object-fit:cover;width:2.125rem}.userMenu{background:hsl(var(--secondary));border-radius:var(--radius);padding:.375rem}.userMenu button:hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.themeChoice{color:hsl(var(--muted-foreground));display:grid;font-size:.875rem;gap:.375rem}.themeChoice>span{align-items:center;display:inline-flex;gap:.5rem}.themeChoice select{min-height:2.25rem}.uploadField{align-items:center;display:flex;gap:.875rem}.uploadAvatarButton{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:999px;cursor:pointer;height:4rem;overflow:hidden;padding:0;width:4rem}.uploadAvatarButton:hover,.uploadAvatarButton:focus-visible{border-color:hsl(var(--primary));outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.uploadAvatarButton:disabled{cursor:not-allowed;opacity:.6}.uploadField img{display:block;height:4rem;object-fit:cover;width:4rem}.visuallyHiddenFile{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.fileError{color:hsl(var(--destructive));font-size:.8125rem;font-weight:500}.accessEditor{border-top:1px solid hsl(var(--border));display:grid;gap:.75rem 2rem;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:1rem}.accessEditor h2{grid-column:1 / -1}.accessRow{align-items:center;border-bottom:0;display:flex!important;gap:.625rem;justify-content:flex-start;min-width:0;padding:.125rem 0}.accessRow:last-child{border-bottom:0}.accessRow .switchControl{flex:0 0 auto}.accessRow>span{font-weight:400;min-width:0;overflow-wrap:anywhere}.tabs{background:hsl(var(--muted) / .55);border:1px solid hsl(var(--border));border-radius:var(--radius);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;overflow:hidden;padding:.25rem}.tabs button{align-items:center;background:transparent;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));display:inline-flex;font-weight:600;justify-content:center;min-height:2.75rem;padding:0 1rem;text-align:center;width:100%}.tabs button.active{background:hsl(var(--background));border-color:hsl(var(--primary));box-shadow:0 1px 2px hsl(var(--foreground) / .08);color:hsl(var(--primary))}.linkedTasks,.linkedTaskGrid{display:grid;gap:1rem}.linkedTasks{border-top:1px solid hsl(var(--border));padding-top:1rem}.subsectionTitle{color:hsl(var(--foreground));font-size:1rem;font-weight:700}.inlineActions{border-top:0;padding-top:0}.signalControl{align-items:center;display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr) 2.75rem}.signalControl input[type=color]{cursor:pointer;min-height:2.5rem;padding:.25rem}.statusBadge{align-items:center;display:inline-flex;gap:.5rem}.statusBadge span{border:1px solid hsl(var(--border));border-radius:.25rem;height:.875rem;width:.875rem}.taskMeta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}@media(min-width:768px){.contentInner{padding:1.5rem}h1{font-size:1.875rem}}@media(max-width:1023px){.appShell{grid-template-columns:1fr}.contentInner{padding-top:4.5rem}.sidebar{bottom:0;box-shadow:0 10px 24px hsl(var(--foreground) / .18);left:0;max-width:18rem;position:fixed;top:0;transform:translate(-100%);transition:transform .18s ease;width:82vw;z-index:50}.sidebar.open{transform:translate(0)}.mobileBackdrop{background:#00000080;border:0;display:block;top:0;right:0;bottom:0;left:0;padding:0;position:fixed;z-index:40}.menuToggle{left:1rem;position:fixed;top:.75rem;z-index:39;display:inline-flex}.content:before{background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));content:"";height:3.5rem;left:0;position:fixed;right:0;top:0;z-index:38}.toolbar{align-items:stretch;flex-direction:column}.importPanel{align-items:stretch;grid-template-columns:1fr}.toolbar input,.toolbar button,.pageAction{max-width:none;width:100%}.recordSummary{text-align:left}.searchField,.searchField input{max-width:none}.pageHeader{align-items:flex-start;flex-direction:column}.pagination{align-items:stretch;flex-direction:column}.paginationMeta,.paginationControls{flex-wrap:wrap;justify-content:space-between}.formGrid,.formGrid12,.linkedTaskGrid,.accessEditor,.detailLayout,.definitionList{grid-template-columns:1fr}.fieldCol,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-13,.col-14,.col-15,.col-16,.col-17,.col-18,.col-19,.col-20,.col-21,.col-22,.col-23,.col-24{grid-column:1 / -1}.releaseDateField{max-width:none}}
