:root{color:#102445;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--blue-900:#092f67;--blue-700:#075dcc;--blue-600:#086df0;--blue-100:#edf5ff;--blue-050:#f7faff;--line:#cbd9ec;--muted:#5e6f89;--danger:#e31e2f;--green:#19a630;--shadow:0 16px 42px #183e761c;--text:#5e6f89;--text-h:#102445;--accent:#086df0;--accent-border:#5b9df4;--border:#cbd9ec;--border-strong:#91a8c8;--surface:#fff;--surface-strong:#fff;--social-bg:#edf5ff;--danger-bg:#fff0f1;--sans:"Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--heading:var(--sans);--shell-width:min(1480px, 100%);--header-height:76px;background:#f4f7fc;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 14% 5%,#6a9dea24,#0000 30%),linear-gradient(#f8faff 0%,#f1f5fb 100%);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none}#root{min-height:100vh}.app-screen-layout{min-height:100vh;padding-top:var(--header-height);padding-bottom:112px}.app-screen-content{min-height:calc(100vh - var(--header-height) - 112px)}.page-shell{width:min(1480px,100% - 40px);margin:0 auto;padding:20px 0 36px}.page-header{grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:24px;min-height:64px;margin-bottom:18px;display:grid}.page-header h1{color:var(--blue-900);letter-spacing:.04em;text-align:center;margin:0;font-size:clamp(30px,3vw,44px);line-height:1.2}.user-menu{justify-content:flex-end;align-items:center;gap:12px;display:flex}.logged-in-user{color:#075dcc;white-space:nowrap;background:#ffffffd6;border:1px solid #a9c2eb;border-radius:999px;align-items:center;min-width:0;padding:8px 12px;font-size:13px;display:inline-flex}.header-login-user{text-overflow:ellipsis;max-width:min(360px,42vw);overflow:hidden}.header-login-user strong,.header-login-user .logged-in-id{text-overflow:ellipsis;min-width:0;overflow:hidden}.logged-in-user.operator{color:#176d2b;border-color:#93c7a0}.logged-in-user.admin{color:#a11d2c;border-color:#dfa4ab}.system-topbar .logged-in-user{color:#fff;background:#ffffff1a;border-color:#ffffff8c}.back-button,.edit-button{border:1.5px solid var(--blue-600);width:fit-content;min-height:52px;color:var(--blue-700);cursor:pointer;background:#ffffffc7;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-weight:700;text-decoration:none;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.back-button:hover,.edit-button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 7px 18px #086df01f}.edit-button{justify-self:end}.header-spacer{display:block}.button{color:#fff;cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:0 28px;font-weight:700;text-decoration:none;transition:transform .16s,filter .16s,box-shadow .16s;display:inline-flex;box-shadow:0 7px 18px #1b478324}.button:hover{filter:brightness(1.03);transform:translateY(-2px);box-shadow:0 10px 24px #1b478333}.button-primary{background:linear-gradient(135deg,#0874f8,#0759df)}.button-danger{background:linear-gradient(135deg,#f32a3c,#df1528)}.button-csv{background:linear-gradient(135deg,#27b840,#13952c)}.button-outline{border:1.5px solid var(--blue-600);color:var(--blue-700);background:#fff}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mock-screen-layout{min-height:100vh;padding-top:var(--header-height);background:radial-gradient(circle at 15% 10%,#086df02e,#0000 34%),linear-gradient(135deg,#f8fbff,#edf3fc);padding-bottom:112px}.login-page{min-height:calc(100vh - var(--header-height) - 112px);place-items:center;padding:40px 24px;display:grid;position:relative}.login-back-button{z-index:1;top:24px;left:24px;position:absolute!important}.login-panel{background:#fffffff5;border:1px solid #cbd9ec;border-radius:24px;width:min(1180px,100%);padding:clamp(32px,5vw,64px);box-shadow:0 24px 60px #183e7626}.login-panel .eyebrow{color:var(--blue-600);letter-spacing:.16em;text-align:center;margin:0;font-size:13px;font-weight:800}.login-panel h1{color:var(--blue-900);text-align:center;margin:10px 0 12px;font-size:clamp(34px,4vw,50px)}.login-guidance{color:var(--muted);text-align:center;margin:0;font-size:17px}.login-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px;display:grid}.login-role-card{color:#155baa;cursor:pointer;background:linear-gradient(160deg,#fff,#f3f8ff);border:1.5px solid #bdd0eb;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:280px;padding:30px 24px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;box-shadow:0 10px 24px #1e427414}.login-role-card:hover{border-color:var(--blue-600);transform:translateY(-5px);box-shadow:0 18px 34px #1e427429}.login-role-card.operator{color:#1b7b39}.login-role-card.admin{color:#a82031}.login-role-card strong{color:#111d33;font-size:25px}.login-role-card small{min-height:44px;color:var(--muted);font-size:15px;line-height:1.6}.login-role-card b{color:#fff;background:#155baa;border-radius:999px;margin-top:8px;padding:10px 16px;font-size:14px}.login-role-card.operator b{background:#1b7b39}.login-role-card.admin b{background:#a82031}.system-menu-page{background:#f4f5f8;flex-direction:column;align-items:center;min-height:100vh;display:flex}.system-topbar{color:#fff;background:#244591;justify-content:space-between;align-items:center;gap:24px;width:100%;min-height:108px;padding:0 clamp(28px,7vw,126px);display:flex;box-shadow:0 3px 10px #112b642e}.system-topbar h1{letter-spacing:.03em;margin:0;font-size:clamp(24px,2.4vw,38px)}.system-topbar-right{align-items:center;gap:30px;font-size:22px;display:flex}.system-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;width:min(1400px,100% - 48px);margin-top:92px;display:grid}.system-cards.single-card{grid-template-columns:minmax(0,680px);justify-content:center}.system-card{background:#fff;border:1px solid #d8dce5;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;min-height:510px;padding:46px;animation:.45s both rise-in;display:flex;box-shadow:0 7px 16px #1c294429}.system-card:nth-child(2){animation-delay:80ms}.system-card-icon{color:#1767f6}.system-card h2{color:#080d15;margin:48px 0 24px;font-size:clamp(30px,3vw,44px)}.system-card p{color:#617088;margin:0 0 76px;font-size:clamp(17px,1.8vw,25px)}.system-card .button{min-width:168px}.system-logout{cursor:pointer;background:#fff;border:1px solid #ccd3df;border-radius:12px;margin:62px 0 40px;padding:16px 28px;font-size:20px;font-weight:700}.data-table{border-collapse:collapse;color:#101827;width:100%;min-width:820px}.data-table th,.data-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #d7dfeb;border-right:1px solid #d7dfeb;padding:11px 14px}.data-table th:last-child,.data-table td:last-child{border-right:0}.data-table tr:last-child td{border-bottom:0}.data-table th{color:#091323;background:linear-gradient(#f6f8fc,#edf1f7);font-weight:700}.data-table tbody tr{transition:background .14s}.data-table tbody tr:hover,.data-table tbody tr.selected{background:#edf6ff}.mypage{width:min(1420px,100% - 40px)}.mypage-nav{justify-content:space-between;align-items:center;min-height:58px;display:flex}.standalone-title{color:#111d33;text-align:center;margin:-12px 0 24px;font-size:clamp(34px,4vw,50px)}.user-card{background:linear-gradient(105deg,#f8fbff,#edf5ff);border:1px solid #bfd2ed;border-radius:12px;grid-template-columns:88px 250px 1fr auto;align-items:center;gap:28px;min-height:150px;padding:28px 42px;display:grid;position:relative;box-shadow:0 8px 22px #244b8314}.user-avatar{width:78px;height:78px;color:var(--blue-600);border:2px solid #a9c2eb;border-radius:50%;place-items:center;display:grid}.user-card h2{color:#0759bb;margin:0;font-size:28px}.user-meta p{color:#111;margin:8px 0;font-size:20px}.role-chip{color:#a11d2c;background:#fff8f8;border:1px solid;border-radius:7px;align-self:start;padding:7px 14px;font-weight:700}.role-chip.general{color:#075dcc;background:#f5f9ff}.role-chip.operator{color:#176d2b;background:#f3fff5}.role-switch{background:#fff;border:1px solid #c8d6e9;border-radius:10px;width:fit-content;margin:20px auto 0;padding:4px;display:flex}.role-switch button{color:#53647d;cursor:pointer;background:0 0;border:0;border-radius:7px;min-width:120px;padding:9px 16px;font-weight:700}.role-switch button.active{color:#fff;background:var(--blue-700)}.mypage-primary-actions{justify-content:center;gap:44px;margin:22px 0 26px;display:flex}.outline-action{color:#176d2b;cursor:pointer;background:#fff;border:1.5px solid #226c36;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-width:250px;min-height:55px;font-size:19px;font-weight:700;display:inline-flex}.mypage-section{background:#fffffff5;border:1px solid #d9e1ec;border-radius:11px;margin-top:12px;padding:18px;box-shadow:0 8px 24px #223f6814}.mypage-section-title{color:#075dcc;align-items:center;gap:10px;margin:0 0 14px;font-size:24px;display:flex}.admin-filter{grid-template-columns:230px 1fr 110px;align-items:center;gap:16px;margin-bottom:14px;display:grid}.compact-search{color:#fff;cursor:pointer;background:#17812d;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:50px;font-weight:700;display:inline-flex}.admin-table{min-width:1000px}.admin-table input{width:19px;height:19px;accent-color:var(--blue-600)}.bulk-return-button{color:#28743b;cursor:pointer;background:#fff;border:1.5px solid #348449;border-radius:7px;align-items:center;gap:8px;margin:14px 0 0 auto;padding:10px 18px;font-weight:700;display:flex}.record-status{color:#159331;font-weight:800}.record-status.reserved{color:#f08000}.record-status.returning{color:#d94f00}.record-status.disposed{color:#4b5563}.list-action-button{min-height:34px;color:var(--blue-700);cursor:pointer;background:#fff;border:1px solid;border-radius:6px;padding:5px 12px;font-size:14px;font-weight:700}.list-action-button.cancel{color:#c52837}.list-action-button.approve{color:#168032}.list-action-button.loan{color:#075dcc}.admin-secondary-lists{margin-top:18px}.row-detail{color:#101827;cursor:pointer;background:#fff;border:1px solid #d3dce9;border-radius:7px;place-items:center;min-width:44px;min-height:36px;font-size:28px;line-height:1;display:inline-grid}.operator-accordions{gap:18px;display:grid}.accordion-section{margin-top:0;padding:0;overflow:hidden}.accordion-heading{color:#0863dc;cursor:pointer;background:#fff;border:0;justify-content:space-between;align-items:center;width:100%;min-height:78px;padding:0 28px;font-size:22px;font-weight:700;display:flex}.accordion-heading>span:first-child{align-items:center;gap:12px;display:flex}.accordion-section.orange .accordion-heading{color:#f47a18}.accordion-chevron{font-size:34px;transition:transform .18s}.accordion-chevron.open{transform:rotate(180deg)}.accordion-content{padding:0 16px 16px}.search-page{width:min(1540px,100% - 30px)}.search-header{border-bottom:1px solid #cbd7e8;grid-template-columns:minmax(160px,1fr) auto minmax(300px,1fr);align-items:center;gap:20px;min-height:72px;display:grid}.search-header h1{color:#0b1322;letter-spacing:.1em;text-align:center;margin:0;font-size:clamp(30px,3vw,44px)}.search-header>:last-child{justify-self:end}.search-form{border-bottom:1px solid #cbd7e8;grid-template-columns:auto minmax(0,1148px) minmax(170px,210px);justify-content:center;align-items:center;gap:24px;padding:28px 16px 18px;display:grid}.search-form h2,.search-results h2{color:#101827;margin:0;font-size:20px}.search-fields{grid-template-columns:repeat(4,minmax(210px,260px));justify-content:center;align-items:center;gap:18px 44px;display:grid}.search-fields>*{align-self:center}.search-submit{justify-content:center;align-self:center;align-items:center;margin:0;display:flex}.search-submit .button{align-items:center;min-width:190px;min-height:64px;line-height:1}.search-results{background:#fffffff5;border:1px solid #d9e1ec;border-radius:11px;margin-top:18px;padding:18px;box-shadow:0 8px 24px #223f6814}.results-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.results-heading h2 span{color:var(--muted);margin-left:8px;font-size:14px;font-weight:500}.results-controls{align-items:center;gap:24px;display:flex}.page-size-control{color:var(--muted);align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.page-size-control select{border:1px solid var(--border);min-width:82px;min-height:40px;color:var(--text);font:inherit;background:#fff;border-radius:8px;padding:0 30px 0 12px}.pagination{align-items:center;gap:20px;font-weight:700;display:flex}.pagination button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:40px;height:40px;font-size:32px}.pagination button:hover:not(:disabled){background:var(--blue-100)}.pagination button:disabled{opacity:.25;cursor:default}.search-table{min-width:1300px}.sort-button{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-weight:700;display:inline-flex}.sort-button span{color:#6c788b;font-size:11px}.loan-badge{color:#fff;border-radius:5px;min-width:110px;padding:7px 11px;font-weight:800;display:inline-block}.loan-badge.available{background:#47a054}.loan-badge.loaned{background:#e42c36}.loan-badge.returning{background:#ed900d}.loan-badge.reserved{background:#7654c6}.loan-badge.disposed{background:#6b7280}.empty-result{color:var(--muted);padding:38px!important}.home-page{align-content:center;gap:30px;min-height:100vh;padding-top:64px;padding-bottom:64px;display:grid}.home-hero{max-width:860px;animation:.5s both rise-in}.eyebrow{color:var(--blue-600);letter-spacing:.22em;margin:0 0 10px;font-size:13px;font-weight:800}.home-hero h1{color:var(--blue-900);letter-spacing:-.04em;margin:0;font-size:clamp(42px,7vw,82px);line-height:1.1}.home-hero>p:last-child{color:var(--muted);margin:22px 0 0;font-size:18px}.home-panel{box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #acc2e1d9;border-radius:18px;justify-content:space-between;align-items:center;gap:30px;padding:32px 36px;animation:.5s .1s both rise-in;display:flex}.home-panel>div:first-child{grid-template-columns:auto 1fr;align-items:center;column-gap:14px;display:grid}.home-panel-icon{width:56px;height:56px;color:var(--blue-600);background:var(--blue-100);border-radius:14px;grid-row:1/4;place-items:center;display:grid}.home-panel-label,.home-book-meta{color:var(--muted);margin:0}.home-panel h2{color:var(--blue-900);margin:3px 0;font-size:25px}.home-actions{gap:14px;display:flex}.form-page{width:min(1200px,100% - 36px)}.form-header{grid-template-columns:minmax(140px,1fr) auto minmax(300px,1fr)}.book-form{background:#fffffff5;border:1px solid #d9e1ed;border-radius:10px;grid-template-columns:1fr 1fr;gap:13px 38px;padding:22px 34px 20px;animation:.4s both rise-in;display:grid;box-shadow:0 10px 35px #2d466b14}.field{min-width:0}.field-full{grid-column:1/-1}.field label,.field legend{color:#111b2a;margin-bottom:6px;font-weight:700;line-height:1.3;display:block}.required{color:#ed1225;margin-left:4px}.field input,.field select,.field textarea{color:#162238;background:#fff;border:1.5px solid #cbd4e2;border-radius:6px;outline:none;width:100%;min-height:48px;padding:10px 17px;transition:border-color .16s,box-shadow .16s}.field textarea{resize:vertical;min-height:70px}.field input::placeholder,.field textarea::placeholder{color:#8a97aa}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-600);box-shadow:0 0 0 3px #086df01f}.radio-field{border:0;margin:0;padding:0}.radio-row{align-items:center;gap:42px;min-height:31px;display:flex}.radio-row .radio-option{cursor:pointer;align-items:center;gap:9px;margin:0;font-weight:500;display:inline-flex}.radio-row .radio-option.disabled{color:var(--muted);cursor:not-allowed;opacity:.58}.radio-option input{width:21px;min-height:21px;accent-color:var(--blue-600);margin:0;padding:0}.field-guidance{color:var(--muted);margin:10px 0 0;font-size:13px}.form-footer{justify-content:flex-end;gap:18px;padding-top:4px;display:flex}.csv-guidance{color:var(--muted);text-align:right;margin:-8px 0 0;font-size:14px}.csv-result{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:14px 16px;font-size:14px}.csv-result p{margin:0}.csv-result.success{border-color:var(--green);color:var(--green)}.csv-result.has-errors{border-color:var(--danger);color:var(--danger)}.csv-result ul{max-height:260px;margin:10px 0 0;padding-left:22px;overflow-y:auto}.csv-result li+li{margin-top:4px}.csv-confirmation-message{color:var(--text);margin:8px 0 0;line-height:1.8}.csv-format-guide{max-height:min(68vh,640px);color:var(--text);gap:14px;padding-right:4px;line-height:1.7;display:grid;overflow-y:auto}.csv-format-guide p,.csv-format-guide dl{margin:0}.csv-format-list{gap:8px;display:grid}.csv-format-list div{background:#fbfdff;border:1px solid #d9e1ec;border-radius:8px;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:12px;padding:8px 10px;display:grid}.csv-format-list dt{color:#102445;font-weight:800}.csv-format-list dd{overflow-wrap:anywhere;min-width:0;margin:0}.csv-format-note{color:#a11d2c;background:#fff8f8;border:1px solid #f0c5cd;border-radius:8px;padding:10px 12px;font-weight:700}.csv-format-guide code{overflow-wrap:anywhere;border:1px solid var(--border);color:#24324a;background:#f7faff;border-radius:8px;padding:12px;font-size:13px;line-height:1.6;display:block}.detail-header{grid-template-columns:minmax(180px,1fr) auto minmax(430px,1fr)}.detail-header-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.detail-card{box-shadow:var(--shadow);background:#fffffff5;border-radius:12px;grid-template-columns:minmax(420px,.9fr) minmax(540px,1.1fr);gap:24px 36px;padding:32px;animation:.4s both rise-in;display:grid}.book-information,.book-actions-panel,.loan-history{min-width:0}.section-title{min-height:34px;color:var(--blue-700);letter-spacing:.02em;align-items:center;gap:10px;margin:0 0 18px;font-size:22px;display:flex}.detail-list{border:1px solid var(--line);border-radius:7px;margin:0;overflow:hidden}.detail-row{border-bottom:1px solid var(--line);grid-template-columns:33% 67%;min-height:37px;display:grid}.detail-row:last-child{border-bottom:0}.detail-row dt,.detail-row dd{align-items:center;margin:0;padding:7px 18px;display:flex}.detail-row dt{border-right:1px solid var(--line);color:#084f9e;background:linear-gradient(90deg,#f0f6ff,#f8fbff);font-weight:700}.detail-row dd{color:#142039;overflow-wrap:anywhere;min-width:0}.book-actions-panel{flex-direction:column;display:flex}.loan-status{color:#15243e;background:linear-gradient(110deg,#fff 20%,#fff1f1 100%);border:1.5px solid #ed3038;border-radius:8px;align-items:flex-start;gap:24px;min-height:170px;padding:24px 28px;display:flex}.loan-status-icon{color:#fff;background:linear-gradient(145deg,#ee252f,#c80010);border-radius:50%;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 7px 16px #cf00122e}.loan-status strong{color:#d21825;margin:5px 0 12px;font-size:25px;display:block}.loan-status p{margin:7px 0 0;font-size:17px}.loan-status.status-貸出可{background:linear-gradient(110deg,#fff 20%,#effbf1 100%);border-color:#3a9d50}.loan-status.status-貸出可 .loan-status-icon{background:linear-gradient(145deg,#41aa58,#18812d);box-shadow:0 7px 16px #18812d2e}.loan-status.status-貸出可 strong{color:#18812d}.loan-status.status-返却申請中{background:linear-gradient(110deg,#fff 20%,#fff7e9 100%);border-color:#e38911}.loan-status.status-返却申請中 .loan-status-icon{background:linear-gradient(145deg,#f2a42c,#d87900)}.loan-status.status-返却申請中 strong{color:#c86b00}.loan-status.status-予約中{background:linear-gradient(110deg,#fff 20%,#f5f0ff 100%);border-color:#7654c6}.loan-status.status-予約中 .loan-status-icon{background:linear-gradient(145deg,#8d6dde,#6541bd)}.loan-status.status-予約中 strong{color:#6541bd}.loan-status.status-disposed{background:linear-gradient(110deg,#fff 20%,#f3f4f6 100%);border-color:#6b7280}.loan-status.status-disposed .loan-status-icon{background:linear-gradient(145deg,#7a8491,#4b5563);box-shadow:0 7px 16px #4b55632e}.loan-status.status-disposed strong{color:#4b5563}.book-action-auth-fields{gap:16px;margin-top:22px;display:grid}.action-confirmation,.return-approval-confirmation,.return-request-form{color:var(--text)}.action-confirmation dl,.return-approval-confirmation dl{gap:16px;margin:20px 0 28px;display:grid}.action-confirmation dl div,.return-approval-confirmation dl div{grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:16px;display:grid}.action-confirmation dt,.return-approval-confirmation dt{color:var(--blue-800);font-weight:700}.action-confirmation dd,.return-approval-confirmation dd{margin:0;font-size:18px}.action-confirmation>p,.return-approval-confirmation>p{color:var(--blue-800);margin:0;font-size:17px;font-weight:600}.return-request-form{gap:22px;padding-top:8px;display:grid}.return-request-form>p{margin:0}.return-comment-preview{margin-bottom:24px}.return-comment-preview strong{color:var(--blue-800)}.return-comment-preview p{border:1px solid var(--border);background:var(--surface);white-space:pre-wrap;border-radius:8px;min-height:72px;margin:8px 0 0;padding:14px}.modal-input-error{color:var(--danger);margin:-4px 0 0;font-size:14px;font-weight:700}.field-error{color:var(--danger);margin:6px 0 0;font-size:14px;font-weight:700}.bulk-return-confirmation ul{gap:10px;margin:20px 0;padding-left:24px;display:grid}.bulk-return-confirmation li strong{margin-right:12px}.bulk-return-confirmation>p{color:var(--blue-800);margin:0;font-weight:600}.detail-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-top:auto;padding-top:34px;display:grid}.detail-actions button{color:#080d15;cursor:pointer;background:#fff;border:1.5px solid #161616;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:100px;font-size:21px;font-weight:700;transition:transform .16s,color .16s,border-color .16s,box-shadow .16s;display:flex}.detail-actions button:hover{border-color:var(--blue-600);color:var(--blue-700);transform:translateY(-3px);box-shadow:0 10px 24px #16407b21}.loan-history{grid-column:1/-1}.loan-history-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.loan-history-heading .section-title{margin-bottom:0}.history-edit-actions{align-items:center;gap:10px;display:flex}.history-button{border:1px solid var(--blue-600);min-height:40px;color:var(--blue-700);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 17px;font-weight:700;display:inline-flex}.history-button.primary{color:#fff;background:var(--blue-700)}.history-button.secondary{color:#52637a;border-color:#aab7c9}.history-edit-guidance{color:var(--muted);margin:-5px 0 12px;font-size:14px}.loan-history input[type=checkbox]{width:19px;height:19px;accent-color:var(--blue-600)}.loan-history tr.history-hidden-row td{color:#8995a8;background:#f5f7fa}.loan-history .empty-history{color:var(--muted);text-align:center;padding:32px}.table-scroll{border:1px solid var(--line);border-radius:7px;width:100%;max-width:100%;overflow-x:auto}.loan-history table{border-collapse:collapse;color:#152038;width:100%;min-width:850px}.loan-history th,.loan-history td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:10px 16px}.loan-history th:last-child,.loan-history td:last-child{border-right:0}.loan-history tr:last-child td{border-bottom:0}.loan-history th{color:#0754a8;background:linear-gradient(#f2f7ff,#eaf2fe);font-weight:700}.loan-history td:last-child{text-align:left}.toast-message{color:#084f9e;background:#f2f7ff;border:1px solid #a8c8f4;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;max-width:620px;margin:0 0 16px auto;padding:13px 16px 13px 20px;font-weight:700;display:flex;box-shadow:0 6px 18px #1f488017}.toast-message button{color:#55708f;cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=1050px){.login-role-grid{grid-template-columns:1fr}.login-role-card{min-height:210px}.system-cards{gap:24px}.user-card{grid-template-columns:80px 210px 1fr}.role-chip{position:absolute;top:18px;right:18px}.search-form{grid-template-columns:1fr;justify-items:center}.search-form h2{width:min(100%,680px)}.search-fields{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,680px)}.search-submit{justify-content:flex-end;width:min(100%,680px)}.detail-card{grid-template-columns:1fr}.loan-history{grid-column:auto}.detail-actions{margin-top:0}.detail-header{grid-template-columns:minmax(150px,1fr) auto minmax(300px,1fr)}}@media (width<=760px){.page-shell,.form-page{width:100%;max-width:100%;margin:0;padding-top:12px;padding-left:12px;padding-right:12px}.page-header,.form-header{grid-template-columns:auto 1fr auto;gap:10px}.system-topbar{min-height:82px;padding:0 16px}.login-page{padding:16px 12px}.login-panel{border-radius:16px;padding:28px 18px}.login-role-grid{gap:14px;margin-top:26px}.login-role-card{min-height:190px}.system-topbar-right>span{display:none}.system-cards{grid-template-columns:1fr;width:calc(100% - 24px);margin-top:28px}.system-card{min-height:350px;padding:30px 20px}.system-card h2{margin:26px 0 14px}.system-card p{text-align:center;margin-bottom:32px}.system-logout{margin-top:28px}.mypage,.search-page{width:100%;max-width:100%;padding-left:12px;padding-right:12px}.standalone-title{margin-top:4px}.user-card{grid-template-columns:70px 1fr;gap:12px 18px;padding:24px 18px}.user-avatar{grid-row:1/3;width:66px;height:66px}.user-card h2{font-size:21px}.user-meta{grid-column:1/-1}.user-meta p{font-size:16px}.role-switch{width:100%}.role-switch button{flex:1;min-width:0;padding-left:6px;padding-right:6px;font-size:13px}.mypage-primary-actions{flex-direction:column;gap:10px}.outline-action{width:100%}.admin-filter{grid-template-columns:1fr}.compact-search{min-height:48px}.accordion-heading{min-height:68px;padding:0 18px;font-size:17px}.search-header{grid-template-columns:52px 1fr auto;gap:8px}.search-header h1{letter-spacing:0;font-size:23px}.search-header .MuiButton-root{width:48px;min-width:48px;height:48px;padding:0;font-size:0;overflow:hidden}.search-header .MuiButton-startIcon{margin:0}.logged-in-user{padding:7px 9px;font-size:11px}.header-login-user{max-width:46vw}.user-menu{gap:6px}.search-fields{grid-template-columns:1fr;gap:14px}.search-submit{justify-content:stretch}.search-submit .button{width:100%}.results-heading{flex-direction:column;align-items:flex-start}.results-controls{flex-direction:column;align-items:flex-end;width:100%}.pagination{justify-content:flex-end;width:100%}.page-header h1{letter-spacing:0;font-size:25px}.back-button,.edit-button{white-space:nowrap;text-indent:-999px;gap:20px;width:46px;min-height:46px;padding:0;overflow:hidden}.back-button svg,.edit-button svg{text-indent:0}.book-form{grid-template-columns:1fr;gap:18px;padding:22px 18px}.field-full{grid-column:auto}.form-footer{flex-wrap:wrap}.form-footer .button{flex:140px}.csv-format-list div{grid-template-columns:1fr;gap:2px}.home-page{align-content:start;padding-top:80px}.home-panel{flex-direction:column;align-items:stretch;padding:24px}.home-actions{flex-direction:column}.detail-card{width:100%;max-width:100%;padding:22px 16px;overflow:hidden}.detail-row{grid-template-columns:minmax(0,38%) minmax(0,62%)}.detail-row dt,.detail-row dd{padding:8px 10px;font-size:14px}.loan-status{min-height:0;padding:20px}.detail-actions{grid-template-columns:1fr;gap:12px;padding-top:22px}.detail-actions button{min-height:66px}.loan-history-heading{flex-direction:column;align-items:flex-start}.history-edit-actions{justify-content:flex-end;width:100%}}@media (width<=430px){.page-header h1{font-size:22px}.radio-row{gap:24px}.loan-status{gap:14px}.loan-status-icon{width:52px;height:52px}}.users-list{background-color:#e8e8e8;width:100%;min-height:100vh}#root{background-color:#e8e8e8;width:100%;min-height:100%;margin:0;padding:0}.search-container{background-color:#fff;border-radius:15px;margin:20px;padding:20px}.section-title{color:#000;text-align:left;margin-top:40px;margin-bottom:15px;font-size:20px}.search-form{align-items:center;gap:10px;display:flex}.search-select,.department-select{color:#000;background-color:#fff;border:1px solid #000;padding:5px}.search-select{padding-right:50px}.search-input{color:#000;background-color:#fff;border:1px solid #000;flex:1;margin-left:10px;padding:5px}.search-button{white-space:nowrap;padding:5px 15px}.result-container{background-color:#fff;margin-top:30px}.result-title{color:#000;text-align:left;padding-bottom:20px;font-size:20px}.user-table{border-collapse:collapse;text-align:left;width:100%}.user-table thead{background-color:#bce0ea;border-bottom:2px solid #2c5a9c;height:60px}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.user-row{cursor:pointer;border-bottom:1px solid #ddd}.user-row:hover{background-color:#f0f8ff}.user-table td{padding:15px}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 5px;margin:20px 0;display:flex}.pagination .page-button{white-space:nowrap;cursor:pointer;color:#000;background-color:#fff;border:1px solid #ccc;border-radius:4px;justify-content:center;align-items:center;width:auto;min-width:36px;height:32px;padding:5px 12px;font-size:14px;display:inline-flex}.page-button.active{color:#fff;background-color:#2c5a9c}.create-button-container{justify-content:flex-end;margin-top:20px;padding-right:30px;display:flex}.create-button{color:#fff;cursor:pointer;background-color:#2c5a9c;border:none;border-radius:50%;width:60px;height:60px;font-size:32px}.login-container{background-color:#e8e8e8;flex-direction:column;min-height:100vh;display:flex}.login-main{flex:1;justify-content:center;align-items:center;padding:30px;display:flex}.login-card{background-color:#fff;border-radius:10px;width:100%;max-width:480px;padding:40px;box-shadow:0 2px 8px #00000026}.login-title{text-align:center;color:#000;margin-bottom:30px}.form-group{text-align:left;margin-bottom:20px}.form-group-label{color:#000;margin-bottom:8px;display:block}.login-input{box-sizing:border-box;border:1px solid #ccc;border-radius:5px;width:100%;padding:10px}.password-wrapper{position:relative}.password-input{box-sizing:border-box;border:1px solid #ccc;border-radius:5px;width:100%;padding:10px 40px 10px 10px}.password-toggle{cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.error-message{color:red;margin-top:5px;font-size:15px}.login-button{color:#fff;cursor:pointer;background-color:#4285f4;border:none;border-radius:5px;width:100%;padding:12px;font-size:16px}.login-button:hover{background-color:#3367d6}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-links{text-align:center;color:#000;margin-top:25px;font-size:14px}.link-button{color:#4285f4;cursor:pointer;background:0 0;border:none;margin-left:5px}.link-button:hover{text-decoration:underline}
