*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;color:#2c3e50;background:#f5f7fa;min-height:100vh}.container{max-width:600px;margin:0 auto;padding:16px}.card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 12px rgba(0,0,0,.06)}.card-title{font-size:17px;font-weight:600;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #e8ecf1}.banner{background:linear-gradient(135deg,#1a73e8,#1557b0);border-radius:12px;padding:32px 24px;margin-bottom:16px;text-align:center}.banner-title{color:#fff;font-size:18px;font-weight:700;line-height:1.6;display:block}.banner-subtitle{color:rgba(255,255,255,.85);font-size:14px;margin-top:6px;display:block}.info-row{display:flex;padding:8px 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-label{color:#7f8c8d;min-width:80px}.info-value{color:#2c3e50;flex:1}.deadline{color:#e74c3c;font-weight:600}.notice-item{padding:6px 0;color:#555;font-size:13px;line-height:1.7}.btn{display:flex;align-items:center;justify-content:center;width:100%;height:44px;border:none;border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;margin-top:16px}.btn-primary{background:#1a73e8;color:#fff}.btn-primary:hover{background:#1557b0}.btn-primary:disabled{background:#a0c4f1;cursor:not-allowed}.btn-outline{background:0 0;color:#1a73e8;border:2px solid #1a73e8;border-radius:8px;padding:6px 16px;font-size:13px;cursor:pointer}.btn-sm{height:34px;font-size:14px;width:auto;padding:0 20px}.btn-danger{background:#e74c3c;color:#fff}.btn-success{background:#0d9e6c;color:#fff}.form-group{margin-bottom:18px}.form-label{display:block;font-size:14px;color:#2c3e50;margin-bottom:6px}.form-label .required{color:#e74c3c}.form-input,.form-textarea,.form-select{width:100%;height:40px;border:2px solid #e8ecf1;border-radius:8px;padding:0 12px;font-size:14px;color:#2c3e50;background:#fff}.form-textarea{height:100px;padding:10px 12px;resize:vertical}.tag{display:inline-block;padding:3px 12px;border-radius:4px;font-size:12px;font-weight:500}.tag-pending{background:#fff3e0;color:#e65100}.tag-approved{background:#e8f5e9;color:#1b5e20}.tag-rejected{background:#ffebee;color:#b71c1c}.tag-cancelled{background:#f5f5f5;color:#9e9e9e}.tabs{display:flex;background:#fff;border-radius:10px;padding:4px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.tab-item{flex:1;text-align:center;padding:10px 0;font-size:13px;color:#7f8c8d;border-radius:8px;cursor:pointer}.tab-item.active{background:#1a73e8;color:#fff;font-weight:600}.file-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.file-item:last-child{border-bottom:none}.file-name{flex:1;font-size:13px;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 12px}.status-bar{padding:12px 20px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500}.status-pending{background:#fff3e0;color:#e65100}.status-approved{background:#e8f5e9;color:#1b5e20}.status-rejected{background:#ffebee;color:#b71c1c}.status-cancelled{background:#f5f5f5;color:#9e9e9e}.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;padding:10px 24px;border-radius:8px;font-size:14px;z-index:9999;opacity:0;transition:opacity .3s;pointer-events:none}.toast.show{opacity:1}.loading{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:9998;align-items:center;justify-content:center}.loading-box{background:#fff;padding:24px 40px;border-radius:12px;text-align:center;font-size:14px}.toolbar{display:flex;gap:8px;margin-bottom:12px;justify-content:flex-end}.toolbar .btn-outline{margin:0}.action-buttons{display:flex;gap:12px;margin-top:20px}.action-buttons .btn{flex:1;margin:0}.empty-state{text-align:center;padding:80px 0;color:#bdc3c7;font-size:14px}.empty-state .empty-icon{font-size:60px}.load-more{text-align:center;padding:16px 0}.top-nav{display:flex;justify-content:flex-end;gap:20px;margin-bottom:12px}.top-nav a{font-size:14px;color:#95a5a6;text-decoration:none;padding-bottom:4px;border-bottom:2px solid transparent;transition:all .2s}.top-nav a:hover{color:#2c3e50}.top-nav a.active{color:#1a73e8;border-bottom-color:#1a73e8;font-weight:500}.container{padding-top:16px}
