/* DriveLog Works — Plugin CSS */
:root {
  --dlw-navy:#1a3260;--dlw-navy-dark:#0f2040;--dlw-navy-light:#2a4a80;
  --dlw-blue:#3b82f6;--dlw-green:#16a34a;--dlw-orange:#ea580c;--dlw-red:#dc2626;
  --dlw-gray-50:#f8fafc;--dlw-gray-100:#f1f5f9;--dlw-gray-200:#e2e8f0;
  --dlw-gray-300:#cbd5e1;--dlw-gray-500:#64748b;--dlw-gray-700:#334155;--dlw-gray-900:#0f172a;
  --dlw-white:#ffffff;--dlw-radius:8px;
  --dlw-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08);
  --dlw-shadow-md:0 4px 6px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);
  --dlw-font-size-base:16px;--dlw-font-size-sm:14px;--dlw-font-size-lg:18px;--dlw-font-size-xl:22px;
}
.dlw-login-wrap,.dlw-dashboard,.dlw-form-page,.dlw-list-page,.dlw-detail-page,.dlw-summary-page,.dlw-export-page,.dlw-admin-page{max-width:900px;margin:0 auto;padding:16px;font-size:var(--dlw-font-size-base);color:var(--dlw-gray-900);line-height:1.6}
.dlw-page-title{font-size:var(--dlw-font-size-xl);font-weight:700;color:var(--dlw-navy);margin-bottom:16px;padding-bottom:8px;border-bottom:3px solid var(--dlw-navy)}
.dlw-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.dlw-login-card{background:var(--dlw-white);border-radius:var(--dlw-radius);box-shadow:var(--dlw-shadow-md);padding:32px 24px;max-width:440px;margin:40px auto}
.dlw-login-logo h1{font-size:24px;color:var(--dlw-navy);margin:0 0 4px;text-align:center}
.dlw-login-logo p{text-align:center;color:var(--dlw-gray-500);font-size:var(--dlw-font-size-sm);margin-bottom:24px}
.dlw-card{background:var(--dlw-white);border:1px solid var(--dlw-gray-200);border-radius:var(--dlw-radius);box-shadow:var(--dlw-shadow);padding:20px;margin-bottom:16px}
.dlw-card--stat{text-align:center;padding:20px 12px}
.dlw-card--green{border-top:4px solid var(--dlw-green)}.dlw-card--orange{border-top:4px solid var(--dlw-orange)}.dlw-card--red{border-top:4px solid var(--dlw-red)}.dlw-card--blue{border-top:4px solid var(--dlw-blue)}
.dlw-card__label{font-size:var(--dlw-font-size-sm);color:var(--dlw-gray-500);margin-bottom:8px}.dlw-card__value{font-size:22px;font-weight:700;color:var(--dlw-navy)}
.dlw-card-grid{display:grid;gap:12px;margin-bottom:20px}.dlw-card-grid--4{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.dlw-card-grid--4{grid-template-columns:repeat(4,1fr)}}
.dlw-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:12px 20px;font-size:var(--dlw-font-size-base);font-weight:600;border-radius:var(--dlw-radius);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s,color .2s;line-height:1;white-space:nowrap}
.dlw-btn--primary{background:var(--dlw-navy);color:var(--dlw-white)}.dlw-btn--primary:hover{background:var(--dlw-navy-dark);color:var(--dlw-white)}
.dlw-btn--secondary{background:var(--dlw-blue);color:var(--dlw-white)}.dlw-btn--secondary:hover{background:#2563eb;color:var(--dlw-white)}
.dlw-btn--success{background:var(--dlw-green);color:var(--dlw-white)}.dlw-btn--danger{background:var(--dlw-red);color:var(--dlw-white)}.dlw-btn--warning{background:var(--dlw-orange);color:var(--dlw-white)}
.dlw-btn--outline{background:transparent;border-color:var(--dlw-navy);color:var(--dlw-navy)}.dlw-btn--outline:hover{background:var(--dlw-navy);color:var(--dlw-white)}
.dlw-btn--ghost{background:transparent;border-color:var(--dlw-gray-300);color:var(--dlw-gray-700)}
.dlw-btn--block{width:100%}.dlw-btn--lg{padding:14px 24px;font-size:var(--dlw-font-size-lg)}.dlw-btn--sm{padding:8px 14px;font-size:var(--dlw-font-size-sm)}.dlw-btn--xs{padding:5px 10px;font-size:12px}
.dlw-btn:disabled{opacity:.5;cursor:not-allowed}.dlw-btn-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.dlw-action-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.dlw-form{display:flex;flex-direction:column;gap:0}
.dlw-form-section{background:var(--dlw-white);border:1px solid var(--dlw-gray-200);border-radius:var(--dlw-radius);padding:20px;margin-bottom:16px}
.dlw-form-section--alert{border-color:var(--dlw-orange);background:#fff7ed}.dlw-form-section--confirm{background:var(--dlw-gray-50);border:2px solid var(--dlw-navy)}
.dlw-form-section__title{font-size:var(--dlw-font-size-lg);font-weight:700;color:var(--dlw-navy);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--dlw-gray-200)}
.dlw-form-group{margin-bottom:16px}.dlw-form-row{display:grid;gap:12px;margin-bottom:16px}.dlw-form-row--2{grid-template-columns:1fr}.dlw-form-row--3{grid-template-columns:1fr}
@media(min-width:600px){.dlw-form-row--2{grid-template-columns:1fr 1fr}.dlw-form-row--3{grid-template-columns:1fr 1fr 1fr}}
.dlw-label{display:block;font-size:var(--dlw-font-size-sm);font-weight:600;color:var(--dlw-gray-700);margin-bottom:6px}.dlw-label--required::after{content:" ※";color:var(--dlw-red)}
.dlw-input,.dlw-select,.dlw-textarea{width:100%;padding:12px 14px;font-size:var(--dlw-font-size-base);border:2px solid var(--dlw-gray-300);border-radius:var(--dlw-radius);background:var(--dlw-white);color:var(--dlw-gray-900);box-sizing:border-box;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.dlw-input:focus,.dlw-select:focus,.dlw-textarea:focus{outline:none;border-color:var(--dlw-navy);box-shadow:0 0 0 3px rgba(26,50,96,.15)}
.dlw-input--readonly{background:var(--dlw-gray-100);color:var(--dlw-gray-700)}
.dlw-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23334155' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.dlw-textarea{resize:vertical;min-height:80px}
.dlw-file{width:100%;padding:10px;border:2px dashed var(--dlw-gray-300);border-radius:var(--dlw-radius);background:var(--dlw-gray-50);font-size:var(--dlw-font-size-sm);cursor:pointer}
.dlw-auto-label{font-size:11px;background:var(--dlw-blue);color:white;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}
.dlw-switch-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--dlw-font-size-base);padding:10px 0}
.dlw-switch-label input[type=checkbox]{width:22px;height:22px;cursor:pointer;flex-shrink:0}
.dlw-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:480px){.dlw-check-grid{grid-template-columns:repeat(4,1fr)}}
.dlw-check-item{display:flex;align-items:center;gap:8px;padding:10px;border:2px solid var(--dlw-gray-200);border-radius:var(--dlw-radius);cursor:pointer;font-size:var(--dlw-font-size-base);background:var(--dlw-white);transition:border-color .2s,background .2s}
.dlw-check-item:has(input:checked){border-color:var(--dlw-green);background:#f0fdf4}
.dlw-check-item input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
.dlw-check-confirm{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:var(--dlw-font-size-base);font-weight:600;color:var(--dlw-navy)}
.dlw-check-confirm input{width:24px;height:24px;flex-shrink:0;margin-top:2px}
.dlw-form-check{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.dlw-form-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding:16px 0;position:sticky;bottom:0;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);z-index:100;border-top:1px solid var(--dlw-gray-200);margin-top:8px}
.dlw-notice{padding:12px 16px;border-radius:var(--dlw-radius);font-size:var(--dlw-font-size-base);margin-bottom:16px;border-left:4px solid var(--dlw-gray-300);background:var(--dlw-gray-50)}
.dlw-notice--success{border-left-color:var(--dlw-green);background:#f0fdf4;color:#15803d}
.dlw-notice--error{border-left-color:var(--dlw-red);background:#fef2f2;color:#b91c1c}
.dlw-notice--info{border-left-color:var(--dlw-blue);background:#eff6ff;color:#1d4ed8}
.dlw-table-wrap{overflow-x:auto;border-radius:var(--dlw-radius);border:1px solid var(--dlw-gray-200);margin-bottom:16px}
.dlw-table{width:100%;border-collapse:collapse;font-size:var(--dlw-font-size-base)}
.dlw-table th{background:var(--dlw-navy);color:var(--dlw-white);padding:12px 14px;text-align:left;font-weight:600;white-space:nowrap}
.dlw-table td{padding:12px 14px;border-bottom:1px solid var(--dlw-gray-200);vertical-align:middle}
.dlw-table tbody tr:last-child td{border-bottom:none}.dlw-table tbody tr:hover{background:var(--dlw-gray-50)}
.dlw-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:700;white-space:nowrap}
.dlw-badge--draft{background:var(--dlw-gray-100);color:var(--dlw-gray-700)}.dlw-badge--submitted{background:#eff6ff;color:#1d4ed8}.dlw-badge--reviewing{background:#fefce8;color:#92400e}.dlw-badge--approved{background:#f0fdf4;color:#15803d}.dlw-badge--rejected{background:#fef2f2;color:#b91c1c}.dlw-badge--lg{padding:6px 16px;font-size:16px}
.dlw-detail-sections{display:grid;gap:16px;margin-bottom:24px}
.dlw-detail-section{background:var(--dlw-white);border:1px solid var(--dlw-gray-200);border-radius:var(--dlw-radius);padding:20px}
.dlw-detail-section h3{font-size:var(--dlw-font-size-base);font-weight:700;color:var(--dlw-navy);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--dlw-gray-200)}
.dlw-detail-section--alert{border-color:var(--dlw-red);background:#fef2f2}
.dlw-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:var(--dlw-font-size-base)}
.dlw-dl dt{font-weight:600;color:var(--dlw-gray-500);white-space:nowrap}.dlw-dl dd{margin:0;color:var(--dlw-gray-900)}
.dlw-detail-photo{max-width:100%;border-radius:var(--dlw-radius);border:1px solid var(--dlw-gray-200)}.dlw-detail-status{margin-bottom:16px}
.dlw-check-result{display:flex;flex-wrap:wrap;gap:6px}.dlw-check-result__item{padding:4px 10px;border-radius:4px;font-size:var(--dlw-font-size-sm);font-weight:600}.dlw-check-result__item--ok{background:#f0fdf4;color:var(--dlw-green)}.dlw-check-result__item--ng{background:var(--dlw-gray-100);color:var(--dlw-gray-500)}
.dlw-log-list{display:flex;flex-direction:column;gap:10px}.dlw-log-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:var(--dlw-gray-50);border-radius:var(--dlw-radius);font-size:var(--dlw-font-size-sm)}
.dlw-log-action{font-weight:700;padding:2px 8px;border-radius:4px}.dlw-log-action--submit{background:#eff6ff;color:#1d4ed8}.dlw-log-action--approve{background:#f0fdf4;color:var(--dlw-green)}.dlw-log-action--reject{background:#fef2f2;color:var(--dlw-red)}.dlw-log-action--review{background:#fefce8;color:#92400e}
.dlw-log-comment{width:100%;margin:4px 0 0;padding:6px 10px;background:white;border-radius:4px;border-left:3px solid var(--dlw-gray-300)}
.dlw-comment-item{padding:12px 14px;border:1px solid var(--dlw-gray-200);border-radius:var(--dlw-radius);margin-bottom:8px;background:var(--dlw-white)}
.dlw-comment-item strong{color:var(--dlw-navy)}.dlw-comment-item time{font-size:var(--dlw-font-size-sm);color:var(--dlw-gray-500);margin-left:8px}.dlw-comment-item p{margin:6px 0 0}
.dlw-comment-form{display:flex;gap:8px;align-items:flex-start;margin-top:12px}.dlw-comment-form .dlw-textarea{flex:1;min-height:60px}
.dlw-approval-actions{background:var(--dlw-white);border:1px solid var(--dlw-gray-200);border-radius:var(--dlw-radius);padding:20px;margin-bottom:16px}
.dlw-section{margin-bottom:24px}.dlw-section-title{font-size:var(--dlw-font-size-lg);font-weight:700;color:var(--dlw-navy);margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--dlw-navy)}
.dlw-filter-form{margin-bottom:16px}.dlw-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dlw-input--sm{padding:8px 12px;font-size:var(--dlw-font-size-sm)}.dlw-select--sm{padding:8px 32px 8px 12px;font-size:var(--dlw-font-size-sm)}
.dlw-tab-wrap{margin-bottom:24px}.dlw-tabs{display:flex;border-bottom:2px solid var(--dlw-navy);margin-bottom:16px;gap:2px}
.dlw-tab{padding:10px 20px;font-size:var(--dlw-font-size-base);font-weight:600;cursor:pointer;border:none;background:var(--dlw-gray-100);color:var(--dlw-gray-700);border-radius:var(--dlw-radius) var(--dlw-radius) 0 0;transition:background .2s,color .2s}.dlw-tab--active{background:var(--dlw-navy);color:var(--dlw-white)}
.dlw-tab-content{display:none}.dlw-tab-content--active{display:block}
.dlw-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}
.dlw-modal__inner{background:var(--dlw-white);border-radius:var(--dlw-radius);padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}
.dlw-modal__inner h3{font-size:var(--dlw-font-size-lg);color:var(--dlw-navy);margin:0 0 16px}.dlw-modal__footer{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
.dlw-welcome{color:var(--dlw-gray-700);margin-bottom:16px}.dlw-empty,.dlw-empty-state{text-align:center;padding:32px;color:var(--dlw-gray-500);background:var(--dlw-gray-50);border-radius:var(--dlw-radius)}
.dlw-link{color:var(--dlw-navy);text-decoration:underline;font-size:var(--dlw-font-size-sm);margin-right:8px}
.dlw-preview-img{max-width:200px;margin-top:8px;border-radius:var(--dlw-radius);border:1px solid var(--dlw-gray-200)}
.dlw-section-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.dlw-actions-cell{white-space:nowrap}
@media print{.dlw-no-print,.dlw-form-actions,.dlw-action-buttons,.dlw-approval-actions,.dlw-btn{display:none!important}.dlw-page-title{color:#000;border-color:#000}.dlw-table th{background:#333!important}.dlw-detail-section{border:1px solid #ccc;break-inside:avoid}}
