*{box-sizing:border-box;-webkit-text-size-adjust:100%;margin:0;padding:0}body{color:#333;background:linear-gradient(135deg,#dbeef4 0%,#f5f7fa 100%);min-height:100vh;font-family:游ゴシック体,YuGothic,游ゴシック Medium,Yu Gothic Medium,游ゴシック,Yu Gothic,sans-serif}html,body,*{-moz-text-size-adjust:100%!important;text-size-adjust:100%!important}
.nav{box-sizing:border-box;z-index:1000;background:linear-gradient(135deg,#31859c 0%,#215968 100%);width:100vw;margin-left:calc(50% - 50vw);padding:.8rem 2rem;position:sticky;top:0;box-shadow:0 2px 10px #0000001a}.nav-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.nav-title{color:#fff;white-space:nowrap;align-items:center;gap:10px;font-size:1.3rem;font-weight:700;display:flex}.nav-buttons{gap:.8rem;display:flex}.nav-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;transition:all .3s}.nav-btn:hover{background:#fff3;transform:translateY(-2px)}.nav-btn.active{background:#4bacc6;border-color:#4bacc6}.nav-btn-sm{background:#0003;border-color:#0000;padding:.3rem .6rem;font-size:.8rem}.nav-mobile-icons{align-items:center;gap:4px;display:none}.nav-icon-btn{cursor:pointer;color:#fff;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background .2s;display:flex}.nav-icon-btn:hover{background:#ffffff26}.nav-hamburger{cursor:pointer;color:#fff;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;transition:background .2s;display:flex}.nav-hamburger:hover{background:#ffffff26}.nav-hamburger-bar{background:currentColor;border-radius:1px;width:22px;height:2px;transition:transform .3s,opacity .3s;display:block}.nav-menu-mobile-wrapper{z-index:1001;pointer-events:none;padding-top:4px;padding-right:.5rem;position:absolute;top:100%;right:0}.nav-menu-mobile-wrapper .nav-menu-mobile{pointer-events:auto}.nav-menu-mobile{background:#fff;border:1px solid #0000000f;border-radius:10px;flex-direction:column;min-width:240px;padding:.5rem 0;display:none;box-shadow:0 4px 16px #0000001f}.nav-menu-mobile--open{display:flex}.nav-menu-mobile-item{color:#333;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:.6rem 1rem;font-size:.95rem;transition:background .2s;display:flex}.nav-menu-mobile-item:hover{background:#0000000d}.nav-menu-mobile-item.active{background:#31859c1a}.nav-menu-mobile-item.active,.nav-menu-mobile-item.active svg{color:#31859c}.nav-menu-mobile-item:not(.nav-menu-mobile-item--logout){color:#333}.nav-menu-mobile-item:not(.nav-menu-mobile-item--logout) svg{color:#5f9ea0;flex-shrink:0}.nav-menu-mobile-item svg{flex-shrink:0}.nav-menu-mobile-item--logout,.nav-menu-mobile-item--logout svg{color:#d9534f}.nav-menu-mobile-divider{border-top:1px solid #eee;height:0;margin:.25rem 0}.nav-menu-mobile-item--logout{color:#c62828}.nav-menu-mobile-item--logout:hover{background:#c6282814}@media (max-width:768px){.nav{position:relative}.nav-title-icon,.nav-buttons{display:none}.nav-mobile-icons{display:flex}}
.container{max-width:1400px;margin:1rem auto;padding:0 1.5rem;overflow-x:hidden}.grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.split-map-report{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;display:grid}
.card{word-break:break-all;overflow-wrap:break-word;background:#fff;border-radius:10px;flex-direction:column;min-width:0;height:100%;margin-bottom:1rem;padding:1rem;transition:all .3s;display:flex;box-shadow:0 4px 6px #00000012}.card .report-block,.card .report-section,.card .report-section-item,.card .report-title-section{word-break:break-all;overflow-wrap:break-word;min-width:0}.card .report-block *,.card .report-section *,.card .report-section-item *{word-break:break-all;overflow-wrap:break-word}.card .schedule-table td,.card .schedule-table th,.card .visitors-table td,.card .visitors-table th,.card .special-reports-table td,.card .special-reports-table th{word-break:break-all;overflow-wrap:break-word;white-space:normal}.card .schedule-table .schedule-date-col,.card .visitors-table .visitor-date-col{white-space:nowrap}.card-header{color:#31859c;border-bottom:2px solid #dbeef4;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding-bottom:.4rem;font-size:1.1rem;font-weight:600;display:flex}.card.news-list{height:250px;min-height:250px;max-height:250px;transition:height .3s,max-height .3s;overflow:hidden}.card.news-list .card-header{flex-shrink:0}.card.news-list .simple-list{flex:1;min-height:0;overflow:hidden}.card.news-list .show-all-link{flex-shrink:0}.card.news-list.expanded{height:auto;min-height:250px;max-height:none}.card.news-list.expanded .simple-list{overflow-y:visible}@media (max-width:768px){.card.news-list{height:auto;min-height:100px;max-height:none}.card.news-list .simple-list{flex:0 auto}.card.news-list.expanded{min-height:0}}.simple-list{flex:1;margin:0;padding:0;list-style:none}.simple-list.scrollable-list{max-height:300px;overflow:hidden auto}.simple-list.scrollable-list::-webkit-scrollbar{width:6px}.simple-list.scrollable-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.simple-list.scrollable-list::-webkit-scrollbar-thumb{background:#31859c;border-radius:3px}.simple-list.scrollable-list::-webkit-scrollbar-thumb:hover{background:#215968}.simple-list li{color:#333;cursor:pointer;border-bottom:1px solid #eee;align-items:start;padding:.5rem 0;font-size:.9rem;line-height:1.4;transition:color .2s;display:flex}.simple-list li:last-child{border-bottom:none}.simple-list li.location-header{border-top:none!important;border-bottom:none!important}.simple-list li:hover{color:#31859c}.simple-list li:hover .simple-list-item-text{text-decoration:underline}.simple-list li:hover .badge-new,.simple-list li:hover .risk-tag,.simple-list li:hover .status-unread,.simple-list li:hover .status-read{text-decoration:none!important}.show-all-link{text-align:right;margin-top:auto;padding-top:.5rem;font-size:.85rem}.show-all-link a{color:#31859c;text-decoration:none}.show-all-link a:hover{text-decoration:underline}.show-more-button{color:#31859c;cursor:pointer;background:#fff;border:1px solid #4bacc6;border-radius:8px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;transition:all .18s}.show-more-button:hover{background:#f0fbff;transform:translateY(-2px);box-shadow:0 6px 12px #4bacc614}@media (max-width:768px){.show-more-button{width:100%}}
.summary-header{align-items:center;gap:10px;margin-bottom:1rem;display:flex}.summary-header-title{color:#31859c;flex-wrap:wrap;align-items:baseline;gap:0 .25em;margin:0;display:inline-flex}@media (max-width:768px){.summary-header-title{flex-direction:column;align-items:flex-start;gap:0;display:flex}.summary-header-period{display:block}.summary-header .calendar-btn-container{margin-left:auto}}
.calendar-btn-container{display:inline-block;position:relative}.calendar-btn{color:#4bacc6;cursor:pointer;background:#fff;border:1px solid #4bacc6;border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;transition:all .2s;display:flex}.calendar-btn:hover{background:#f0f9ff;box-shadow:0 2px 5px #0000001a}.calendar-icon{fill:currentColor;width:18px;height:18px}.modal-overlay{z-index:999;background:#00000059;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.calendar-box{background:#fff;border-radius:14px;flex-direction:column;width:340px;max-height:90dvh;margin:auto;padding:16px;display:flex;overflow-y:auto;box-shadow:0 10px 30px #00000026}.calendar-header{margin-bottom:8px}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600;display:flex}.calendar-nav button{cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;padding:4px 10px}.calendar-range-inputs{align-items:center;gap:8px;margin-bottom:6px;display:flex}.calendar-range-inputs label{color:#555;flex-direction:column;font-size:.75rem;display:flex}.calendar-range-inputs input{border:1px solid #ccc;border-radius:8px;padding:6px 8px;font-size:.85rem}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-grid.header{color:#888;margin-bottom:4px;font-size:.75rem}.calendar-day{cursor:pointer;border-radius:8px;padding:8px 0}.calendar-day:hover{background:#eee}.calendar-day.outside{color:#bbb}.calendar-day.selected{color:#fff;background:#4bacc6}.calendar-day.in-range{background:#4bacc640}.calendar-actions{justify-content:space-between;margin-top:10px;display:flex}.calendar-actions button{cursor:pointer;border:none;border-radius:8px;padding:6px 14px}.calendar-actions .sub{background:#eee}.calendar-actions .main{color:#fff;background:#4bacc6}
.badge-new{color:#fff;vertical-align:.15em;white-space:nowrap;background:#f44;border-radius:4px;margin-right:6px;padding:1px 5px;font-size:.7rem;font-weight:700;animation:2s infinite pulse-red;box-shadow:0 2px 4px #ff44444d}@keyframes pulse-red{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.risk-tag{vertical-align:.15em;white-space:nowrap;border-radius:4px;margin-right:6px;padding:1px 6px;font-size:.75rem;font-weight:700;display:inline-block}.risk-tag.high{color:#c62828;background:#ffebee;border:1px solid #ef5350}.risk-tag.medium{color:#f57c00;background:#fff8e1;border:1px solid #ffa726}.risk-tag.low{color:#2e7d32;background:#e8f5e9;border:1px solid #66bb6a}
.map-header-flex{justify-content:flex-start;align-items:center;gap:20px;display:flex}@media (max-width:768px){.map-header-flex{flex-direction:column;align-items:flex-start;gap:.5rem}}.map-select-box{color:#333;cursor:pointer;background:#fff;border:1px solid #31859c;border-radius:4px;padding:.2rem .5rem;font-size:.9rem}.map-container{background:linear-gradient(135deg,#93cddd 0%,#4bacc6 100%);border-radius:12px;flex-direction:column;flex:1;width:100%;height:400px;min-height:400px;padding:0;display:flex;position:relative;overflow:hidden}#realMap{z-index:1;border-radius:0 0 12px 12px;width:100%;height:100%;min-height:400px}.custom-marker{text-shadow:0 0 3px #fff;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.leaflet-tooltip{white-space:normal;color:#333;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box;background:#fffffffa;border:1px solid #4bacc6;border-radius:6px;width:400px;max-width:90vw;padding:8px 12px;font-family:Segoe UI,sans-serif;font-size:.9rem;line-height:1.5;box-shadow:0 4px 15px #0003}.custom-map-tooltip{-webkit-user-select:none;user-select:none;white-space:normal!important;color:#333!important;word-wrap:break-word!important;overflow-wrap:break-word!important;word-break:break-word!important;box-sizing:border-box!important;background:#fffffffa!important;border:1px solid #4bacc6!important;border-radius:6px!important;width:400px!important;max-width:90vw!important;padding:0!important;font-family:Segoe UI,sans-serif!important;font-size:.9rem!important;line-height:1.3!important;overflow:visible!important;box-shadow:0 4px 15px #0003!important}.custom-map-tooltip-inner{flex-direction:row;align-items:stretch;min-height:0;display:flex}.custom-map-tooltip-scroll{touch-action:pan-y;overscroll-behavior:contain;flex:1;min-width:0;max-height:11.5em;padding:10px 14px;overflow:hidden auto}.custom-map-tooltip--scrollable .custom-map-tooltip-scroll{scrollbar-width:none;-ms-overflow-style:none}.custom-map-tooltip--scrollable .custom-map-tooltip-scroll::-webkit-scrollbar{display:none}.custom-map-tooltip-scrollbar{flex-shrink:0;width:0;overflow:hidden}.custom-map-tooltip--scrollable .custom-map-tooltip-scrollbar{width:10px;margin-left:2px;padding:8px 0}.custom-map-tooltip-scrollbar-track{background:#00000014;border-radius:3px;width:6px;height:100%;min-height:60px;margin:0 auto;position:relative}.custom-map-tooltip-scrollbar-thumb{cursor:grab;background:#31859c;border-radius:3px;width:6px;min-height:20px;transition:background .15s;position:absolute;left:0;right:0}.custom-map-tooltip-scrollbar-thumb:hover{background:#215968}.custom-map-tooltip-scrollbar-thumb:active{cursor:grabbing}.custom-map-tooltip .tooltip-category{margin:0;padding:0}.custom-map-tooltip .tooltip-category-with-spacing{margin-top:12px}.custom-map-tooltip .tooltip-category-title,.custom-map-tooltip .tooltip-category-items{margin:0;padding:0}.custom-map-tooltip .tooltip-news-item{margin:0 0 2px;padding:0}.custom-map-tooltip .tooltip-news-item:last-child{margin-bottom:0}.report-section-item h3{color:#31859c;margin-bottom:1rem;font-size:1.2rem}.tooltip-expand-link{color:#31859c!important;cursor:pointer!important;margin-top:4px!important;font-size:.85rem!important;text-decoration:underline!important;transition:color .2s!important;display:inline-block!important}.tooltip-expand-link:hover{color:#215968!important;text-decoration:underline!important}.marker-cluster-container{align-items:flex-end;display:flex;position:relative;overflow:visible!important}.marker-main-icon{z-index:5;flex-shrink:0;position:relative}.marker-secondary-icons{z-index:4;align-items:center;gap:2px;margin-left:4px;display:flex;position:relative}.marker-count-badge{color:#333;z-index:10;background-color:#fff;border:1px solid #ddd;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px #0000004d}.marker-count-badge-small{color:#333;z-index:10;background-color:#fff;border:1px solid #ddd;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 3px #0000004d}.map-stats-box{z-index:500;background:#fff;border-radius:6px;padding:.4rem;font-family:Segoe UI,sans-serif;font-size:.75rem;position:absolute;bottom:5px;left:5px;box-shadow:0 2px 8px #0003}.leaflet-control-container .leaflet-top,.leaflet-control-container .leaflet-bottom,.leaflet-control-container,.leaflet-control{z-index:500!important}.leaflet-popup-content-wrapper{border-radius:6px;padding:0;box-shadow:0 3px 10px #0003}.leaflet-popup-content{flex-direction:row;justify-content:center;align-items:center;gap:8px;margin:5px 8px;display:flex}.popup-row{white-space:nowrap;align-items:center;gap:2px;display:flex}.popup-icon{font-size:1rem}.popup-count{font-size:.9rem;font-weight:700}.map-icon-pin{background:0 0!important;border:none!important}.map-icon-pin-wrap{line-height:0}
.other-reports-section{margin-bottom:2rem}.other-report-content{-moz-text-size-adjust:100%;text-size-adjust:100%;color:#2c2c2c;background:#f8f9fa;border-radius:6px;margin-bottom:1rem;padding:1rem;font-size:1rem;line-height:1.6}.other-report-content p{margin:0 0 .5rem}.other-report-content p:last-child{margin-bottom:0}.other-report-content strong{font-weight:700}.other-report-image{object-fit:cover;width:calc(33.333% - 10px);min-width:200px;height:auto}.schedule-table,.visitors-table,.special-reports-table{border-collapse:collapse;border:1px solid #ddd;width:100%;margin-bottom:1rem}.schedule-table th,.visitors-table th,.special-reports-table th{text-align:left;white-space:nowrap;background:#f8f9fa;border:1px solid #ddd;padding:.8rem;font-size:1rem;font-weight:600}.schedule-table td,.visitors-table td,.special-reports-table td{border:1px solid #ddd;padding:.8rem;font-size:1rem;line-height:1.6}.schedule-table tbody tr:hover,.visitors-table tbody tr:hover,.special-reports-table tbody tr:hover{background:#f8f9fa}.report-section ul,ol{list-style-position:inside}@media (max-width:768px){.visitors-section .visitors-mobile-header{background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 0;display:flex!important}.visitors-section .visitors-mobile-header-icon{background:#fdfdf5;border:1px solid #e5e5e5;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.1rem;line-height:1;display:flex}.visitors-section .visitors-mobile-header-title{color:#000;flex:1;font-size:.95rem;font-weight:700}.visitors-section .visitors-count{color:gray;background:#fff;border-radius:12px;flex-shrink:0;padding:.25rem .6rem;font-size:.8rem}.visitors-section .visitors-desktop-title{display:none!important}.visitors-section .visitors-table-wrap{max-width:100%;overflow-x:hidden}.visitors-section .visitors-table,.visitors-section .visitors-table th,.visitors-section .visitors-table td{border-style:none!important;border-width:0!important}.visitors-section .visitors-table{border:none;display:block}.visitors-section .visitors-table thead{display:none}.visitors-section .visitors-table tbody{display:block}.visitors-section .visitors-table tbody tr.visitor-card{box-sizing:border-box;background:#fff;border:1px solid #eee;border-left:4px solid #7a9df7;border-radius:8px;max-width:100%;margin-bottom:.6rem;padding:.75rem .9rem;display:block;position:relative;box-shadow:0 1px 4px #0000000f}.visitors-section .visitors-table tbody tr.visitor-card:hover{background:#fff}.visitors-section .visitors-table tbody td{line-height:1.4;display:block;border:none!important;padding:.25rem 0!important}.visitors-section .visitors-table .visitor-name-col{box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;color:#333;max-width:100%;margin-bottom:.35rem;padding-bottom:0;font-size:1rem;font-weight:700;padding-right:4rem!important}.visitors-section .visitors-table .visitor-name-col .visitor-name-main{color:#000}.visitors-section .visitors-table .visitor-name-col .visitor-name-desc{color:#999;font-weight:400}.visitors-section .visitors-table .visitor-date-col{box-sizing:border-box;text-align:right;width:3rem;min-width:3rem;position:absolute;top:.75rem;right:.9rem;margin:0!important;padding:0!important}.visitors-section .visitors-table .visitor-date-badge{color:#555;background:#efefef;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;display:inline-block}.visitors-section .visitors-table .visitor-matter-col,.visitors-section .visitors-table .visitor-location-col{vertical-align:top;margin-right:.2rem;padding:0;display:inline-block!important}.visitors-section .visitor-tag{color:#333;border-radius:6px;padding:.25rem .5rem;font-size:.8rem;display:inline-block}.visitors-section .visitor-tag--matter{color:#1cac89;background:#ebfbf5}.visitors-section .visitor-tag--matter:before{content:"📄 ";color:#bebebe;font-size:.75em}.visitors-section .visitor-tag--location{color:#6e32c8;background:#f5f0ff}.visitors-section .visitor-tag--location:before{content:"📍 ";color:#c83232;font-size:.75em}}.special-reports-table tbody tr.highlighted{background:#fff3cd!important;border:2px solid #ffc107!important}@media (max-width:768px){.special-reports-section .special-reports-mobile-header{background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 0;display:flex!important}.special-reports-section .special-reports-mobile-header-icon{background:#fdfdf5;border:1px solid #e5e5e5;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.1rem;line-height:1;display:flex}.special-reports-section .special-reports-mobile-header-title{color:#000;flex:1;font-size:.95rem;font-weight:700}.special-reports-section .special-reports-count{color:gray;background:#fff;border-radius:12px;padding:.25rem .6rem;font-size:.8rem}.special-reports-section .special-reports-desktop-title{display:none!important}.special-reports-section .special-reports-mobile-cards{display:block!important}.special-reports-section .special-reports-table-wrap{display:none!important}.special-report-card{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;background:#fff;border:1px solid #eee;border-radius:10px;margin-bottom:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000000f}.special-report-card:focus,.special-report-card:focus-visible{box-shadow:0 1px 3px #0000000f;outline:none!important}.special-report-card *{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}.special-report-card:last-child{margin-bottom:0}.special-report-card-summary{cursor:pointer;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;list-style:none;display:flex}.special-report-card-summary::-webkit-details-marker{display:none}.special-report-card-summary{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}.special-report-card-summary:focus,.special-report-card-summary:focus-visible{box-shadow:none!important;outline:0 #0000!important}.special-report-card-summary::-moz-focus-inner{border:none!important;padding:0!important}.special-report-badge{color:#fff;background:#4264f5;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.95rem;font-weight:700;display:flex}.special-report-card:nth-child(3n+1) .special-report-badge{background:#4264f5}.special-report-card:nth-child(3n+2) .special-report-badge{background:#de942c}.special-report-card:nth-child(3n+3) .special-report-badge{background:#44a889}.special-report-card-head{flex:1;min-width:0}.special-report-category{color:#888;margin-bottom:.25rem;font-size:.75rem;display:block}.special-report-title{color:#2c2c2c;margin-bottom:.4rem;font-size:1rem;font-weight:700;line-height:1.3;display:block}.special-report-chips{flex-wrap:wrap;gap:.3rem;display:flex}.special-report-chip{border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.special-report-chip--client{color:#d95b72;background:#fdf5f6}.special-report-chip--req{color:#d78b2d;background:#fefbf2}.special-report-chevron{color:#888;transform-origin:50%;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;pointer-events:none;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;transition:none;display:flex;transform:rotate(-90deg);box-shadow:0 1px 3px #0000000f}.special-report-chevron .special-report-chevron-svg{width:1rem;height:1rem;display:block}.special-report-card[open] .special-report-chevron{color:#3f5ff9;background:#f0f5ff;border:1px solid #c2d9ff;border-radius:10px;transform:rotate(90deg)}.special-report-card[open] .special-report-badge{border-radius:6px}.special-report-card-body{border-top:1px solid #f0f0f0;padding:.85rem 1rem 1rem 3.75rem}.special-report-card-body .special-report-submitter{color:#555;margin-bottom:.5rem;font-size:.9rem}.special-report-card-content{color:#2c2c2c;font-size:.9rem;line-height:1.6}.special-report-card-content .content-subheading{color:#888;margin-top:.75rem;margin-bottom:.35rem;font-size:.9rem}.special-report-card-content .content-subheading:first-child{margin-top:0}.special-report-card-content p{margin:0 0 .5rem}.special-report-card-content p:last-child{margin-bottom:0}.special-report-card-content strong{font-weight:700}.special-report-card-content .achievement-rate{color:#d4a017;font-weight:700}}.schedule-table{table-layout:auto}.schedule-table .schedule-date-col{white-space:nowrap;width:auto;min-width:4.5rem}.schedule-table .schedule-person-col{word-wrap:break-word;white-space:normal;overflow-wrap:break-word;width:auto}.schedule-person-header{flex-direction:column;align-items:center;gap:.5rem;display:flex}.schedule-person-image{object-fit:contain;width:120px;height:120px}.schedule-person-name{color:#333;font-size:.9rem;font-weight:600}.visitors-table{table-layout:auto}.visitors-table .visitor-name-col{white-space:nowrap;width:auto}.visitors-table .visitor-matter-col{word-wrap:break-word;white-space:normal;width:auto}.visitors-table .visitor-location-col,.visitors-table .visitor-date-col{white-space:nowrap;width:auto}.special-reports-table{table-layout:auto}.special-reports-table .report-no-col{width:50px;min-width:50px;max-width:50px}.special-reports-table .report-category-col,.special-reports-table .report-requirement-col{width:auto;min-width:120px}.special-reports-table .report-client-col{white-space:nowrap;width:auto;min-width:5.5rem}.special-reports-table thead .report-client-col{white-space:nowrap}.special-reports-table .report-project-col{white-space:nowrap;width:auto;min-width:5.5em}.special-reports-table .report-submitter-col{white-space:nowrap;width:auto;min-width:5em}.special-reports-table .report-content-col{word-wrap:break-word;white-space:normal;width:auto}.report-title-section{margin-bottom:2rem}.report-title-section h2{color:#31859c;margin:0 0 1rem;font-size:1.5rem}.report-title-section .meta-info{flex-wrap:wrap;display:flex}.report-title-section .meta-info>div{background:#f8f9fa;border-radius:4px;padding:.5rem 1rem}
.report-header{color:#fff;background:linear-gradient(135deg,#4bacc6 0%,#31859c 100%);border-radius:10px 10px 0 0;margin:-1rem -1rem .8rem;padding:.8rem}.report-meta{line-height:1.5}@media (max-width:768px){.report-header>div{margin-top:.25rem!important}.report-meta{margin-top:0!important;line-height:1.25!important}}.report-section{background:#f8f9fa;border-radius:8px;margin-bottom:.8rem;padding:.8rem}.report-section h3{color:#31859c;margin-bottom:.4rem;font-size:1rem}.report-tabs-container{-webkit-overflow-scrolling:touch;border-bottom:2px solid #e0e0e0;overflow:auto hidden}.report-tabs{background-color:#fff;flex-wrap:nowrap;gap:.5rem;min-width:min-content;display:flex}.report-tab{cursor:pointer;color:#666;white-space:nowrap;background:#f8f9fa;border:1px solid #ddd;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;flex-shrink:0;margin-bottom:-2px;margin-right:.25rem;padding:.75rem 1.5rem;font-size:.95rem;transition:all .3s}.report-tab:hover{color:#31859c;background:#e9ecef;border-color:#31859c}.report-tab.active{color:#31859c;background:#fff;border-width:1px 1px 3px;border-color:#31859c;font-weight:600;box-shadow:0 -2px 4px #31859c1a}.report-tab .tab-label{font-weight:inherit;min-width:7rem}.report-tab-contents{position:relative}.report-tab-content{display:none}.report-tab-content.active{display:block}.snippet-highlight{color:#c62828;background-color:#fff9c4;border-radius:3px;padding:2px 4px;font-weight:700}.report-content h3{color:#31859c;margin-top:2rem;margin-bottom:.4rem;font-size:1rem}.report-content table{border-collapse:collapse;width:100%;margin-top:8px}.report-content th,.report-content td{border:1px solid #eee;padding:6px;font-size:13px}.report-content th{white-space:nowrap}.summary-chat-answer-body table{border-collapse:collapse;background:#fff;border-radius:6px;width:100%;margin:.5rem 0;font-size:.85rem;overflow:hidden;box-shadow:0 1px 3px #00000014}.summary-chat-answer-body th,.summary-chat-answer-body td{text-align:left;background:#fff;border:1px solid #b8d4dc;padding:.5rem .6rem}.summary-chat-answer-body th{color:#fff;white-space:nowrap;letter-spacing:.02em;background:#31859c;font-size:.9em;font-weight:700}.summary-chat-answer-body tbody tr:nth-child(2n) th,.summary-chat-answer-body tbody tr:nth-child(2n) td{background:#e8f4f7}.summary-chat-answer-body{overflow-x:auto}.summary-chat-answer-body table{min-width:max-content}
.report-table-container{-webkit-overflow-scrolling:touch;border:1px solid #e6eef2;width:100%;max-width:2000px;overflow-x:auto}.report-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:1200px;font-size:15px}.report-table th{text-align:left;background-color:#f3f3f3;border-bottom:2px solid #31859c;padding:.6rem .8rem}.report-table th .col-header{color:#31859c;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:0;font-weight:700;display:inline-flex}.report-table th .col-header:focus{outline-offset:2px;outline:2px solid #31859c33}.report-table .chevron{color:#31859c;font-size:1rem}.report-table tbody tr:hover{background:#f6fbfc}.report-table td input[type=checkbox]{margin-left:0;transform:scale(1.1)}.report-table td.report-cell{padding:.6rem .8rem}.report-table td.report-empty{text-align:center;color:#666;padding:1rem}.report-detail-cell{background:#fff;padding:0}.report-detail-row .report-block{margin:0}.report-filter-panel{text-align:center;z-index:9999;background:#fff;border:1px solid #e6eef2;border-radius:8px;min-width:300px;padding:12px;display:block;position:absolute;box-shadow:0 6px 18px #00000014}.report-filter-panel .sort-btn-container{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.sort-btn-container .sort-btn{cursor:pointer;text-align:left;border:none;border-bottom:1px solid #cfdcdc;outline:none;flex:1;padding:6px 10px}.report-filter-panel .filter-label{color:#31859c;margin:8px 0;font-weight:600}.report-filter-panel .filter-input{margin-bottom:8px}.report-filter-panel .filter-btn{color:#fff;border:none;border-radius:4px;flex:1;padding:.5rem .7rem}.report-filter-panel select,.report-filter-panel input[type=text],.report-filter-panel input[type=date]{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;margin:0 auto;padding:6px;display:block;width:100%!important}.report-filter-panel input[type=date]{-webkit-appearance:none;min-width:0!important}@media screen and (max-width:768px){.report-table,.report-table th .col-header{font-size:12px}.report-table td.report-cell,.report-table th{padding:8px 6px}}
.chat-messages{background:#f8f9fa;border-radius:8px;flex:1;margin-bottom:1rem;padding:1rem;overflow-y:auto}.chat-input{border:2px solid #dbeef4;border-radius:8px;flex:1;padding:.8rem;font-size:.95rem}.chat-send{color:#fff;cursor:pointer;background:#4bacc6;border:none;border-radius:8px;padding:.8rem 1.5rem;font-weight:600;transition:all .3s}.summary-chatbox-container{flex-direction:column;display:flex;overflow:hidden}.summary-chat-header{color:#fff;background:#4bacc6;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-size:.9rem;font-weight:600;display:flex}.summary-chat-messages{background:#f5f7fa;flex:1;padding:.8rem;font-size:.85rem;overflow-y:auto}.summary-chat-messages ul{list-style-position:inside}.summary-chat-messages li>p{margin:0}.summary-chat-messages li>p:first-child{display:inline}.summary-chat-input-area{border-top:1px solid #dbeef4;gap:.4rem;padding:.5rem;display:flex}.summary-chat-input{border:1px solid #dbeef4;border-radius:6px;flex:1;padding:.4rem .5rem;font-size:.85rem}.summary-chat-send{color:#fff;cursor:pointer;background:#4bacc6;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}.summary-chat-rating-wrap{align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.summary-chat-copy-btn{color:#ccc}.summary-chat-copy-btn:hover{color:#678}.summary-chat-other-textarea::placeholder{color:#aaa;font-weight:300}.summary-chat-button{color:#fff;cursor:pointer;z-index:1600;background:#4bacc6;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.4rem;display:none;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 15px #00000040}
.search-results-modal{background:#fff;border-radius:12px;width:600px;max-height:80vh;padding:2rem;overflow-y:auto}.search-result-item{cursor:pointer;border-bottom:1px solid #eee;padding:1rem}.search-result-item:hover{background:#f9f9f9}.history-table{border-collapse:collapse;width:100%;margin-top:1rem}.history-table th,.history-table td{text-align:left;border-bottom:1px solid #eee;padding:.8rem;font-size:.9rem}.history-table th{color:#31859c;background-color:#f5f7fa;font-weight:600}.history-search-input{border:1px solid #dbeef4;border-radius:6px;width:100%;margin-top:.5rem;margin-bottom:.5rem;padding:.6rem;font-size:.95rem}.file-icon{text-align:center;font-size:1.4rem;display:block}
