:root{color:#1d2524;background:#f4f6f5;font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f6f5}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}.app-shell{width:min(1480px,100%);margin:0 auto;padding:24px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.app-header span,.panel-title span,.detail-header span,.register-modal header span{display:block;color:#65736f;font-size:.82rem;font-weight:700}.app-header h1,.panel-title h2,.detail-header h2,.register-modal h2{margin:3px 0 0;color:#16211f;line-height:1.08}.app-header h1{font-size:clamp(2rem,4vw,3.4rem)}.header-actions,.control-row,.view-tabs,.modal-actions,.section-heading,.memo-item>div,.farm-note-actions{display:flex;align-items:center;gap:10px}.primary-button,.ghost-button,.icon-button,.view-tabs button,.barn-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:8px;white-space:nowrap}.primary-button{background:#10624c;color:#fff;border-color:#10624c;padding:0 15px;font-weight:800}.primary-button:hover{background:#0b4f3d}.primary-button.full,.ghost-button.full{width:100%}.ghost-button{background:#fff;color:#20302d;border-color:#d7dfdc;padding:0 14px;font-weight:800}.ghost-button:hover{border-color:#9fb0aa;background:#f9fbfa}.ghost-button.compact{min-height:30px;padding:0 10px;font-size:.82rem}.icon-button{width:40px;padding:0;background:#f7f9f8;color:#263733;border-color:#d8e0dd}.icon-button:hover{background:#edf3f0}.icon-button.small{width:30px;min-height:30px}.auth-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.auth-panel{display:grid;gap:14px;width:min(440px,100%);padding:24px;border:1px solid #dce4e1;border-radius:8px;background:#fff}.auth-panel>span{color:#65736f;font-size:.82rem;font-weight:800}.auth-panel h1{margin:0;color:#16211f;font-size:1.8rem}.auth-panel p{margin:0;color:#5a6864;line-height:1.55}.auth-panel label{display:grid;gap:6px;color:#52625e;font-size:.86rem;font-weight:800}.auth-panel input{width:100%;height:44px;border:1px solid #d7dfdc;border-radius:8px;padding:0 12px}.auth-panel .remember-row{display:flex;align-items:center;gap:8px;width:fit-content}.auth-panel .remember-row input{width:18px;height:18px;padding:0;accent-color:#10624c}.auth-message{padding:10px 12px;border-radius:8px;background:#edf3f0;color:#20302d;font-weight:700}.sync-error{margin-bottom:14px;padding:12px 14px;border:1px solid #f0b9b6;border-radius:8px;background:#fff5f4;color:#9c2f2d;font-weight:800}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.stat-card{display:flex;align-items:center;gap:12px;width:100%;min-height:82px;padding:16px;text-align:left;border:1px solid #dce4e1;border-radius:8px;background:#fff;color:#1d2524}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:#9fb0aa;background:#f9fbfa;box-shadow:0 8px 20px #21302d14}.stat-card.green.clickable.active{border-color:#10624c;background:#f2faf7;box-shadow:0 8px 20px #10624c1a}.stat-card.red.clickable.active{border-color:#b93a38;background:#fff7f7;box-shadow:0 8px 20px #b93a381a}.stat-card.blue.clickable.active{border-color:#315f91;background:#f4f8fd;box-shadow:0 8px 20px #315f911a}.stat-card>div{min-width:0}.stat-card svg{flex:0 0 auto}.stat-card span{display:block;color:#65736f;font-size:.84rem;font-weight:700}.stat-card strong{display:block;margin-top:2px;font-size:1.55rem}.stat-breakdown{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.stat-breakdown span{display:inline-flex;align-items:center;min-height:24px;padding:0 7px;border-radius:7px;background:#edf3f0;color:#40504c;font-size:.76rem}.stat-breakdown.large span{min-height:32px;padding:0 10px;font-size:.94rem;font-weight:900}.stat-breakdown.split{gap:8px}.stat-breakdown.split span{min-height:30px;padding:0 10px;font-size:.9rem;font-weight:900}.stat-card.blue svg{color:#315f91}.stat-card.green svg{color:#10624c}.stat-card.amber svg{color:#9a640d}.stat-card.red svg{color:#b93a38}.control-row{flex-wrap:wrap;justify-content:space-between;margin-bottom:16px}.view-tabs,.sex-filter{min-width:248px;padding:4px;border:1px solid #d7dfdc;border-radius:8px;background:#fff}.sex-filter{display:inline-flex;align-items:center;gap:4px;min-width:0}.view-tabs button,.sex-filter button{flex:1;background:transparent;color:#5a6864;padding:0 14px;font-weight:800}.sex-filter button{min-height:40px;border:1px solid transparent;border-radius:8px;white-space:nowrap}.view-tabs button.active,.sex-filter button.active{background:#20302d;color:#fff}.search-box{display:flex;align-items:center;gap:9px;width:min(520px,100%);min-height:48px;padding:0 14px;border:1px solid #d7dfdc;border-radius:8px;background:#fff;color:#6a7773}.search-box input{width:100%;min-width:0;border:0;outline:0;color:#1d2524;background:transparent}.workspace{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px}.main-panel,.detail-panel{border:1px solid #dce4e1;border-radius:8px;background:#fff}.main-panel{min-height:620px;padding:18px}.panel-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h2{font-size:1.35rem}.panel-title>strong{color:#9a640d;font-size:.9rem}.cow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:12px}.cow-card{display:grid;gap:12px;width:100%;min-height:150px;padding:15px;text-align:left;border:1px solid #d9e2df;border-radius:8px;background:#fbfcfc;color:#20302d}.cow-card:hover,.cow-card.selected{border-color:#10624c;box-shadow:0 8px 20px #10624c1f}.cow-card-top,.cow-card-body,.cow-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.cow-card-top{justify-content:flex-start}.cow-card-animal{overflow-wrap:anywhere;font-size:1.08rem;font-variant-numeric:tabular-nums}.cow-card-short{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:30px;min-width:76px;padding:0 10px;border-radius:7px;background:#e8f1ee;color:#10624c}.cow-card-short strong{color:#315f91;font-size:1.06rem;font-weight:800}.cow-card-body{align-items:flex-start;flex-wrap:wrap;justify-content:flex-start;color:#40504c;font-size:1rem;font-weight:900}.cow-card-body span{padding:4px 7px;border-radius:7px;background:#eef3f1}.cow-card-bottom{color:#65736f;font-size:.94rem;font-weight:800}.cow-card-note{min-width:0;padding-top:2px;overflow:hidden;color:#20302d;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:500}.health-pill{max-width:150px;overflow:hidden;color:#7b4e07;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:900}.pregnancy-pill{flex:0 0 auto;padding:3px 7px;border-radius:7px;background:#f1e8f4;color:#6b3672;font-size:.92rem;font-weight:900}.detail-panel{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;padding:18px}.detail-header{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:16px}.detail-header h2{overflow-wrap:anywhere;font-size:1.55rem;font-variant-numeric:tabular-nums}.detail-number-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:3px}.detail-number-row h2{margin:0}.detail-header .detail-short-number{display:inline-flex;align-items:center;justify-content:center;min-height:38px;min-width:112px;padding:0 14px;border-radius:7px;background:#e8f1ee;color:#10624c;font-weight:900}.detail-header .detail-short-number strong{color:#0d5a46;font-size:1.35rem;font-weight:950;line-height:1}.edit-text-button{position:relative;z-index:2;flex:0 0 auto;min-height:42px;padding:0 18px;border:1px solid #10624c;border-radius:8px;background:#e8f3ef;color:#0d5a46;font-weight:900}.edit-text-button:hover{background:#d8ebe5}.edit-text-button.complete{background:#10624c;color:#fff}.edit-text-button.complete:hover{background:#0b4f3d}.info-list{display:grid;gap:8px}.info-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.info-item{display:grid;grid-template-columns:22px 88px minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:9px 10px;border:1px solid #e2e8e5;border-radius:8px;background:#fbfcfc}.info-item svg{color:#10624c}.info-item span{color:#65736f;font-size:.86rem;font-weight:700}.info-item strong{min-width:0;overflow-wrap:anywhere;font-size:.94rem}.detail-edit,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-edit label,.form-grid label,.wide-label,.wide-field{display:grid;gap:6px;color:#52625e;font-size:.84rem;font-weight:800}.trace-status{min-height:18px;color:#65736f;font-size:.78rem;font-weight:800}.trace-status.loading{color:#315f91}.trace-status.success{color:#10624c}.trace-status.error{color:#9b2f2f}.wide-field{grid-column:1 / -1}.detail-edit input,.detail-edit select,.detail-edit textarea,.form-grid input,.form-grid select,.farm-note-form input,.farm-note-form textarea,.farm-note-edit input,.farm-note-edit textarea,.wide-label textarea,.wide-field textarea,.memo-form textarea{width:100%;min-width:0;border:1px solid #d7dfdc;border-radius:8px;background:#fff;color:#182321;outline:0}.detail-edit input,.detail-edit select,.form-grid input,.form-grid select,.farm-note-form input,.farm-note-edit input{height:42px;padding:0 10px}.detail-edit textarea,.wide-field textarea{min-height:86px;padding:10px;resize:vertical;line-height:1.5}.detail-edit input[readonly]{background:#f1f5f3;color:#45534f}.detail-edit .full{grid-column:1 / -1}.radio-fieldset{grid-column:1 / -1;min-width:0;margin:0;padding:0;border:0}.radio-fieldset legend{margin-bottom:6px;color:#52625e;font-size:.84rem;font-weight:800}.radio-options{display:flex;flex-wrap:wrap;gap:8px}.radio-options label{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid #d7dfdc;border-radius:8px;background:#fff;color:#2c3b38;font-size:.9rem;font-weight:900}.radio-options label.selected{border-color:#10624c;background:#e8f3ef;color:#0d5a46}.radio-options input{width:15px;height:15px;accent-color:#10624c}.memo-section{margin-top:18px;padding-top:16px;border-top:1px solid #e2e8e5}.section-heading{justify-content:flex-start;margin-bottom:10px}.section-heading svg{color:#315f91}.section-heading span{color:#65736f;font-size:.9rem}.memo-form{display:grid;gap:10px}.memo-form textarea,.wide-label textarea{min-height:92px;resize:vertical;padding:10px;line-height:1.5}.memo-form .primary-button{justify-self:end}.memo-list{display:grid;gap:10px;margin-top:14px}.memo-item{padding:12px;border:1px solid #e0e8e5;border-radius:8px;background:#fbfcfc}.memo-item>div{justify-content:space-between;margin-bottom:8px}.memo-item span,.soft-text{color:#65736f;font-size:.83rem}.memo-delete-button{min-height:30px;padding:0 10px;border:1px solid #e2c6c6;border-radius:7px;background:#fff7f7;color:#9b2f2f;font-size:.82rem;font-weight:900}.memo-delete-button:hover{background:#ffecec;border-color:#d59b9b}.memo-item p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.55}.farm-notes{display:grid;gap:16px}.farm-note-form,.farm-note-edit{display:grid;gap:10px}.farm-note-form{padding:14px;border:1px solid #dfe7e4;border-radius:8px;background:#fbfcfc}.farm-note-form-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,.8fr);gap:10px}.farm-note-form label,.farm-note-edit label{display:grid;gap:6px;color:#52625e;font-size:.84rem;font-weight:800}.farm-note-form textarea,.farm-note-edit textarea{min-height:110px;padding:10px;resize:vertical;line-height:1.5}.farm-note-form .primary-button{justify-self:end}.farm-note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.farm-note-card{display:grid;gap:12px;padding:14px;border:1px solid #dfe7e4;border-radius:8px;background:#fff}.farm-note-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.farm-note-card header>div:first-child{min-width:0}.farm-note-card h3{margin:3px 0 0;color:#182321;font-size:1.05rem;overflow-wrap:anywhere}.farm-note-card header span,.farm-note-card footer{color:#65736f;font-size:.82rem;font-weight:800}.farm-note-card p{margin:0;color:#263733;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.farm-note-card footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid #edf2f0}.farm-note-actions{flex:0 0 auto;justify-content:flex-end}.empty-state,.empty-detail{display:grid;place-items:center;align-content:center;gap:8px;min-height:360px;color:#65736f;text-align:center}.empty-state strong,.empty-detail strong{color:#23332f;font-size:1.05rem}.barn-board{display:grid;gap:14px}.barn-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.barn-tabs button{flex:0 0 auto;min-width:88px;background:#f8faf9;color:#2c3b38;border-color:#dce4e1;padding:0 12px;font-weight:800}.barn-tabs button.active{background:#20302d;color:#fff;border-color:#20302d}.barn-tabs span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#ffffff2e}.pen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.pen-section{min-height:120px;border:1px solid #dfe7e4;border-radius:8px;background:#fbfcfc;overflow:hidden}.pen-section header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid #e1e8e5;background:#edf3f0}.pen-section header span{color:#65736f;font-size:.86rem;font-weight:800}.pen-list{display:grid;gap:7px;padding:10px}.pen-cow{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,auto);align-items:center;gap:8px;min-height:62px;padding:8px;text-align:left;border:1px solid #e0e8e5;border-radius:8px;background:#fff;color:#1d2524}.pen-cow:hover,.pen-cow.selected{border-color:#10624c;background:#f3faf7}.pen-cow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pen-cow-number{grid-row:1 / span 2}.pen-cow-number strong{display:block;font-size:1.03rem}.pen-cow-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;color:#1d2524;font-size:.98rem;font-weight:900}.pen-cow-meta span+span:before{content:"/";margin-right:5px;color:#65736f;font-weight:800}.pen-cow-health{justify-self:end;max-width:150px;color:#65736f;font-size:.9rem;font-weight:850}.pen-cow small{display:block;overflow:hidden;color:#65736f;font-variant-numeric:tabular-nums;text-overflow:ellipsis}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:18px;background:#0a121073}.detail-backdrop{z-index:20}.detail-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:8px;background:#fff;box-shadow:0 20px 50px #0000002e}.dialog-close{position:absolute;top:14px;right:14px;z-index:3}.detail-dialog .detail-panel{position:static;max-height:none;overflow:visible;border:0;padding:20px 128px 20px 20px}.detail-dialog .detail-header{padding-right:16px}.register-modal{width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:20px;border-radius:8px;background:#fff;box-shadow:0 20px 50px #0000002e}.register-modal header{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.wide-label{margin-top:12px}.modal-actions{justify-content:flex-end;margin-top:16px}@media(max-width:1120px){.workspace{grid-template-columns:1fr}.detail-panel{position:static;max-height:none}}@media(max-width:760px){.app-shell{padding:16px}.app-header,.control-row,.panel-title{align-items:stretch;flex-direction:column}.header-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.header-actions button{padding:0 8px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.view-tabs,.sex-filter,.search-box{width:100%}.main-panel,.detail-panel{padding:14px}.detail-dialog .detail-panel{padding:16px}.detail-dialog .detail-header{padding-right:58px}.form-grid,.detail-edit,.farm-note-form-row,.pen-grid,.cow-grid{grid-template-columns:1fr}}@media(max-width:480px){.stat-row,.header-actions{grid-template-columns:1fr}.info-item{grid-template-columns:22px minmax(78px,.7fr) minmax(0,1fr)}.info-row{grid-template-columns:1fr}.pen-cow{grid-template-columns:minmax(0,1fr)}.pen-cow-number{grid-row:auto}.pen-cow-meta{justify-content:flex-start}.pen-cow-health{justify-self:start;max-width:100%}}
